| #
071e6293 |
| 23-Mar-2022 |
Sean Anderson <seanga2@gmail.com> |
UPSTREAM: power-domain: Fix use of uninitialized value in dev_power_domain_ctrl
If dev_count_phandle_with_args returns 0 or another error, then pd will never have been initialized by power_domain_ge
UPSTREAM: power-domain: Fix use of uninitialized value in dev_power_domain_ctrl
If dev_count_phandle_with_args returns 0 or another error, then pd will never have been initialized by power_domain_get_by_index. Avoid comparing against pd.dev in this situation.
Fixes: 3e4fcfa4bc ("power-domain: fix hang in endless loop on i.MX8") Change-Id: Ie488774f7814b6ae4b46963195f6471b2907353b Signed-off-by: Sean Anderson <seanga2@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com> Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
show more ...
|
| #
5143d286 |
| 12-Apr-2022 |
Marek Vasut <marex@denx.de> |
UPSTREAM: power_domain: Add power_domain_get_by_name()
Implement power_domain_get_by_name() convenience function which parses DT property 'power-domain-names' and looks up power domain by matching n
UPSTREAM: power_domain: Add power_domain_get_by_name()
Implement power_domain_get_by_name() convenience function which parses DT property 'power-domain-names' and looks up power domain by matching name.
Change-Id: Ie127cca6c486bb51d73013f08cb1e916f0afc9eb Signed-off-by: Marek Vasut <marex@denx.de> Cc: Patrick Delaunay <patrick.delaunay@foss.st.com> Cc: Simon Glass <sjg@chromium.org> Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
show more ...
|
| #
2ec64758 |
| 12-Apr-2022 |
Marek Vasut <marex@denx.de> |
UPSTREAM: power-domain: Return 0 if ops unimplemented and remove empty functions
In case the ops is not implemented, return 0 in the core right away. This is better than having multiple copies of fu
UPSTREAM: power-domain: Return 0 if ops unimplemented and remove empty functions
In case the ops is not implemented, return 0 in the core right away. This is better than having multiple copies of functions which just return 0 in each power domain driver. Drop all those empty functions.
Change-Id: Ib26bef39d52cca26a0ce0f9d6b23cb6ebe5d557e Signed-off-by: Marek Vasut <marex@denx.de> Cc: Patrick Delaunay <patrick.delaunay@foss.st.com> Cc: Simon Glass <sjg@chromium.org> Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
show more ...
|
| #
8ec57b76 |
| 17-Feb-2020 |
Anatolij Gustschin <agust@denx.de> |
UPSTREAM: power-domain: fix hang in endless loop on i.MX8
Currently when booting the kernel on i.MX8 U-Boot hangs in an endless loop when switching off dma, connectivity or lsio power domains during
UPSTREAM: power-domain: fix hang in endless loop on i.MX8
Currently when booting the kernel on i.MX8 U-Boot hangs in an endless loop when switching off dma, connectivity or lsio power domains during device removal. It hapens first when removing gpio0 (gpio@5d080000) device, here its power domain device 'lsio_gpio0' is obtained for switching off power. Since the obtained 'lsio_gpio0' device is removed afterwards, its power domain is also switched off and here the parent power domain device 'lsio_power_domain' is optained for switching off the power. Thereafter, when the obtained 'lsio_power_domain' is removed, device_remove() removes its first child 'lsio_gpio0'. During this child removal the 'lsio_power_domain' device is obtained again for switching and when removing it later, the same child removal is repeated, so we are stuck in an endless loop. Below is a snippet from dm tree on i.MX8QXP for better illustration of the DM devices relationship:
Class Index Probed Driver Name ----------------------------------------------------------- root 0 [ + ] root_driver root_driver ... simple_bus 0 [ + ] generic_simple_bus |-- imx8qx-pm power_doma 0 [ + ] imx8_power_domain | |-- lsio_power_domain power_doma 1 [ + ] imx8_power_domain | | |-- lsio_gpio0 power_doma 2 [ + ] imx8_power_domain | | |-- lsio_gpio1
Do not remove a power domain device if it is a parent of the currently controlled device.
Fixes: 52edfed65de9 ("dm: core: device: switch off power domain after device removal") Signed-off-by: Anatolij Gustschin <agust@denx.de> Reported-by: Oliver Graute <oliver.graute@gmail.com> Reported-by: Fabio Estevam <festevam@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com> Tested-by: Fabio Estevam <festevam@gmail.com>
Change-Id: Ibb7913958c0c168be1e96518fe2cb0a5d82ee6c7 Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
show more ...
|
| #
72239ba9 |
| 03-Feb-2020 |
Simon Glass <sjg@chromium.org> |
UPSTREAM: power-domain: Rename free() to rfree()
This function name conflicts with our desire to #define free() to something else on sandbox. Since it deals with resources, rename it to rfree().
Ch
UPSTREAM: power-domain: Rename free() to rfree()
This function name conflicts with our desire to #define free() to something else on sandbox. Since it deals with resources, rename it to rfree().
Change-Id: If045502b384266be1292bd8d3f78939dca6ec537 Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Anatolij Gustschin <agust@denx.de> Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
show more ...
|
| #
83769450 |
| 27-Sep-2019 |
Lokesh Vutla <lokeshvutla@ti.com> |
UPSTREAM: power: domain: Introduce dev_power_domain_off
Add dev_power_domain_off() api to disable all the power-domains corresponding to a device
Change-Id: I2eb48f4280fc48c1a5b2b76dcdb359cfe68e82d
UPSTREAM: power: domain: Introduce dev_power_domain_off
Add dev_power_domain_off() api to disable all the power-domains corresponding to a device
Change-Id: I2eb48f4280fc48c1a5b2b76dcdb359cfe68e82da Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com> Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
show more ...
|
| #
f594f5d3 |
| 17-Sep-2019 |
Peng Fan <peng.fan@nxp.com> |
UPSTREAM: power: domain: add dev_power_domain_on
Add this new API to power on multiple domains attached to a device.
Signed-off-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Lokesh Vutla <lokeshvutl
UPSTREAM: power: domain: add dev_power_domain_on
Add this new API to power on multiple domains attached to a device.
Signed-off-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com> Changed to static inline and added a condition into C file: Signed-off-by: Simon Glass <sjg@chromium.org> Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com> Change-Id: Ic2b3bdecb2f68ad0f257c73687c3f6b2a125fabe
show more ...
|
| #
92ac3df1 |
| 27-Aug-2018 |
Lokesh Vutla <lokeshvutla@ti.com> |
UPSTREAM: power domain: Add support for multiple powerdomains per device
There are cases where there are more than one power domain attached to the device inorder to get the device functional. So ad
UPSTREAM: power domain: Add support for multiple powerdomains per device
There are cases where there are more than one power domain attached to the device inorder to get the device functional. So add support for enabling power domain based on the index.
Change-Id: Ib57957019ab0857b5bc04eeea270adeb0026122b Reviewed-by: Tom Rini <trini@konsulko.com> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com> Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
show more ...
|
| #
424b2fe9 |
| 19-May-2017 |
Simon Glass <sjg@chromium.org> |
dm: power-domain: Update uclass to support livetree
Update the power domain uclass to support livetree. Fix the xlate() method which has no callers.
Signed-off-by: Simon Glass <sjg@chromium.org>
|
| #
21342d4a |
| 08-Feb-2017 |
Tom Rini <trini@konsulko.com> |
Merge git://git.denx.de/u-boot-dm
|
| #
e160f7d4 |
| 17-Jan-2017 |
Simon Glass <sjg@chromium.org> |
dm: core: Replace of_offset with accessor
At present devices use a simple integer offset to record the device tree node associated with the device. In preparation for supporting a live device tree,
dm: core: Replace of_offset with accessor
At present devices use a simple integer offset to record the device tree node associated with the device. In preparation for supporting a live device tree, which uses a node pointer instead, refactor existing code to access this field through an inline function.
Signed-off-by: Simon Glass <sjg@chromium.org>
show more ...
|
| #
fe34b6a4 |
| 28-Jul-2016 |
Tom Rini <trini@konsulko.com> |
Merge git://git.denx.de/u-boot-dm
|
| #
61f5ddcb |
| 13-Jul-2016 |
Stephen Warren <swarren@nvidia.com> |
Add a power domain framework/uclass
Many SoCs allow power to be applied to or removed from portions of the SoC (power domains). This may be used to save power. This API provides the means to control
Add a power domain framework/uclass
Many SoCs allow power to be applied to or removed from portions of the SoC (power domains). This may be used to save power. This API provides the means to control such power management hardware.
Signed-off-by: Stephen Warren <swarren@nvidia.com> Acked-by: Simon Glass <sjg@chromium.org>
show more ...
|