From: Venkata Prahlad Valluru Date: Tue, 28 May 2024 14:19:54 +0000 (+0530) Subject: arm64: dts: qcom: qcs6490-rb3gen2: enable hdmi bridge X-Git-Tag: io_uring-6.11-20240722~96^2~8^2~18 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=fd513b922e34edb0db1284a4abee7f6c10ffd9a7;p=linux-block.git arm64: dts: qcom: qcs6490-rb3gen2: enable hdmi bridge Rb3Gen2 has a lt9611uxc DSI-to-HDMI bridge on i2c0, with reset gpio from pm7250b gpio2 and irq gpio from tlmm gpio24. Bridge supplies are Vdd connected to input supply directly and vcc to L11c. Enable HDMI output, bridge and corresponding DSI output. Signed-off-by: Venkata Prahlad Valluru Reviewed-by: Dmitry Baryshkov Link: https://lore.kernel.org/r/20240528141954.7567-1-quic_vvalluru@quicinc.com Signed-off-by: Bjorn Andersson --- diff --git a/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts b/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts index c4cde4328e3d..0d45662b8028 100644 --- a/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts +++ b/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts @@ -52,6 +52,25 @@ }; }; + hdmi-connector { + compatible = "hdmi-connector"; + type = "a"; + + port { + hdmi_con: endpoint { + remote-endpoint = <<9611_out>; + }; + }; + }; + + lt9611_1v2: lt9611-vdd12-regulator { + compatible = "regulator-fixed"; + regulator-name = "LT9611_1V2"; + + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1200000>; + }; + reserved-memory { xbl_mem: xbl@80700000 { reg = <0x0 0x80700000 0x0 0x100000>; @@ -538,6 +557,46 @@ status = "okay"; }; +&i2c0 { + clock-frequency = <400000>; + status = "okay"; + + lt9611_codec: hdmi-bridge@2b { + compatible = "lontium,lt9611uxc"; + reg = <0x2b>; + + interrupts-extended = <&tlmm 24 IRQ_TYPE_EDGE_FALLING>; + reset-gpios = <&pm7250b_gpios 2 GPIO_ACTIVE_HIGH>; + + vdd-supply = <<9611_1v2>; + vcc-supply = <&vreg_l11c_2p8>; + + pinctrl-names = "default"; + pinctrl-0 = <<9611_irq_pin <9611_rst_pin>; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + + lt9611_a: endpoint { + remote-endpoint = <&mdss_dsi0_out>; + }; + }; + + port@2 { + reg = <2>; + + lt9611_out: endpoint { + remote-endpoint = <&hdmi_con>; + }; + }; + }; + }; +}; + &i2c1 { status = "okay"; @@ -595,6 +654,21 @@ remote-endpoint = <&usb_dp_qmpphy_dp_in>; }; +&mdss_dsi { + vdda-supply = <&vreg_l6b_1p2>; + status = "okay"; +}; + +&mdss_dsi0_out { + remote-endpoint = <<9611_a>; + data-lanes = <0 1 2 3>; +}; + +&mdss_dsi_phy { + vdds-supply = <&vreg_l10c_0p88>; + status = "okay"; +}; + &mdss_edp { status = "okay"; }; @@ -726,3 +800,23 @@ function = "gpio"; bias-disable; }; + +&pm7250b_gpios { + lt9611_rst_pin: lt9611-rst-state { + pins = "gpio2"; + function = "normal"; + + output-high; + input-disable; + power-source = <0>; + }; +}; + +&tlmm { + lt9611_irq_pin: lt9611-irq-state { + pins = "gpio24"; + function = "gpio"; + drive-strength = <2>; + bias-disable; + }; +};