1 // SPDX-License-Identifier: GPL-2.0 1 // SPDX-License-Identifier: GPL-2.0 2 /* 2 /* 3 * Device Tree Source for the Wheat board 3 * Device Tree Source for the Wheat board 4 * 4 * 5 * Copyright (C) 2016 Renesas Electronics Corp 5 * Copyright (C) 2016 Renesas Electronics Corporation 6 * Copyright (C) 2016 Cogent Embedded, Inc. 6 * Copyright (C) 2016 Cogent Embedded, Inc. 7 */ 7 */ 8 8 9 /dts-v1/; 9 /dts-v1/; 10 #include "r8a7792.dtsi" 10 #include "r8a7792.dtsi" 11 #include <dt-bindings/gpio/gpio.h> 11 #include <dt-bindings/gpio/gpio.h> 12 #include <dt-bindings/input/input.h> 12 #include <dt-bindings/input/input.h> 13 13 14 / { 14 / { 15 model = "Wheat"; 15 model = "Wheat"; 16 compatible = "renesas,wheat", "renesas 16 compatible = "renesas,wheat", "renesas,r8a7792"; 17 17 18 aliases { 18 aliases { 19 serial0 = &scif0; 19 serial0 = &scif0; 20 }; 20 }; 21 21 22 chosen { 22 chosen { 23 bootargs = "ignore_loglevel rw 23 bootargs = "ignore_loglevel rw root=/dev/nfs ip=on"; 24 stdout-path = "serial0:115200n 24 stdout-path = "serial0:115200n8"; 25 }; 25 }; 26 26 27 memory@40000000 { 27 memory@40000000 { 28 device_type = "memory"; 28 device_type = "memory"; 29 reg = <0 0x40000000 0 0x400000 29 reg = <0 0x40000000 0 0x40000000>; 30 }; 30 }; 31 31 32 d1_8v: regulator-1v8 { << 33 compatible = "regulator-fixed" << 34 regulator-name = "D1.8V"; << 35 regulator-min-microvolt = <180 << 36 regulator-max-microvolt = <180 << 37 regulator-boot-on; << 38 regulator-always-on; << 39 }; << 40 << 41 d3_3v: regulator-3v3 { 32 d3_3v: regulator-3v3 { 42 compatible = "regulator-fixed" 33 compatible = "regulator-fixed"; 43 regulator-name = "D3.3V"; 34 regulator-name = "D3.3V"; 44 regulator-min-microvolt = <330 35 regulator-min-microvolt = <3300000>; 45 regulator-max-microvolt = <330 36 regulator-max-microvolt = <3300000>; 46 regulator-boot-on; 37 regulator-boot-on; 47 regulator-always-on; 38 regulator-always-on; 48 }; 39 }; 49 40 50 keyboard { 41 keyboard { 51 compatible = "gpio-keys"; 42 compatible = "gpio-keys"; 52 43 53 key-a { 44 key-a { 54 linux,code = <KEY_A>; 45 linux,code = <KEY_A>; 55 label = "SW2"; 46 label = "SW2"; 56 wakeup-source; 47 wakeup-source; 57 debounce-interval = <2 48 debounce-interval = <20>; 58 gpios = <&gpio3 20 GPI 49 gpios = <&gpio3 20 GPIO_ACTIVE_LOW>; 59 }; 50 }; 60 key-b { 51 key-b { 61 linux,code = <KEY_B>; 52 linux,code = <KEY_B>; 62 label = "SW3"; 53 label = "SW3"; 63 wakeup-source; 54 wakeup-source; 64 debounce-interval = <2 55 debounce-interval = <20>; 65 gpios = <&gpio11 2 GPI 56 gpios = <&gpio11 2 GPIO_ACTIVE_LOW>; 66 }; 57 }; 67 }; 58 }; 68 59 69 vcc_sdhi0: regulator-vcc-sdhi0 { 60 vcc_sdhi0: regulator-vcc-sdhi0 { 70 compatible = "regulator-fixed" 61 compatible = "regulator-fixed"; 71 62 72 regulator-name = "SDHI0 Vcc"; 63 regulator-name = "SDHI0 Vcc"; 73 regulator-min-microvolt = <330 64 regulator-min-microvolt = <3300000>; 74 regulator-max-microvolt = <330 65 regulator-max-microvolt = <3300000>; 75 66 76 gpio = <&gpio11 12 GPIO_ACTIVE 67 gpio = <&gpio11 12 GPIO_ACTIVE_HIGH>; 77 enable-active-high; 68 enable-active-high; 78 }; 69 }; 79 70 80 hdmi-out0 { 71 hdmi-out0 { 81 compatible = "hdmi-connector"; 72 compatible = "hdmi-connector"; 82 type = "a"; 73 type = "a"; 83 74 84 port { 75 port { 85 hdmi_con0: endpoint { 76 hdmi_con0: endpoint { 86 remote-endpoin 77 remote-endpoint = <&adv7513_0_out>; 87 }; 78 }; 88 }; 79 }; 89 }; 80 }; 90 81 91 hdmi-out1 { 82 hdmi-out1 { 92 compatible = "hdmi-connector"; 83 compatible = "hdmi-connector"; 93 type = "a"; 84 type = "a"; 94 85 95 port { 86 port { 96 hdmi_con1: endpoint { 87 hdmi_con1: endpoint { 97 remote-endpoin 88 remote-endpoint = <&adv7513_1_out>; 98 }; 89 }; 99 }; 90 }; 100 }; 91 }; 101 92 102 osc2_clk: osc2 { 93 osc2_clk: osc2 { 103 compatible = "fixed-clock"; 94 compatible = "fixed-clock"; 104 #clock-cells = <0>; 95 #clock-cells = <0>; 105 clock-frequency = <74250000>; 96 clock-frequency = <74250000>; 106 }; 97 }; 107 }; 98 }; 108 99 109 &extal_clk { 100 &extal_clk { 110 clock-frequency = <20000000>; 101 clock-frequency = <20000000>; 111 }; 102 }; 112 103 113 &lbsc { 104 &lbsc { 114 ethernet@18000000 { 105 ethernet@18000000 { 115 compatible = "smsc,lan89218", 106 compatible = "smsc,lan89218", "smsc,lan9115"; 116 reg = <0x18000000 0x100>; 107 reg = <0x18000000 0x100>; 117 phy-mode = "mii"; 108 phy-mode = "mii"; 118 interrupt-parent = <&irqc>; 109 interrupt-parent = <&irqc>; 119 interrupts = <0 IRQ_TYPE_EDGE_ 110 interrupts = <0 IRQ_TYPE_EDGE_FALLING>; 120 smsc,irq-push-pull; 111 smsc,irq-push-pull; 121 smsc,save-mac-address; 112 smsc,save-mac-address; 122 reg-io-width = <4>; 113 reg-io-width = <4>; 123 vddvario-supply = <&d3_3v>; 114 vddvario-supply = <&d3_3v>; 124 vdd33a-supply = <&d3_3v>; 115 vdd33a-supply = <&d3_3v>; 125 116 126 pinctrl-0 = <&lan89218_pins>; 117 pinctrl-0 = <&lan89218_pins>; 127 pinctrl-names = "default"; 118 pinctrl-names = "default"; 128 }; 119 }; 129 }; 120 }; 130 121 131 &pfc { 122 &pfc { 132 scif0_pins: scif0 { 123 scif0_pins: scif0 { 133 groups = "scif0_data"; 124 groups = "scif0_data"; 134 function = "scif0"; 125 function = "scif0"; 135 }; 126 }; 136 127 137 lan89218_pins: lan89218 { 128 lan89218_pins: lan89218 { 138 intc { 129 intc { 139 groups = "intc_irq0"; 130 groups = "intc_irq0"; 140 function = "intc"; 131 function = "intc"; 141 }; 132 }; 142 lbsc { 133 lbsc { 143 groups = "lbsc_ex_cs0" 134 groups = "lbsc_ex_cs0"; 144 function = "lbsc"; 135 function = "lbsc"; 145 }; 136 }; 146 }; 137 }; 147 138 148 can0_pins: can0 { 139 can0_pins: can0 { 149 groups = "can0_data"; 140 groups = "can0_data"; 150 function = "can0"; 141 function = "can0"; 151 }; 142 }; 152 143 153 can1_pins: can1 { 144 can1_pins: can1 { 154 groups = "can1_data"; 145 groups = "can1_data"; 155 function = "can1"; 146 function = "can1"; 156 }; 147 }; 157 148 158 sdhi0_pins: sdhi0 { 149 sdhi0_pins: sdhi0 { 159 groups = "sdhi0_data4", "sdhi0 150 groups = "sdhi0_data4", "sdhi0_ctrl"; 160 function = "sdhi0"; 151 function = "sdhi0"; 161 }; 152 }; 162 153 163 qspi_pins: qspi { 154 qspi_pins: qspi { 164 groups = "qspi_ctrl", "qspi_da 155 groups = "qspi_ctrl", "qspi_data4"; 165 function = "qspi"; 156 function = "qspi"; 166 }; 157 }; 167 158 168 du0_pins: du0 { 159 du0_pins: du0 { 169 groups = "du0_rgb888", "du0_sy 160 groups = "du0_rgb888", "du0_sync", "du0_disp"; 170 function = "du0"; 161 function = "du0"; 171 }; 162 }; 172 163 173 du1_pins: du1 { 164 du1_pins: du1 { 174 groups = "du1_rgb666", "du1_sy 165 groups = "du1_rgb666", "du1_sync", "du1_disp"; 175 function = "du1"; 166 function = "du1"; 176 }; 167 }; 177 }; 168 }; 178 169 179 &rwdt { 170 &rwdt { 180 timeout-sec = <60>; 171 timeout-sec = <60>; 181 status = "okay"; 172 status = "okay"; 182 }; 173 }; 183 174 184 &scif0 { 175 &scif0 { 185 pinctrl-0 = <&scif0_pins>; 176 pinctrl-0 = <&scif0_pins>; 186 pinctrl-names = "default"; 177 pinctrl-names = "default"; 187 178 188 status = "okay"; 179 status = "okay"; 189 }; 180 }; 190 181 191 &can0 { 182 &can0 { 192 pinctrl-0 = <&can0_pins>; 183 pinctrl-0 = <&can0_pins>; 193 pinctrl-names = "default"; 184 pinctrl-names = "default"; 194 185 195 status = "okay"; 186 status = "okay"; 196 }; 187 }; 197 188 198 &can1 { 189 &can1 { 199 pinctrl-0 = <&can1_pins>; 190 pinctrl-0 = <&can1_pins>; 200 pinctrl-names = "default"; 191 pinctrl-names = "default"; 201 192 202 status = "okay"; 193 status = "okay"; 203 }; 194 }; 204 195 205 &sdhi0 { 196 &sdhi0 { 206 pinctrl-0 = <&sdhi0_pins>; 197 pinctrl-0 = <&sdhi0_pins>; 207 pinctrl-names = "default"; 198 pinctrl-names = "default"; 208 199 209 vmmc-supply = <&vcc_sdhi0>; 200 vmmc-supply = <&vcc_sdhi0>; 210 cd-gpios = <&gpio11 11 GPIO_ACTIVE_LOW 201 cd-gpios = <&gpio11 11 GPIO_ACTIVE_LOW>; 211 status = "okay"; 202 status = "okay"; 212 }; 203 }; 213 204 214 &qspi { 205 &qspi { 215 pinctrl-0 = <&qspi_pins>; 206 pinctrl-0 = <&qspi_pins>; 216 pinctrl-names = "default"; 207 pinctrl-names = "default"; 217 status = "okay"; 208 status = "okay"; 218 209 219 flash@0 { 210 flash@0 { 220 compatible = "spansion,s25fl51 211 compatible = "spansion,s25fl512s", "jedec,spi-nor"; 221 reg = <0>; 212 reg = <0>; 222 spi-max-frequency = <30000000> 213 spi-max-frequency = <30000000>; 223 spi-tx-bus-width = <4>; 214 spi-tx-bus-width = <4>; 224 spi-rx-bus-width = <4>; 215 spi-rx-bus-width = <4>; 225 spi-cpol; 216 spi-cpol; 226 spi-cpha; 217 spi-cpha; 227 m25p,fast-read; 218 m25p,fast-read; 228 219 229 partitions { 220 partitions { 230 compatible = "fixed-pa 221 compatible = "fixed-partitions"; 231 #address-cells = <1>; 222 #address-cells = <1>; 232 #size-cells = <1>; 223 #size-cells = <1>; 233 224 234 partition@0 { 225 partition@0 { 235 label = "loade 226 label = "loader"; 236 reg = <0x00000 227 reg = <0x00000000 0x00040000>; 237 read-only; 228 read-only; 238 }; 229 }; 239 partition@40000 { 230 partition@40000 { 240 label = "user" 231 label = "user"; 241 reg = <0x00040 232 reg = <0x00040000 0x00400000>; 242 read-only; 233 read-only; 243 }; 234 }; 244 partition@440000 { 235 partition@440000 { 245 label = "flash 236 label = "flash"; 246 reg = <0x00440 237 reg = <0x00440000 0x03bc0000>; 247 }; 238 }; 248 }; 239 }; 249 }; 240 }; 250 }; 241 }; 251 242 252 &i2c4 { 243 &i2c4 { 253 status = "okay"; 244 status = "okay"; 254 clock-frequency = <400000>; 245 clock-frequency = <400000>; 255 246 256 /* 247 /* 257 * The adv75xx resets its addresses to 248 * The adv75xx resets its addresses to defaults during low power mode. 258 * Because we have two ADV7513 devices 249 * Because we have two ADV7513 devices on the same bus, we must change 259 * both of them away from the defaults 250 * both of them away from the defaults so that they do not conflict. 260 */ 251 */ 261 hdmi@3d { 252 hdmi@3d { 262 compatible = "adi,adv7513"; 253 compatible = "adi,adv7513"; 263 reg = <0x3d>, <0x4d>, <0x2d>, 254 reg = <0x3d>, <0x4d>, <0x2d>, <0x5d>; 264 reg-names = "main", "edid", "c 255 reg-names = "main", "edid", "cec", "packet"; 265 256 266 avdd-supply = <&d1_8v>; << 267 dvdd-supply = <&d1_8v>; << 268 pvdd-supply = <&d1_8v>; << 269 dvdd-3v-supply = <&d3_3v>; << 270 bgvdd-supply = <&d1_8v>; << 271 << 272 adi,input-depth = <8>; 257 adi,input-depth = <8>; 273 adi,input-colorspace = "rgb"; 258 adi,input-colorspace = "rgb"; 274 adi,input-clock = "1x"; 259 adi,input-clock = "1x"; 275 260 276 ports { 261 ports { 277 #address-cells = <1>; 262 #address-cells = <1>; 278 #size-cells = <0>; 263 #size-cells = <0>; 279 264 280 port@0 { 265 port@0 { 281 reg = <0>; 266 reg = <0>; 282 adv7513_0_in: 267 adv7513_0_in: endpoint { 283 remote 268 remote-endpoint = <&du_out_rgb0>; 284 }; 269 }; 285 }; 270 }; 286 271 287 port@1 { 272 port@1 { 288 reg = <1>; 273 reg = <1>; 289 adv7513_0_out: 274 adv7513_0_out: endpoint { 290 remote 275 remote-endpoint = <&hdmi_con0>; 291 }; 276 }; 292 }; 277 }; 293 }; 278 }; 294 }; 279 }; 295 280 296 hdmi@39 { 281 hdmi@39 { 297 compatible = "adi,adv7513"; 282 compatible = "adi,adv7513"; 298 reg = <0x39>, <0x49>, <0x29>, 283 reg = <0x39>, <0x49>, <0x29>, <0x59>; 299 reg-names = "main", "edid", "c 284 reg-names = "main", "edid", "cec", "packet"; 300 << 301 avdd-supply = <&d1_8v>; << 302 dvdd-supply = <&d1_8v>; << 303 pvdd-supply = <&d1_8v>; << 304 dvdd-3v-supply = <&d3_3v>; << 305 bgvdd-supply = <&d1_8v>; << 306 285 307 adi,input-depth = <8>; 286 adi,input-depth = <8>; 308 adi,input-colorspace = "rgb"; 287 adi,input-colorspace = "rgb"; 309 adi,input-clock = "1x"; 288 adi,input-clock = "1x"; 310 289 311 ports { 290 ports { 312 #address-cells = <1>; 291 #address-cells = <1>; 313 #size-cells = <0>; 292 #size-cells = <0>; 314 293 315 port@0 { 294 port@0 { 316 reg = <0>; 295 reg = <0>; 317 adv7513_1_in: 296 adv7513_1_in: endpoint { 318 remote 297 remote-endpoint = <&du_out_rgb1>; 319 }; 298 }; 320 }; 299 }; 321 300 322 port@1 { 301 port@1 { 323 reg = <1>; 302 reg = <1>; 324 adv7513_1_out: 303 adv7513_1_out: endpoint { 325 remote 304 remote-endpoint = <&hdmi_con1>; 326 }; 305 }; 327 }; 306 }; 328 }; 307 }; 329 }; 308 }; 330 }; 309 }; 331 310 332 &du { 311 &du { 333 pinctrl-0 = <&du0_pins>, <&du1_pins>; 312 pinctrl-0 = <&du0_pins>, <&du1_pins>; 334 pinctrl-names = "default"; 313 pinctrl-names = "default"; 335 314 336 clocks = <&cpg CPG_MOD 724>, <&cpg CPG 315 clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>, <&osc2_clk>; 337 clock-names = "du.0", "du.1", "dclkin. 316 clock-names = "du.0", "du.1", "dclkin.0"; 338 status = "okay"; 317 status = "okay"; 339 318 340 ports { 319 ports { 341 port@0 { 320 port@0 { 342 endpoint { 321 endpoint { 343 remote-endpoin 322 remote-endpoint = <&adv7513_0_in>; 344 }; 323 }; 345 }; 324 }; 346 port@1 { 325 port@1 { 347 endpoint { 326 endpoint { 348 remote-endpoin 327 remote-endpoint = <&adv7513_1_in>; 349 }; 328 }; 350 }; 329 }; 351 }; 330 }; 352 }; 331 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.