// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) /* * Device Tree Source for the RZ/G2LC SMARC EVK parts * * Copyright (C) 2022 Renesas Electronics Corp. */ #include #include #include "rzg2lc-smarc-pinfunction.dtsi" #include "rz-smarc-common.dtsi" / { aliases { serial1 = &scif1; i2c2 = &i2c2; }; osc1: cec-clock { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <12000000>; }; hdmi-out { compatible = "hdmi-connector"; type = "d"; port { hdmi_con_out: endpoint { remote-endpoint = <&adv7535_out>; }; }; }; #if (SW_I2S0_I2S1) /delete-node/ sound; sound_card { compatible = "audio-graph-card"; label = "HDMI-Audio"; dais = <&i2s2_port>; }; #endif }; #if (SW_SCIF_CAN || SW_RSPI_CAN) &canfd { pinctrl-0 = <&can1_pins>; /delete-node/ channel@0; }; #else &canfd { /delete-property/ pinctrl-0; /delete-property/ pinctrl-names; status = "disabled"; }; #endif #if (!SW_I2S0_I2S1) &cpu_dai { sound-dai = <&ssi0>; }; #endif &dsi { status = "okay"; ports { port@1 { dsi0_out: endpoint { data-lanes = <1 2 3 4>; remote-endpoint = <&adv7535_in>; }; }; }; }; &du { status = "okay"; }; &i2c1 { adv7535: hdmi@3d { compatible = "adi,adv7535"; reg = <0x3d>; interrupt-parent = <&pinctrl>; interrupts = ; clocks = <&osc1>; clock-names = "cec"; avdd-supply = <®_1p8v>; dvdd-supply = <®_1p8v>; pvdd-supply = <®_1p8v>; a2vdd-supply = <®_1p8v>; v3p3-supply = <®_3p3v>; v1p2-supply = <®_1p8v>; adi,dsi-lanes = <4>; ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; adv7535_in: endpoint { remote-endpoint = <&dsi0_out>; }; }; port@1 { reg = <1>; adv7535_out: endpoint { remote-endpoint = <&hdmi_con_out>; }; }; #if (SW_I2S0_I2S1) port@2 { reg = <2>; codec_endpoint: endpoint { remote-endpoint = <&i2s2_cpu_endpoint>; }; }; #endif }; }; }; &i2c2 { pinctrl-0 = <&i2c2_pins>; pinctrl-names = "default"; clock-frequency = <400000>; status = "okay"; wm8978: codec@1a { compatible = "wlf,wm8978"; #sound-dai-cells = <0>; reg = <0x1a>; }; versa3: clock-generator@68 { compatible = "renesas,5p35023"; reg = <0x68>; #clock-cells = <1>; clocks = <&x1>; renesas,settings = [ 80 00 11 19 4c 02 23 7f 83 19 08 a9 5f 25 24 bf 00 14 7a e1 00 00 00 00 01 55 59 bb 3f 30 90 b6 80 b0 45 c4 95 ]; assigned-clocks = <&versa3 0>, <&versa3 1>, <&versa3 2>, <&versa3 3>, <&versa3 4>, <&versa3 5>; assigned-clock-rates = <24000000>, <11289600>, <11289600>, <12000000>, <25000000>, <12288000>; }; }; #if PMOD_MTU3 &mtu3 { pinctrl-0 = <&mtu3_pins>; pinctrl-names = "default"; status = "okay"; }; &spi1 { status = "disabled"; }; #endif /* * To enable SCIF1 (SER0) on PMOD1 (CN7), On connector board * SW1 should be at position 2->3 so that SER0_CTS# line is activated * SW2 should be at position 2->3 so that SER0_TX line is activated * SW3 should be at position 2->3 so that SER0_RX line is activated * SW4 should be at position 2->3 so that SER0_RTS# line is activated */ #if (!SW_SCIF_CAN && PMOD1_SER0) &scif1 { pinctrl-0 = <&scif1_pins>; pinctrl-names = "default"; uart-has-rtscts; status = "okay"; }; #endif &ssi0 { pinctrl-0 = <&ssi0_pins>; pinctrl-names = "default"; status = "okay"; #if (SW_I2S0_I2S1) i2s2_port: port { i2s2_cpu_endpoint: endpoint { remote-endpoint = <&codec_endpoint>; dai-format = "i2s"; bitclock-master = <&i2s2_cpu_endpoint>; frame-master = <&i2s2_cpu_endpoint>; }; }; #endif }; #if (SW_RSPI_CAN) &spi1 { /delete-property/ pinctrl-0; /delete-property/ pinctrl-names; status = "disabled"; }; #endif &vccq_sdhi1 { gpios = <&pinctrl RZG2L_GPIO(39, 1) GPIO_ACTIVE_HIGH>; };