Enable DU1, DSI and ADV7535 on RZ/G3E SMARC EVK including the newly added r9a09g047e57-smarc-du1-adv7535.dtsi
Signed-off-by: Tommaso Merciai <[email protected]> --- .../r9a09g047e57-smarc-du1-adv7535.dtsi | 124 ++++++++++++++++++ .../boot/dts/renesas/r9a09g047e57-smarc.dts | 1 + 2 files changed, 125 insertions(+) create mode 100644 arch/arm64/boot/dts/renesas/r9a09g047e57-smarc-du1-adv7535.dtsi diff --git a/arch/arm64/boot/dts/renesas/r9a09g047e57-smarc-du1-adv7535.dtsi b/arch/arm64/boot/dts/renesas/r9a09g047e57-smarc-du1-adv7535.dtsi new file mode 100644 index 000000000000..4444c9634d3e --- /dev/null +++ b/arch/arm64/boot/dts/renesas/r9a09g047e57-smarc-du1-adv7535.dtsi @@ -0,0 +1,124 @@ +// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +/* + * Device Tree Source for the R9A09G047E57 SMARC SoM board with + * ADV7535 MIPI DSI to HDMI transmitter connected to DU1 enabled. + * + * Copyright (C) 2025 Renesas Electronics Corp. + */ + +/ { + osc1: cec-clock { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <12000000>; + }; + + reg_1p8v_adv: regulator-1p8v-adv { + compatible = "regulator-fixed"; + regulator-name = "fixed-1.8V"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-boot-on; + regulator-always-on; + }; + + reg_3p3v_adv: regulator-3p3v-adv { + compatible = "regulator-fixed"; + + regulator-name = "fixed-3.3V"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-boot-on; + regulator-always-on; + }; + + dsi-to-hdmi-out { + compatible = "hdmi-connector"; + type = "d"; + + port { + dsi_to_hdmi_out: endpoint { + remote-endpoint = <&adv7535_out>; + }; + }; + }; +}; + +&dsi { + status = "okay"; + + ports { + port@1 { + dsi_in1: endpoint { + remote-endpoint = <&du1_out_dsi0>; + }; + }; + + port@2 { + dsi_out: endpoint { + remote-endpoint = <&adv7535_in>; + data-lanes = <1 2 3 4>; + }; + }; + }; +}; + +&du1 { + status = "okay"; + + ports { + port@0 { + du1_out_dsi0: endpoint { + remote-endpoint = <&dsi_in1>; + }; + }; + }; +}; + +&i2c7 { + pinctrl-0 = <&i2c7_pins>; + pinctrl-names = "default"; + status = "okay"; + clock-frequency = <400000>; + + adv7535: hdmi1@3d { + compatible = "adi,adv7535"; + reg = <0x3d>, <0x4d>, <0x2d>, <0x5d>; + reg-names = "main", "edid", "cec", "packet"; + clocks = <&osc1>; + clock-names = "cec"; + avdd-supply = <®_1p8v_adv>; + dvdd-supply = <®_1p8v_adv>; + pvdd-supply = <®_1p8v_adv>; + a2vdd-supply = <®_1p8v_adv>; + v3p3-supply = <®_3p3v_adv>; + v1p2-supply = <®_1p8v_adv>; + adi,dsi-lanes = <4>; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + adv7535_in: endpoint { + remote-endpoint = <&dsi_out>; + }; + }; + + port@1 { + reg = <1>; + adv7535_out: endpoint { + remote-endpoint = <&dsi_to_hdmi_out>; + }; + }; + }; + }; +}; + +&pinctrl { + i2c7_pins: i2c7 { + pinmux = <RZG3E_PORT_PINMUX(A, 4, 4)>, /* SCL */ + <RZG3E_PORT_PINMUX(A, 5, 4)>; /* SDA */ + }; +}; diff --git a/arch/arm64/boot/dts/renesas/r9a09g047e57-smarc.dts b/arch/arm64/boot/dts/renesas/r9a09g047e57-smarc.dts index 08e814c03fa8..74cf36586636 100644 --- a/arch/arm64/boot/dts/renesas/r9a09g047e57-smarc.dts +++ b/arch/arm64/boot/dts/renesas/r9a09g047e57-smarc.dts @@ -28,6 +28,7 @@ #include <dt-bindings/input/input.h> #include <dt-bindings/pinctrl/renesas,r9a09g047-pinctrl.h> #include "r9a09g047e57.dtsi" +#include "r9a09g047e57-smarc-du1-adv7535.dtsi" #include "rzg3e-smarc-som.dtsi" #include "renesas-smarc2.dtsi" -- 2.43.0
