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