2022-05-17 10:04:18

by Ulrich Ölmann

[permalink] [raw]
Subject: [PATCH] ARM: dts: imx6: skov: add pwm-regulator to control the panel's VCOM

Skov's i.MX6 based boards come in different flavors which have different panels
attached. For optimal contrast experience each panel type needs an individual
common voltage (VCOM) to drive its TFT backplane. The latter is generated by an
LCD bias supply IC controlled by a pwm as input signal. Introduce a pwm-
regulator to describe this hardware property and parameterize it appropriately
for the different boards.

Signed-off-by: Ulrich Ölmann <[email protected]>
---
arch/arm/boot/dts/imx6q-skov-reve-mi1010ait-1cp1.dts | 6 ++++++
arch/arm/boot/dts/imx6qdl-skov-cpu.dtsi | 10 ++++++++++
2 files changed, 16 insertions(+)

diff --git a/arch/arm/boot/dts/imx6q-skov-reve-mi1010ait-1cp1.dts b/arch/arm/boot/dts/imx6q-skov-reve-mi1010ait-1cp1.dts
index 7f1f19b74bfa..a3f247c722b4 100644
--- a/arch/arm/boot/dts/imx6q-skov-reve-mi1010ait-1cp1.dts
+++ b/arch/arm/boot/dts/imx6q-skov-reve-mi1010ait-1cp1.dts
@@ -125,3 +125,9 @@ MX6QDL_PAD_EIM_D23__GPIO3_IO23 0x1b0b0
>;
};
};
+
+&reg_tft_vcom {
+ regulator-min-microvolt = <3160000>;
+ regulator-max-microvolt = <3160000>;
+ voltage-table = <3160000 73>;
+};
diff --git a/arch/arm/boot/dts/imx6qdl-skov-cpu.dtsi b/arch/arm/boot/dts/imx6qdl-skov-cpu.dtsi
index 77a91a97e6cf..3def1b621c8e 100644
--- a/arch/arm/boot/dts/imx6qdl-skov-cpu.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-skov-cpu.dtsi
@@ -149,6 +149,16 @@ reg_can2_stby: regulator-can2-stby {
gpio = <&gpio4 11 GPIO_ACTIVE_LOW>;
};

+ reg_tft_vcom: regulator-tft-vcom {
+ compatible = "pwm-regulator";
+ pwms = <&pwm3 0 20000 0>;
+ regulator-name = "tft_vcom";
+ regulator-min-microvolt = <3600000>;
+ regulator-max-microvolt = <3600000>;
+ regulator-always-on;
+ voltage-table = <3600000 26>;
+ };
+
reg_vcc_mmc: regulator-vcc-mmc {
compatible = "regulator-fixed";
pinctrl-names = "default";
--
2.30.2



2022-06-11 09:45:33

by Shawn Guo

[permalink] [raw]
Subject: Re: [PATCH] ARM: dts: imx6: skov: add pwm-regulator to control the panel's VCOM

On Tue, May 17, 2022 at 09:18:14AM +0200, Ulrich ?lmann wrote:
> Skov's i.MX6 based boards come in different flavors which have different panels
> attached. For optimal contrast experience each panel type needs an individual
> common voltage (VCOM) to drive its TFT backplane. The latter is generated by an
> LCD bias supply IC controlled by a pwm as input signal. Introduce a pwm-
> regulator to describe this hardware property and parameterize it appropriately
> for the different boards.
>
> Signed-off-by: Ulrich ?lmann <[email protected]>
> ---
> arch/arm/boot/dts/imx6q-skov-reve-mi1010ait-1cp1.dts | 6 ++++++
> arch/arm/boot/dts/imx6qdl-skov-cpu.dtsi | 10 ++++++++++
> 2 files changed, 16 insertions(+)
>
> diff --git a/arch/arm/boot/dts/imx6q-skov-reve-mi1010ait-1cp1.dts b/arch/arm/boot/dts/imx6q-skov-reve-mi1010ait-1cp1.dts
> index 7f1f19b74bfa..a3f247c722b4 100644
> --- a/arch/arm/boot/dts/imx6q-skov-reve-mi1010ait-1cp1.dts
> +++ b/arch/arm/boot/dts/imx6q-skov-reve-mi1010ait-1cp1.dts
> @@ -125,3 +125,9 @@ MX6QDL_PAD_EIM_D23__GPIO3_IO23 0x1b0b0
> >;
> };
> };
> +
> +&reg_tft_vcom {
> + regulator-min-microvolt = <3160000>;
> + regulator-max-microvolt = <3160000>;
> + voltage-table = <3160000 73>;
> +};
> diff --git a/arch/arm/boot/dts/imx6qdl-skov-cpu.dtsi b/arch/arm/boot/dts/imx6qdl-skov-cpu.dtsi
> index 77a91a97e6cf..3def1b621c8e 100644
> --- a/arch/arm/boot/dts/imx6qdl-skov-cpu.dtsi
> +++ b/arch/arm/boot/dts/imx6qdl-skov-cpu.dtsi
> @@ -149,6 +149,16 @@ reg_can2_stby: regulator-can2-stby {
> gpio = <&gpio4 11 GPIO_ACTIVE_LOW>;
> };
>
> + reg_tft_vcom: regulator-tft-vcom {
> + compatible = "pwm-regulator";
> + pwms = <&pwm3 0 20000 0>;
> + regulator-name = "tft_vcom";
> + regulator-min-microvolt = <3600000>;
> + regulator-max-microvolt = <3600000>;
> + regulator-always-on;

You want it to be unmanaged and always-on?

Shawn

> + voltage-table = <3600000 26>;
> + };
> +
> reg_vcc_mmc: regulator-vcc-mmc {
> compatible = "regulator-fixed";
> pinctrl-names = "default";
> --
> 2.30.2
>

2022-06-14 13:09:47

by Ulrich Ölmann

[permalink] [raw]
Subject: Re: [PATCH] ARM: dts: imx6: skov: add pwm-regulator to control the panel's VCOM

On Sat, Jun 11 2022 at 17:31 +0800, Shawn Guo <[email protected]> wrote:
> On Tue, May 17, 2022 at 09:18:14AM +0200, Ulrich Ölmann wrote:
>> Skov's i.MX6 based boards come in different flavors which have different panels
>> attached. For optimal contrast experience each panel type needs an individual
>> common voltage (VCOM) to drive its TFT backplane. The latter is generated by an
>> LCD bias supply IC controlled by a pwm as input signal. Introduce a pwm-
>> regulator to describe this hardware property and parameterize it appropriately
>> for the different boards.
>>
>> Signed-off-by: Ulrich Ölmann <[email protected]>
>> ---
>> arch/arm/boot/dts/imx6q-skov-reve-mi1010ait-1cp1.dts | 6 ++++++
>> arch/arm/boot/dts/imx6qdl-skov-cpu.dtsi | 10 ++++++++++
>> 2 files changed, 16 insertions(+)
>>
>> diff --git a/arch/arm/boot/dts/imx6q-skov-reve-mi1010ait-1cp1.dts b/arch/arm/boot/dts/imx6q-skov-reve-mi1010ait-1cp1.dts
>> index 7f1f19b74bfa..a3f247c722b4 100644
>> --- a/arch/arm/boot/dts/imx6q-skov-reve-mi1010ait-1cp1.dts
>> +++ b/arch/arm/boot/dts/imx6q-skov-reve-mi1010ait-1cp1.dts
>> @@ -125,3 +125,9 @@ MX6QDL_PAD_EIM_D23__GPIO3_IO23 0x1b0b0
>> >;
>> };
>> };
>> +
>> +&reg_tft_vcom {
>> + regulator-min-microvolt = <3160000>;
>> + regulator-max-microvolt = <3160000>;
>> + voltage-table = <3160000 73>;
>> +};
>> diff --git a/arch/arm/boot/dts/imx6qdl-skov-cpu.dtsi b/arch/arm/boot/dts/imx6qdl-skov-cpu.dtsi
>> index 77a91a97e6cf..3def1b621c8e 100644
>> --- a/arch/arm/boot/dts/imx6qdl-skov-cpu.dtsi
>> +++ b/arch/arm/boot/dts/imx6qdl-skov-cpu.dtsi
>> @@ -149,6 +149,16 @@ reg_can2_stby: regulator-can2-stby {
>> gpio = <&gpio4 11 GPIO_ACTIVE_LOW>;
>> };
>>
>> + reg_tft_vcom: regulator-tft-vcom {
>> + compatible = "pwm-regulator";
>> + pwms = <&pwm3 0 20000 0>;
>> + regulator-name = "tft_vcom";
>> + regulator-min-microvolt = <3600000>;
>> + regulator-max-microvolt = <3600000>;
>> + regulator-always-on;
>
> You want it to be unmanaged and always-on?

Correct, it shall be set up by the kernel statically and is never going
to be changed while the system is up and running.

Best regards
Ulrich


> Shawn
>
>> + voltage-table = <3600000 26>;
>> + };
>> +
>> reg_vcc_mmc: regulator-vcc-mmc {
>> compatible = "regulator-fixed";
>> pinctrl-names = "default";
>> --
>> 2.30.2
>>
--
Pengutronix e.K. | Ulrich Ölmann |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |

2022-06-19 01:51:27

by Shawn Guo

[permalink] [raw]
Subject: Re: [PATCH] ARM: dts: imx6: skov: add pwm-regulator to control the panel's VCOM

On Tue, May 17, 2022 at 09:18:14AM +0200, Ulrich ?lmann wrote:
> Skov's i.MX6 based boards come in different flavors which have different panels
> attached. For optimal contrast experience each panel type needs an individual
> common voltage (VCOM) to drive its TFT backplane. The latter is generated by an
> LCD bias supply IC controlled by a pwm as input signal. Introduce a pwm-
> regulator to describe this hardware property and parameterize it appropriately
> for the different boards.
>
> Signed-off-by: Ulrich ?lmann <[email protected]>

Applied, thanks!