r8a7745-iwg22d-sodimm.dts (6138B)
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 stmpe811@44 { 186 compatible = "st,stmpe811"; 187 reg = <0x44>; 188 interrupt-parent = <&gpio4>; 189 interrupts = <4 IRQ_TYPE_LEVEL_LOW>; 190 191 /* 3.25 MHz ADC clock speed */ 192 st,adc-freq = <1>; 193 /* ADC conversion time: 80 clocks */ 194 st,sample-time = <4>; 195 /* 12-bit ADC */ 196 st,mod-12b = <1>; 197 /* internal ADC reference */ 198 st,ref-sel = <0>; 199 200 stmpe_touchscreen { 201 compatible = "st,stmpe-ts"; 202 /* 8 sample average control */ 203 st,ave-ctrl = <3>; 204 /* 7 length fractional part in z */ 205 st,fraction-z = <7>; 206 /* 207 * 50 mA typical 80 mA max touchscreen drivers 208 * current limit value 209 */ 210 st,i-drive = <1>; 211 /* 1 ms panel driver settling time */ 212 st,settling = <3>; 213 /* 5 ms touch detect interrupt delay */ 214 st,touch-det-delay = <5>; 215 }; 216 }; 217}; 218 219&pci1 { 220 status = "okay"; 221 pinctrl-0 = <&usb1_pins>; 222 pinctrl-names = "default"; 223}; 224 225&pfc { 226 avb_pins: avb { 227 groups = "avb_mdio", "avb_gmii"; 228 function = "avb"; 229 }; 230 231 backlight_pins: backlight { 232 groups = "tpu_to3_c"; 233 function = "tpu"; 234 }; 235 236 can0_pins: can0 { 237 groups = "can0_data"; 238 function = "can0"; 239 }; 240 241 du0_pins: du0 { 242 groups = "du0_rgb666", "du0_sync", "du0_disp", "du0_clk0_out"; 243 function = "du0"; 244 }; 245 246 hscif1_pins: hscif1 { 247 groups = "hscif1_data", "hscif1_ctrl"; 248 function = "hscif1"; 249 }; 250 251 i2c5_pins: i2c5 { 252 groups = "i2c5_b"; 253 function = "i2c5"; 254 }; 255 256 scif4_pins: scif4 { 257 groups = "scif4_data_b"; 258 function = "scif4"; 259 }; 260 261 sdhi0_pins: sd0 { 262 groups = "sdhi0_data4", "sdhi0_ctrl"; 263 function = "sdhi0"; 264 power-source = <3300>; 265 }; 266 267 sound_pins: sound { 268 groups = "ssi34_ctrl", "ssi3_data", "ssi4_data"; 269 function = "ssi"; 270 }; 271 272 usb0_pins: usb0 { 273 groups = "usb0"; 274 function = "usb0"; 275 }; 276 277 usb1_pins: usb1 { 278 groups = "usb1"; 279 function = "usb1"; 280 }; 281}; 282 283&rcar_sound { 284 pinctrl-0 = <&sound_pins>; 285 pinctrl-names = "default"; 286 status = "okay"; 287 288 /* Single DAI */ 289 290 #sound-dai-cells = <0>; 291 292 rcar_sound,dai { 293 dai0 { 294 playback = <&ssi3>, <&src3>, <&dvc0>; 295 capture = <&ssi4>, <&src4>, <&dvc1>; 296 }; 297 }; 298}; 299 300&scif4 { 301 pinctrl-0 = <&scif4_pins>; 302 pinctrl-names = "default"; 303 304 status = "okay"; 305}; 306 307&sdhi0 { 308 pinctrl-0 = <&sdhi0_pins>; 309 pinctrl-names = "default"; 310 311 vmmc-supply = <®_3p3v>; 312 vqmmc-supply = <&vccq_sdhi0>; 313 cd-gpios = <&gpio6 6 GPIO_ACTIVE_LOW>; 314 status = "okay"; 315}; 316 317&ssi4 { 318 shared-pin; 319}; 320 321&tpu { 322 pinctrl-0 = <&backlight_pins>; 323 pinctrl-names = "default"; 324 status = "okay"; 325}; 326 327&usbphy { 328 status = "okay"; 329};