mbox series

[v2,00/12] soc: mediatek: pm-domains: Add new driver for SCPSYS power domains controller

Message ID 20201001160154.3587848-1-enric.balletbo@collabora.com (mailing list archive)
Headers show
Series soc: mediatek: pm-domains: Add new driver for SCPSYS power domains controller | expand

Message

Enric Balletbo i Serra Oct. 1, 2020, 4:01 p.m. UTC
Dear all,

This is a new driver with the aim to deprecate the mtk-scpsys driver.
The problem with that driver is that, in order to support more Mediatek
SoCs you need to add some logic to handle properly the power-up
sequence of newer Mediatek SoCs, doesn't handle parent-child power
domains and need to hardcode all the clocks in the driver itself. The
result is that the driver is getting bigger and bigger every time a
new SoC needs to be supported.

All this information can be getted from a properly defined binding, so
can be cleaner and smaller, hence, we implemented a new driver. For
now, only MT8173 and MT8183 is supported but should be fairly easy to
add support for new SoCs.

Note that the MT8183 support is not ready to land yet because has some
dependencies, i.e. mmsys support is still missing. So, only patches from
1 to 9 are ready, the others are provided for reference and test.

Best regards,
  Enric

Enric Balletbo i Serra (4):
  dt-bindings: power: Add bindings for the Mediatek SCPSYS power domains
    controller
  soc: mediatek: Add MediaTek SCPSYS power domains
  arm64: dts: mediatek: Add mt8173 power domain controller
  dt-bindings: power: Add MT8183 power domains

Matthias Brugger (8):
  soc: mediatek: pm-domains: Add bus protection protocol
  soc: mediatek: pm_domains: Make bus protection generic
  soc: mediatek: pm-domains: Add SMI block as bus protection block
  soc: mediatek: pm-domains: Add extra sram control
  soc: mediatek: pm-domains: Add subsystem clocks
  soc: mediatek: pm-domains: Allow bus protection to ignore clear ack
  soc: mediatek: pm-domains: Add support for mt8183
  arm64: dts: mediatek: Add mt8183 power domains controller

 .../power/mediatek,power-controller.yaml      |  184 +++
 arch/arm64/boot/dts/mediatek/mt8173.dtsi      |  164 ++-
 arch/arm64/boot/dts/mediatek/mt8183.dtsi      |  162 +++
 drivers/soc/mediatek/Kconfig                  |   13 +
 drivers/soc/mediatek/Makefile                 |    1 +
 drivers/soc/mediatek/mtk-infracfg.c           |    5 -
 drivers/soc/mediatek/mtk-mmsys.c              |    4 -
 drivers/soc/mediatek/mtk-pm-domains.c         | 1019 +++++++++++++++++
 include/dt-bindings/power/mt8183-power.h      |   26 +
 include/linux/soc/mediatek/infracfg.h         |   57 +
 10 files changed, 1577 insertions(+), 58 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/power/mediatek,power-controller.yaml
 create mode 100644 drivers/soc/mediatek/mtk-pm-domains.c
 create mode 100644 include/dt-bindings/power/mt8183-power.h