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

From: Ulrich Ölmann
Date: Tue Jun 14 2022 - 08:56:01 EST


On Sat, Jun 11 2022 at 17:31 +0800, Shawn Guo <shawnguo@xxxxxxxxxx> 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 <u.oelmann@xxxxxxxxxxxxxx>
>> ---
>> 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 |