Re: [PATCH v4] arm64: dts: qcom: qcs6490-rb3gen2: enable hdmi bridge

From: Dmitry Baryshkov
Date: Tue May 28 2024 - 11:00:57 EST


On Tue, May 28, 2024 at 07:49:54PM +0530, Venkata Prahlad Valluru wrote:
> 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 <quic_vvalluru@xxxxxxxxxxx>
> ---
> v4: added fixed regulator for vdd

Please don't send new iterations as replies to the previous iteration.
It might be ignored or mishandled by the tools.

>
> v3: - Updated commit text
> - Arranged nodes in alphabetical order
> - Fixed signoff
> - Fixed drive strength for lt9611_irq_pin
> - Removed 'label' from hdmi-connector, which is optional
>
> v2: Addressed dtschema errors
> - Fixed lt9611-irq
> - vdd-supply error to be ignored, as it is connected to
> input supply directly, on rb3gen2
> ---
> arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts | 94 ++++++++++++++++++++
> 1 file changed, 94 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts b/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts
> index a085ff5b5fb2..7f00fca131a2 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 = <&lt9611_out>;
> + };
> + };
> + };
> +
> + lt9611_1v2: lt9611-vdd12-regulator {
> + compatible = "regulator-fixed";
> + regulator-name = "LT9611_1V2";

Is it the regulator / net name in schematics? Or is it also used by any
other consumers?

> +
> + regulator-min-microvolt = <1200000>;
> + regulator-max-microvolt = <1200000>;
> + };
> +
> reserved-memory {
> xbl_mem: xbl@80700000 {
> reg = <0x0 0x80700000 0x0 0x100000>;
> @@ -530,6 +549,46 @@
> <GCC_WPSS_RSCP_CLK>;
> };
>
> +&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 = <&lt9611_1v2>;
> + vcc-supply = <&vreg_l11c_2p8>;
> +
> + pinctrl-names = "default";
> + pinctrl-0 = <&lt9611_irq_pin &lt9611_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";
>
> @@ -587,6 +646,21 @@
> remote-endpoint = <&usb_dp_qmpphy_dp_in>;
> };
>
> +&mdss_dsi {
> + vdda-supply = <&vreg_l6b_1p2>;
> + status = "okay";
> +};
> +
> +&mdss_dsi0_out {
> + remote-endpoint = <&lt9611_a>;
> + data-lanes = <0 1 2 3>;
> +};
> +
> +&mdss_dsi_phy {
> + vdds-supply = <&vreg_l10c_0p88>;
> + status = "okay";
> +};
> +
> &mdss_edp {
> status = "okay";
> };
> @@ -711,3 +785,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;
> + };
> +};
> --
> 2.17.1
>

--
With best wishes
Dmitry