Message ID | 1647452154-16361-3-git-send-email-quic_sbillaka@quicinc.com |
---|---|
State | New |
Headers | show |
Series | Add support for the eDP panel on sc7280 CRD | expand |
Hi, On Wed, Mar 16, 2022 at 10:36 AM Sankeerth Billakanti <quic_sbillaka@quicinc.com> wrote: > > Enable support for eDP interface via aux_bus on CRD platform. > > Signed-off-by: Sankeerth Billakanti <quic_sbillaka@quicinc.com> > --- > > Changes in v5: > - Change the order of patches > - Remove the backlight nodes > - Remove the bias setting > - Fix compilation issue > - Model VREG_EDP_BP for backlight power > > Changes in v4: > - Create new patch for name changes > - Remove output-low > > Changes in v3: > - Sort the nodes alphabetically > - Use - instead of _ as node names > - Place the backlight and panel nodes under root > - Change the name of edp_out to mdss_edp_out > - Change the names of regulator nodes > - Delete unused properties in the board file > > > Changes in v2: > - Sort node references alphabetically > - Improve readability > - Move the pwm pinctrl to pwm node > - Move the regulators to root > - Define backlight power > - Remove dummy regulator node > - Cleanup pinctrl definitions > > arch/arm64/boot/dts/qcom/sc7280-crd.dts | 93 +++++++++++++++++++++++++++++++++ > 1 file changed, 93 insertions(+) At a high level, I'd expect your patch to be based upon Matthias's series, AKA the 4 patches from: https://lore.kernel.org/r/20220316172814.v1.1.I2deda8f2cd6adfbb525a97d8fee008a8477b7b0e@changeid/ I'll leave it up to you about whether you care to support eDP on the old CRD1/2 or just on CRD3. Personally I'd think CRD3 would be enough. Then, I'd expect your patch to mostly incorporate <https://crrev.com/c/3379844>, though that patch was written before aux-bus support so the panel would need to go in a different place. Stephen already gave some comments and basing on Matthias's patches will be a pretty big change, so I probably won't comment lots more. > +&mdss_edp { > + status = "okay"; > + > + data-lanes = <0 1 2 3>; > + vdda-1p2-supply = <&vreg_l6b_1p2>; > + vdda-0p9-supply = <&vreg_l10c_0p8>; > + > + aux-bus { > + edp_panel: edp-panel { As Stephen pointed out, it should be called "panel".
Quoting Sankeerth Billakanti (QUIC) (2022-03-25 06:30:58) > > > > > + vdda-1p2-supply = <&vreg_l6b_1p2>; > > > + vdda-0p9-supply = <&vreg_l10c_0p8>; > > > + > > > + aux-bus { > > > > Can this move to sc7280.dtsi and get a phandle? > > > > Okay, I will move this to sc7280.dtsi like below. > Shall I define the required properties under &mdss_edp_panel node in the sc7280-crd3.dts? The below patch looks good. > > --- a/arch/arm64/boot/dts/qcom/sc7280.dtsi > +++ b/arch/arm64/boot/dts/qcom/sc7280.dtsi > @@ -3283,6 +3283,18 @@ > > status = "disabled";
diff --git a/arch/arm64/boot/dts/qcom/sc7280-crd.dts b/arch/arm64/boot/dts/qcom/sc7280-crd.dts index e2efbdd..2df654e 100644 --- a/arch/arm64/boot/dts/qcom/sc7280-crd.dts +++ b/arch/arm64/boot/dts/qcom/sc7280-crd.dts @@ -7,6 +7,7 @@ /dts-v1/; +#include <dt-bindings/pinctrl/qcom,pmic-gpio.h> #include "sc7280-idp.dtsi" #include "sc7280-idp-ec-h1.dtsi" @@ -21,6 +22,27 @@ chosen { stdout-path = "serial0:115200n8"; }; + + edp_3v3_regulator: edp-3v3-regulator { + compatible = "regulator-fixed"; + regulator-name = "edp_3v3_regulator"; + + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + + gpio = <&tlmm 80 GPIO_ACTIVE_HIGH>; + enable-active-high; + + pinctrl-names = "default"; + pinctrl-0 = <&edp_panel_power>; + }; + + vreg_edp_bp: vreg-edp-bp-regulator { + compatible = "regulator-fixed"; + regulator-name = "vreg_edp_bp"; + regulator-always-on; + regulator-boot-on; + }; }; &apps_rsc { @@ -76,6 +98,58 @@ ap_ts_pen_1v8: &i2c13 { }; }; +&mdss { + status = "okay"; +}; + +&mdss_dp { + status = "okay"; + + pinctrl-names = "default"; + pinctrl-0 = <&dp_hot_plug_det>; + data-lanes = <0 1>; + vdda-1p2-supply = <&vreg_l6b_1p2>; + vdda-0p9-supply = <&vreg_l1b_0p8>; +}; + +&mdss_edp { + status = "okay"; + + data-lanes = <0 1 2 3>; + vdda-1p2-supply = <&vreg_l6b_1p2>; + vdda-0p9-supply = <&vreg_l10c_0p8>; + + aux-bus { + edp_panel: edp-panel { + compatible = "edp-panel"; + + power-supply = <&edp_3v3_regulator>; + ports { + #address-cells = <1>; + #size-cells = <0>; + port@0 { + reg = <0>; + edp_panel_in: endpoint { + remote-endpoint = <&mdss_edp_out>; + }; + }; + }; + }; + }; +}; + +&mdss_edp_out { + remote-endpoint = <&edp_panel_in>; +}; + +&mdss_edp_phy { + status = "okay"; +}; + +&mdss_mdp { + status = "okay"; +}; + &nvme_3v3_regulator { gpio = <&tlmm 51 GPIO_ACTIVE_HIGH>; }; @@ -84,7 +158,26 @@ ap_ts_pen_1v8: &i2c13 { pins = "gpio51"; }; +&pm8350c_gpios { + edp_bl_power: edp-bl-power { + pins = "gpio7"; + function = "normal"; + qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>; + }; + + edp_bl_pwm: edp-bl-pwm { + pins = "gpio8"; + function = "func1"; + qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>; + }; +}; + &tlmm { + edp_panel_power: edp-panel-power { + pins = "gpio80"; + function = "gpio"; + }; + tp_int_odl: tp-int-odl { pins = "gpio7"; function = "gpio";
Enable support for eDP interface via aux_bus on CRD platform. Signed-off-by: Sankeerth Billakanti <quic_sbillaka@quicinc.com> --- Changes in v5: - Change the order of patches - Remove the backlight nodes - Remove the bias setting - Fix compilation issue - Model VREG_EDP_BP for backlight power Changes in v4: - Create new patch for name changes - Remove output-low Changes in v3: - Sort the nodes alphabetically - Use - instead of _ as node names - Place the backlight and panel nodes under root - Change the name of edp_out to mdss_edp_out - Change the names of regulator nodes - Delete unused properties in the board file Changes in v2: - Sort node references alphabetically - Improve readability - Move the pwm pinctrl to pwm node - Move the regulators to root - Define backlight power - Remove dummy regulator node - Cleanup pinctrl definitions arch/arm64/boot/dts/qcom/sc7280-crd.dts | 93 +++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+)