Message ID | 20181009152523.3771-4-marcel@ziswiler.com |
---|---|
State | Deferred |
Headers | show |
Series | ARM: dts: tegra: last minute fixes | expand |
On 09/10/18 16:25, Marcel Ziswiler wrote: > From: Marcel Ziswiler <marcel.ziswiler@toradex.com> > > Fix HDMI requiring two regulators being enabled by a single GPIO. Model > this using an intermediate reg_en_vdd_hdmi regulator being the > vin-supply of them other two. This fixes the display subsystem and gets > rid of the following error during boot: > > reg-fixed-voltage: probe of regulator-3v3-avdd-hdmi failed with error -16 > tegra-hdmi 54280000.hdmi: failed to get VDD regulator > > Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> > > --- > > Changes in v1: None > > arch/arm/boot/dts/tegra30-apalis-v1.1.dtsi | 16 ++++++++++++---- > arch/arm/boot/dts/tegra30-apalis.dtsi | 16 ++++++++++++---- > arch/arm/boot/dts/tegra30-colibri.dtsi | 16 ++++++++++++---- > 3 files changed, 36 insertions(+), 12 deletions(-) > > diff --git a/arch/arm/boot/dts/tegra30-apalis-v1.1.dtsi b/arch/arm/boot/dts/tegra30-apalis-v1.1.dtsi > index 02f8126481a2..065a24ac1052 100644 > --- a/arch/arm/boot/dts/tegra30-apalis-v1.1.dtsi > +++ b/arch/arm/boot/dts/tegra30-apalis-v1.1.dtsi > @@ -1133,8 +1133,7 @@ > regulator-min-microvolt = <1800000>; > regulator-max-microvolt = <1800000>; > enable-active-high; > - gpio = <&pmic 6 GPIO_ACTIVE_HIGH>; > - vin-supply = <®_1v8_vio>; > + vin-supply = <®_en_vdd_hdmi>; > }; > > reg_3v3_avdd_hdmi: regulator-3v3-avdd-hdmi { > @@ -1143,8 +1142,7 @@ > regulator-min-microvolt = <3300000>; > regulator-max-microvolt = <3300000>; > enable-active-high; > - gpio = <&pmic 6 GPIO_ACTIVE_HIGH>; > - vin-supply = <®_module_3v3>; > + vin-supply = <®_en_vdd_hdmi>; > }; > > reg_5v0_charge_pump: regulator-5v0-charge-pump { > @@ -1171,6 +1169,16 @@ > regulator-always-on; > }; > > + reg_en_vdd_hdmi: regulator-en-vdd-hdmi { > + compatible = "regulator-fixed"; > + regulator-name = "EN_VDD_HDMI"; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + enable-active-high; > + gpio = <&pmic 6 GPIO_ACTIVE_HIGH>; > + vin-supply = <®_module_3v3>; > + }; > + > sound { > compatible = "toradex,tegra-audio-sgtl5000-apalis_t30", > "nvidia,tegra-audio-sgtl5000"; > diff --git a/arch/arm/boot/dts/tegra30-apalis.dtsi b/arch/arm/boot/dts/tegra30-apalis.dtsi > index 7f112f192fe9..6727c5868425 100644 > --- a/arch/arm/boot/dts/tegra30-apalis.dtsi > +++ b/arch/arm/boot/dts/tegra30-apalis.dtsi > @@ -1115,8 +1115,7 @@ > regulator-min-microvolt = <1800000>; > regulator-max-microvolt = <1800000>; > enable-active-high; > - gpio = <&pmic 6 GPIO_ACTIVE_HIGH>; > - vin-supply = <®_1v8_vio>; > + vin-supply = <®_en_vdd_hdmi>; > }; > > reg_3v3_avdd_hdmi: regulator-3v3-avdd-hdmi { > @@ -1125,8 +1124,7 @@ > regulator-min-microvolt = <3300000>; > regulator-max-microvolt = <3300000>; > enable-active-high; > - gpio = <&pmic 6 GPIO_ACTIVE_HIGH>; > - vin-supply = <®_module_3v3>; > + vin-supply = <®_en_vdd_hdmi>; > }; > > reg_5v0_charge_pump: regulator-5v0-charge-pump { > @@ -1153,6 +1151,16 @@ > regulator-always-on; > }; > > + reg_en_vdd_hdmi: regulator-en-vdd-hdmi { > + compatible = "regulator-fixed"; > + regulator-name = "EN_VDD_HDMI"; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + enable-active-high; > + gpio = <&pmic 6 GPIO_ACTIVE_HIGH>; > + vin-supply = <®_module_3v3>; > + }; > + > sound { > compatible = "toradex,tegra-audio-sgtl5000-apalis_t30", > "nvidia,tegra-audio-sgtl5000"; > diff --git a/arch/arm/boot/dts/tegra30-colibri.dtsi b/arch/arm/boot/dts/tegra30-colibri.dtsi > index 35af03ca9e90..963f26071415 100644 > --- a/arch/arm/boot/dts/tegra30-colibri.dtsi > +++ b/arch/arm/boot/dts/tegra30-colibri.dtsi > @@ -965,8 +965,7 @@ > regulator-min-microvolt = <1800000>; > regulator-max-microvolt = <1800000>; > enable-active-high; > - gpio = <&pmic 6 GPIO_ACTIVE_HIGH>; > - vin-supply = <®_1v8_vio>; > + vin-supply = <®_en_vdd_hdmi>; > }; > > reg_3v3_avdd_hdmi: regulator-3v3-avdd-hdmi { > @@ -975,8 +974,7 @@ > regulator-min-microvolt = <3300000>; > regulator-max-microvolt = <3300000>; > enable-active-high; > - gpio = <&pmic 6 GPIO_ACTIVE_HIGH>; > - vin-supply = <®_module_3v3>; > + vin-supply = <®_en_vdd_hdmi>; > }; > > reg_5v0_charge_pump: regulator-5v0-charge-pump { > @@ -1012,6 +1010,16 @@ > regulator-always-on; > }; > > + reg_en_vdd_hdmi: regulator-en-vdd-hdmi { > + compatible = "regulator-fixed"; > + regulator-name = "EN_VDD_HDMI"; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + enable-active-high; > + gpio = <&pmic 6 GPIO_ACTIVE_HIGH>; > + vin-supply = <®_module_3v3>; > + }; > + > sound { > compatible = "toradex,tegra-audio-sgtl5000-colibri_t30", > "nvidia,tegra-audio-sgtl5000"; > Given Linus W's fix for the gpiolib [0], I am not convinced that this is really better/needed. Cheers Jon [0] https://lore.kernel.org/patchwork/patch/998354/
On Fri, 2018-10-12 at 11:44 +0100, Jon Hunter wrote: > On 09/10/18 16:25, Marcel Ziswiler wrote: > > From: Marcel Ziswiler <marcel.ziswiler@toradex.com> > > ... > > > Given Linus W's fix for the gpiolib [0], I am not convinced that this > is > really better/needed. Being pragmatic at the end of the day I'm just happy if it works and I may just drop this one then if nobody else sees any advantage. After all there are still enough really broken things like audio on Apalis TK1. Off to debug that one further... Argh, -EPROBE_DEFER! > Cheers > Jon > > [0] https://lore.kernel.org/patchwork/patch/998354/
On Fri, 2018-10-12 at 11:44 +0100, Jon Hunter wrote: > On 09/10/18 16:25, Marcel Ziswiler wrote: > > From: Marcel Ziswiler <marcel.ziswiler@toradex.com> > > ... > > > Given Linus W's fix for the gpiolib [0], I am not convinced that this > is > really better/needed. Looks like nobody else favours this (rather the opposite is the case it seems [1]) so I will drop it in a v2. Thanks! Any feedback about any of the other patches? > Cheers > Jon > > [0] https://lore.kernel.org/patchwork/patch/998354/ [1] https://lore.kernel.org/lkml/20181012125911.GT30658@n2100.armlinux.org. uk/
diff --git a/arch/arm/boot/dts/tegra30-apalis-v1.1.dtsi b/arch/arm/boot/dts/tegra30-apalis-v1.1.dtsi index 02f8126481a2..065a24ac1052 100644 --- a/arch/arm/boot/dts/tegra30-apalis-v1.1.dtsi +++ b/arch/arm/boot/dts/tegra30-apalis-v1.1.dtsi @@ -1133,8 +1133,7 @@ regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; enable-active-high; - gpio = <&pmic 6 GPIO_ACTIVE_HIGH>; - vin-supply = <®_1v8_vio>; + vin-supply = <®_en_vdd_hdmi>; }; reg_3v3_avdd_hdmi: regulator-3v3-avdd-hdmi { @@ -1143,8 +1142,7 @@ regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; enable-active-high; - gpio = <&pmic 6 GPIO_ACTIVE_HIGH>; - vin-supply = <®_module_3v3>; + vin-supply = <®_en_vdd_hdmi>; }; reg_5v0_charge_pump: regulator-5v0-charge-pump { @@ -1171,6 +1169,16 @@ regulator-always-on; }; + reg_en_vdd_hdmi: regulator-en-vdd-hdmi { + compatible = "regulator-fixed"; + regulator-name = "EN_VDD_HDMI"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + enable-active-high; + gpio = <&pmic 6 GPIO_ACTIVE_HIGH>; + vin-supply = <®_module_3v3>; + }; + sound { compatible = "toradex,tegra-audio-sgtl5000-apalis_t30", "nvidia,tegra-audio-sgtl5000"; diff --git a/arch/arm/boot/dts/tegra30-apalis.dtsi b/arch/arm/boot/dts/tegra30-apalis.dtsi index 7f112f192fe9..6727c5868425 100644 --- a/arch/arm/boot/dts/tegra30-apalis.dtsi +++ b/arch/arm/boot/dts/tegra30-apalis.dtsi @@ -1115,8 +1115,7 @@ regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; enable-active-high; - gpio = <&pmic 6 GPIO_ACTIVE_HIGH>; - vin-supply = <®_1v8_vio>; + vin-supply = <®_en_vdd_hdmi>; }; reg_3v3_avdd_hdmi: regulator-3v3-avdd-hdmi { @@ -1125,8 +1124,7 @@ regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; enable-active-high; - gpio = <&pmic 6 GPIO_ACTIVE_HIGH>; - vin-supply = <®_module_3v3>; + vin-supply = <®_en_vdd_hdmi>; }; reg_5v0_charge_pump: regulator-5v0-charge-pump { @@ -1153,6 +1151,16 @@ regulator-always-on; }; + reg_en_vdd_hdmi: regulator-en-vdd-hdmi { + compatible = "regulator-fixed"; + regulator-name = "EN_VDD_HDMI"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + enable-active-high; + gpio = <&pmic 6 GPIO_ACTIVE_HIGH>; + vin-supply = <®_module_3v3>; + }; + sound { compatible = "toradex,tegra-audio-sgtl5000-apalis_t30", "nvidia,tegra-audio-sgtl5000"; diff --git a/arch/arm/boot/dts/tegra30-colibri.dtsi b/arch/arm/boot/dts/tegra30-colibri.dtsi index 35af03ca9e90..963f26071415 100644 --- a/arch/arm/boot/dts/tegra30-colibri.dtsi +++ b/arch/arm/boot/dts/tegra30-colibri.dtsi @@ -965,8 +965,7 @@ regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; enable-active-high; - gpio = <&pmic 6 GPIO_ACTIVE_HIGH>; - vin-supply = <®_1v8_vio>; + vin-supply = <®_en_vdd_hdmi>; }; reg_3v3_avdd_hdmi: regulator-3v3-avdd-hdmi { @@ -975,8 +974,7 @@ regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; enable-active-high; - gpio = <&pmic 6 GPIO_ACTIVE_HIGH>; - vin-supply = <®_module_3v3>; + vin-supply = <®_en_vdd_hdmi>; }; reg_5v0_charge_pump: regulator-5v0-charge-pump { @@ -1012,6 +1010,16 @@ regulator-always-on; }; + reg_en_vdd_hdmi: regulator-en-vdd-hdmi { + compatible = "regulator-fixed"; + regulator-name = "EN_VDD_HDMI"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + enable-active-high; + gpio = <&pmic 6 GPIO_ACTIVE_HIGH>; + vin-supply = <®_module_3v3>; + }; + sound { compatible = "toradex,tegra-audio-sgtl5000-colibri_t30", "nvidia,tegra-audio-sgtl5000";