1/* 2 * Device Tree Source for the r7s72100 SoC 3 * 4 * Copyright (C) 2013-14 Renesas Solutions Corp. 5 * Copyright (C) 2014 Wolfram Sang, Sang Engineering <wsa@sang-engineering.com> 6 * 7 * This file is licensed under the terms of the GNU General Public License 8 * version 2. This program is licensed "as is" without any warranty of any 9 * kind, whether express or implied. 10 */ 11 12#include <dt-bindings/clock/r7s72100-clock.h> 13#include <dt-bindings/interrupt-controller/irq.h> 14 15/ { 16 compatible = "renesas,r7s72100"; 17 interrupt-parent = <&gic>; 18 #address-cells = <1>; 19 #size-cells = <1>; 20 21 aliases { 22 i2c0 = &i2c0; 23 i2c1 = &i2c1; 24 i2c2 = &i2c2; 25 i2c3 = &i2c3; 26 spi0 = &spi0; 27 spi1 = &spi1; 28 spi2 = &spi2; 29 spi3 = &spi3; 30 spi4 = &spi4; 31 }; 32 33 clocks { 34 ranges; 35 #address-cells = <1>; 36 #size-cells = <1>; 37 38 /* External clocks */ 39 extal_clk: extal_clk { 40 #clock-cells = <0>; 41 compatible = "fixed-clock"; 42 /* If clk present, value must be set by board */ 43 clock-frequency = <0>; 44 clock-output-names = "extal"; 45 }; 46 47 usb_x1_clk: usb_x1_clk { 48 #clock-cells = <0>; 49 compatible = "fixed-clock"; 50 /* If clk present, value must be set by board */ 51 clock-frequency = <0>; 52 clock-output-names = "usb_x1"; 53 }; 54 55 /* Fixed factor clocks */ 56 b_clk: b_clk { 57 #clock-cells = <0>; 58 compatible = "fixed-factor-clock"; 59 clocks = <&cpg_clocks R7S72100_CLK_PLL>; 60 clock-mult = <1>; 61 clock-div = <3>; 62 clock-output-names = "b"; 63 }; 64 p1_clk: p1_clk { 65 #clock-cells = <0>; 66 compatible = "fixed-factor-clock"; 67 clocks = <&cpg_clocks R7S72100_CLK_PLL>; 68 clock-mult = <1>; 69 clock-div = <6>; 70 clock-output-names = "p1"; 71 }; 72 p0_clk: p0_clk { 73 #clock-cells = <0>; 74 compatible = "fixed-factor-clock"; 75 clocks = <&cpg_clocks R7S72100_CLK_PLL>; 76 clock-mult = <1>; 77 clock-div = <12>; 78 clock-output-names = "p0"; 79 }; 80 81 /* Special CPG clocks */ 82 cpg_clocks: cpg_clocks@fcfe0000 { 83 #clock-cells = <1>; 84 compatible = "renesas,r7s72100-cpg-clocks", 85 "renesas,rz-cpg-clocks"; 86 reg = <0xfcfe0000 0x18>; 87 clocks = <&extal_clk>, <&usb_x1_clk>; 88 clock-output-names = "pll", "i", "g"; 89 }; 90 91 /* MSTP clocks */ 92 mstp3_clks: mstp3_clks@fcfe0420 { 93 #clock-cells = <1>; 94 compatible = "renesas,r7s72100-mstp-clocks", "renesas,cpg-mstp-clocks"; 95 reg = <0xfcfe0420 4>; 96 clocks = <&p0_clk>; 97 clock-indices = <R7S72100_CLK_MTU2>; 98 clock-output-names = "mtu2"; 99 }; 100 101 mstp4_clks: mstp4_clks@fcfe0424 { 102 #clock-cells = <1>; 103 compatible = "renesas,r7s72100-mstp-clocks", "renesas,cpg-mstp-clocks"; 104 reg = <0xfcfe0424 4>; 105 clocks = <&p1_clk>, <&p1_clk>, <&p1_clk>, <&p1_clk>, 106 <&p1_clk>, <&p1_clk>, <&p1_clk>, <&p1_clk>; 107 clock-indices = < 108 R7S72100_CLK_SCIF0 R7S72100_CLK_SCIF1 R7S72100_CLK_SCIF2 R7S72100_CLK_SCIF3 109 R7S72100_CLK_SCIF4 R7S72100_CLK_SCIF5 R7S72100_CLK_SCIF6 R7S72100_CLK_SCIF7 110 >; 111 clock-output-names = "scif0", "scif1", "scif2", "scif3", "scif4", "scif5", "scif6", "scif7"; 112 }; 113 114 mstp9_clks: mstp9_clks@fcfe0438 { 115 #clock-cells = <1>; 116 compatible = "renesas,r7s72100-mstp-clocks", "renesas,cpg-mstp-clocks"; 117 reg = <0xfcfe0438 4>; 118 clocks = <&p0_clk>, <&p0_clk>, <&p0_clk>, <&p0_clk>; 119 clock-indices = < 120 R7S72100_CLK_I2C0 R7S72100_CLK_I2C1 R7S72100_CLK_I2C2 R7S72100_CLK_I2C3 121 >; 122 clock-output-names = "i2c0", "i2c1", "i2c2", "i2c3"; 123 }; 124 125 mstp10_clks: mstp10_clks@fcfe043c { 126 #clock-cells = <1>; 127 compatible = "renesas,r7s72100-mstp-clocks", "renesas,cpg-mstp-clocks"; 128 reg = <0xfcfe043c 4>; 129 clocks = <&p1_clk>, <&p1_clk>, <&p1_clk>, <&p1_clk>, 130 <&p1_clk>; 131 clock-indices = < 132 R7S72100_CLK_SPI0 R7S72100_CLK_SPI1 R7S72100_CLK_SPI2 R7S72100_CLK_SPI3 133 R7S72100_CLK_SPI4 134 >; 135 clock-output-names = "spi0", "spi1", "spi2", "spi3", "spi4"; 136 }; 137 }; 138 139 cpus { 140 #address-cells = <1>; 141 #size-cells = <0>; 142 143 cpu@0 { 144 device_type = "cpu"; 145 compatible = "arm,cortex-a9"; 146 reg = <0>; 147 clock-frequency = <400000000>; 148 }; 149 }; 150 151 scif0: serial@e8007000 { 152 compatible = "renesas,scif-r7s72100", "renesas,scif"; 153 reg = <0xe8007000 64>; 154 interrupts = <0 190 IRQ_TYPE_LEVEL_HIGH>, 155 <0 191 IRQ_TYPE_LEVEL_HIGH>, 156 <0 192 IRQ_TYPE_LEVEL_HIGH>, 157 <0 189 IRQ_TYPE_LEVEL_HIGH>; 158 clocks = <&mstp4_clks R7S72100_CLK_SCIF0>; 159 clock-names = "sci_ick"; 160 status = "disabled"; 161 }; 162 163 scif1: serial@e8007800 { 164 compatible = "renesas,scif-r7s72100", "renesas,scif"; 165 reg = <0xe8007800 64>; 166 interrupts = <0 194 IRQ_TYPE_LEVEL_HIGH>, 167 <0 195 IRQ_TYPE_LEVEL_HIGH>, 168 <0 196 IRQ_TYPE_LEVEL_HIGH>, 169 <0 193 IRQ_TYPE_LEVEL_HIGH>; 170 clocks = <&mstp4_clks R7S72100_CLK_SCIF1>; 171 clock-names = "sci_ick"; 172 status = "disabled"; 173 }; 174 175 scif2: serial@e8008000 { 176 compatible = "renesas,scif-r7s72100", "renesas,scif"; 177 reg = <0xe8008000 64>; 178 interrupts = <0 198 IRQ_TYPE_LEVEL_HIGH>, 179 <0 199 IRQ_TYPE_LEVEL_HIGH>, 180 <0 200 IRQ_TYPE_LEVEL_HIGH>, 181 <0 197 IRQ_TYPE_LEVEL_HIGH>; 182 clocks = <&mstp4_clks R7S72100_CLK_SCIF2>; 183 clock-names = "sci_ick"; 184 status = "disabled"; 185 }; 186 187 scif3: serial@e8008800 { 188 compatible = "renesas,scif-r7s72100", "renesas,scif"; 189 reg = <0xe8008800 64>; 190 interrupts = <0 202 IRQ_TYPE_LEVEL_HIGH>, 191 <0 203 IRQ_TYPE_LEVEL_HIGH>, 192 <0 204 IRQ_TYPE_LEVEL_HIGH>, 193 <0 201 IRQ_TYPE_LEVEL_HIGH>; 194 clocks = <&mstp4_clks R7S72100_CLK_SCIF3>; 195 clock-names = "sci_ick"; 196 status = "disabled"; 197 }; 198 199 scif4: serial@e8009000 { 200 compatible = "renesas,scif-r7s72100", "renesas,scif"; 201 reg = <0xe8009000 64>; 202 interrupts = <0 206 IRQ_TYPE_LEVEL_HIGH>, 203 <0 207 IRQ_TYPE_LEVEL_HIGH>, 204 <0 208 IRQ_TYPE_LEVEL_HIGH>, 205 <0 205 IRQ_TYPE_LEVEL_HIGH>; 206 clocks = <&mstp4_clks R7S72100_CLK_SCIF4>; 207 clock-names = "sci_ick"; 208 status = "disabled"; 209 }; 210 211 scif5: serial@e8009800 { 212 compatible = "renesas,scif-r7s72100", "renesas,scif"; 213 reg = <0xe8009800 64>; 214 interrupts = <0 210 IRQ_TYPE_LEVEL_HIGH>, 215 <0 211 IRQ_TYPE_LEVEL_HIGH>, 216 <0 212 IRQ_TYPE_LEVEL_HIGH>, 217 <0 209 IRQ_TYPE_LEVEL_HIGH>; 218 clocks = <&mstp4_clks R7S72100_CLK_SCIF5>; 219 clock-names = "sci_ick"; 220 status = "disabled"; 221 }; 222 223 scif6: serial@e800a000 { 224 compatible = "renesas,scif-r7s72100", "renesas,scif"; 225 reg = <0xe800a000 64>; 226 interrupts = <0 214 IRQ_TYPE_LEVEL_HIGH>, 227 <0 215 IRQ_TYPE_LEVEL_HIGH>, 228 <0 216 IRQ_TYPE_LEVEL_HIGH>, 229 <0 213 IRQ_TYPE_LEVEL_HIGH>; 230 clocks = <&mstp4_clks R7S72100_CLK_SCIF6>; 231 clock-names = "sci_ick"; 232 status = "disabled"; 233 }; 234 235 scif7: serial@e800a800 { 236 compatible = "renesas,scif-r7s72100", "renesas,scif"; 237 reg = <0xe800a800 64>; 238 interrupts = <0 218 IRQ_TYPE_LEVEL_HIGH>, 239 <0 219 IRQ_TYPE_LEVEL_HIGH>, 240 <0 220 IRQ_TYPE_LEVEL_HIGH>, 241 <0 217 IRQ_TYPE_LEVEL_HIGH>; 242 clocks = <&mstp4_clks R7S72100_CLK_SCIF7>; 243 clock-names = "sci_ick"; 244 status = "disabled"; 245 }; 246 247 spi0: spi@e800c800 { 248 compatible = "renesas,rspi-r7s72100", "renesas,rspi-rz"; 249 reg = <0xe800c800 0x24>; 250 interrupts = <0 238 IRQ_TYPE_LEVEL_HIGH>, 251 <0 239 IRQ_TYPE_LEVEL_HIGH>, 252 <0 240 IRQ_TYPE_LEVEL_HIGH>; 253 interrupt-names = "error", "rx", "tx"; 254 clocks = <&mstp10_clks R7S72100_CLK_SPI0>; 255 num-cs = <1>; 256 #address-cells = <1>; 257 #size-cells = <0>; 258 status = "disabled"; 259 }; 260 261 spi1: spi@e800d000 { 262 compatible = "renesas,rspi-r7s72100", "renesas,rspi-rz"; 263 reg = <0xe800d000 0x24>; 264 interrupts = <0 241 IRQ_TYPE_LEVEL_HIGH>, 265 <0 242 IRQ_TYPE_LEVEL_HIGH>, 266 <0 243 IRQ_TYPE_LEVEL_HIGH>; 267 interrupt-names = "error", "rx", "tx"; 268 clocks = <&mstp10_clks R7S72100_CLK_SPI1>; 269 num-cs = <1>; 270 #address-cells = <1>; 271 #size-cells = <0>; 272 status = "disabled"; 273 }; 274 275 spi2: spi@e800d800 { 276 compatible = "renesas,rspi-r7s72100", "renesas,rspi-rz"; 277 reg = <0xe800d800 0x24>; 278 interrupts = <0 244 IRQ_TYPE_LEVEL_HIGH>, 279 <0 245 IRQ_TYPE_LEVEL_HIGH>, 280 <0 246 IRQ_TYPE_LEVEL_HIGH>; 281 interrupt-names = "error", "rx", "tx"; 282 clocks = <&mstp10_clks R7S72100_CLK_SPI2>; 283 num-cs = <1>; 284 #address-cells = <1>; 285 #size-cells = <0>; 286 status = "disabled"; 287 }; 288 289 spi3: spi@e800e000 { 290 compatible = "renesas,rspi-r7s72100", "renesas,rspi-rz"; 291 reg = <0xe800e000 0x24>; 292 interrupts = <0 247 IRQ_TYPE_LEVEL_HIGH>, 293 <0 248 IRQ_TYPE_LEVEL_HIGH>, 294 <0 249 IRQ_TYPE_LEVEL_HIGH>; 295 interrupt-names = "error", "rx", "tx"; 296 clocks = <&mstp10_clks R7S72100_CLK_SPI3>; 297 num-cs = <1>; 298 #address-cells = <1>; 299 #size-cells = <0>; 300 status = "disabled"; 301 }; 302 303 spi4: spi@e800e800 { 304 compatible = "renesas,rspi-r7s72100", "renesas,rspi-rz"; 305 reg = <0xe800e800 0x24>; 306 interrupts = <0 250 IRQ_TYPE_LEVEL_HIGH>, 307 <0 251 IRQ_TYPE_LEVEL_HIGH>, 308 <0 252 IRQ_TYPE_LEVEL_HIGH>; 309 interrupt-names = "error", "rx", "tx"; 310 clocks = <&mstp10_clks R7S72100_CLK_SPI4>; 311 num-cs = <1>; 312 #address-cells = <1>; 313 #size-cells = <0>; 314 status = "disabled"; 315 }; 316 317 gic: interrupt-controller@e8201000 { 318 compatible = "arm,cortex-a9-gic"; 319 #interrupt-cells = <3>; 320 #address-cells = <0>; 321 interrupt-controller; 322 reg = <0xe8201000 0x1000>, 323 <0xe8202000 0x1000>; 324 }; 325 326 i2c0: i2c@fcfee000 { 327 #address-cells = <1>; 328 #size-cells = <0>; 329 compatible = "renesas,riic-r7s72100", "renesas,riic-rz"; 330 reg = <0xfcfee000 0x44>; 331 interrupts = <0 157 IRQ_TYPE_LEVEL_HIGH>, 332 <0 158 IRQ_TYPE_EDGE_RISING>, 333 <0 159 IRQ_TYPE_EDGE_RISING>, 334 <0 160 IRQ_TYPE_LEVEL_HIGH>, 335 <0 161 IRQ_TYPE_LEVEL_HIGH>, 336 <0 162 IRQ_TYPE_LEVEL_HIGH>, 337 <0 163 IRQ_TYPE_LEVEL_HIGH>, 338 <0 164 IRQ_TYPE_LEVEL_HIGH>; 339 clocks = <&mstp9_clks R7S72100_CLK_I2C0>; 340 clock-frequency = <100000>; 341 status = "disabled"; 342 }; 343 344 i2c1: i2c@fcfee400 { 345 #address-cells = <1>; 346 #size-cells = <0>; 347 compatible = "renesas,riic-r7s72100", "renesas,riic-rz"; 348 reg = <0xfcfee400 0x44>; 349 interrupts = <0 165 IRQ_TYPE_LEVEL_HIGH>, 350 <0 166 IRQ_TYPE_EDGE_RISING>, 351 <0 167 IRQ_TYPE_EDGE_RISING>, 352 <0 168 IRQ_TYPE_LEVEL_HIGH>, 353 <0 169 IRQ_TYPE_LEVEL_HIGH>, 354 <0 170 IRQ_TYPE_LEVEL_HIGH>, 355 <0 171 IRQ_TYPE_LEVEL_HIGH>, 356 <0 172 IRQ_TYPE_LEVEL_HIGH>; 357 clocks = <&mstp9_clks R7S72100_CLK_I2C1>; 358 clock-frequency = <100000>; 359 status = "disabled"; 360 }; 361 362 i2c2: i2c@fcfee800 { 363 #address-cells = <1>; 364 #size-cells = <0>; 365 compatible = "renesas,riic-r7s72100", "renesas,riic-rz"; 366 reg = <0xfcfee800 0x44>; 367 interrupts = <0 173 IRQ_TYPE_LEVEL_HIGH>, 368 <0 174 IRQ_TYPE_EDGE_RISING>, 369 <0 175 IRQ_TYPE_EDGE_RISING>, 370 <0 176 IRQ_TYPE_LEVEL_HIGH>, 371 <0 177 IRQ_TYPE_LEVEL_HIGH>, 372 <0 178 IRQ_TYPE_LEVEL_HIGH>, 373 <0 179 IRQ_TYPE_LEVEL_HIGH>, 374 <0 180 IRQ_TYPE_LEVEL_HIGH>; 375 clocks = <&mstp9_clks R7S72100_CLK_I2C2>; 376 clock-frequency = <100000>; 377 status = "disabled"; 378 }; 379 380 i2c3: i2c@fcfeec00 { 381 #address-cells = <1>; 382 #size-cells = <0>; 383 compatible = "renesas,riic-r7s72100", "renesas,riic-rz"; 384 reg = <0xfcfeec00 0x44>; 385 interrupts = <0 181 IRQ_TYPE_LEVEL_HIGH>, 386 <0 182 IRQ_TYPE_EDGE_RISING>, 387 <0 183 IRQ_TYPE_EDGE_RISING>, 388 <0 184 IRQ_TYPE_LEVEL_HIGH>, 389 <0 185 IRQ_TYPE_LEVEL_HIGH>, 390 <0 186 IRQ_TYPE_LEVEL_HIGH>, 391 <0 187 IRQ_TYPE_LEVEL_HIGH>, 392 <0 188 IRQ_TYPE_LEVEL_HIGH>; 393 clocks = <&mstp9_clks R7S72100_CLK_I2C3>; 394 clock-frequency = <100000>; 395 status = "disabled"; 396 }; 397 398 mtu2: timer@fcff0000 { 399 compatible = "renesas,mtu2-r7s72100", "renesas,mtu2"; 400 reg = <0xfcff0000 0x400>; 401 interrupts = <0 107 IRQ_TYPE_LEVEL_HIGH>; 402 interrupt-names = "tgi0a"; 403 clocks = <&mstp3_clks R7S72100_CLK_MTU2>; 404 clock-names = "fck"; 405 status = "disabled"; 406 }; 407}; 408