On Sat, Jan 25, 2020 at 09:00:58AM +0100, Lukasz Majewski wrote: > The commit e8e9715df2d4 ("regulator: fixed: Modify enable-active-high > behavior") > fixed the regulator driver behavior when 'enable-active-high' is defined. > Unfortunately, this patch used dm_regulator_platdata()'s "boot_on" member > to set GPIOD_IS_OUT_ACTIVE flag and enable the regulator. > > The issue here is that regulator_common_ofdata_to_platdata() is called > _before_ regulator_pre_probe() function in which the 'regulator-boot-on' > property is asserted. > > As a result the GPIOD_IS_OUT_ACTIVE flag is not set and gpio_request_by_name() > called in the former function is not enabling the regulator. > This is problematic for e.g. i.MX ethernet driver, which then tries to > perform initialization without power (and fails). > > The solution here is to explicitly enable regulator in regulator_pre_probe() > callback only when 'regulator-boot-on' property is present in device tree. > The GPIOD_IS_OUT_ACTIVE flag is not set at all, but relevant gpio is > requested. > > Signed-off-by: Lukasz Majewski <lu...@denx.de> > Reviewed-by: Patrice Chotard <patrice.chot...@st.com> > Tested-by: Patrice Chotard <patrice.chot...@st.com>
Applied to u-boot/master, thanks! -- Tom
signature.asc
Description: PGP signature