1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0 2*f126890aSEmmanuel Vadot#include <dt-bindings/clock/tegra20-car.h> 3*f126890aSEmmanuel Vadot#include <dt-bindings/gpio/tegra-gpio.h> 4*f126890aSEmmanuel Vadot#include <dt-bindings/memory/tegra20-mc.h> 5*f126890aSEmmanuel Vadot#include <dt-bindings/pinctrl/pinctrl-tegra.h> 6*f126890aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h> 7*f126890aSEmmanuel Vadot#include <dt-bindings/soc/tegra-pmc.h> 8*f126890aSEmmanuel Vadot 9*f126890aSEmmanuel Vadot#include "tegra20-peripherals-opp.dtsi" 10*f126890aSEmmanuel Vadot 11*f126890aSEmmanuel Vadot/ { 12*f126890aSEmmanuel Vadot compatible = "nvidia,tegra20"; 13*f126890aSEmmanuel Vadot interrupt-parent = <&lic>; 14*f126890aSEmmanuel Vadot #address-cells = <1>; 15*f126890aSEmmanuel Vadot #size-cells = <1>; 16*f126890aSEmmanuel Vadot 17*f126890aSEmmanuel Vadot memory@0 { 18*f126890aSEmmanuel Vadot device_type = "memory"; 19*f126890aSEmmanuel Vadot reg = <0 0>; 20*f126890aSEmmanuel Vadot }; 21*f126890aSEmmanuel Vadot 22*f126890aSEmmanuel Vadot sram@40000000 { 23*f126890aSEmmanuel Vadot compatible = "mmio-sram"; 24*f126890aSEmmanuel Vadot reg = <0x40000000 0x40000>; 25*f126890aSEmmanuel Vadot #address-cells = <1>; 26*f126890aSEmmanuel Vadot #size-cells = <1>; 27*f126890aSEmmanuel Vadot ranges = <0 0x40000000 0x40000>; 28*f126890aSEmmanuel Vadot 29*f126890aSEmmanuel Vadot vde_pool: sram@400 { 30*f126890aSEmmanuel Vadot reg = <0x400 0x3fc00>; 31*f126890aSEmmanuel Vadot pool; 32*f126890aSEmmanuel Vadot }; 33*f126890aSEmmanuel Vadot }; 34*f126890aSEmmanuel Vadot 35*f126890aSEmmanuel Vadot host1x@50000000 { 36*f126890aSEmmanuel Vadot compatible = "nvidia,tegra20-host1x"; 37*f126890aSEmmanuel Vadot reg = <0x50000000 0x00024000>; 38*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>, /* syncpt */ 39*f126890aSEmmanuel Vadot <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; /* general */ 40*f126890aSEmmanuel Vadot interrupt-names = "syncpt", "host1x"; 41*f126890aSEmmanuel Vadot clocks = <&tegra_car TEGRA20_CLK_HOST1X>; 42*f126890aSEmmanuel Vadot clock-names = "host1x"; 43*f126890aSEmmanuel Vadot resets = <&tegra_car 28>, <&mc TEGRA20_MC_RESET_HC>; 44*f126890aSEmmanuel Vadot reset-names = "host1x", "mc"; 45*f126890aSEmmanuel Vadot power-domains = <&pd_core>; 46*f126890aSEmmanuel Vadot operating-points-v2 = <&host1x_dvfs_opp_table>; 47*f126890aSEmmanuel Vadot 48*f126890aSEmmanuel Vadot #address-cells = <1>; 49*f126890aSEmmanuel Vadot #size-cells = <1>; 50*f126890aSEmmanuel Vadot 51*f126890aSEmmanuel Vadot ranges = <0x54000000 0x54000000 0x04000000>; 52*f126890aSEmmanuel Vadot 53*f126890aSEmmanuel Vadot mpe@54040000 { 54*f126890aSEmmanuel Vadot compatible = "nvidia,tegra20-mpe"; 55*f126890aSEmmanuel Vadot reg = <0x54040000 0x00040000>; 56*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>; 57*f126890aSEmmanuel Vadot clocks = <&tegra_car TEGRA20_CLK_MPE>; 58*f126890aSEmmanuel Vadot resets = <&tegra_car 60>; 59*f126890aSEmmanuel Vadot reset-names = "mpe"; 60*f126890aSEmmanuel Vadot power-domains = <&pd_mpe>; 61*f126890aSEmmanuel Vadot operating-points-v2 = <&mpe_dvfs_opp_table>; 62*f126890aSEmmanuel Vadot status = "disabled"; 63*f126890aSEmmanuel Vadot }; 64*f126890aSEmmanuel Vadot 65*f126890aSEmmanuel Vadot vi@54080000 { 66*f126890aSEmmanuel Vadot compatible = "nvidia,tegra20-vi"; 67*f126890aSEmmanuel Vadot reg = <0x54080000 0x00040000>; 68*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>; 69*f126890aSEmmanuel Vadot clocks = <&tegra_car TEGRA20_CLK_VI>; 70*f126890aSEmmanuel Vadot resets = <&tegra_car 20>; 71*f126890aSEmmanuel Vadot reset-names = "vi"; 72*f126890aSEmmanuel Vadot power-domains = <&pd_venc>; 73*f126890aSEmmanuel Vadot operating-points-v2 = <&vi_dvfs_opp_table>; 74*f126890aSEmmanuel Vadot status = "disabled"; 75*f126890aSEmmanuel Vadot }; 76*f126890aSEmmanuel Vadot 77*f126890aSEmmanuel Vadot epp@540c0000 { 78*f126890aSEmmanuel Vadot compatible = "nvidia,tegra20-epp"; 79*f126890aSEmmanuel Vadot reg = <0x540c0000 0x00040000>; 80*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>; 81*f126890aSEmmanuel Vadot clocks = <&tegra_car TEGRA20_CLK_EPP>; 82*f126890aSEmmanuel Vadot resets = <&tegra_car 19>; 83*f126890aSEmmanuel Vadot reset-names = "epp"; 84*f126890aSEmmanuel Vadot power-domains = <&pd_core>; 85*f126890aSEmmanuel Vadot operating-points-v2 = <&epp_dvfs_opp_table>; 86*f126890aSEmmanuel Vadot status = "disabled"; 87*f126890aSEmmanuel Vadot }; 88*f126890aSEmmanuel Vadot 89*f126890aSEmmanuel Vadot isp@54100000 { 90*f126890aSEmmanuel Vadot compatible = "nvidia,tegra20-isp"; 91*f126890aSEmmanuel Vadot reg = <0x54100000 0x00040000>; 92*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>; 93*f126890aSEmmanuel Vadot clocks = <&tegra_car TEGRA20_CLK_ISP>; 94*f126890aSEmmanuel Vadot resets = <&tegra_car 23>; 95*f126890aSEmmanuel Vadot reset-names = "isp"; 96*f126890aSEmmanuel Vadot power-domains = <&pd_venc>; 97*f126890aSEmmanuel Vadot status = "disabled"; 98*f126890aSEmmanuel Vadot }; 99*f126890aSEmmanuel Vadot 100*f126890aSEmmanuel Vadot gr2d@54140000 { 101*f126890aSEmmanuel Vadot compatible = "nvidia,tegra20-gr2d"; 102*f126890aSEmmanuel Vadot reg = <0x54140000 0x00040000>; 103*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>; 104*f126890aSEmmanuel Vadot clocks = <&tegra_car TEGRA20_CLK_GR2D>; 105*f126890aSEmmanuel Vadot resets = <&tegra_car 21>, <&mc TEGRA20_MC_RESET_2D>; 106*f126890aSEmmanuel Vadot reset-names = "2d", "mc"; 107*f126890aSEmmanuel Vadot power-domains = <&pd_core>; 108*f126890aSEmmanuel Vadot operating-points-v2 = <&gr2d_dvfs_opp_table>; 109*f126890aSEmmanuel Vadot }; 110*f126890aSEmmanuel Vadot 111*f126890aSEmmanuel Vadot gr3d@54180000 { 112*f126890aSEmmanuel Vadot compatible = "nvidia,tegra20-gr3d"; 113*f126890aSEmmanuel Vadot reg = <0x54180000 0x00040000>; 114*f126890aSEmmanuel Vadot clocks = <&tegra_car TEGRA20_CLK_GR3D>; 115*f126890aSEmmanuel Vadot resets = <&tegra_car 24>, <&mc TEGRA20_MC_RESET_3D>; 116*f126890aSEmmanuel Vadot reset-names = "3d", "mc"; 117*f126890aSEmmanuel Vadot power-domains = <&pd_3d>; 118*f126890aSEmmanuel Vadot operating-points-v2 = <&gr3d_dvfs_opp_table>; 119*f126890aSEmmanuel Vadot }; 120*f126890aSEmmanuel Vadot 121*f126890aSEmmanuel Vadot dc@54200000 { 122*f126890aSEmmanuel Vadot compatible = "nvidia,tegra20-dc"; 123*f126890aSEmmanuel Vadot reg = <0x54200000 0x00040000>; 124*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>; 125*f126890aSEmmanuel Vadot clocks = <&tegra_car TEGRA20_CLK_DISP1>, 126*f126890aSEmmanuel Vadot <&tegra_car TEGRA20_CLK_PLL_P>; 127*f126890aSEmmanuel Vadot clock-names = "dc", "parent"; 128*f126890aSEmmanuel Vadot resets = <&tegra_car 27>; 129*f126890aSEmmanuel Vadot reset-names = "dc"; 130*f126890aSEmmanuel Vadot power-domains = <&pd_core>; 131*f126890aSEmmanuel Vadot operating-points-v2 = <&disp1_dvfs_opp_table>; 132*f126890aSEmmanuel Vadot 133*f126890aSEmmanuel Vadot nvidia,head = <0>; 134*f126890aSEmmanuel Vadot 135*f126890aSEmmanuel Vadot interconnects = <&mc TEGRA20_MC_DISPLAY0A &emc>, 136*f126890aSEmmanuel Vadot <&mc TEGRA20_MC_DISPLAY0B &emc>, 137*f126890aSEmmanuel Vadot <&mc TEGRA20_MC_DISPLAY1B &emc>, 138*f126890aSEmmanuel Vadot <&mc TEGRA20_MC_DISPLAY0C &emc>, 139*f126890aSEmmanuel Vadot <&mc TEGRA20_MC_DISPLAYHC &emc>; 140*f126890aSEmmanuel Vadot interconnect-names = "wina", 141*f126890aSEmmanuel Vadot "winb", 142*f126890aSEmmanuel Vadot "winb-vfilter", 143*f126890aSEmmanuel Vadot "winc", 144*f126890aSEmmanuel Vadot "cursor"; 145*f126890aSEmmanuel Vadot 146*f126890aSEmmanuel Vadot rgb { 147*f126890aSEmmanuel Vadot status = "disabled"; 148*f126890aSEmmanuel Vadot }; 149*f126890aSEmmanuel Vadot }; 150*f126890aSEmmanuel Vadot 151*f126890aSEmmanuel Vadot dc@54240000 { 152*f126890aSEmmanuel Vadot compatible = "nvidia,tegra20-dc"; 153*f126890aSEmmanuel Vadot reg = <0x54240000 0x00040000>; 154*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>; 155*f126890aSEmmanuel Vadot clocks = <&tegra_car TEGRA20_CLK_DISP2>, 156*f126890aSEmmanuel Vadot <&tegra_car TEGRA20_CLK_PLL_P>; 157*f126890aSEmmanuel Vadot clock-names = "dc", "parent"; 158*f126890aSEmmanuel Vadot resets = <&tegra_car 26>; 159*f126890aSEmmanuel Vadot reset-names = "dc"; 160*f126890aSEmmanuel Vadot power-domains = <&pd_core>; 161*f126890aSEmmanuel Vadot operating-points-v2 = <&disp2_dvfs_opp_table>; 162*f126890aSEmmanuel Vadot 163*f126890aSEmmanuel Vadot nvidia,head = <1>; 164*f126890aSEmmanuel Vadot 165*f126890aSEmmanuel Vadot interconnects = <&mc TEGRA20_MC_DISPLAY0AB &emc>, 166*f126890aSEmmanuel Vadot <&mc TEGRA20_MC_DISPLAY0BB &emc>, 167*f126890aSEmmanuel Vadot <&mc TEGRA20_MC_DISPLAY1BB &emc>, 168*f126890aSEmmanuel Vadot <&mc TEGRA20_MC_DISPLAY0CB &emc>, 169*f126890aSEmmanuel Vadot <&mc TEGRA20_MC_DISPLAYHCB &emc>; 170*f126890aSEmmanuel Vadot interconnect-names = "wina", 171*f126890aSEmmanuel Vadot "winb", 172*f126890aSEmmanuel Vadot "winb-vfilter", 173*f126890aSEmmanuel Vadot "winc", 174*f126890aSEmmanuel Vadot "cursor"; 175*f126890aSEmmanuel Vadot 176*f126890aSEmmanuel Vadot rgb { 177*f126890aSEmmanuel Vadot status = "disabled"; 178*f126890aSEmmanuel Vadot }; 179*f126890aSEmmanuel Vadot }; 180*f126890aSEmmanuel Vadot 181*f126890aSEmmanuel Vadot tegra_hdmi: hdmi@54280000 { 182*f126890aSEmmanuel Vadot compatible = "nvidia,tegra20-hdmi"; 183*f126890aSEmmanuel Vadot reg = <0x54280000 0x00040000>; 184*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>; 185*f126890aSEmmanuel Vadot clocks = <&tegra_car TEGRA20_CLK_HDMI>, 186*f126890aSEmmanuel Vadot <&tegra_car TEGRA20_CLK_PLL_D_OUT0>; 187*f126890aSEmmanuel Vadot clock-names = "hdmi", "parent"; 188*f126890aSEmmanuel Vadot resets = <&tegra_car 51>; 189*f126890aSEmmanuel Vadot reset-names = "hdmi"; 190*f126890aSEmmanuel Vadot power-domains = <&pd_core>; 191*f126890aSEmmanuel Vadot operating-points-v2 = <&hdmi_dvfs_opp_table>; 192*f126890aSEmmanuel Vadot #sound-dai-cells = <0>; 193*f126890aSEmmanuel Vadot status = "disabled"; 194*f126890aSEmmanuel Vadot }; 195*f126890aSEmmanuel Vadot 196*f126890aSEmmanuel Vadot tvo@542c0000 { 197*f126890aSEmmanuel Vadot compatible = "nvidia,tegra20-tvo"; 198*f126890aSEmmanuel Vadot reg = <0x542c0000 0x00040000>; 199*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>; 200*f126890aSEmmanuel Vadot clocks = <&tegra_car TEGRA20_CLK_TVO>; 201*f126890aSEmmanuel Vadot power-domains = <&pd_core>; 202*f126890aSEmmanuel Vadot operating-points-v2 = <&tvo_dvfs_opp_table>; 203*f126890aSEmmanuel Vadot status = "disabled"; 204*f126890aSEmmanuel Vadot }; 205*f126890aSEmmanuel Vadot 206*f126890aSEmmanuel Vadot dsi@54300000 { 207*f126890aSEmmanuel Vadot compatible = "nvidia,tegra20-dsi"; 208*f126890aSEmmanuel Vadot reg = <0x54300000 0x00040000>; 209*f126890aSEmmanuel Vadot clocks = <&tegra_car TEGRA20_CLK_DSI>, 210*f126890aSEmmanuel Vadot <&tegra_car TEGRA20_CLK_PLL_D_OUT0>; 211*f126890aSEmmanuel Vadot clock-names = "dsi", "parent"; 212*f126890aSEmmanuel Vadot resets = <&tegra_car 48>; 213*f126890aSEmmanuel Vadot reset-names = "dsi"; 214*f126890aSEmmanuel Vadot power-domains = <&pd_core>; 215*f126890aSEmmanuel Vadot operating-points-v2 = <&dsi_dvfs_opp_table>; 216*f126890aSEmmanuel Vadot status = "disabled"; 217*f126890aSEmmanuel Vadot }; 218*f126890aSEmmanuel Vadot }; 219*f126890aSEmmanuel Vadot 220*f126890aSEmmanuel Vadot timer@50040600 { 221*f126890aSEmmanuel Vadot compatible = "arm,cortex-a9-twd-timer"; 222*f126890aSEmmanuel Vadot interrupt-parent = <&intc>; 223*f126890aSEmmanuel Vadot reg = <0x50040600 0x20>; 224*f126890aSEmmanuel Vadot interrupts = <GIC_PPI 13 225*f126890aSEmmanuel Vadot (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_EDGE_RISING)>; 226*f126890aSEmmanuel Vadot clocks = <&tegra_car TEGRA20_CLK_TWD>; 227*f126890aSEmmanuel Vadot }; 228*f126890aSEmmanuel Vadot 229*f126890aSEmmanuel Vadot intc: interrupt-controller@50041000 { 230*f126890aSEmmanuel Vadot compatible = "arm,cortex-a9-gic"; 231*f126890aSEmmanuel Vadot reg = <0x50041000 0x1000>, 232*f126890aSEmmanuel Vadot <0x50040100 0x0100>; 233*f126890aSEmmanuel Vadot interrupt-controller; 234*f126890aSEmmanuel Vadot #interrupt-cells = <3>; 235*f126890aSEmmanuel Vadot interrupt-parent = <&intc>; 236*f126890aSEmmanuel Vadot }; 237*f126890aSEmmanuel Vadot 238*f126890aSEmmanuel Vadot cache-controller@50043000 { 239*f126890aSEmmanuel Vadot compatible = "arm,pl310-cache"; 240*f126890aSEmmanuel Vadot reg = <0x50043000 0x1000>; 241*f126890aSEmmanuel Vadot arm,data-latency = <5 5 2>; 242*f126890aSEmmanuel Vadot arm,tag-latency = <4 4 2>; 243*f126890aSEmmanuel Vadot cache-unified; 244*f126890aSEmmanuel Vadot cache-level = <2>; 245*f126890aSEmmanuel Vadot }; 246*f126890aSEmmanuel Vadot 247*f126890aSEmmanuel Vadot lic: interrupt-controller@60004000 { 248*f126890aSEmmanuel Vadot compatible = "nvidia,tegra20-ictlr"; 249*f126890aSEmmanuel Vadot reg = <0x60004000 0x100>, 250*f126890aSEmmanuel Vadot <0x60004100 0x50>, 251*f126890aSEmmanuel Vadot <0x60004200 0x50>, 252*f126890aSEmmanuel Vadot <0x60004300 0x50>; 253*f126890aSEmmanuel Vadot interrupt-controller; 254*f126890aSEmmanuel Vadot #interrupt-cells = <3>; 255*f126890aSEmmanuel Vadot interrupt-parent = <&intc>; 256*f126890aSEmmanuel Vadot }; 257*f126890aSEmmanuel Vadot 258*f126890aSEmmanuel Vadot timer@60005000 { 259*f126890aSEmmanuel Vadot compatible = "nvidia,tegra20-timer"; 260*f126890aSEmmanuel Vadot reg = <0x60005000 0x60>; 261*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>, 262*f126890aSEmmanuel Vadot <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>, 263*f126890aSEmmanuel Vadot <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>, 264*f126890aSEmmanuel Vadot <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>; 265*f126890aSEmmanuel Vadot clocks = <&tegra_car TEGRA20_CLK_TIMER>; 266*f126890aSEmmanuel Vadot }; 267*f126890aSEmmanuel Vadot 268*f126890aSEmmanuel Vadot tegra_car: clock@60006000 { 269*f126890aSEmmanuel Vadot compatible = "nvidia,tegra20-car"; 270*f126890aSEmmanuel Vadot reg = <0x60006000 0x1000>; 271*f126890aSEmmanuel Vadot #clock-cells = <1>; 272*f126890aSEmmanuel Vadot #reset-cells = <1>; 273*f126890aSEmmanuel Vadot 274*f126890aSEmmanuel Vadot sclk { 275*f126890aSEmmanuel Vadot compatible = "nvidia,tegra20-sclk"; 276*f126890aSEmmanuel Vadot clocks = <&tegra_car TEGRA20_CLK_SCLK>; 277*f126890aSEmmanuel Vadot power-domains = <&pd_core>; 278*f126890aSEmmanuel Vadot operating-points-v2 = <&sclk_dvfs_opp_table>; 279*f126890aSEmmanuel Vadot }; 280*f126890aSEmmanuel Vadot }; 281*f126890aSEmmanuel Vadot 282*f126890aSEmmanuel Vadot flow-controller@60007000 { 283*f126890aSEmmanuel Vadot compatible = "nvidia,tegra20-flowctrl"; 284*f126890aSEmmanuel Vadot reg = <0x60007000 0x1000>; 285*f126890aSEmmanuel Vadot }; 286*f126890aSEmmanuel Vadot 287*f126890aSEmmanuel Vadot apbdma: dma@6000a000 { 288*f126890aSEmmanuel Vadot compatible = "nvidia,tegra20-apbdma"; 289*f126890aSEmmanuel Vadot reg = <0x6000a000 0x1200>; 290*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>, 291*f126890aSEmmanuel Vadot <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>, 292*f126890aSEmmanuel Vadot <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>, 293*f126890aSEmmanuel Vadot <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>, 294*f126890aSEmmanuel Vadot <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>, 295*f126890aSEmmanuel Vadot <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>, 296*f126890aSEmmanuel Vadot <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>, 297*f126890aSEmmanuel Vadot <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>, 298*f126890aSEmmanuel Vadot <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>, 299*f126890aSEmmanuel Vadot <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>, 300*f126890aSEmmanuel Vadot <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>, 301*f126890aSEmmanuel Vadot <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>, 302*f126890aSEmmanuel Vadot <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>, 303*f126890aSEmmanuel Vadot <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>, 304*f126890aSEmmanuel Vadot <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>, 305*f126890aSEmmanuel Vadot <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>; 306*f126890aSEmmanuel Vadot clocks = <&tegra_car TEGRA20_CLK_APBDMA>; 307*f126890aSEmmanuel Vadot resets = <&tegra_car 34>; 308*f126890aSEmmanuel Vadot reset-names = "dma"; 309*f126890aSEmmanuel Vadot #dma-cells = <1>; 310*f126890aSEmmanuel Vadot }; 311*f126890aSEmmanuel Vadot 312*f126890aSEmmanuel Vadot ahb@6000c000 { 313*f126890aSEmmanuel Vadot compatible = "nvidia,tegra20-ahb"; 314*f126890aSEmmanuel Vadot reg = <0x6000c000 0x110>; /* AHB Arbitration + Gizmo Controller */ 315*f126890aSEmmanuel Vadot }; 316*f126890aSEmmanuel Vadot 317*f126890aSEmmanuel Vadot gpio: gpio@6000d000 { 318*f126890aSEmmanuel Vadot compatible = "nvidia,tegra20-gpio"; 319*f126890aSEmmanuel Vadot reg = <0x6000d000 0x1000>; 320*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>, 321*f126890aSEmmanuel Vadot <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>, 322*f126890aSEmmanuel Vadot <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>, 323*f126890aSEmmanuel Vadot <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>, 324*f126890aSEmmanuel Vadot <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>, 325*f126890aSEmmanuel Vadot <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>, 326*f126890aSEmmanuel Vadot <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>; 327*f126890aSEmmanuel Vadot #gpio-cells = <2>; 328*f126890aSEmmanuel Vadot gpio-controller; 329*f126890aSEmmanuel Vadot #interrupt-cells = <2>; 330*f126890aSEmmanuel Vadot interrupt-controller; 331*f126890aSEmmanuel Vadot gpio-ranges = <&pinmux 0 0 224>; 332*f126890aSEmmanuel Vadot }; 333*f126890aSEmmanuel Vadot 334*f126890aSEmmanuel Vadot vde@6001a000 { 335*f126890aSEmmanuel Vadot compatible = "nvidia,tegra20-vde"; 336*f126890aSEmmanuel Vadot reg = <0x6001a000 0x1000>, /* Syntax Engine */ 337*f126890aSEmmanuel Vadot <0x6001b000 0x1000>, /* Video Bitstream Engine */ 338*f126890aSEmmanuel Vadot <0x6001c000 0x100>, /* Macroblock Engine */ 339*f126890aSEmmanuel Vadot <0x6001c200 0x100>, /* Post-processing Engine */ 340*f126890aSEmmanuel Vadot <0x6001c400 0x100>, /* Motion Compensation Engine */ 341*f126890aSEmmanuel Vadot <0x6001c600 0x100>, /* Transform Engine */ 342*f126890aSEmmanuel Vadot <0x6001c800 0x100>, /* Pixel prediction block */ 343*f126890aSEmmanuel Vadot <0x6001ca00 0x100>, /* Video DMA */ 344*f126890aSEmmanuel Vadot <0x6001d800 0x300>; /* Video frame controls */ 345*f126890aSEmmanuel Vadot reg-names = "sxe", "bsev", "mbe", "ppe", "mce", 346*f126890aSEmmanuel Vadot "tfe", "ppb", "vdma", "frameid"; 347*f126890aSEmmanuel Vadot iram = <&vde_pool>; /* IRAM region */ 348*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>, /* Sync token interrupt */ 349*f126890aSEmmanuel Vadot <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>, /* BSE-V interrupt */ 350*f126890aSEmmanuel Vadot <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; /* SXE interrupt */ 351*f126890aSEmmanuel Vadot interrupt-names = "sync-token", "bsev", "sxe"; 352*f126890aSEmmanuel Vadot clocks = <&tegra_car TEGRA20_CLK_VDE>; 353*f126890aSEmmanuel Vadot reset-names = "vde", "mc"; 354*f126890aSEmmanuel Vadot resets = <&tegra_car 61>, <&mc TEGRA20_MC_RESET_VDE>; 355*f126890aSEmmanuel Vadot power-domains = <&pd_vde>; 356*f126890aSEmmanuel Vadot operating-points-v2 = <&vde_dvfs_opp_table>; 357*f126890aSEmmanuel Vadot }; 358*f126890aSEmmanuel Vadot 359*f126890aSEmmanuel Vadot pinmux: pinmux@70000014 { 360*f126890aSEmmanuel Vadot compatible = "nvidia,tegra20-pinmux"; 361*f126890aSEmmanuel Vadot reg = <0x70000014 0x10>, /* Tri-state registers */ 362*f126890aSEmmanuel Vadot <0x70000080 0x20>, /* Mux registers */ 363*f126890aSEmmanuel Vadot <0x700000a0 0x14>, /* Pull-up/down registers */ 364*f126890aSEmmanuel Vadot <0x70000868 0xa8>; /* Pad control registers */ 365*f126890aSEmmanuel Vadot }; 366*f126890aSEmmanuel Vadot 367*f126890aSEmmanuel Vadot apbmisc@70000800 { 368*f126890aSEmmanuel Vadot compatible = "nvidia,tegra20-apbmisc"; 369*f126890aSEmmanuel Vadot reg = <0x70000800 0x64>, /* Chip revision */ 370*f126890aSEmmanuel Vadot <0x70000008 0x04>; /* Strapping options */ 371*f126890aSEmmanuel Vadot }; 372*f126890aSEmmanuel Vadot 373*f126890aSEmmanuel Vadot das@70000c00 { 374*f126890aSEmmanuel Vadot compatible = "nvidia,tegra20-das"; 375*f126890aSEmmanuel Vadot reg = <0x70000c00 0x80>; 376*f126890aSEmmanuel Vadot }; 377*f126890aSEmmanuel Vadot 378*f126890aSEmmanuel Vadot tegra_ac97: ac97@70002000 { 379*f126890aSEmmanuel Vadot compatible = "nvidia,tegra20-ac97"; 380*f126890aSEmmanuel Vadot reg = <0x70002000 0x200>; 381*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>; 382*f126890aSEmmanuel Vadot clocks = <&tegra_car TEGRA20_CLK_AC97>; 383*f126890aSEmmanuel Vadot resets = <&tegra_car 3>; 384*f126890aSEmmanuel Vadot reset-names = "ac97"; 385*f126890aSEmmanuel Vadot dmas = <&apbdma 12>, <&apbdma 12>; 386*f126890aSEmmanuel Vadot dma-names = "rx", "tx"; 387*f126890aSEmmanuel Vadot status = "disabled"; 388*f126890aSEmmanuel Vadot }; 389*f126890aSEmmanuel Vadot 390*f126890aSEmmanuel Vadot tegra_spdif: spdif@70002400 { 391*f126890aSEmmanuel Vadot compatible = "nvidia,tegra20-spdif"; 392*f126890aSEmmanuel Vadot reg = <0x70002400 0x200>; 393*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>; 394*f126890aSEmmanuel Vadot clocks = <&tegra_car TEGRA20_CLK_SPDIF_OUT>, 395*f126890aSEmmanuel Vadot <&tegra_car TEGRA20_CLK_SPDIF_IN>; 396*f126890aSEmmanuel Vadot clock-names = "out", "in"; 397*f126890aSEmmanuel Vadot resets = <&tegra_car 10>; 398*f126890aSEmmanuel Vadot dmas = <&apbdma 3>, <&apbdma 3>; 399*f126890aSEmmanuel Vadot dma-names = "rx", "tx"; 400*f126890aSEmmanuel Vadot #sound-dai-cells = <0>; 401*f126890aSEmmanuel Vadot status = "disabled"; 402*f126890aSEmmanuel Vadot 403*f126890aSEmmanuel Vadot assigned-clocks = <&tegra_car TEGRA20_CLK_SPDIF_OUT>; 404*f126890aSEmmanuel Vadot assigned-clock-parents = <&tegra_car TEGRA20_CLK_PLL_A_OUT0>; 405*f126890aSEmmanuel Vadot }; 406*f126890aSEmmanuel Vadot 407*f126890aSEmmanuel Vadot tegra_i2s1: i2s@70002800 { 408*f126890aSEmmanuel Vadot compatible = "nvidia,tegra20-i2s"; 409*f126890aSEmmanuel Vadot reg = <0x70002800 0x200>; 410*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; 411*f126890aSEmmanuel Vadot clocks = <&tegra_car TEGRA20_CLK_I2S1>; 412*f126890aSEmmanuel Vadot resets = <&tegra_car 11>; 413*f126890aSEmmanuel Vadot reset-names = "i2s"; 414*f126890aSEmmanuel Vadot dmas = <&apbdma 2>, <&apbdma 2>; 415*f126890aSEmmanuel Vadot dma-names = "rx", "tx"; 416*f126890aSEmmanuel Vadot status = "disabled"; 417*f126890aSEmmanuel Vadot }; 418*f126890aSEmmanuel Vadot 419*f126890aSEmmanuel Vadot tegra_i2s2: i2s@70002a00 { 420*f126890aSEmmanuel Vadot compatible = "nvidia,tegra20-i2s"; 421*f126890aSEmmanuel Vadot reg = <0x70002a00 0x200>; 422*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>; 423*f126890aSEmmanuel Vadot clocks = <&tegra_car TEGRA20_CLK_I2S2>; 424*f126890aSEmmanuel Vadot resets = <&tegra_car 18>; 425*f126890aSEmmanuel Vadot reset-names = "i2s"; 426*f126890aSEmmanuel Vadot dmas = <&apbdma 1>, <&apbdma 1>; 427*f126890aSEmmanuel Vadot dma-names = "rx", "tx"; 428*f126890aSEmmanuel Vadot status = "disabled"; 429*f126890aSEmmanuel Vadot }; 430*f126890aSEmmanuel Vadot 431*f126890aSEmmanuel Vadot /* 432*f126890aSEmmanuel Vadot * There are two serial driver i.e. 8250 based simple serial 433*f126890aSEmmanuel Vadot * driver and APB DMA based serial driver for higher baudrate 434*f126890aSEmmanuel Vadot * and performace. To enable the 8250 based driver, the compatible 435*f126890aSEmmanuel Vadot * is "nvidia,tegra20-uart" and to enable the APB DMA based serial 436*f126890aSEmmanuel Vadot * driver, the compatible is "nvidia,tegra20-hsuart". 437*f126890aSEmmanuel Vadot */ 438*f126890aSEmmanuel Vadot uarta: serial@70006000 { 439*f126890aSEmmanuel Vadot compatible = "nvidia,tegra20-uart"; 440*f126890aSEmmanuel Vadot reg = <0x70006000 0x40>; 441*f126890aSEmmanuel Vadot reg-shift = <2>; 442*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>; 443*f126890aSEmmanuel Vadot clocks = <&tegra_car TEGRA20_CLK_UARTA>; 444*f126890aSEmmanuel Vadot resets = <&tegra_car 6>; 445*f126890aSEmmanuel Vadot dmas = <&apbdma 8>, <&apbdma 8>; 446*f126890aSEmmanuel Vadot dma-names = "rx", "tx"; 447*f126890aSEmmanuel Vadot status = "disabled"; 448*f126890aSEmmanuel Vadot }; 449*f126890aSEmmanuel Vadot 450*f126890aSEmmanuel Vadot uartb: serial@70006040 { 451*f126890aSEmmanuel Vadot compatible = "nvidia,tegra20-uart"; 452*f126890aSEmmanuel Vadot reg = <0x70006040 0x40>; 453*f126890aSEmmanuel Vadot reg-shift = <2>; 454*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; 455*f126890aSEmmanuel Vadot clocks = <&tegra_car TEGRA20_CLK_UARTB>; 456*f126890aSEmmanuel Vadot resets = <&tegra_car 7>; 457*f126890aSEmmanuel Vadot dmas = <&apbdma 9>, <&apbdma 9>; 458*f126890aSEmmanuel Vadot dma-names = "rx", "tx"; 459*f126890aSEmmanuel Vadot status = "disabled"; 460*f126890aSEmmanuel Vadot }; 461*f126890aSEmmanuel Vadot 462*f126890aSEmmanuel Vadot uartc: serial@70006200 { 463*f126890aSEmmanuel Vadot compatible = "nvidia,tegra20-uart"; 464*f126890aSEmmanuel Vadot reg = <0x70006200 0x100>; 465*f126890aSEmmanuel Vadot reg-shift = <2>; 466*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>; 467*f126890aSEmmanuel Vadot clocks = <&tegra_car TEGRA20_CLK_UARTC>; 468*f126890aSEmmanuel Vadot resets = <&tegra_car 55>; 469*f126890aSEmmanuel Vadot dmas = <&apbdma 10>, <&apbdma 10>; 470*f126890aSEmmanuel Vadot dma-names = "rx", "tx"; 471*f126890aSEmmanuel Vadot status = "disabled"; 472*f126890aSEmmanuel Vadot }; 473*f126890aSEmmanuel Vadot 474*f126890aSEmmanuel Vadot uartd: serial@70006300 { 475*f126890aSEmmanuel Vadot compatible = "nvidia,tegra20-uart"; 476*f126890aSEmmanuel Vadot reg = <0x70006300 0x100>; 477*f126890aSEmmanuel Vadot reg-shift = <2>; 478*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>; 479*f126890aSEmmanuel Vadot clocks = <&tegra_car TEGRA20_CLK_UARTD>; 480*f126890aSEmmanuel Vadot resets = <&tegra_car 65>; 481*f126890aSEmmanuel Vadot dmas = <&apbdma 19>, <&apbdma 19>; 482*f126890aSEmmanuel Vadot dma-names = "rx", "tx"; 483*f126890aSEmmanuel Vadot status = "disabled"; 484*f126890aSEmmanuel Vadot }; 485*f126890aSEmmanuel Vadot 486*f126890aSEmmanuel Vadot uarte: serial@70006400 { 487*f126890aSEmmanuel Vadot compatible = "nvidia,tegra20-uart"; 488*f126890aSEmmanuel Vadot reg = <0x70006400 0x100>; 489*f126890aSEmmanuel Vadot reg-shift = <2>; 490*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>; 491*f126890aSEmmanuel Vadot clocks = <&tegra_car TEGRA20_CLK_UARTE>; 492*f126890aSEmmanuel Vadot resets = <&tegra_car 66>; 493*f126890aSEmmanuel Vadot dmas = <&apbdma 20>, <&apbdma 20>; 494*f126890aSEmmanuel Vadot dma-names = "rx", "tx"; 495*f126890aSEmmanuel Vadot status = "disabled"; 496*f126890aSEmmanuel Vadot }; 497*f126890aSEmmanuel Vadot 498*f126890aSEmmanuel Vadot nand-controller@70008000 { 499*f126890aSEmmanuel Vadot compatible = "nvidia,tegra20-nand"; 500*f126890aSEmmanuel Vadot reg = <0x70008000 0x100>; 501*f126890aSEmmanuel Vadot #address-cells = <1>; 502*f126890aSEmmanuel Vadot #size-cells = <0>; 503*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>; 504*f126890aSEmmanuel Vadot clocks = <&tegra_car TEGRA20_CLK_NDFLASH>; 505*f126890aSEmmanuel Vadot clock-names = "nand"; 506*f126890aSEmmanuel Vadot resets = <&tegra_car 13>; 507*f126890aSEmmanuel Vadot reset-names = "nand"; 508*f126890aSEmmanuel Vadot assigned-clocks = <&tegra_car TEGRA20_CLK_NDFLASH>; 509*f126890aSEmmanuel Vadot assigned-clock-rates = <150000000>; 510*f126890aSEmmanuel Vadot power-domains = <&pd_core>; 511*f126890aSEmmanuel Vadot operating-points-v2 = <&ndflash_dvfs_opp_table>; 512*f126890aSEmmanuel Vadot status = "disabled"; 513*f126890aSEmmanuel Vadot }; 514*f126890aSEmmanuel Vadot 515*f126890aSEmmanuel Vadot gmi@70009000 { 516*f126890aSEmmanuel Vadot compatible = "nvidia,tegra20-gmi"; 517*f126890aSEmmanuel Vadot reg = <0x70009000 0x1000>; 518*f126890aSEmmanuel Vadot #address-cells = <2>; 519*f126890aSEmmanuel Vadot #size-cells = <1>; 520*f126890aSEmmanuel Vadot ranges = <0 0 0xd0000000 0xfffffff>; 521*f126890aSEmmanuel Vadot clocks = <&tegra_car TEGRA20_CLK_NOR>; 522*f126890aSEmmanuel Vadot clock-names = "gmi"; 523*f126890aSEmmanuel Vadot resets = <&tegra_car 42>; 524*f126890aSEmmanuel Vadot reset-names = "gmi"; 525*f126890aSEmmanuel Vadot power-domains = <&pd_core>; 526*f126890aSEmmanuel Vadot operating-points-v2 = <&nor_dvfs_opp_table>; 527*f126890aSEmmanuel Vadot status = "disabled"; 528*f126890aSEmmanuel Vadot }; 529*f126890aSEmmanuel Vadot 530*f126890aSEmmanuel Vadot pwm: pwm@7000a000 { 531*f126890aSEmmanuel Vadot compatible = "nvidia,tegra20-pwm"; 532*f126890aSEmmanuel Vadot reg = <0x7000a000 0x100>; 533*f126890aSEmmanuel Vadot #pwm-cells = <2>; 534*f126890aSEmmanuel Vadot clocks = <&tegra_car TEGRA20_CLK_PWM>; 535*f126890aSEmmanuel Vadot resets = <&tegra_car 17>; 536*f126890aSEmmanuel Vadot reset-names = "pwm"; 537*f126890aSEmmanuel Vadot status = "disabled"; 538*f126890aSEmmanuel Vadot }; 539*f126890aSEmmanuel Vadot 540*f126890aSEmmanuel Vadot i2c@7000c000 { 541*f126890aSEmmanuel Vadot compatible = "nvidia,tegra20-i2c"; 542*f126890aSEmmanuel Vadot reg = <0x7000c000 0x100>; 543*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>; 544*f126890aSEmmanuel Vadot #address-cells = <1>; 545*f126890aSEmmanuel Vadot #size-cells = <0>; 546*f126890aSEmmanuel Vadot clocks = <&tegra_car TEGRA20_CLK_I2C1>, 547*f126890aSEmmanuel Vadot <&tegra_car TEGRA20_CLK_PLL_P_OUT3>; 548*f126890aSEmmanuel Vadot clock-names = "div-clk", "fast-clk"; 549*f126890aSEmmanuel Vadot resets = <&tegra_car 12>; 550*f126890aSEmmanuel Vadot reset-names = "i2c"; 551*f126890aSEmmanuel Vadot dmas = <&apbdma 21>, <&apbdma 21>; 552*f126890aSEmmanuel Vadot dma-names = "rx", "tx"; 553*f126890aSEmmanuel Vadot status = "disabled"; 554*f126890aSEmmanuel Vadot }; 555*f126890aSEmmanuel Vadot 556*f126890aSEmmanuel Vadot spi@7000c380 { 557*f126890aSEmmanuel Vadot compatible = "nvidia,tegra20-sflash"; 558*f126890aSEmmanuel Vadot reg = <0x7000c380 0x80>; 559*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>; 560*f126890aSEmmanuel Vadot #address-cells = <1>; 561*f126890aSEmmanuel Vadot #size-cells = <0>; 562*f126890aSEmmanuel Vadot clocks = <&tegra_car TEGRA20_CLK_SPI>; 563*f126890aSEmmanuel Vadot resets = <&tegra_car 43>; 564*f126890aSEmmanuel Vadot reset-names = "spi"; 565*f126890aSEmmanuel Vadot dmas = <&apbdma 11>, <&apbdma 11>; 566*f126890aSEmmanuel Vadot dma-names = "rx", "tx"; 567*f126890aSEmmanuel Vadot status = "disabled"; 568*f126890aSEmmanuel Vadot }; 569*f126890aSEmmanuel Vadot 570*f126890aSEmmanuel Vadot i2c2: i2c@7000c400 { 571*f126890aSEmmanuel Vadot compatible = "nvidia,tegra20-i2c"; 572*f126890aSEmmanuel Vadot reg = <0x7000c400 0x100>; 573*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>; 574*f126890aSEmmanuel Vadot #address-cells = <1>; 575*f126890aSEmmanuel Vadot #size-cells = <0>; 576*f126890aSEmmanuel Vadot clocks = <&tegra_car TEGRA20_CLK_I2C2>, 577*f126890aSEmmanuel Vadot <&tegra_car TEGRA20_CLK_PLL_P_OUT3>; 578*f126890aSEmmanuel Vadot clock-names = "div-clk", "fast-clk"; 579*f126890aSEmmanuel Vadot resets = <&tegra_car 54>; 580*f126890aSEmmanuel Vadot reset-names = "i2c"; 581*f126890aSEmmanuel Vadot dmas = <&apbdma 22>, <&apbdma 22>; 582*f126890aSEmmanuel Vadot dma-names = "rx", "tx"; 583*f126890aSEmmanuel Vadot status = "disabled"; 584*f126890aSEmmanuel Vadot }; 585*f126890aSEmmanuel Vadot 586*f126890aSEmmanuel Vadot i2c@7000c500 { 587*f126890aSEmmanuel Vadot compatible = "nvidia,tegra20-i2c"; 588*f126890aSEmmanuel Vadot reg = <0x7000c500 0x100>; 589*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>; 590*f126890aSEmmanuel Vadot #address-cells = <1>; 591*f126890aSEmmanuel Vadot #size-cells = <0>; 592*f126890aSEmmanuel Vadot clocks = <&tegra_car TEGRA20_CLK_I2C3>, 593*f126890aSEmmanuel Vadot <&tegra_car TEGRA20_CLK_PLL_P_OUT3>; 594*f126890aSEmmanuel Vadot clock-names = "div-clk", "fast-clk"; 595*f126890aSEmmanuel Vadot resets = <&tegra_car 67>; 596*f126890aSEmmanuel Vadot reset-names = "i2c"; 597*f126890aSEmmanuel Vadot dmas = <&apbdma 23>, <&apbdma 23>; 598*f126890aSEmmanuel Vadot dma-names = "rx", "tx"; 599*f126890aSEmmanuel Vadot status = "disabled"; 600*f126890aSEmmanuel Vadot }; 601*f126890aSEmmanuel Vadot 602*f126890aSEmmanuel Vadot i2c@7000d000 { 603*f126890aSEmmanuel Vadot compatible = "nvidia,tegra20-i2c-dvc"; 604*f126890aSEmmanuel Vadot reg = <0x7000d000 0x200>; 605*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>; 606*f126890aSEmmanuel Vadot #address-cells = <1>; 607*f126890aSEmmanuel Vadot #size-cells = <0>; 608*f126890aSEmmanuel Vadot clocks = <&tegra_car TEGRA20_CLK_DVC>, 609*f126890aSEmmanuel Vadot <&tegra_car TEGRA20_CLK_PLL_P_OUT3>; 610*f126890aSEmmanuel Vadot clock-names = "div-clk", "fast-clk"; 611*f126890aSEmmanuel Vadot resets = <&tegra_car 47>; 612*f126890aSEmmanuel Vadot reset-names = "i2c"; 613*f126890aSEmmanuel Vadot dmas = <&apbdma 24>, <&apbdma 24>; 614*f126890aSEmmanuel Vadot dma-names = "rx", "tx"; 615*f126890aSEmmanuel Vadot status = "disabled"; 616*f126890aSEmmanuel Vadot }; 617*f126890aSEmmanuel Vadot 618*f126890aSEmmanuel Vadot spi@7000d400 { 619*f126890aSEmmanuel Vadot compatible = "nvidia,tegra20-slink"; 620*f126890aSEmmanuel Vadot reg = <0x7000d400 0x200>; 621*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>; 622*f126890aSEmmanuel Vadot #address-cells = <1>; 623*f126890aSEmmanuel Vadot #size-cells = <0>; 624*f126890aSEmmanuel Vadot clocks = <&tegra_car TEGRA20_CLK_SBC1>; 625*f126890aSEmmanuel Vadot resets = <&tegra_car 41>; 626*f126890aSEmmanuel Vadot reset-names = "spi"; 627*f126890aSEmmanuel Vadot dmas = <&apbdma 15>, <&apbdma 15>; 628*f126890aSEmmanuel Vadot dma-names = "rx", "tx"; 629*f126890aSEmmanuel Vadot status = "disabled"; 630*f126890aSEmmanuel Vadot }; 631*f126890aSEmmanuel Vadot 632*f126890aSEmmanuel Vadot spi@7000d600 { 633*f126890aSEmmanuel Vadot compatible = "nvidia,tegra20-slink"; 634*f126890aSEmmanuel Vadot reg = <0x7000d600 0x200>; 635*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>; 636*f126890aSEmmanuel Vadot #address-cells = <1>; 637*f126890aSEmmanuel Vadot #size-cells = <0>; 638*f126890aSEmmanuel Vadot clocks = <&tegra_car TEGRA20_CLK_SBC2>; 639*f126890aSEmmanuel Vadot resets = <&tegra_car 44>; 640*f126890aSEmmanuel Vadot reset-names = "spi"; 641*f126890aSEmmanuel Vadot dmas = <&apbdma 16>, <&apbdma 16>; 642*f126890aSEmmanuel Vadot dma-names = "rx", "tx"; 643*f126890aSEmmanuel Vadot status = "disabled"; 644*f126890aSEmmanuel Vadot }; 645*f126890aSEmmanuel Vadot 646*f126890aSEmmanuel Vadot spi@7000d800 { 647*f126890aSEmmanuel Vadot compatible = "nvidia,tegra20-slink"; 648*f126890aSEmmanuel Vadot reg = <0x7000d800 0x200>; 649*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>; 650*f126890aSEmmanuel Vadot #address-cells = <1>; 651*f126890aSEmmanuel Vadot #size-cells = <0>; 652*f126890aSEmmanuel Vadot clocks = <&tegra_car TEGRA20_CLK_SBC3>; 653*f126890aSEmmanuel Vadot resets = <&tegra_car 46>; 654*f126890aSEmmanuel Vadot reset-names = "spi"; 655*f126890aSEmmanuel Vadot dmas = <&apbdma 17>, <&apbdma 17>; 656*f126890aSEmmanuel Vadot dma-names = "rx", "tx"; 657*f126890aSEmmanuel Vadot status = "disabled"; 658*f126890aSEmmanuel Vadot }; 659*f126890aSEmmanuel Vadot 660*f126890aSEmmanuel Vadot spi@7000da00 { 661*f126890aSEmmanuel Vadot compatible = "nvidia,tegra20-slink"; 662*f126890aSEmmanuel Vadot reg = <0x7000da00 0x200>; 663*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>; 664*f126890aSEmmanuel Vadot #address-cells = <1>; 665*f126890aSEmmanuel Vadot #size-cells = <0>; 666*f126890aSEmmanuel Vadot clocks = <&tegra_car TEGRA20_CLK_SBC4>; 667*f126890aSEmmanuel Vadot resets = <&tegra_car 68>; 668*f126890aSEmmanuel Vadot reset-names = "spi"; 669*f126890aSEmmanuel Vadot dmas = <&apbdma 18>, <&apbdma 18>; 670*f126890aSEmmanuel Vadot dma-names = "rx", "tx"; 671*f126890aSEmmanuel Vadot status = "disabled"; 672*f126890aSEmmanuel Vadot }; 673*f126890aSEmmanuel Vadot 674*f126890aSEmmanuel Vadot rtc@7000e000 { 675*f126890aSEmmanuel Vadot compatible = "nvidia,tegra20-rtc"; 676*f126890aSEmmanuel Vadot reg = <0x7000e000 0x100>; 677*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>; 678*f126890aSEmmanuel Vadot clocks = <&tegra_car TEGRA20_CLK_RTC>; 679*f126890aSEmmanuel Vadot }; 680*f126890aSEmmanuel Vadot 681*f126890aSEmmanuel Vadot kbc@7000e200 { 682*f126890aSEmmanuel Vadot compatible = "nvidia,tegra20-kbc"; 683*f126890aSEmmanuel Vadot reg = <0x7000e200 0x100>; 684*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>; 685*f126890aSEmmanuel Vadot clocks = <&tegra_car TEGRA20_CLK_KBC>; 686*f126890aSEmmanuel Vadot resets = <&tegra_car 36>; 687*f126890aSEmmanuel Vadot reset-names = "kbc"; 688*f126890aSEmmanuel Vadot status = "disabled"; 689*f126890aSEmmanuel Vadot }; 690*f126890aSEmmanuel Vadot 691*f126890aSEmmanuel Vadot tegra_pmc: pmc@7000e400 { 692*f126890aSEmmanuel Vadot compatible = "nvidia,tegra20-pmc"; 693*f126890aSEmmanuel Vadot reg = <0x7000e400 0x400>; 694*f126890aSEmmanuel Vadot clocks = <&tegra_car TEGRA20_CLK_PCLK>, <&clk32k_in>; 695*f126890aSEmmanuel Vadot clock-names = "pclk", "clk32k_in"; 696*f126890aSEmmanuel Vadot #clock-cells = <1>; 697*f126890aSEmmanuel Vadot 698*f126890aSEmmanuel Vadot pd_core: core-domain { 699*f126890aSEmmanuel Vadot #power-domain-cells = <0>; 700*f126890aSEmmanuel Vadot operating-points-v2 = <&core_opp_table>; 701*f126890aSEmmanuel Vadot }; 702*f126890aSEmmanuel Vadot 703*f126890aSEmmanuel Vadot powergates { 704*f126890aSEmmanuel Vadot pd_mpe: mpe { 705*f126890aSEmmanuel Vadot clocks = <&tegra_car TEGRA20_CLK_MPE>; 706*f126890aSEmmanuel Vadot resets = <&mc TEGRA20_MC_RESET_MPEA>, 707*f126890aSEmmanuel Vadot <&mc TEGRA20_MC_RESET_MPEB>, 708*f126890aSEmmanuel Vadot <&mc TEGRA20_MC_RESET_MPEC>, 709*f126890aSEmmanuel Vadot <&tegra_car TEGRA20_CLK_MPE>; 710*f126890aSEmmanuel Vadot power-domains = <&pd_core>; 711*f126890aSEmmanuel Vadot #power-domain-cells = <0>; 712*f126890aSEmmanuel Vadot }; 713*f126890aSEmmanuel Vadot 714*f126890aSEmmanuel Vadot pd_3d: td { 715*f126890aSEmmanuel Vadot clocks = <&tegra_car TEGRA20_CLK_GR3D>; 716*f126890aSEmmanuel Vadot resets = <&mc TEGRA20_MC_RESET_3D>, 717*f126890aSEmmanuel Vadot <&tegra_car TEGRA20_CLK_GR3D>; 718*f126890aSEmmanuel Vadot power-domains = <&pd_core>; 719*f126890aSEmmanuel Vadot #power-domain-cells = <0>; 720*f126890aSEmmanuel Vadot }; 721*f126890aSEmmanuel Vadot 722*f126890aSEmmanuel Vadot pd_vde: vdec { 723*f126890aSEmmanuel Vadot clocks = <&tegra_car TEGRA20_CLK_VDE>; 724*f126890aSEmmanuel Vadot resets = <&mc TEGRA20_MC_RESET_VDE>, 725*f126890aSEmmanuel Vadot <&tegra_car TEGRA20_CLK_VDE>; 726*f126890aSEmmanuel Vadot power-domains = <&pd_core>; 727*f126890aSEmmanuel Vadot #power-domain-cells = <0>; 728*f126890aSEmmanuel Vadot }; 729*f126890aSEmmanuel Vadot 730*f126890aSEmmanuel Vadot pd_venc: venc { 731*f126890aSEmmanuel Vadot clocks = <&tegra_car TEGRA20_CLK_ISP>, 732*f126890aSEmmanuel Vadot <&tegra_car TEGRA20_CLK_VI>, 733*f126890aSEmmanuel Vadot <&tegra_car TEGRA20_CLK_CSI>; 734*f126890aSEmmanuel Vadot resets = <&mc TEGRA20_MC_RESET_ISP>, 735*f126890aSEmmanuel Vadot <&mc TEGRA20_MC_RESET_VI>, 736*f126890aSEmmanuel Vadot <&tegra_car TEGRA20_CLK_ISP>, 737*f126890aSEmmanuel Vadot <&tegra_car 20 /* VI */>, 738*f126890aSEmmanuel Vadot <&tegra_car TEGRA20_CLK_CSI>; 739*f126890aSEmmanuel Vadot power-domains = <&pd_core>; 740*f126890aSEmmanuel Vadot #power-domain-cells = <0>; 741*f126890aSEmmanuel Vadot }; 742*f126890aSEmmanuel Vadot }; 743*f126890aSEmmanuel Vadot }; 744*f126890aSEmmanuel Vadot 745*f126890aSEmmanuel Vadot mc: memory-controller@7000f000 { 746*f126890aSEmmanuel Vadot compatible = "nvidia,tegra20-mc-gart"; 747*f126890aSEmmanuel Vadot reg = <0x7000f000 0x00000400>, /* controller registers */ 748*f126890aSEmmanuel Vadot <0x58000000 0x02000000>; /* GART aperture */ 749*f126890aSEmmanuel Vadot clocks = <&tegra_car TEGRA20_CLK_MC>; 750*f126890aSEmmanuel Vadot clock-names = "mc"; 751*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>; 752*f126890aSEmmanuel Vadot #reset-cells = <1>; 753*f126890aSEmmanuel Vadot #iommu-cells = <0>; 754*f126890aSEmmanuel Vadot #interconnect-cells = <1>; 755*f126890aSEmmanuel Vadot }; 756*f126890aSEmmanuel Vadot 757*f126890aSEmmanuel Vadot emc: memory-controller@7000f400 { 758*f126890aSEmmanuel Vadot compatible = "nvidia,tegra20-emc"; 759*f126890aSEmmanuel Vadot reg = <0x7000f400 0x400>; 760*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>; 761*f126890aSEmmanuel Vadot clocks = <&tegra_car TEGRA20_CLK_EMC>; 762*f126890aSEmmanuel Vadot power-domains = <&pd_core>; 763*f126890aSEmmanuel Vadot #address-cells = <1>; 764*f126890aSEmmanuel Vadot #size-cells = <0>; 765*f126890aSEmmanuel Vadot #interconnect-cells = <0>; 766*f126890aSEmmanuel Vadot 767*f126890aSEmmanuel Vadot nvidia,memory-controller = <&mc>; 768*f126890aSEmmanuel Vadot operating-points-v2 = <&emc_icc_dvfs_opp_table>; 769*f126890aSEmmanuel Vadot }; 770*f126890aSEmmanuel Vadot 771*f126890aSEmmanuel Vadot fuse@7000f800 { 772*f126890aSEmmanuel Vadot compatible = "nvidia,tegra20-efuse"; 773*f126890aSEmmanuel Vadot reg = <0x7000f800 0x400>; 774*f126890aSEmmanuel Vadot clocks = <&tegra_car TEGRA20_CLK_FUSE>; 775*f126890aSEmmanuel Vadot clock-names = "fuse"; 776*f126890aSEmmanuel Vadot resets = <&tegra_car 39>; 777*f126890aSEmmanuel Vadot reset-names = "fuse"; 778*f126890aSEmmanuel Vadot }; 779*f126890aSEmmanuel Vadot 780*f126890aSEmmanuel Vadot pcie@80003000 { 781*f126890aSEmmanuel Vadot compatible = "nvidia,tegra20-pcie"; 782*f126890aSEmmanuel Vadot device_type = "pci"; 783*f126890aSEmmanuel Vadot reg = <0x80003000 0x00000800>, /* PADS registers */ 784*f126890aSEmmanuel Vadot <0x80003800 0x00000200>, /* AFI registers */ 785*f126890aSEmmanuel Vadot <0x90000000 0x10000000>; /* configuration space */ 786*f126890aSEmmanuel Vadot reg-names = "pads", "afi", "cs"; 787*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>, /* controller interrupt */ 788*f126890aSEmmanuel Vadot <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; /* MSI interrupt */ 789*f126890aSEmmanuel Vadot interrupt-names = "intr", "msi"; 790*f126890aSEmmanuel Vadot 791*f126890aSEmmanuel Vadot #interrupt-cells = <1>; 792*f126890aSEmmanuel Vadot interrupt-map-mask = <0 0 0 0>; 793*f126890aSEmmanuel Vadot interrupt-map = <0 0 0 0 &intc GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>; 794*f126890aSEmmanuel Vadot 795*f126890aSEmmanuel Vadot bus-range = <0x00 0xff>; 796*f126890aSEmmanuel Vadot #address-cells = <3>; 797*f126890aSEmmanuel Vadot #size-cells = <2>; 798*f126890aSEmmanuel Vadot 799*f126890aSEmmanuel Vadot ranges = <0x02000000 0 0x80000000 0x80000000 0 0x00001000>, /* port 0 registers */ 800*f126890aSEmmanuel Vadot <0x02000000 0 0x80001000 0x80001000 0 0x00001000>, /* port 1 registers */ 801*f126890aSEmmanuel Vadot <0x01000000 0 0 0x82000000 0 0x00010000>, /* downstream I/O */ 802*f126890aSEmmanuel Vadot <0x02000000 0 0xa0000000 0xa0000000 0 0x08000000>, /* non-prefetchable memory */ 803*f126890aSEmmanuel Vadot <0x42000000 0 0xa8000000 0xa8000000 0 0x18000000>; /* prefetchable memory */ 804*f126890aSEmmanuel Vadot 805*f126890aSEmmanuel Vadot clocks = <&tegra_car TEGRA20_CLK_PEX>, 806*f126890aSEmmanuel Vadot <&tegra_car TEGRA20_CLK_AFI>, 807*f126890aSEmmanuel Vadot <&tegra_car TEGRA20_CLK_PLL_E>; 808*f126890aSEmmanuel Vadot clock-names = "pex", "afi", "pll_e"; 809*f126890aSEmmanuel Vadot resets = <&tegra_car 70>, 810*f126890aSEmmanuel Vadot <&tegra_car 72>, 811*f126890aSEmmanuel Vadot <&tegra_car 74>; 812*f126890aSEmmanuel Vadot reset-names = "pex", "afi", "pcie_x"; 813*f126890aSEmmanuel Vadot power-domains = <&pd_core>; 814*f126890aSEmmanuel Vadot operating-points-v2 = <&pcie_dvfs_opp_table>; 815*f126890aSEmmanuel Vadot 816*f126890aSEmmanuel Vadot status = "disabled"; 817*f126890aSEmmanuel Vadot 818*f126890aSEmmanuel Vadot pci@1,0 { 819*f126890aSEmmanuel Vadot device_type = "pci"; 820*f126890aSEmmanuel Vadot assigned-addresses = <0x82000800 0 0x80000000 0 0x1000>; 821*f126890aSEmmanuel Vadot reg = <0x000800 0 0 0 0>; 822*f126890aSEmmanuel Vadot bus-range = <0x00 0xff>; 823*f126890aSEmmanuel Vadot status = "disabled"; 824*f126890aSEmmanuel Vadot 825*f126890aSEmmanuel Vadot #address-cells = <3>; 826*f126890aSEmmanuel Vadot #size-cells = <2>; 827*f126890aSEmmanuel Vadot ranges; 828*f126890aSEmmanuel Vadot 829*f126890aSEmmanuel Vadot nvidia,num-lanes = <2>; 830*f126890aSEmmanuel Vadot }; 831*f126890aSEmmanuel Vadot 832*f126890aSEmmanuel Vadot pci@2,0 { 833*f126890aSEmmanuel Vadot device_type = "pci"; 834*f126890aSEmmanuel Vadot assigned-addresses = <0x82001000 0 0x80001000 0 0x1000>; 835*f126890aSEmmanuel Vadot reg = <0x001000 0 0 0 0>; 836*f126890aSEmmanuel Vadot bus-range = <0x00 0xff>; 837*f126890aSEmmanuel Vadot status = "disabled"; 838*f126890aSEmmanuel Vadot 839*f126890aSEmmanuel Vadot #address-cells = <3>; 840*f126890aSEmmanuel Vadot #size-cells = <2>; 841*f126890aSEmmanuel Vadot ranges; 842*f126890aSEmmanuel Vadot 843*f126890aSEmmanuel Vadot nvidia,num-lanes = <2>; 844*f126890aSEmmanuel Vadot }; 845*f126890aSEmmanuel Vadot }; 846*f126890aSEmmanuel Vadot 847*f126890aSEmmanuel Vadot usb@c5000000 { 848*f126890aSEmmanuel Vadot compatible = "nvidia,tegra20-ehci"; 849*f126890aSEmmanuel Vadot reg = <0xc5000000 0x4000>; 850*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>; 851*f126890aSEmmanuel Vadot phy_type = "utmi"; 852*f126890aSEmmanuel Vadot clocks = <&tegra_car TEGRA20_CLK_USBD>; 853*f126890aSEmmanuel Vadot resets = <&tegra_car 22>; 854*f126890aSEmmanuel Vadot reset-names = "usb"; 855*f126890aSEmmanuel Vadot nvidia,needs-double-reset; 856*f126890aSEmmanuel Vadot nvidia,phy = <&phy1>; 857*f126890aSEmmanuel Vadot power-domains = <&pd_core>; 858*f126890aSEmmanuel Vadot operating-points-v2 = <&usbd_dvfs_opp_table>; 859*f126890aSEmmanuel Vadot status = "disabled"; 860*f126890aSEmmanuel Vadot }; 861*f126890aSEmmanuel Vadot 862*f126890aSEmmanuel Vadot phy1: usb-phy@c5000000 { 863*f126890aSEmmanuel Vadot compatible = "nvidia,tegra20-usb-phy"; 864*f126890aSEmmanuel Vadot reg = <0xc5000000 0x4000>, 865*f126890aSEmmanuel Vadot <0xc5000000 0x4000>; 866*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>; 867*f126890aSEmmanuel Vadot phy_type = "utmi"; 868*f126890aSEmmanuel Vadot clocks = <&tegra_car TEGRA20_CLK_USBD>, 869*f126890aSEmmanuel Vadot <&tegra_car TEGRA20_CLK_PLL_U>, 870*f126890aSEmmanuel Vadot <&tegra_car TEGRA20_CLK_CLK_M>, 871*f126890aSEmmanuel Vadot <&tegra_car TEGRA20_CLK_USBD>; 872*f126890aSEmmanuel Vadot clock-names = "reg", "pll_u", "timer", "utmi-pads"; 873*f126890aSEmmanuel Vadot resets = <&tegra_car 22>, <&tegra_car 22>; 874*f126890aSEmmanuel Vadot reset-names = "usb", "utmi-pads"; 875*f126890aSEmmanuel Vadot #phy-cells = <0>; 876*f126890aSEmmanuel Vadot nvidia,has-legacy-mode; 877*f126890aSEmmanuel Vadot nvidia,hssync-start-delay = <9>; 878*f126890aSEmmanuel Vadot nvidia,idle-wait-delay = <17>; 879*f126890aSEmmanuel Vadot nvidia,elastic-limit = <16>; 880*f126890aSEmmanuel Vadot nvidia,term-range-adj = <6>; 881*f126890aSEmmanuel Vadot nvidia,xcvr-setup = <9>; 882*f126890aSEmmanuel Vadot nvidia,xcvr-lsfslew = <1>; 883*f126890aSEmmanuel Vadot nvidia,xcvr-lsrslew = <1>; 884*f126890aSEmmanuel Vadot nvidia,has-utmi-pad-registers; 885*f126890aSEmmanuel Vadot nvidia,pmc = <&tegra_pmc 0>; 886*f126890aSEmmanuel Vadot status = "disabled"; 887*f126890aSEmmanuel Vadot }; 888*f126890aSEmmanuel Vadot 889*f126890aSEmmanuel Vadot usb@c5004000 { 890*f126890aSEmmanuel Vadot compatible = "nvidia,tegra20-ehci"; 891*f126890aSEmmanuel Vadot reg = <0xc5004000 0x4000>; 892*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>; 893*f126890aSEmmanuel Vadot phy_type = "ulpi"; 894*f126890aSEmmanuel Vadot clocks = <&tegra_car TEGRA20_CLK_USB2>; 895*f126890aSEmmanuel Vadot resets = <&tegra_car 58>; 896*f126890aSEmmanuel Vadot reset-names = "usb"; 897*f126890aSEmmanuel Vadot nvidia,phy = <&phy2>; 898*f126890aSEmmanuel Vadot power-domains = <&pd_core>; 899*f126890aSEmmanuel Vadot operating-points-v2 = <&usb2_dvfs_opp_table>; 900*f126890aSEmmanuel Vadot status = "disabled"; 901*f126890aSEmmanuel Vadot }; 902*f126890aSEmmanuel Vadot 903*f126890aSEmmanuel Vadot phy2: usb-phy@c5004000 { 904*f126890aSEmmanuel Vadot compatible = "nvidia,tegra20-usb-phy"; 905*f126890aSEmmanuel Vadot reg = <0xc5004000 0x4000>; 906*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>; 907*f126890aSEmmanuel Vadot phy_type = "ulpi"; 908*f126890aSEmmanuel Vadot clocks = <&tegra_car TEGRA20_CLK_USB2>, 909*f126890aSEmmanuel Vadot <&tegra_car TEGRA20_CLK_PLL_U>, 910*f126890aSEmmanuel Vadot <&tegra_car TEGRA20_CLK_CDEV2>; 911*f126890aSEmmanuel Vadot clock-names = "reg", "pll_u", "ulpi-link"; 912*f126890aSEmmanuel Vadot resets = <&tegra_car 58>, <&tegra_car 22>; 913*f126890aSEmmanuel Vadot reset-names = "usb", "utmi-pads"; 914*f126890aSEmmanuel Vadot #phy-cells = <0>; 915*f126890aSEmmanuel Vadot nvidia,pmc = <&tegra_pmc 1>; 916*f126890aSEmmanuel Vadot status = "disabled"; 917*f126890aSEmmanuel Vadot }; 918*f126890aSEmmanuel Vadot 919*f126890aSEmmanuel Vadot usb@c5008000 { 920*f126890aSEmmanuel Vadot compatible = "nvidia,tegra20-ehci"; 921*f126890aSEmmanuel Vadot reg = <0xc5008000 0x4000>; 922*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>; 923*f126890aSEmmanuel Vadot phy_type = "utmi"; 924*f126890aSEmmanuel Vadot clocks = <&tegra_car TEGRA20_CLK_USB3>; 925*f126890aSEmmanuel Vadot resets = <&tegra_car 59>; 926*f126890aSEmmanuel Vadot reset-names = "usb"; 927*f126890aSEmmanuel Vadot nvidia,phy = <&phy3>; 928*f126890aSEmmanuel Vadot power-domains = <&pd_core>; 929*f126890aSEmmanuel Vadot operating-points-v2 = <&usb3_dvfs_opp_table>; 930*f126890aSEmmanuel Vadot status = "disabled"; 931*f126890aSEmmanuel Vadot }; 932*f126890aSEmmanuel Vadot 933*f126890aSEmmanuel Vadot phy3: usb-phy@c5008000 { 934*f126890aSEmmanuel Vadot compatible = "nvidia,tegra20-usb-phy"; 935*f126890aSEmmanuel Vadot reg = <0xc5008000 0x4000>, 936*f126890aSEmmanuel Vadot <0xc5000000 0x4000>; 937*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>; 938*f126890aSEmmanuel Vadot phy_type = "utmi"; 939*f126890aSEmmanuel Vadot clocks = <&tegra_car TEGRA20_CLK_USB3>, 940*f126890aSEmmanuel Vadot <&tegra_car TEGRA20_CLK_PLL_U>, 941*f126890aSEmmanuel Vadot <&tegra_car TEGRA20_CLK_CLK_M>, 942*f126890aSEmmanuel Vadot <&tegra_car TEGRA20_CLK_USBD>; 943*f126890aSEmmanuel Vadot clock-names = "reg", "pll_u", "timer", "utmi-pads"; 944*f126890aSEmmanuel Vadot resets = <&tegra_car 59>, <&tegra_car 22>; 945*f126890aSEmmanuel Vadot reset-names = "usb", "utmi-pads"; 946*f126890aSEmmanuel Vadot #phy-cells = <0>; 947*f126890aSEmmanuel Vadot nvidia,hssync-start-delay = <9>; 948*f126890aSEmmanuel Vadot nvidia,idle-wait-delay = <17>; 949*f126890aSEmmanuel Vadot nvidia,elastic-limit = <16>; 950*f126890aSEmmanuel Vadot nvidia,term-range-adj = <6>; 951*f126890aSEmmanuel Vadot nvidia,xcvr-setup = <9>; 952*f126890aSEmmanuel Vadot nvidia,xcvr-lsfslew = <2>; 953*f126890aSEmmanuel Vadot nvidia,xcvr-lsrslew = <2>; 954*f126890aSEmmanuel Vadot nvidia,pmc = <&tegra_pmc 2>; 955*f126890aSEmmanuel Vadot status = "disabled"; 956*f126890aSEmmanuel Vadot }; 957*f126890aSEmmanuel Vadot 958*f126890aSEmmanuel Vadot mmc@c8000000 { 959*f126890aSEmmanuel Vadot compatible = "nvidia,tegra20-sdhci"; 960*f126890aSEmmanuel Vadot reg = <0xc8000000 0x200>; 961*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; 962*f126890aSEmmanuel Vadot clocks = <&tegra_car TEGRA20_CLK_SDMMC1>; 963*f126890aSEmmanuel Vadot clock-names = "sdhci"; 964*f126890aSEmmanuel Vadot resets = <&tegra_car 14>; 965*f126890aSEmmanuel Vadot reset-names = "sdhci"; 966*f126890aSEmmanuel Vadot power-domains = <&pd_core>; 967*f126890aSEmmanuel Vadot operating-points-v2 = <&sdmmc1_dvfs_opp_table>; 968*f126890aSEmmanuel Vadot status = "disabled"; 969*f126890aSEmmanuel Vadot }; 970*f126890aSEmmanuel Vadot 971*f126890aSEmmanuel Vadot mmc@c8000200 { 972*f126890aSEmmanuel Vadot compatible = "nvidia,tegra20-sdhci"; 973*f126890aSEmmanuel Vadot reg = <0xc8000200 0x200>; 974*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>; 975*f126890aSEmmanuel Vadot clocks = <&tegra_car TEGRA20_CLK_SDMMC2>; 976*f126890aSEmmanuel Vadot clock-names = "sdhci"; 977*f126890aSEmmanuel Vadot resets = <&tegra_car 9>; 978*f126890aSEmmanuel Vadot reset-names = "sdhci"; 979*f126890aSEmmanuel Vadot power-domains = <&pd_core>; 980*f126890aSEmmanuel Vadot operating-points-v2 = <&sdmmc2_dvfs_opp_table>; 981*f126890aSEmmanuel Vadot status = "disabled"; 982*f126890aSEmmanuel Vadot }; 983*f126890aSEmmanuel Vadot 984*f126890aSEmmanuel Vadot mmc@c8000400 { 985*f126890aSEmmanuel Vadot compatible = "nvidia,tegra20-sdhci"; 986*f126890aSEmmanuel Vadot reg = <0xc8000400 0x200>; 987*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>; 988*f126890aSEmmanuel Vadot clocks = <&tegra_car TEGRA20_CLK_SDMMC3>; 989*f126890aSEmmanuel Vadot clock-names = "sdhci"; 990*f126890aSEmmanuel Vadot resets = <&tegra_car 69>; 991*f126890aSEmmanuel Vadot reset-names = "sdhci"; 992*f126890aSEmmanuel Vadot power-domains = <&pd_core>; 993*f126890aSEmmanuel Vadot operating-points-v2 = <&sdmmc3_dvfs_opp_table>; 994*f126890aSEmmanuel Vadot status = "disabled"; 995*f126890aSEmmanuel Vadot }; 996*f126890aSEmmanuel Vadot 997*f126890aSEmmanuel Vadot mmc@c8000600 { 998*f126890aSEmmanuel Vadot compatible = "nvidia,tegra20-sdhci"; 999*f126890aSEmmanuel Vadot reg = <0xc8000600 0x200>; 1000*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>; 1001*f126890aSEmmanuel Vadot clocks = <&tegra_car TEGRA20_CLK_SDMMC4>; 1002*f126890aSEmmanuel Vadot clock-names = "sdhci"; 1003*f126890aSEmmanuel Vadot resets = <&tegra_car 15>; 1004*f126890aSEmmanuel Vadot reset-names = "sdhci"; 1005*f126890aSEmmanuel Vadot power-domains = <&pd_core>; 1006*f126890aSEmmanuel Vadot operating-points-v2 = <&sdmmc4_dvfs_opp_table>; 1007*f126890aSEmmanuel Vadot status = "disabled"; 1008*f126890aSEmmanuel Vadot }; 1009*f126890aSEmmanuel Vadot 1010*f126890aSEmmanuel Vadot cpus { 1011*f126890aSEmmanuel Vadot #address-cells = <1>; 1012*f126890aSEmmanuel Vadot #size-cells = <0>; 1013*f126890aSEmmanuel Vadot 1014*f126890aSEmmanuel Vadot cpu@0 { 1015*f126890aSEmmanuel Vadot device_type = "cpu"; 1016*f126890aSEmmanuel Vadot compatible = "arm,cortex-a9"; 1017*f126890aSEmmanuel Vadot reg = <0>; 1018*f126890aSEmmanuel Vadot clocks = <&tegra_car TEGRA20_CLK_CCLK>; 1019*f126890aSEmmanuel Vadot }; 1020*f126890aSEmmanuel Vadot 1021*f126890aSEmmanuel Vadot cpu@1 { 1022*f126890aSEmmanuel Vadot device_type = "cpu"; 1023*f126890aSEmmanuel Vadot compatible = "arm,cortex-a9"; 1024*f126890aSEmmanuel Vadot reg = <1>; 1025*f126890aSEmmanuel Vadot clocks = <&tegra_car TEGRA20_CLK_CCLK>; 1026*f126890aSEmmanuel Vadot }; 1027*f126890aSEmmanuel Vadot }; 1028*f126890aSEmmanuel Vadot 1029*f126890aSEmmanuel Vadot pmu { 1030*f126890aSEmmanuel Vadot compatible = "arm,cortex-a9-pmu"; 1031*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>, 1032*f126890aSEmmanuel Vadot <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>; 1033*f126890aSEmmanuel Vadot interrupt-affinity = <&{/cpus/cpu@0}>, 1034*f126890aSEmmanuel Vadot <&{/cpus/cpu@1}>; 1035*f126890aSEmmanuel Vadot }; 1036*f126890aSEmmanuel Vadot 1037*f126890aSEmmanuel Vadot sound-hdmi { 1038*f126890aSEmmanuel Vadot compatible = "simple-audio-card"; 1039*f126890aSEmmanuel Vadot simple-audio-card,name = "NVIDIA Tegra20 HDMI"; 1040*f126890aSEmmanuel Vadot 1041*f126890aSEmmanuel Vadot #address-cells = <1>; 1042*f126890aSEmmanuel Vadot #size-cells = <0>; 1043*f126890aSEmmanuel Vadot 1044*f126890aSEmmanuel Vadot simple-audio-card,dai-link@0 { 1045*f126890aSEmmanuel Vadot reg = <0>; 1046*f126890aSEmmanuel Vadot 1047*f126890aSEmmanuel Vadot codec { 1048*f126890aSEmmanuel Vadot sound-dai = <&tegra_hdmi>; 1049*f126890aSEmmanuel Vadot }; 1050*f126890aSEmmanuel Vadot 1051*f126890aSEmmanuel Vadot cpu { 1052*f126890aSEmmanuel Vadot sound-dai = <&tegra_spdif>; 1053*f126890aSEmmanuel Vadot }; 1054*f126890aSEmmanuel Vadot }; 1055*f126890aSEmmanuel Vadot }; 1056*f126890aSEmmanuel Vadot}; 1057