[RFC 2/2] Revert "dm: core: device: switch off power domain after device removal"
Anatolij Gustschin
agust at denx.de
Mon Feb 17 14:17:37 CET 2020
On Fri, 14 Feb 2020 09:50:54 +0530
Lokesh Vutla lokeshvutla at ti.com wrote:
> On 13/02/20 10:42 PM, Neil Armstrong wrote:
> > Hi,
> >
> > On 03/02/2020 14:59, Oliver Graute wrote:
> >> The conga-imx8 board isn't booting without this revert. Can someone tell me
> >> what I need to Do so that this revert is not necessary?
>
> Can you give more details on where the failure is happening?(logs would really
> help).
>
> >>
> >> This reverts commit 52edfed65de967a86983a55c51ba0727090efc43.
> >> ---
> >> drivers/core/device-remove.c | 5 -----
> >> 1 file changed, 5 deletions(-)
> >>
> >> diff --git a/drivers/core/device-remove.c b/drivers/core/device-remove.c
> >> index 5c8dc4ad70..586fadee0a 100644
> >> --- a/drivers/core/device-remove.c
> >> +++ b/drivers/core/device-remove.c
> >> @@ -16,7 +16,6 @@
> >> #include <dm/uclass.h>
> >> #include <dm/uclass-internal.h>
> >> #include <dm/util.h>
> >> -#include <power-domain.h>
> >>
> >> int device_chld_unbind(struct udevice *dev, struct driver *drv)
> >> {
> >> @@ -193,10 +192,6 @@ int device_remove(struct udevice *dev, uint flags)
> >> }
> >> }
> >>
> >> - if (!(drv->flags & DM_FLAG_DEFAULT_PD_CTRL_OFF) &&
> >> - (dev != gd->cur_serial_dev))
> >> - dev_power_domain_off(dev);
> >> -
> >> if (flags_remove(flags, drv->flags)) {
> >> device_free(dev);
> >>
> >>
> >
> > It also breaks amlogic boards with video, since we can't tell we want
> > to keep the power domains up after boot, it cuts the power domains and
> > thus defeats all the goal of u-boot video..
> > The problem is DM_FLAG_DEFAULT_PD_CTRL_OFF disables auto power domain on
> > aswell, reverting to manual power domain enable.
>
> This doesn't mean U-boot must leave the all power-domains un handled before
> jumping to kernel. Please use DM_FLAG_DEFAULT_PD_CTRL_OFF in you driver and
> enable power_domain in your probe.
No, DM_FLAG_DEFAULT_PD_CTRL_OFF is only for very special cases where
manual power domain handling is required.
> Your case is exactly the reason why
> DM_FLAG_DEFAULT_PD_CTRL_OFF is introduced.
No. For this case the flag DM_FLAG_REMOVE_WITH_PD_ON has been introduced
in my v3 patch, but it was dropped in the merged patch. I've submitted a
new patch for this: http://patchwork.ozlabs.org/patch/1239143
--
Anatolij
More information about the U-Boot
mailing list