mail archive of the barebox mailing list
 help / color / mirror / Atom feed
* [PATCH 00/19] pmdomain: imx: add i.MX8MP HSIO blk-ctrl driver
@ 2024-01-19 16:25 Ahmad Fatoum
  2024-01-19 16:25 ` [PATCH 01/19] drivers: soc: split off powerdomains into new pmdomain directory Ahmad Fatoum
                   ` (19 more replies)
  0 siblings, 20 replies; 21+ messages in thread
From: Ahmad Fatoum @ 2024-01-19 16:25 UTC (permalink / raw)
  To: barebox

Unlike other i.MX8M variants, TF-A on i.MX8MP enables all power domains
up front, so later software can keep reusing it.

This benefited us because we didn't have a driver for the HSIO blk-ctrl,
which powers the USB PHYs and controllers on the i.MX8MP.

However, not all i.MX8MP SKUs have all power domains, e.g. the lite
variant lacks VPUs, NPU, ISP and DSP and their associated power domains.

Removing power domains altogether in TF-A though would break USB in barebox
when not booted over SDP as neither BootROM or TF-A would enable the HSIO
blk-ctrl.

In order to decouple barebox from prior HSIO initialization, port over the
Linux driver.

Ahmad Fatoum (19):
  drivers: soc: split off powerdomains into new pmdomain directory
  pmdomain: use single implementation for dev_pm_domain_attach
  pmdomain: power: drop unused parameters for internal functions
  pmdomain: associate devices with their power domain
  pmdomain: push have_genpd_providers check into __genpd_dev_pm_attach
  pmdomain: drop superfluous parameter to __genpd_dev_pm_attach
  pmdomain: implement dev_pm_domain_attach_by_id/name
  pmdomain: add support for enabling power domains later on
  pmdomain: imx: gpcv2: enable COMPILE_TEST build
  pmdomain: add stub definition for dev_pm_domain_detach
  pmdomain: add stub definition for pm_runtime_put_genpd
  pmdomain: implement pm_genpd_remove/of_genpd_del_provider for cleanup
  driver: have dev_request_mem_region_err_null warn if resource starts
    at 0
  include: linux/device.h: implement dev_platform_ioremap_resource
  regmap: include missing header from linux/regmap.h
  clk: define aliases for clk_bulk_prepare_enable/disable_unprepare
  driver: make driver.h header self-contained
  pmdomain: imx: add i.MX8MP HSIO blk-ctrl driver
  ARM: dts: i.MX8MP: drop barebox,allow-dummy for HSIO blk-ctrl

 arch/arm/dts/imx8mp.dtsi                      |   4 -
 drivers/Kconfig                               |   1 +
 drivers/Makefile                              |   1 +
 drivers/base/driver.c                         |   2 +-
 drivers/base/power.c                          | 209 +++++++-
 drivers/pmdomain/Kconfig                      |   7 +
 drivers/pmdomain/Makefile                     |   3 +
 drivers/pmdomain/imx/Kconfig                  |  16 +
 drivers/pmdomain/imx/Makefile                 |   3 +
 drivers/{soc => pmdomain}/imx/gpcv2.c         |   0
 drivers/pmdomain/imx/imx8mp-blk-ctrl.c        | 459 ++++++++++++++++++
 drivers/{soc => pmdomain}/ti/Kconfig          |   1 +
 drivers/{soc => pmdomain}/ti/Makefile         |   1 +
 .../{soc => pmdomain}/ti/ti_sci_pm_domains.c  |   0
 drivers/soc/Kconfig                           |   1 -
 drivers/soc/Makefile                          |   1 -
 drivers/soc/imx/Kconfig                       |   6 -
 drivers/soc/imx/Makefile                      |   1 -
 include/driver.h                              |   4 +
 include/linux/clk.h                           |   3 +
 include/linux/device.h                        |  12 +
 include/linux/regmap.h                        |   1 +
 include/pm_domain.h                           | 171 +++++--
 23 files changed, 838 insertions(+), 69 deletions(-)
 create mode 100644 drivers/pmdomain/Kconfig
 create mode 100644 drivers/pmdomain/Makefile
 create mode 100644 drivers/pmdomain/imx/Kconfig
 create mode 100644 drivers/pmdomain/imx/Makefile
 rename drivers/{soc => pmdomain}/imx/gpcv2.c (100%)
 create mode 100644 drivers/pmdomain/imx/imx8mp-blk-ctrl.c
 rename drivers/{soc => pmdomain}/ti/Kconfig (84%)
 rename drivers/{soc => pmdomain}/ti/Makefile (57%)
 rename drivers/{soc => pmdomain}/ti/ti_sci_pm_domains.c (100%)

-- 
2.39.2




^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2024-01-22 10:13 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-01-19 16:25 [PATCH 00/19] pmdomain: imx: add i.MX8MP HSIO blk-ctrl driver Ahmad Fatoum
2024-01-19 16:25 ` [PATCH 01/19] drivers: soc: split off powerdomains into new pmdomain directory Ahmad Fatoum
2024-01-19 16:25 ` [PATCH 02/19] pmdomain: use single implementation for dev_pm_domain_attach Ahmad Fatoum
2024-01-19 16:25 ` [PATCH 03/19] pmdomain: power: drop unused parameters for internal functions Ahmad Fatoum
2024-01-19 16:25 ` [PATCH 04/19] pmdomain: associate devices with their power domain Ahmad Fatoum
2024-01-19 16:25 ` [PATCH 05/19] pmdomain: push have_genpd_providers check into __genpd_dev_pm_attach Ahmad Fatoum
2024-01-19 16:25 ` [PATCH 06/19] pmdomain: drop superfluous parameter to __genpd_dev_pm_attach Ahmad Fatoum
2024-01-19 16:25 ` [PATCH 07/19] pmdomain: implement dev_pm_domain_attach_by_id/name Ahmad Fatoum
2024-01-19 16:25 ` [PATCH 08/19] pmdomain: add support for enabling power domains later on Ahmad Fatoum
2024-01-19 16:26 ` [PATCH 09/19] pmdomain: imx: gpcv2: enable COMPILE_TEST build Ahmad Fatoum
2024-01-19 16:26 ` [PATCH 10/19] pmdomain: add stub definition for dev_pm_domain_detach Ahmad Fatoum
2024-01-19 16:26 ` [PATCH 11/19] pmdomain: add stub definition for pm_runtime_put_genpd Ahmad Fatoum
2024-01-19 16:26 ` [PATCH 12/19] pmdomain: implement pm_genpd_remove/of_genpd_del_provider for cleanup Ahmad Fatoum
2024-01-19 16:26 ` [PATCH 13/19] driver: have dev_request_mem_region_err_null warn if resource starts at 0 Ahmad Fatoum
2024-01-19 16:26 ` [PATCH 14/19] include: linux/device.h: implement dev_platform_ioremap_resource Ahmad Fatoum
2024-01-19 16:26 ` [PATCH 15/19] regmap: include missing header from linux/regmap.h Ahmad Fatoum
2024-01-19 16:26 ` [PATCH 16/19] clk: define aliases for clk_bulk_prepare_enable/disable_unprepare Ahmad Fatoum
2024-01-19 16:26 ` [PATCH 17/19] driver: make driver.h header self-contained Ahmad Fatoum
2024-01-19 16:26 ` [PATCH 18/19] pmdomain: imx: add i.MX8MP HSIO blk-ctrl driver Ahmad Fatoum
2024-01-19 16:26 ` [PATCH 19/19] ARM: dts: i.MX8MP: drop barebox,allow-dummy for HSIO blk-ctrl Ahmad Fatoum
2024-01-22 10:12 ` [PATCH 00/19] pmdomain: imx: add i.MX8MP HSIO blk-ctrl driver Sascha Hauer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox