Re: [PATCH v3 2/3] arm64: dts: qcom: sm8250-xiaomi-elish-boe: Add mdss and dsi panel

From: Konrad Dybcio
Date: Thu Mar 23 2023 - 12:17:07 EST




On 23.03.2023 01:59, Jianhua Lu wrote:
> Add nodes for BOE NT36523 panel found in xiaomi-elish. This panel
> is a dual dsi mode panel and the dsi phy type is cphy.
>
> Signed-off-by: Jianhua Lu <lujianhua000@xxxxxxxxx>
> ---
Reviewed-by: Konrad Dybcio <konrad.dybcio@xxxxxxxxxx>

Konrad
> Changes in v2:
> - Include missing <dt-bindings/phy/phy.h> for phy-type property.
>
> Changes in v3:
> - Sort include header.
> - Move qcom,sync-dual-dsi to the front of qcom,master-dsi
> - Add newline before subnode.
>
> .../boot/dts/qcom/sm8250-xiaomi-elish-boe.dts | 5 ++
> .../dts/qcom/sm8250-xiaomi-elish-common.dtsi | 75 +++++++++++++++++++
> 2 files changed, 80 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-boe.dts b/arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-boe.dts
> index bd9ad109daf9..8b2ae39950ff 100644
> --- a/arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-boe.dts
> +++ b/arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-boe.dts
> @@ -11,3 +11,8 @@ / {
> model = "Xiaomi Mi Pad 5 Pro (BOE)";
> compatible = "xiaomi,elish", "qcom,sm8250";
> };
> +
> +&display_panel {
> + compatible = "xiaomi,elish-boe-nt36523";
> + status = "okay";
> +};
> diff --git a/arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-common.dtsi b/arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-common.dtsi
> index a43d4b73ffca..4585f61781f1 100644
> --- a/arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-common.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-common.dtsi
> @@ -4,6 +4,7 @@
> */
>
> #include <dt-bindings/arm/qcom,ids.h>
> +#include <dt-bindings/phy/phy.h>
> #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
> #include "sm8250.dtsi"
> #include "pm8150.dtsi"
> @@ -469,6 +470,76 @@ &cdsp {
> status = "okay";
> };
>
> +&dsi0 {
> + vdda-supply = <&vreg_l9a_1p2>;
> + qcom,dual-dsi-mode;
> + qcom,sync-dual-dsi;
> + qcom,master-dsi;
> + status = "okay";
> +
> + display_panel: panel@0 {
> + reg = <0>;
> + vddio-supply = <&vreg_l14a_1p88>;
> + reset-gpios = <&tlmm 75 GPIO_ACTIVE_LOW>;
> + backlight = <&backlight>;
> +
> + status = "disabled";
> +
> + ports {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + port@0 {
> + reg = <0>;
> +
> + panel_in_0: endpoint {
> + remote-endpoint = <&dsi0_out>;
> + };
> + };
> +
> + port@1{
> + reg = <1>;
> +
> + panel_in_1: endpoint {
> + remote-endpoint = <&dsi1_out>;
> + };
> + };
> +
> + };
> + };
> +};
> +
> +&dsi0_out {
> + data-lanes = <0 1 2>;
> + remote-endpoint = <&panel_in_0>;
> +};
> +
> +&dsi0_phy {
> + vdds-supply = <&vreg_l5a_0p88>;
> + phy-type = <PHY_TYPE_CPHY>;
> + status = "okay";
> +};
> +
> +&dsi1 {
> + vdda-supply = <&vreg_l9a_1p2>;
> + qcom,dual-dsi-mode;
> + qcom,sync-dual-dsi;
> + /* DSI1 is slave, so use DSI0 clocks */
> + assigned-clock-parents = <&dsi0_phy 0>, <&dsi0_phy 1>;
> + status = "okay";
> +};
> +
> +&dsi1_out {
> + data-lanes = <0 1 2>;
> + remote-endpoint = <&panel_in_1>;
> +};
> +
> +&dsi1_phy {
> + vdds-supply = <&vreg_l5a_0p88>;
> + phy-type = <PHY_TYPE_CPHY>;
> + status = "okay";
> +};
> +
> &gmu {
> status = "okay";
> };
> @@ -533,6 +604,10 @@ fuel-gauge@55 {
> };
> };
>
> +&mdss {
> + status = "okay";
> +};
> +
> &pcie0 {
> status = "okay";
> };