1#include <dt-bindings/clock/tegra20-car.h> 2#include <dt-bindings/gpio/tegra-gpio.h> 3#include <dt-bindings/interrupt-controller/arm-gic.h> 4 5#include "skeleton.dtsi" 6 7/ { 8 compatible = "nvidia,tegra20"; 9 interrupt-parent = <&intc>; 10 11 host1x { 12 compatible = "nvidia,tegra20-host1x", "simple-bus"; 13 reg = <0x50000000 0x00024000>; 14 interrupts = <0 65 0x04 /* mpcore syncpt */ 15 0 67 0x04>; /* mpcore general */ 16 status = "disabled"; 17 18 #address-cells = <1>; 19 #size-cells = <1>; 20 21 ranges = <0x54000000 0x54000000 0x04000000>; 22 23 /* video-encoding/decoding */ 24 mpe { 25 reg = <0x54040000 0x00040000>; 26 interrupts = <0 68 0x04>; 27 status = "disabled"; 28 }; 29 30 /* video input */ 31 vi { 32 reg = <0x54080000 0x00040000>; 33 interrupts = <0 69 0x04>; 34 status = "disabled"; 35 }; 36 37 /* EPP */ 38 epp { 39 reg = <0x540c0000 0x00040000>; 40 interrupts = <0 70 0x04>; 41 status = "disabled"; 42 }; 43 44 /* ISP */ 45 isp { 46 reg = <0x54100000 0x00040000>; 47 interrupts = <0 71 0x04>; 48 status = "disabled"; 49 }; 50 51 /* 2D engine */ 52 gr2d { 53 reg = <0x54140000 0x00040000>; 54 interrupts = <0 72 0x04>; 55 status = "disabled"; 56 }; 57 58 /* 3D engine */ 59 gr3d { 60 reg = <0x54180000 0x00040000>; 61 status = "disabled"; 62 }; 63 64 /* display controllers */ 65 dc@54200000 { 66 compatible = "nvidia,tegra20-dc"; 67 reg = <0x54200000 0x00040000>; 68 interrupts = <0 73 0x04>; 69 status = "disabled"; 70 71 rgb { 72 status = "disabled"; 73 }; 74 }; 75 76 dc@54240000 { 77 compatible = "nvidia,tegra20-dc"; 78 reg = <0x54240000 0x00040000>; 79 interrupts = <0 74 0x04>; 80 status = "disabled"; 81 82 rgb { 83 status = "disabled"; 84 }; 85 }; 86 87 /* outputs */ 88 hdmi { 89 compatible = "nvidia,tegra20-hdmi"; 90 reg = <0x54280000 0x00040000>; 91 interrupts = <0 75 0x04>; 92 status = "disabled"; 93 }; 94 95 tvo { 96 compatible = "nvidia,tegra20-tvo"; 97 reg = <0x542c0000 0x00040000>; 98 interrupts = <0 76 0x04>; 99 status = "disabled"; 100 }; 101 102 dsi { 103 compatible = "nvidia,tegra20-dsi"; 104 reg = <0x54300000 0x00040000>; 105 status = "disabled"; 106 }; 107 }; 108 109 intc: interrupt-controller@50041000 { 110 compatible = "nvidia,tegra20-gic"; 111 interrupt-controller; 112 #interrupt-cells = <1>; 113 reg = < 0x50041000 0x1000 >, 114 < 0x50040100 0x0100 >; 115 }; 116 117 tegra_car: clock@60006000 { 118 compatible = "nvidia,tegra20-car"; 119 reg = <0x60006000 0x1000>; 120 #clock-cells = <1>; 121 }; 122 123 apbdma: dma { 124 compatible = "nvidia,tegra20-apbdma"; 125 reg = <0x6000a000 0x1200>; 126 interrupts = <0 104 0x04 127 0 105 0x04 128 0 106 0x04 129 0 107 0x04 130 0 108 0x04 131 0 109 0x04 132 0 110 0x04 133 0 111 0x04 134 0 112 0x04 135 0 113 0x04 136 0 114 0x04 137 0 115 0x04 138 0 116 0x04 139 0 117 0x04 140 0 118 0x04 141 0 119 0x04>; 142 }; 143 144 gpio: gpio@6000d000 { 145 compatible = "nvidia,tegra20-gpio"; 146 reg = <0x6000d000 0x1000>; 147 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>, 148 <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>, 149 <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>, 150 <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>, 151 <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>, 152 <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>, 153 <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>; 154 #gpio-cells = <2>; 155 gpio-controller; 156 #interrupt-cells = <2>; 157 interrupt-controller; 158 }; 159 160 pinmux: pinmux@70000000 { 161 compatible = "nvidia,tegra20-pinmux"; 162 reg = < 0x70000014 0x10 /* Tri-state registers */ 163 0x70000080 0x20 /* Mux registers */ 164 0x700000a0 0x14 /* Pull-up/down registers */ 165 0x70000868 0xa8 >; /* Pad control registers */ 166 }; 167 168 das@70000c00 { 169 #address-cells = <1>; 170 #size-cells = <0>; 171 compatible = "nvidia,tegra20-das"; 172 reg = <0x70000c00 0x80>; 173 }; 174 175 i2s@70002800 { 176 #address-cells = <1>; 177 #size-cells = <0>; 178 compatible = "nvidia,tegra20-i2s"; 179 reg = <0x70002800 0x200>; 180 interrupts = < 45 >; 181 dma-channel = < 2 >; 182 }; 183 184 i2s@70002a00 { 185 #address-cells = <1>; 186 #size-cells = <0>; 187 compatible = "nvidia,tegra20-i2s"; 188 reg = <0x70002a00 0x200>; 189 interrupts = < 35 >; 190 dma-channel = < 1 >; 191 }; 192 193 uarta: serial@70006000 { 194 compatible = "nvidia,tegra20-uart"; 195 reg = <0x70006000 0x40>; 196 reg-shift = <2>; 197 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>; 198 clocks = <&tegra_car TEGRA20_CLK_UARTA>; 199 resets = <&tegra_car 6>; 200 reset-names = "serial"; 201 dmas = <&apbdma 8>, <&apbdma 8>; 202 dma-names = "rx", "tx"; 203 status = "disabled"; 204 }; 205 206 uartb: serial@70006040 { 207 compatible = "nvidia,tegra20-uart"; 208 reg = <0x70006040 0x40>; 209 reg-shift = <2>; 210 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; 211 clocks = <&tegra_car TEGRA20_CLK_UARTB>; 212 resets = <&tegra_car 7>; 213 reset-names = "serial"; 214 dmas = <&apbdma 9>, <&apbdma 9>; 215 dma-names = "rx", "tx"; 216 status = "disabled"; 217 }; 218 219 uartc: serial@70006200 { 220 compatible = "nvidia,tegra20-uart"; 221 reg = <0x70006200 0x100>; 222 reg-shift = <2>; 223 interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>; 224 clocks = <&tegra_car TEGRA20_CLK_UARTC>; 225 resets = <&tegra_car 55>; 226 reset-names = "serial"; 227 dmas = <&apbdma 10>, <&apbdma 10>; 228 dma-names = "rx", "tx"; 229 status = "disabled"; 230 }; 231 232 uartd: serial@70006300 { 233 compatible = "nvidia,tegra20-uart"; 234 reg = <0x70006300 0x100>; 235 reg-shift = <2>; 236 interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>; 237 clocks = <&tegra_car TEGRA20_CLK_UARTD>; 238 resets = <&tegra_car 65>; 239 reset-names = "serial"; 240 dmas = <&apbdma 19>, <&apbdma 19>; 241 dma-names = "rx", "tx"; 242 status = "disabled"; 243 }; 244 245 uarte: serial@70006400 { 246 compatible = "nvidia,tegra20-uart"; 247 reg = <0x70006400 0x100>; 248 reg-shift = <2>; 249 interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>; 250 clocks = <&tegra_car TEGRA20_CLK_UARTE>; 251 resets = <&tegra_car 66>; 252 reset-names = "serial"; 253 dmas = <&apbdma 20>, <&apbdma 20>; 254 dma-names = "rx", "tx"; 255 status = "disabled"; 256 }; 257 258 nand: nand-controller@70008000 { 259 #address-cells = <1>; 260 #size-cells = <0>; 261 compatible = "nvidia,tegra20-nand"; 262 reg = <0x70008000 0x100>; 263 }; 264 265 pwm: pwm@7000a000 { 266 compatible = "nvidia,tegra20-pwm"; 267 reg = <0x7000a000 0x100>; 268 #pwm-cells = <2>; 269 }; 270 271 i2c@7000c000 { 272 #address-cells = <1>; 273 #size-cells = <0>; 274 compatible = "nvidia,tegra20-i2c"; 275 reg = <0x7000C000 0x100>; 276 interrupts = < 70 >; 277 /* PERIPH_ID_I2C1, PLL_P_OUT3 */ 278 clocks = <&tegra_car 12>, <&tegra_car 124>; 279 }; 280 281 spi@7000c380 { 282 compatible = "nvidia,tegra20-sflash"; 283 reg = <0x7000c380 0x80>; 284 interrupts = <0 39 0x04>; 285 nvidia,dma-request-selector = <&apbdma 11>; 286 #address-cells = <1>; 287 #size-cells = <0>; 288 status = "disabled"; 289 /* PERIPH_ID_SPI1, PLLP_OUT0 */ 290 clocks = <&tegra_car 43>; 291 }; 292 293 i2c@7000c400 { 294 #address-cells = <1>; 295 #size-cells = <0>; 296 compatible = "nvidia,tegra20-i2c"; 297 reg = <0x7000C400 0x100>; 298 interrupts = < 116 >; 299 /* PERIPH_ID_I2C2, PLL_P_OUT3 */ 300 clocks = <&tegra_car 54>, <&tegra_car 124>; 301 }; 302 303 i2c@7000c500 { 304 #address-cells = <1>; 305 #size-cells = <0>; 306 compatible = "nvidia,tegra20-i2c"; 307 reg = <0x7000C500 0x100>; 308 interrupts = < 124 >; 309 /* PERIPH_ID_I2C3, PLL_P_OUT3 */ 310 clocks = <&tegra_car 67>, <&tegra_car 124>; 311 }; 312 313 i2c@7000d000 { 314 #address-cells = <1>; 315 #size-cells = <0>; 316 compatible = "nvidia,tegra20-i2c-dvc"; 317 reg = <0x7000D000 0x200>; 318 interrupts = < 85 >; 319 /* PERIPH_ID_DVC_I2C, PLL_P_OUT3 */ 320 clocks = <&tegra_car 47>, <&tegra_car 124>; 321 }; 322 323 kbc@7000e200 { 324 compatible = "nvidia,tegra20-kbc"; 325 reg = <0x7000e200 0x0078>; 326 }; 327 328 emc@7000f400 { 329 #address-cells = < 1 >; 330 #size-cells = < 0 >; 331 compatible = "nvidia,tegra20-emc"; 332 reg = <0x7000f400 0x200>; 333 }; 334 335 usb@c5000000 { 336 compatible = "nvidia,tegra20-ehci", "usb-ehci"; 337 reg = <0xc5000000 0x4000>; 338 interrupts = < 52 >; 339 phy_type = "utmi"; 340 clocks = <&tegra_car 22>; /* PERIPH_ID_USBD */ 341 nvidia,has-legacy-mode; 342 }; 343 344 usb@c5004000 { 345 compatible = "nvidia,tegra20-ehci", "usb-ehci"; 346 reg = <0xc5004000 0x4000>; 347 interrupts = < 53 >; 348 phy_type = "ulpi"; 349 clocks = <&tegra_car 58>; /* PERIPH_ID_USB2 */ 350 }; 351 352 usb@c5008000 { 353 compatible = "nvidia,tegra20-ehci", "usb-ehci"; 354 reg = <0xc5008000 0x4000>; 355 interrupts = < 129 >; 356 phy_type = "utmi"; 357 clocks = <&tegra_car 59>; /* PERIPH_ID_USB3 */ 358 }; 359 360 sdhci@c8000000 { 361 compatible = "nvidia,tegra20-sdhci"; 362 reg = <0xc8000000 0x200>; 363 interrupts = <0 14 0x04>; 364 clocks = <&tegra_car 14>; 365 status = "disabled"; 366 }; 367 368 sdhci@c8000200 { 369 compatible = "nvidia,tegra20-sdhci"; 370 reg = <0xc8000200 0x200>; 371 interrupts = <0 15 0x04>; 372 clocks = <&tegra_car 9>; 373 status = "disabled"; 374 }; 375 376 sdhci@c8000400 { 377 compatible = "nvidia,tegra20-sdhci"; 378 reg = <0xc8000400 0x200>; 379 interrupts = <0 19 0x04>; 380 clocks = <&tegra_car 69>; 381 status = "disabled"; 382 }; 383 384 sdhci@c8000600 { 385 compatible = "nvidia,tegra20-sdhci"; 386 reg = <0xc8000600 0x200>; 387 interrupts = <0 31 0x04>; 388 clocks = <&tegra_car 15>; 389 status = "disabled"; 390 }; 391}; 392