1*726fd781SBiju Das// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*726fd781SBiju Das/* 3*726fd781SBiju Das * Device Tree Source for the RZ/{G2L,G2LC,V2L} SMARC EVK common parts 4*726fd781SBiju Das * 5*726fd781SBiju Das * Copyright (C) 2022 Renesas Electronics Corp. 6*726fd781SBiju Das */ 7*726fd781SBiju Das 8*726fd781SBiju Das#include <dt-bindings/gpio/gpio.h> 9*726fd781SBiju Das#include <dt-bindings/pinctrl/rzg2l-pinctrl.h> 10*726fd781SBiju Das 11*726fd781SBiju Das/* 12*726fd781SBiju Das * SSI-WM8978 13*726fd781SBiju Das * 14*726fd781SBiju Das * This command is required when Playback/Capture 15*726fd781SBiju Das * 16*726fd781SBiju Das * amixer cset name='Left Input Mixer L2 Switch' on 17*726fd781SBiju Das * amixer cset name='Right Input Mixer R2 Switch' on 18*726fd781SBiju Das * amixer cset name='Headphone Playback Volume' 100 19*726fd781SBiju Das * amixer cset name='PCM Volume' 100% 20*726fd781SBiju Das * amixer cset name='Input PGA Volume' 25 21*726fd781SBiju Das * 22*726fd781SBiju Das */ 23*726fd781SBiju Das 24*726fd781SBiju Das/ { 25*726fd781SBiju Das aliases { 26*726fd781SBiju Das serial0 = &scif0; 27*726fd781SBiju Das i2c0 = &i2c0; 28*726fd781SBiju Das i2c1 = &i2c1; 29*726fd781SBiju Das i2c3 = &i2c3; 30*726fd781SBiju Das }; 31*726fd781SBiju Das 32*726fd781SBiju Das chosen { 33*726fd781SBiju Das stdout-path = "serial0:115200n8"; 34*726fd781SBiju Das }; 35*726fd781SBiju Das 36*726fd781SBiju Das audio_mclock: audio_mclock { 37*726fd781SBiju Das compatible = "fixed-clock"; 38*726fd781SBiju Das #clock-cells = <0>; 39*726fd781SBiju Das clock-frequency = <11289600>; 40*726fd781SBiju Das }; 41*726fd781SBiju Das 42*726fd781SBiju Das snd_rzg2l: sound { 43*726fd781SBiju Das compatible = "simple-audio-card"; 44*726fd781SBiju Das simple-audio-card,format = "i2s"; 45*726fd781SBiju Das simple-audio-card,bitclock-master = <&cpu_dai>; 46*726fd781SBiju Das simple-audio-card,frame-master = <&cpu_dai>; 47*726fd781SBiju Das simple-audio-card,mclk-fs = <256>; 48*726fd781SBiju Das 49*726fd781SBiju Das simple-audio-card,widgets = "Microphone", "Microphone Jack"; 50*726fd781SBiju Das simple-audio-card,routing = 51*726fd781SBiju Das "L2", "Mic Bias", 52*726fd781SBiju Das "R2", "Mic Bias", 53*726fd781SBiju Das "Mic Bias", "Microphone Jack"; 54*726fd781SBiju Das 55*726fd781SBiju Das cpu_dai: simple-audio-card,cpu { 56*726fd781SBiju Das sound-dai = <&ssi0>; 57*726fd781SBiju Das }; 58*726fd781SBiju Das 59*726fd781SBiju Das codec_dai: simple-audio-card,codec { 60*726fd781SBiju Das clocks = <&audio_mclock>; 61*726fd781SBiju Das sound-dai = <&wm8978>; 62*726fd781SBiju Das }; 63*726fd781SBiju Das }; 64*726fd781SBiju Das 65*726fd781SBiju Das usb0_vbus_otg: regulator-usb0-vbus-otg { 66*726fd781SBiju Das compatible = "regulator-fixed"; 67*726fd781SBiju Das 68*726fd781SBiju Das regulator-name = "USB0_VBUS_OTG"; 69*726fd781SBiju Das regulator-min-microvolt = <5000000>; 70*726fd781SBiju Das regulator-max-microvolt = <5000000>; 71*726fd781SBiju Das }; 72*726fd781SBiju Das 73*726fd781SBiju Das vccq_sdhi1: regulator-vccq-sdhi1 { 74*726fd781SBiju Das compatible = "regulator-gpio"; 75*726fd781SBiju Das regulator-name = "SDHI1 VccQ"; 76*726fd781SBiju Das regulator-min-microvolt = <1800000>; 77*726fd781SBiju Das regulator-max-microvolt = <3300000>; 78*726fd781SBiju Das gpios = <&pinctrl RZG2L_GPIO(39, 1) GPIO_ACTIVE_HIGH>; 79*726fd781SBiju Das gpios-states = <1>; 80*726fd781SBiju Das states = <3300000 1>, <1800000 0>; 81*726fd781SBiju Das }; 82*726fd781SBiju Das}; 83*726fd781SBiju Das 84*726fd781SBiju Das&audio_clk1{ 85*726fd781SBiju Das clock-frequency = <11289600>; 86*726fd781SBiju Das}; 87*726fd781SBiju Das 88*726fd781SBiju Das&audio_clk2{ 89*726fd781SBiju Das clock-frequency = <12288000>; 90*726fd781SBiju Das}; 91*726fd781SBiju Das 92*726fd781SBiju Das&canfd { 93*726fd781SBiju Das pinctrl-0 = <&can0_pins &can1_pins>; 94*726fd781SBiju Das pinctrl-names = "default"; 95*726fd781SBiju Das status = "okay"; 96*726fd781SBiju Das 97*726fd781SBiju Das channel0 { 98*726fd781SBiju Das status = "okay"; 99*726fd781SBiju Das }; 100*726fd781SBiju Das 101*726fd781SBiju Das channel1 { 102*726fd781SBiju Das status = "okay"; 103*726fd781SBiju Das }; 104*726fd781SBiju Das}; 105*726fd781SBiju Das 106*726fd781SBiju Das&ehci0 { 107*726fd781SBiju Das dr_mode = "otg"; 108*726fd781SBiju Das status = "okay"; 109*726fd781SBiju Das}; 110*726fd781SBiju Das 111*726fd781SBiju Das&ehci1 { 112*726fd781SBiju Das status = "okay"; 113*726fd781SBiju Das}; 114*726fd781SBiju Das 115*726fd781SBiju Das&hsusb { 116*726fd781SBiju Das dr_mode = "otg"; 117*726fd781SBiju Das status = "okay"; 118*726fd781SBiju Das}; 119*726fd781SBiju Das 120*726fd781SBiju Das&i2c0 { 121*726fd781SBiju Das pinctrl-0 = <&i2c0_pins>; 122*726fd781SBiju Das pinctrl-names = "default"; 123*726fd781SBiju Das 124*726fd781SBiju Das status = "okay"; 125*726fd781SBiju Das}; 126*726fd781SBiju Das 127*726fd781SBiju Das&i2c1 { 128*726fd781SBiju Das pinctrl-0 = <&i2c1_pins>; 129*726fd781SBiju Das pinctrl-names = "default"; 130*726fd781SBiju Das 131*726fd781SBiju Das status = "okay"; 132*726fd781SBiju Das}; 133*726fd781SBiju Das 134*726fd781SBiju Das&i2c3 { 135*726fd781SBiju Das pinctrl-0 = <&i2c3_pins>; 136*726fd781SBiju Das pinctrl-names = "default"; 137*726fd781SBiju Das clock-frequency = <400000>; 138*726fd781SBiju Das 139*726fd781SBiju Das status = "okay"; 140*726fd781SBiju Das 141*726fd781SBiju Das wm8978: codec@1a { 142*726fd781SBiju Das compatible = "wlf,wm8978"; 143*726fd781SBiju Das #sound-dai-cells = <0>; 144*726fd781SBiju Das reg = <0x1a>; 145*726fd781SBiju Das }; 146*726fd781SBiju Das}; 147*726fd781SBiju Das 148*726fd781SBiju Das&ohci0 { 149*726fd781SBiju Das dr_mode = "otg"; 150*726fd781SBiju Das status = "okay"; 151*726fd781SBiju Das}; 152*726fd781SBiju Das 153*726fd781SBiju Das&ohci1 { 154*726fd781SBiju Das status = "okay"; 155*726fd781SBiju Das}; 156*726fd781SBiju Das 157*726fd781SBiju Das&phyrst { 158*726fd781SBiju Das status = "okay"; 159*726fd781SBiju Das}; 160*726fd781SBiju Das 161*726fd781SBiju Das&scif0 { 162*726fd781SBiju Das pinctrl-0 = <&scif0_pins>; 163*726fd781SBiju Das pinctrl-names = "default"; 164*726fd781SBiju Das status = "okay"; 165*726fd781SBiju Das}; 166*726fd781SBiju Das 167*726fd781SBiju Das&sdhi1 { 168*726fd781SBiju Das pinctrl-0 = <&sdhi1_pins>; 169*726fd781SBiju Das pinctrl-1 = <&sdhi1_pins_uhs>; 170*726fd781SBiju Das pinctrl-names = "default", "state_uhs"; 171*726fd781SBiju Das 172*726fd781SBiju Das vmmc-supply = <®_3p3v>; 173*726fd781SBiju Das vqmmc-supply = <&vccq_sdhi1>; 174*726fd781SBiju Das bus-width = <4>; 175*726fd781SBiju Das sd-uhs-sdr50; 176*726fd781SBiju Das sd-uhs-sdr104; 177*726fd781SBiju Das status = "okay"; 178*726fd781SBiju Das}; 179*726fd781SBiju Das 180*726fd781SBiju Das&spi1 { 181*726fd781SBiju Das pinctrl-0 = <&spi1_pins>; 182*726fd781SBiju Das pinctrl-names = "default"; 183*726fd781SBiju Das 184*726fd781SBiju Das status = "okay"; 185*726fd781SBiju Das}; 186*726fd781SBiju Das 187*726fd781SBiju Das&ssi0 { 188*726fd781SBiju Das pinctrl-0 = <&ssi0_pins>; 189*726fd781SBiju Das pinctrl-names = "default"; 190*726fd781SBiju Das 191*726fd781SBiju Das status = "okay"; 192*726fd781SBiju Das}; 193*726fd781SBiju Das 194*726fd781SBiju Das&usb2_phy0 { 195*726fd781SBiju Das pinctrl-0 = <&usb0_pins>; 196*726fd781SBiju Das pinctrl-names = "default"; 197*726fd781SBiju Das 198*726fd781SBiju Das vbus-supply = <&usb0_vbus_otg>; 199*726fd781SBiju Das status = "okay"; 200*726fd781SBiju Das}; 201*726fd781SBiju Das 202*726fd781SBiju Das&usb2_phy1 { 203*726fd781SBiju Das pinctrl-0 = <&usb1_pins>; 204*726fd781SBiju Das pinctrl-names = "default"; 205*726fd781SBiju Das 206*726fd781SBiju Das status = "okay"; 207*726fd781SBiju Das}; 208