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

Attachment: signature.asc
Description: PGP signature

Reply via email to