mbox series

[RESEND,PATCHv4,0/6] Add SOCFPGA System Manager

Message ID 1552342688-6663-1-git-send-email-thor.thayer@linux.intel.com (mailing list archive)
Headers show
Series Add SOCFPGA System Manager | expand

Message

Thor Thayer March 11, 2019, 10:18 p.m. UTC
From: Thor Thayer <thor.thayer@linux.intel.com>

Add MFD driver for SOCFPGA System Manager to handle
System Manager calls differently for ARM32 vs ARM64.
The SOCFPGA System Manager includes registers from several
SOC peripherals.

On ARM32, syscon handles this aggregated register grouping.
Implement System Manager calls as regmap_mmio similar to syscon
for ARM32 SOCFPGA systems.

The ARM64 System Manager can only be accessed from priority
level EL3 so this new MFD driver handles the calls to EL3.

v2 Changes:
Change socfpga_is_s10() to check compatible string.
Add new compatible string for Stratix10 in bindings
    and add proper detection method.
Replace base cast with resource_size_t member.
Change s10_sysmgr_regmap_cfg to altr_sysmgr_regmap_cfg to
    be generic.
Always use 4 byte width.
Initialize the .reg_read and .reg_write in S10 case only.
Remove call to syscon in 32bit ARM case and handle both
    ARM32 and ARM64 in of_sysmgr_register().
Replace IS_ERR_OR_NULL() with IS_ERR().
Remove compatible check functions except phandle function.

v3 Changes:
Create and register regmap in probe().
Lookup functions find registered regmap.
Cleanup of header file.
Fix copyright dates.
Replace global pointer with traditional probe() methodology.

v4 Changes:
Add missing of_node_put().
Add Reviewed-by from v2 for devicetree patch
Add Acked-by for net patch

Thor Thayer (6):
  mfd: altera-sysmgr: Add SOCFPGA System Manager
  Documentation: dt: socfpga: Add S10 System Manager binding
  ARM: socfpga_defconfig: Enable CONFIG_MTD_ALTERA_SYSMGR
  arm64: defconfig: Enable CONFIG_MTD_ALTERA_SYSMGR
  net: stmmac: socfpga: Use shared System Manager driver
  arm64: dts: stratix10: New System Manager compatible

 .../bindings/arm/altera/socfpga-system.txt         |  12 ++
 MAINTAINERS                                        |   6 +
 arch/arm/configs/socfpga_defconfig                 |   1 +
 arch/arm64/boot/dts/altera/socfpga_stratix10.dtsi  |   2 +-
 arch/arm64/configs/defconfig                       |   1 +
 drivers/mfd/Kconfig                                |  10 +
 drivers/mfd/Makefile                               |   1 +
 drivers/mfd/altera-sysmgr.c                        | 211 +++++++++++++++++++++
 .../net/ethernet/stmicro/stmmac/dwmac-socfpga.c    |   5 +-
 include/linux/mfd/altera-sysmgr.h                  |  29 +++
 10 files changed, 275 insertions(+), 3 deletions(-)
 create mode 100644 drivers/mfd/altera-sysmgr.c
 create mode 100644 include/linux/mfd/altera-sysmgr.h

Comments

Arnd Bergmann March 21, 2019, 8:03 a.m. UTC | #1
On Mon, Mar 11, 2019 at 11:15 PM <thor.thayer@linux.intel.com> wrote:
>
> From: Thor Thayer <thor.thayer@linux.intel.com>
>
> Add MFD driver for SOCFPGA System Manager to handle
> System Manager calls differently for ARM32 vs ARM64.
> The SOCFPGA System Manager includes registers from several
> SOC peripherals.
>
> On ARM32, syscon handles this aggregated register grouping.
> Implement System Manager calls as regmap_mmio similar to syscon
> for ARM32 SOCFPGA systems.
>
> The ARM64 System Manager can only be accessed from priority
> level EL3 so this new MFD driver handles the calls to EL3.

(adding arm@kernel.org)
As discussed with Lee, let's keep the series together and merge it
through the mfd tree.

For all six patches:

Reviewed-by: Arnd Bergmann <arnd@arndb.de>


> Thor Thayer (6):
>   mfd: altera-sysmgr: Add SOCFPGA System Manager
>   Documentation: dt: socfpga: Add S10 System Manager binding
>   ARM: socfpga_defconfig: Enable CONFIG_MTD_ALTERA_SYSMGR
>   arm64: defconfig: Enable CONFIG_MTD_ALTERA_SYSMGR
>   net: stmmac: socfpga: Use shared System Manager driver
>   arm64: dts: stratix10: New System Manager compatible
>
>  .../bindings/arm/altera/socfpga-system.txt         |  12 ++
>  MAINTAINERS                                        |   6 +
>  arch/arm/configs/socfpga_defconfig                 |   1 +
>  arch/arm64/boot/dts/altera/socfpga_stratix10.dtsi  |   2 +-
>  arch/arm64/configs/defconfig                       |   1 +
>  drivers/mfd/Kconfig                                |  10 +
>  drivers/mfd/Makefile                               |   1 +
>  drivers/mfd/altera-sysmgr.c                        | 211 +++++++++++++++++++++
>  .../net/ethernet/stmicro/stmmac/dwmac-socfpga.c    |   5 +-
>  include/linux/mfd/altera-sysmgr.h                  |  29 +++
>  10 files changed, 275 insertions(+), 3 deletions(-)
>  create mode 100644 drivers/mfd/altera-sysmgr.c
>  create mode 100644 include/linux/mfd/altera-sysmgr.h
>
> --
> 2.7.4
>