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