Message ID | 20250202-fp5-display-v1-1-f52bf546e38f@fairphone.com |
---|---|
State | New |
Headers | show |
Series | Enable panel and GPU on Fairphone 5 | expand |
On 2025-02-02 23:45:51, Luca Weiss wrote: > Configure the MDSS nodes for the phone and add the panel node. > > Signed-off-by: Luca Weiss <luca.weiss@fairphone.com> Glad to hear (and see in real life) that you're able to use the 1:1:1 topology patches. Reviewed-by: Marijn Suijten <marijn.suijten@somainline.org> Thanks! > --- > arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts | 94 ++++++++++++++++++++-- > 1 file changed, 89 insertions(+), 5 deletions(-) > > diff --git a/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts b/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts > index 389eca9b9e68187980e92ac921a77a3c3b54f6a5..965e32473a58ae4748e4cb748980fad1d2b06ab6 100644 > --- a/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts > +++ b/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts > @@ -138,6 +138,34 @@ vreg_ois_dvdd_1p1: regulator-ois-dvdd-1p1 { > vin-supply = <&vreg_s8b>; > }; > > + vreg_oled_dvdd: regulator-oled-dvdd { > + compatible = "regulator-fixed"; > + regulator-name = "oled_dvdd"; > + regulator-min-microvolt = <1200000>; > + regulator-max-microvolt = <1200000>; > + > + gpio = <&tlmm 51 GPIO_ACTIVE_HIGH>; > + enable-active-high; > + > + vin-supply = <&vreg_s1b>; > + > + regulator-boot-on; > + }; > + > + vreg_oled_vci: regulator-oled-vci { > + compatible = "regulator-fixed"; > + regulator-name = "oled_vci"; > + regulator-min-microvolt = <3000000>; > + regulator-max-microvolt = <3000000>; > + > + gpio = <&pm8350c_gpios 7 GPIO_ACTIVE_HIGH>; > + enable-active-high; > + > + vin-supply = <&vreg_l13c>; > + > + regulator-boot-on; > + }; > + > reserved-memory { > cont_splash_mem: cont-splash@e1000000 { > reg = <0x0 0xe1000000 0x0 0x2300000>; > @@ -597,11 +625,6 @@ eeprom@51 { > }; > }; > > -&dispcc { > - /* Disable for now so simple-framebuffer continues working */ > - status = "disabled"; > -}; > - > &gcc { > protected-clocks = <GCC_CFG_NOC_LPASS_CLK>, > <GCC_EDP_CLKREF_EN>, > @@ -733,6 +756,46 @@ &ipa { > status = "okay"; > }; > > +&mdss { > + status = "okay"; > +}; > + > +&mdss_dsi { > + vdda-supply = <&vreg_l6b>; > + status = "okay"; > + > + panel@0 { > + compatible = "fairphone,fp5-rm692e5-boe", "raydium,rm692e5"; > + reg = <0>; > + > + reset-gpios = <&tlmm 44 GPIO_ACTIVE_LOW>; > + > + vci-supply = <&vreg_oled_vci>; > + vddio-supply = <&vreg_l12c>; > + dvdd-supply = <&vreg_oled_dvdd>; > + > + pinctrl-0 = <&disp_reset_n_active>, <&mdp_vsync>; > + pinctrl-1 = <&disp_reset_n_suspend>, <&mdp_vsync>; > + pinctrl-names = "default", "sleep"; > + > + port { > + panel_in: endpoint { > + remote-endpoint = <&mdss_dsi0_out>; > + }; > + }; > + }; > +}; > + > +&mdss_dsi0_out { > + data-lanes = <0 1 2 3>; > + remote-endpoint = <&panel_in>; > +}; > + > +&mdss_dsi_phy { > + vdds-supply = <&vreg_l10c>; > + status = "okay"; > +}; > + > &pm7250b_adc { > pinctrl-0 = <&pm7250b_adc_default>; > pinctrl-names = "default"; > @@ -1026,6 +1089,20 @@ bluetooth_enable_default: bluetooth-enable-default-state { > bias-disable; > }; > > + disp_reset_n_active: disp-reset-n-active-state { > + pins = "gpio44"; > + function = "gpio"; > + drive-strength = <8>; > + bias-disable; > + }; > + > + disp_reset_n_suspend: disp-reset-n-suspend-state { > + pins = "gpio44"; > + function = "gpio"; > + drive-strength = <2>; > + bias-pull-down; > + }; > + > hall_sensor_default: hall-sensor-default-state { > pins = "gpio155"; > function = "gpio"; > @@ -1033,6 +1110,13 @@ hall_sensor_default: hall-sensor-default-state { > bias-pull-up; > }; > > + mdp_vsync: mdp-vsync-state { > + pins = "gpio80"; > + function = "mdp_vsync"; > + drive-strength = <2>; > + bias-pull-down; > + }; > + > pm8008_int_default: pm8008-int-default-state { > pins = "gpio25"; > function = "gpio"; > > -- > 2.48.1 >
diff --git a/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts b/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts index 389eca9b9e68187980e92ac921a77a3c3b54f6a5..965e32473a58ae4748e4cb748980fad1d2b06ab6 100644 --- a/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts +++ b/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts @@ -138,6 +138,34 @@ vreg_ois_dvdd_1p1: regulator-ois-dvdd-1p1 { vin-supply = <&vreg_s8b>; }; + vreg_oled_dvdd: regulator-oled-dvdd { + compatible = "regulator-fixed"; + regulator-name = "oled_dvdd"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1200000>; + + gpio = <&tlmm 51 GPIO_ACTIVE_HIGH>; + enable-active-high; + + vin-supply = <&vreg_s1b>; + + regulator-boot-on; + }; + + vreg_oled_vci: regulator-oled-vci { + compatible = "regulator-fixed"; + regulator-name = "oled_vci"; + regulator-min-microvolt = <3000000>; + regulator-max-microvolt = <3000000>; + + gpio = <&pm8350c_gpios 7 GPIO_ACTIVE_HIGH>; + enable-active-high; + + vin-supply = <&vreg_l13c>; + + regulator-boot-on; + }; + reserved-memory { cont_splash_mem: cont-splash@e1000000 { reg = <0x0 0xe1000000 0x0 0x2300000>; @@ -597,11 +625,6 @@ eeprom@51 { }; }; -&dispcc { - /* Disable for now so simple-framebuffer continues working */ - status = "disabled"; -}; - &gcc { protected-clocks = <GCC_CFG_NOC_LPASS_CLK>, <GCC_EDP_CLKREF_EN>, @@ -733,6 +756,46 @@ &ipa { status = "okay"; }; +&mdss { + status = "okay"; +}; + +&mdss_dsi { + vdda-supply = <&vreg_l6b>; + status = "okay"; + + panel@0 { + compatible = "fairphone,fp5-rm692e5-boe", "raydium,rm692e5"; + reg = <0>; + + reset-gpios = <&tlmm 44 GPIO_ACTIVE_LOW>; + + vci-supply = <&vreg_oled_vci>; + vddio-supply = <&vreg_l12c>; + dvdd-supply = <&vreg_oled_dvdd>; + + pinctrl-0 = <&disp_reset_n_active>, <&mdp_vsync>; + pinctrl-1 = <&disp_reset_n_suspend>, <&mdp_vsync>; + pinctrl-names = "default", "sleep"; + + port { + panel_in: endpoint { + remote-endpoint = <&mdss_dsi0_out>; + }; + }; + }; +}; + +&mdss_dsi0_out { + data-lanes = <0 1 2 3>; + remote-endpoint = <&panel_in>; +}; + +&mdss_dsi_phy { + vdds-supply = <&vreg_l10c>; + status = "okay"; +}; + &pm7250b_adc { pinctrl-0 = <&pm7250b_adc_default>; pinctrl-names = "default"; @@ -1026,6 +1089,20 @@ bluetooth_enable_default: bluetooth-enable-default-state { bias-disable; }; + disp_reset_n_active: disp-reset-n-active-state { + pins = "gpio44"; + function = "gpio"; + drive-strength = <8>; + bias-disable; + }; + + disp_reset_n_suspend: disp-reset-n-suspend-state { + pins = "gpio44"; + function = "gpio"; + drive-strength = <2>; + bias-pull-down; + }; + hall_sensor_default: hall-sensor-default-state { pins = "gpio155"; function = "gpio"; @@ -1033,6 +1110,13 @@ hall_sensor_default: hall-sensor-default-state { bias-pull-up; }; + mdp_vsync: mdp-vsync-state { + pins = "gpio80"; + function = "mdp_vsync"; + drive-strength = <2>; + bias-pull-down; + }; + pm8008_int_default: pm8008-int-default-state { pins = "gpio25"; function = "gpio";
Configure the MDSS nodes for the phone and add the panel node. Signed-off-by: Luca Weiss <luca.weiss@fairphone.com> --- arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts | 94 ++++++++++++++++++++-- 1 file changed, 89 insertions(+), 5 deletions(-)