soc: ti: ti_sci_pm_domains: switch to use multiple genpds instead of one
authorTero Kristo <t-kristo@ti.com>
Sat, 12 Sep 2020 04:47:08 +0000 (21:47 -0700)
committerSantosh Shilimkar <santosh.shilimkar@oracle.com>
Sat, 12 Sep 2020 04:47:08 +0000 (21:47 -0700)
commitefa5c01cd7ee20421a92ffe9b4aae7dfed385eeb
treecd44364a42d082a29b32b2a057e1eee8e82fd400
parent557003a98fb89e4841a8d9522c023ada145056d2
soc: ti: ti_sci_pm_domains: switch to use multiple genpds instead of one

Current implementation of the genpd support over TI SCI uses a single
genpd across the whole SoC, and attaches multiple devices to this. This
solution has its drawbacks, like it is currently impossible to attach
more than one power domain to a device; the core genpd implementation
requires one genpd per power-domain entry in DT for a single device.
Also, some devices like USB apparently require their own genpd during
probe time, the current shared approach in use does not work at all.

Switch the implementation over to use a single genpd per power domain
entry in DT. The domains are registered with the onecell approach, but
we also add our own xlate service due to recent introduction of the
extended flag for TI SCI PM domains; genpd core xlate service requires
a single cell per powerdomain, but we are using two cells.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@oracle.com>
drivers/soc/ti/ti_sci_pm_domains.c