mail archive of the barebox mailing list
 help / color / mirror / Atom feed
From: Ahmad Fatoum <a.fatoum@pengutronix.de>
To: barebox@lists.infradead.org
Subject: [PATCH 00/19] pmdomain: imx: add i.MX8MP HSIO blk-ctrl driver
Date: Fri, 19 Jan 2024 17:25:51 +0100	[thread overview]
Message-ID: <20240119162610.1014870-1-a.fatoum@pengutronix.de> (raw)

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




             reply	other threads:[~2024-01-19 16:27 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-01-19 16:25 Ahmad Fatoum [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240119162610.1014870-1-a.fatoum@pengutronix.de \
    --to=a.fatoum@pengutronix.de \
    --cc=barebox@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox