1// SPDX-License-Identifier: GPL-2.0 2/* 3 * Device Tree Source for the iWave-RZG1E SODIMM carrier board 4 * 5 * Copyright (C) 2017 Renesas Electronics Corp. 6 */ 7 8/* 9 * SSI-SGTL5000 10 * 11 * This command is required when Playback/Capture 12 * 13 * amixer set "DVC Out" 100% 14 * amixer set "DVC In" 100% 15 * 16 * You can use Mute 17 * 18 * amixer set "DVC Out Mute" on 19 * amixer set "DVC In Mute" on 20 * 21 * You can use Volume Ramp 22 * 23 * amixer set "DVC Out Ramp Up Rate" "0.125 dB/64 steps" 24 * amixer set "DVC Out Ramp Down Rate" "0.125 dB/512 steps" 25 * amixer set "DVC Out Ramp" on 26 * aplay xxx.wav & 27 * amixer set "DVC Out" 80% // Volume Down 28 * amixer set "DVC Out" 100% // Volume Up 29 */ 30 31/dts-v1/; 32#include "r8a7745-iwg22m.dtsi" 33#include <dt-bindings/pwm/pwm.h> 34 35/ { 36 model = "iWave Systems RainboW-G22D-SODIMM board based on RZ/G1E"; 37 compatible = "iwave,g22d", "iwave,g22m", "renesas,r8a7745"; 38 39 aliases { 40 ethernet0 = &avb; 41 serial3 = &scif4; 42 serial5 = &hscif1; 43 }; 44 45 chosen { 46 bootargs = "ignore_loglevel rw root=/dev/nfs ip=on"; 47 stdout-path = "serial3:115200n8"; 48 }; 49 50 audio_clock: audio_clock { 51 compatible = "fixed-clock"; 52 #clock-cells = <0>; 53 clock-frequency = <26000000>; 54 }; 55 56 backlight_lcd: backlight { 57 compatible = "pwm-backlight"; 58 pwms = <&tpu 3 5000000 PWM_POLARITY_INVERTED>; 59 brightness-levels = <0 4 8 16 32 64 128 255>; 60 default-brightness-level = <7>; 61 }; 62 63 lcd_panel: lcd { 64 compatible = "edt,etm043080dh6gp"; 65 power-supply = <&vccq_panel>; 66 backlight = <&backlight_lcd>; 67 68 port { 69 lcd_in: endpoint { 70 remote-endpoint = <&du_out_rgb0>; 71 }; 72 }; 73 }; 74 75 vccq_panel: regulator-vccq-panel { 76 compatible = "regulator-fixed"; 77 regulator-name = "Panel VccQ"; 78 regulator-min-microvolt = <3300000>; 79 regulator-max-microvolt = <3300000>; 80 gpio = <&gpio1 13 GPIO_ACTIVE_LOW>; 81 enable-active-high; 82 }; 83 84 vccq_sdhi0: regulator-vccq-sdhi0 { 85 compatible = "regulator-gpio"; 86 87 regulator-name = "SDHI0 VccQ"; 88 regulator-min-microvolt = <1800000>; 89 regulator-max-microvolt = <3300000>; 90 91 gpios = <&gpio0 20 GPIO_ACTIVE_LOW>; 92 gpios-states = <1>; 93 states = <3300000 1>, <1800000 0>; 94 }; 95 96 rsnd_sgtl5000: sound { 97 compatible = "simple-audio-card"; 98 simple-audio-card,format = "i2s"; 99 simple-audio-card,bitclock-master = <&sndcodec>; 100 simple-audio-card,frame-master = <&sndcodec>; 101 102 sndcpu: simple-audio-card,cpu { 103 sound-dai = <&rcar_sound>; 104 }; 105 106 sndcodec: simple-audio-card,codec { 107 sound-dai = <&sgtl5000>; 108 }; 109 }; 110}; 111 112&avb { 113 pinctrl-0 = <&avb_pins>; 114 pinctrl-names = "default"; 115 116 phy-handle = <&phy3>; 117 phy-mode = "gmii"; 118 renesas,no-ether-link; 119 status = "okay"; 120 121 phy3: ethernet-phy@3 { 122 /* 123 * On some older versions of the platform (before R4.0) the phy address 124 * may be 1 or 3. The address is fixed to 3 for R4.0 onwards. 125 */ 126 compatible = "ethernet-phy-id0022.1622", 127 "ethernet-phy-ieee802.3-c22"; 128 reg = <3>; 129 micrel,led-mode = <1>; 130 }; 131}; 132 133&can0 { 134 pinctrl-0 = <&can0_pins>; 135 pinctrl-names = "default"; 136 137 status = "okay"; 138}; 139 140&du { 141 pinctrl-0 = <&du0_pins>; 142 pinctrl-names = "default"; 143 144 status = "okay"; 145 146 ports { 147 port@0 { 148 endpoint { 149 remote-endpoint = <&lcd_in>; 150 }; 151 }; 152 }; 153}; 154 155&hscif1 { 156 pinctrl-0 = <&hscif1_pins>; 157 pinctrl-names = "default"; 158 159 uart-has-rtscts; 160 status = "okay"; 161}; 162 163&hsusb { 164 status = "okay"; 165 pinctrl-0 = <&usb0_pins>; 166 pinctrl-names = "default"; 167}; 168 169&i2c5 { 170 pinctrl-0 = <&i2c5_pins>; 171 pinctrl-names = "default"; 172 173 status = "okay"; 174 clock-frequency = <400000>; 175 176 sgtl5000: codec@a { 177 compatible = "fsl,sgtl5000"; 178 #sound-dai-cells = <0>; 179 reg = <0x0a>; 180 clocks = <&audio_clock>; 181 VDDA-supply = <®_3p3v>; 182 VDDIO-supply = <®_3p3v>; 183 }; 184 185 port-expander@44 { 186 compatible = "st,stmpe811"; 187 reg = <0x44>; 188 interrupts-extended = <&gpio4 4 IRQ_TYPE_LEVEL_LOW>; 189 190 /* 3.25 MHz ADC clock speed */ 191 st,adc-freq = <1>; 192 /* ADC conversion time: 80 clocks */ 193 st,sample-time = <4>; 194 /* 12-bit ADC */ 195 st,mod-12b = <1>; 196 /* internal ADC reference */ 197 st,ref-sel = <0>; 198 199 touchscreen { 200 compatible = "st,stmpe-ts"; 201 /* 8 sample average control */ 202 st,ave-ctrl = <3>; 203 /* 7 length fractional part in z */ 204 st,fraction-z = <7>; 205 /* 206 * 50 mA typical 80 mA max touchscreen drivers 207 * current limit value 208 */ 209 st,i-drive = <1>; 210 /* 1 ms panel driver settling time */ 211 st,settling = <3>; 212 /* 5 ms touch detect interrupt delay */ 213 st,touch-det-delay = <5>; 214 }; 215 }; 216}; 217 218&pci1 { 219 status = "okay"; 220 pinctrl-0 = <&usb1_pins>; 221 pinctrl-names = "default"; 222}; 223 224&pfc { 225 avb_pins: avb { 226 groups = "avb_mdio", "avb_gmii"; 227 function = "avb"; 228 }; 229 230 backlight_pins: backlight { 231 groups = "tpu_to3_c"; 232 function = "tpu"; 233 }; 234 235 can0_pins: can0 { 236 groups = "can0_data"; 237 function = "can0"; 238 }; 239 240 du0_pins: du0 { 241 groups = "du0_rgb666", "du0_sync", "du0_disp", "du0_clk0_out"; 242 function = "du0"; 243 }; 244 245 hscif1_pins: hscif1 { 246 groups = "hscif1_data", "hscif1_ctrl"; 247 function = "hscif1"; 248 }; 249 250 i2c5_pins: i2c5 { 251 groups = "i2c5_b"; 252 function = "i2c5"; 253 }; 254 255 scif4_pins: scif4 { 256 groups = "scif4_data_b"; 257 function = "scif4"; 258 }; 259 260 sdhi0_pins: sd0 { 261 groups = "sdhi0_data4", "sdhi0_ctrl"; 262 function = "sdhi0"; 263 power-source = <3300>; 264 }; 265 266 sound_pins: sound { 267 groups = "ssi34_ctrl", "ssi3_data", "ssi4_data"; 268 function = "ssi"; 269 }; 270 271 usb0_pins: usb0 { 272 groups = "usb0"; 273 function = "usb0"; 274 }; 275 276 usb1_pins: usb1 { 277 groups = "usb1"; 278 function = "usb1"; 279 }; 280}; 281 282&rcar_sound { 283 pinctrl-0 = <&sound_pins>; 284 pinctrl-names = "default"; 285 status = "okay"; 286 287 /* Single DAI */ 288 289 #sound-dai-cells = <0>; 290 291 rcar_sound,dai { 292 dai0 { 293 playback = <&ssi3>, <&src3>, <&dvc0>; 294 capture = <&ssi4>, <&src4>, <&dvc1>; 295 }; 296 }; 297}; 298 299&scif4 { 300 pinctrl-0 = <&scif4_pins>; 301 pinctrl-names = "default"; 302 303 status = "okay"; 304}; 305 306&sdhi0 { 307 pinctrl-0 = <&sdhi0_pins>; 308 pinctrl-names = "default"; 309 310 vmmc-supply = <®_3p3v>; 311 vqmmc-supply = <&vccq_sdhi0>; 312 cd-gpios = <&gpio6 6 GPIO_ACTIVE_LOW>; 313 status = "okay"; 314}; 315 316&ssi4 { 317 shared-pin; 318}; 319 320&tpu { 321 pinctrl-0 = <&backlight_pins>; 322 pinctrl-names = "default"; 323 status = "okay"; 324}; 325 326&usbphy { 327 status = "okay"; 328}; 329