diff mbox

[v1,7/7] ARM: dts: ifc6410: add inforce LVDS panel support

Message ID 1438088076-17606-1-git-send-email-srinivas.kandagatla@linaro.org
State New
Headers show

Commit Message

Srinivas Kandagatla July 28, 2015, 12:54 p.m. UTC
This patch adds LVDS panel for IFC6410.

Signed-off-by: Rob Clark <robdclark@gmail.com>
[Rob Clark: WIP patch]
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
---
 arch/arm/boot/dts/qcom-apq8064-ifc6410.dts | 66 ++++++++++++++++++++++++++++++
 1 file changed, 66 insertions(+)

Comments

Srinivas Kandagatla July 29, 2015, 2:03 p.m. UTC | #1
On 29/07/15 06:39, Archit Taneja wrote:
> Hi Srini,
>
> On 07/28/2015 06:24 PM, Srinivas Kandagatla wrote:
>> This patch adds LVDS panel for IFC6410.
>>
>> Signed-off-by: Rob Clark <robdclark@gmail.com>
>> [Rob Clark: WIP patch]
>> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
>> ---
>>   arch/arm/boot/dts/qcom-apq8064-ifc6410.dts | 66
>> ++++++++++++++++++++++++++++++
>>   1 file changed, 66 insertions(+)
>>
>> diff --git a/arch/arm/boot/dts/qcom-apq8064-ifc6410.dts
>> b/arch/arm/boot/dts/qcom-apq8064-ifc6410.dts
>> index 1ab71f1..3bdac02 100644
>> --- a/arch/arm/boot/dts/qcom-apq8064-ifc6410.dts
>> +++ b/arch/arm/boot/dts/qcom-apq8064-ifc6410.dts
>> @@ -63,6 +63,12 @@
>>                       qcom,switch-mode-frequency = <3200000>;
>>                   };
>>
>> +                pm8921_l2: l2 {
>> +                    regulator-min-microvolt = <1200000>;
>> +                    regulator-max-microvolt = <1200000>;
>> +                    bias-pull-down;
>> +                };
>> +
>>                   pm8921_l3: l3 {
>>                       regulator-min-microvolt = <3050000>;
>>                       regulator-max-microvolt = <3300000>;
>> @@ -96,6 +102,10 @@
>>                   pm8921_lvs1: lvs1 {
>>                       bias-pull-down;
>>                   };
>> +
>> +                pm8921_lvs7: lvs7 {
>> +                    bias-pull-down;
>> +                };
>>               };
>>           };
>>
>> @@ -119,6 +129,41 @@
>>
>>           mdp: qcom,mdp@5100000 {
>>               status = "okay";
>> +            qcom,lvds-panel = <&panel>;
>
> We're trying to switch to the of_graph way of representing connected
> panels. With that, the above phandle will go away. This needs to be
> replaced with:
>

Thanks for the input, I modified the panel support to use graphs which 
works perfectly fine.

thanks,
srini
>              port {
>                  lvds_out: endpoint {
>                      remote_endpoint = <&auo_in>;
>                  };
>              };
>
>> +            lvds-vccs-3p3v-supply = <&ext_3p3v>;
>> +            lvds-pll-vdda-supply = <&pm8921_l2>;
>> +            lvds-vdda-supply = <&pm8921_lvs7>;
>> +        };
>> +
>> +        panel_3p3v: panel_3p3v {
>> +            compatible = "regulator-fixed";
>> +            pinctrl-0 = <&disp_en_gpios>;
>> +            pinctrl-names = "default";
>> +            regulator-min-microvolt = <3300000>;
>> +            regulator-max-microvolt = <3300000>;
>> +            regulator-name = "panel_en_3p3v";
>> +            regulator-type = "voltage";
>> +            startup-delay-us = <0>;
>> +            gpio = <&pm8921_gpio 36 GPIO_ACTIVE_HIGH>;
>> +            enable-active-high;
>> +            regulator-boot-on;
>> +        };
>> +
>> +        backlight: backlight{
>> +            pinctrl-0 = <&pwm_bl_gpios>;
>> +            pinctrl-names = "default";
>> +            compatible = "gpio-backlight";
>> +            gpios = <&pm8921_gpio 26 GPIO_ACTIVE_HIGH>;
>> +            default-on;
>> +        };
>> +
>> +        panel: auo,b101xtn01 {
>> +            status = "okay";
>> +            compatible = "auo,b101xtn01";
>> +
>> +            ddc-i2c-bus = <&i2c3>;
>> +            backlight = <&backlight>;
>> +            power-supply = <&panel_3p3v>;
>
> and for the panel:
>
>              port {
>                  auo_in: endpoint {
>                      remote-endpoint = <&lvds_out>;
>                  };
>              };
>
> Thanks,
> Archit
>
>>           };
>>
>>           gsbi3: gsbi@16200000 {
>> @@ -235,6 +280,27 @@
>>                   pm8921_gpio: gpio@150 {
>>                       pinctrl-names = "default";
>>                       pinctrl-0 = <&wlan_default_gpios>;
>> +
>> +                    pwm_bl_gpios: pwm-bl-gpios {
>> +                        pios {
>> +                            pins = "gpio26";
>> +                            bias-disable;
>> +                            function = "normal";
>> +                            qcom,drive-strength =
>> <PMIC_GPIO_STRENGTH_HIGH>;
>> +                            power-source = <PM8921_GPIO_S4>;
>> +                        };
>> +                    };
>> +
>> +                    disp_en_gpios: disp-en-gpios {
>> +                        pios {
>> +                            pins = "gpio36";
>> +                            bias-disable;
>> +                            function = "normal";
>> +                            qcom,drive-strength =
>> <PMIC_GPIO_STRENGTH_HIGH>;
>> +                            power-source = <PM8921_GPIO_S4>;
>> +                        };
>> +                    };
>> +
>>                       wlan_default_gpios: wlan-gpios {
>>                           pios {
>>                               pins = "gpio43";
>>
>
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Srinivas Kandagatla Aug. 7, 2015, 9:41 a.m. UTC | #2
On 29/07/15 23:46, Stephen Boyd wrote:
> On 07/28/2015 05:54 AM, Srinivas Kandagatla wrote:
>> +
>> +        panel_3p3v: panel_3p3v {
>> +            compatible = "regulator-fixed";
>> +            pinctrl-0 = <&disp_en_gpios>;
>> +            pinctrl-names = "default";
>> +            regulator-min-microvolt = <3300000>;
>> +            regulator-max-microvolt = <3300000>;
>> +            regulator-name = "panel_en_3p3v";
>> +            regulator-type = "voltage";
>> +            startup-delay-us = <0>;
>> +            gpio = <&pm8921_gpio 36 GPIO_ACTIVE_HIGH>;
>> +            enable-active-high;
>> +            regulator-boot-on;
>> +        };
>
> We should put gpio regulators into their own container in the root of
> the tree. Similar to what was done for 8960 gpio regulators.
I agree, Will do this in next version.
>
>> +
>> +        backlight: backlight{
>> +            pinctrl-0 = <&pwm_bl_gpios>;
>> +            pinctrl-names = "default";
>> +            compatible = "gpio-backlight";
>> +            gpios = <&pm8921_gpio 26 GPIO_ACTIVE_HIGH>;
>> +            default-on;
>> +        };
>> +
>> +        panel: auo,b101xtn01 {
>> +            status = "okay";
>> +            compatible = "auo,b101xtn01";
>> +
>> +            ddc-i2c-bus = <&i2c3>;
>> +            backlight = <&backlight>;
>> +            power-supply = <&panel_3p3v>;
>>           };
>
> These two nodes shouldn't be under the SoC node. They don't have
> registers so they should be at the root of the tree. And we don't need
> to put labels twice on nodes. If we're modifying things in board
> specific dtsi files it should be fine to leave the label off if the
> label is in the SoC dtsi file.
Yep, will fix it in next version.
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/
diff mbox

Patch

diff --git a/arch/arm/boot/dts/qcom-apq8064-ifc6410.dts b/arch/arm/boot/dts/qcom-apq8064-ifc6410.dts
index 1ab71f1..3bdac02 100644
--- a/arch/arm/boot/dts/qcom-apq8064-ifc6410.dts
+++ b/arch/arm/boot/dts/qcom-apq8064-ifc6410.dts
@@ -63,6 +63,12 @@ 
 					qcom,switch-mode-frequency = <3200000>;
 				};
 
+				pm8921_l2: l2 {
+					regulator-min-microvolt = <1200000>;
+					regulator-max-microvolt = <1200000>;
+					bias-pull-down;
+				};
+
 				pm8921_l3: l3 {
 					regulator-min-microvolt = <3050000>;
 					regulator-max-microvolt = <3300000>;
@@ -96,6 +102,10 @@ 
 				pm8921_lvs1: lvs1 {
 					bias-pull-down;
 				};
+
+				pm8921_lvs7: lvs7 {
+					bias-pull-down;
+				};
 			};
 		};
 
@@ -119,6 +129,41 @@ 
 
 		mdp: qcom,mdp@5100000 {
 			status = "okay";
+			qcom,lvds-panel = <&panel>;
+			lvds-vccs-3p3v-supply = <&ext_3p3v>;
+			lvds-pll-vdda-supply = <&pm8921_l2>;
+			lvds-vdda-supply = <&pm8921_lvs7>;
+		};
+
+		panel_3p3v: panel_3p3v {
+			compatible = "regulator-fixed";
+			pinctrl-0 = <&disp_en_gpios>;
+			pinctrl-names = "default";
+			regulator-min-microvolt = <3300000>;
+			regulator-max-microvolt = <3300000>;
+			regulator-name = "panel_en_3p3v";
+			regulator-type = "voltage";
+			startup-delay-us = <0>;
+			gpio = <&pm8921_gpio 36 GPIO_ACTIVE_HIGH>;
+			enable-active-high;
+			regulator-boot-on;
+		};
+
+		backlight: backlight{
+			pinctrl-0 = <&pwm_bl_gpios>;
+			pinctrl-names = "default";
+			compatible = "gpio-backlight";
+			gpios = <&pm8921_gpio 26 GPIO_ACTIVE_HIGH>;
+			default-on;
+		};
+
+		panel: auo,b101xtn01 {
+			status = "okay";
+			compatible = "auo,b101xtn01";
+
+			ddc-i2c-bus = <&i2c3>;
+			backlight = <&backlight>;
+			power-supply = <&panel_3p3v>;
 		};
 
 		gsbi3: gsbi@16200000 {
@@ -235,6 +280,27 @@ 
 				pm8921_gpio: gpio@150 {
 					pinctrl-names = "default";
 					pinctrl-0 = <&wlan_default_gpios>;
+
+					pwm_bl_gpios: pwm-bl-gpios {
+						pios {
+							pins = "gpio26";
+							bias-disable;
+							function = "normal";
+							qcom,drive-strength = <PMIC_GPIO_STRENGTH_HIGH>;
+							power-source = <PM8921_GPIO_S4>;
+						};
+					};
+
+					disp_en_gpios: disp-en-gpios {
+						pios {
+							pins = "gpio36";
+							bias-disable;
+							function = "normal";
+							qcom,drive-strength = <PMIC_GPIO_STRENGTH_HIGH>;
+							power-source = <PM8921_GPIO_S4>;
+						};
+					};
+
 					wlan_default_gpios: wlan-gpios {
 						pios {
 							pins = "gpio43";