1*724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0 2*724ba675SRob Herring#include <dt-bindings/clock/tegra30-car.h> 3*724ba675SRob Herring#include <dt-bindings/gpio/tegra-gpio.h> 4*724ba675SRob Herring#include <dt-bindings/memory/tegra30-mc.h> 5*724ba675SRob Herring#include <dt-bindings/pinctrl/pinctrl-tegra.h> 6*724ba675SRob Herring#include <dt-bindings/interrupt-controller/arm-gic.h> 7*724ba675SRob Herring#include <dt-bindings/soc/tegra-pmc.h> 8*724ba675SRob Herring#include <dt-bindings/thermal/thermal.h> 9*724ba675SRob Herring 10*724ba675SRob Herring#include "tegra30-peripherals-opp.dtsi" 11*724ba675SRob Herring 12*724ba675SRob Herring/ { 13*724ba675SRob Herring compatible = "nvidia,tegra30"; 14*724ba675SRob Herring interrupt-parent = <&lic>; 15*724ba675SRob Herring #address-cells = <1>; 16*724ba675SRob Herring #size-cells = <1>; 17*724ba675SRob Herring 18*724ba675SRob Herring memory@80000000 { 19*724ba675SRob Herring device_type = "memory"; 20*724ba675SRob Herring reg = <0x80000000 0x0>; 21*724ba675SRob Herring }; 22*724ba675SRob Herring 23*724ba675SRob Herring pcie@3000 { 24*724ba675SRob Herring compatible = "nvidia,tegra30-pcie"; 25*724ba675SRob Herring device_type = "pci"; 26*724ba675SRob Herring reg = <0x00003000 0x00000800>, /* PADS registers */ 27*724ba675SRob Herring <0x00003800 0x00000200>, /* AFI registers */ 28*724ba675SRob Herring <0x10000000 0x10000000>; /* configuration space */ 29*724ba675SRob Herring reg-names = "pads", "afi", "cs"; 30*724ba675SRob Herring interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>, /* controller interrupt */ 31*724ba675SRob Herring <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; /* MSI interrupt */ 32*724ba675SRob Herring interrupt-names = "intr", "msi"; 33*724ba675SRob Herring 34*724ba675SRob Herring #interrupt-cells = <1>; 35*724ba675SRob Herring interrupt-map-mask = <0 0 0 0>; 36*724ba675SRob Herring interrupt-map = <0 0 0 0 &intc GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>; 37*724ba675SRob Herring 38*724ba675SRob Herring bus-range = <0x00 0xff>; 39*724ba675SRob Herring #address-cells = <3>; 40*724ba675SRob Herring #size-cells = <2>; 41*724ba675SRob Herring 42*724ba675SRob Herring ranges = <0x02000000 0 0x00000000 0x00000000 0 0x00001000>, /* port 0 configuration space */ 43*724ba675SRob Herring <0x02000000 0 0x00001000 0x00001000 0 0x00001000>, /* port 1 configuration space */ 44*724ba675SRob Herring <0x02000000 0 0x00004000 0x00004000 0 0x00001000>, /* port 2 configuration space */ 45*724ba675SRob Herring <0x01000000 0 0 0x02000000 0 0x00010000>, /* downstream I/O */ 46*724ba675SRob Herring <0x02000000 0 0x20000000 0x20000000 0 0x08000000>, /* non-prefetchable memory */ 47*724ba675SRob Herring <0x42000000 0 0x28000000 0x28000000 0 0x18000000>; /* prefetchable memory */ 48*724ba675SRob Herring 49*724ba675SRob Herring clocks = <&tegra_car TEGRA30_CLK_PCIE>, 50*724ba675SRob Herring <&tegra_car TEGRA30_CLK_AFI>, 51*724ba675SRob Herring <&tegra_car TEGRA30_CLK_PLL_E>, 52*724ba675SRob Herring <&tegra_car TEGRA30_CLK_CML0>; 53*724ba675SRob Herring clock-names = "pex", "afi", "pll_e", "cml"; 54*724ba675SRob Herring resets = <&tegra_car 70>, 55*724ba675SRob Herring <&tegra_car 72>, 56*724ba675SRob Herring <&tegra_car 74>; 57*724ba675SRob Herring reset-names = "pex", "afi", "pcie_x"; 58*724ba675SRob Herring power-domains = <&pd_core>; 59*724ba675SRob Herring operating-points-v2 = <&pcie_dvfs_opp_table>; 60*724ba675SRob Herring status = "disabled"; 61*724ba675SRob Herring 62*724ba675SRob Herring pci@1,0 { 63*724ba675SRob Herring device_type = "pci"; 64*724ba675SRob Herring assigned-addresses = <0x82000800 0 0x00000000 0 0x1000>; 65*724ba675SRob Herring reg = <0x000800 0 0 0 0>; 66*724ba675SRob Herring bus-range = <0x00 0xff>; 67*724ba675SRob Herring status = "disabled"; 68*724ba675SRob Herring 69*724ba675SRob Herring #address-cells = <3>; 70*724ba675SRob Herring #size-cells = <2>; 71*724ba675SRob Herring ranges; 72*724ba675SRob Herring 73*724ba675SRob Herring nvidia,num-lanes = <2>; 74*724ba675SRob Herring }; 75*724ba675SRob Herring 76*724ba675SRob Herring pci@2,0 { 77*724ba675SRob Herring device_type = "pci"; 78*724ba675SRob Herring assigned-addresses = <0x82001000 0 0x00001000 0 0x1000>; 79*724ba675SRob Herring reg = <0x001000 0 0 0 0>; 80*724ba675SRob Herring bus-range = <0x00 0xff>; 81*724ba675SRob Herring status = "disabled"; 82*724ba675SRob Herring 83*724ba675SRob Herring #address-cells = <3>; 84*724ba675SRob Herring #size-cells = <2>; 85*724ba675SRob Herring ranges; 86*724ba675SRob Herring 87*724ba675SRob Herring nvidia,num-lanes = <2>; 88*724ba675SRob Herring }; 89*724ba675SRob Herring 90*724ba675SRob Herring pci@3,0 { 91*724ba675SRob Herring device_type = "pci"; 92*724ba675SRob Herring assigned-addresses = <0x82001800 0 0x00004000 0 0x1000>; 93*724ba675SRob Herring reg = <0x001800 0 0 0 0>; 94*724ba675SRob Herring bus-range = <0x00 0xff>; 95*724ba675SRob Herring status = "disabled"; 96*724ba675SRob Herring 97*724ba675SRob Herring #address-cells = <3>; 98*724ba675SRob Herring #size-cells = <2>; 99*724ba675SRob Herring ranges; 100*724ba675SRob Herring 101*724ba675SRob Herring nvidia,num-lanes = <2>; 102*724ba675SRob Herring }; 103*724ba675SRob Herring }; 104*724ba675SRob Herring 105*724ba675SRob Herring sram@40000000 { 106*724ba675SRob Herring compatible = "mmio-sram"; 107*724ba675SRob Herring reg = <0x40000000 0x40000>; 108*724ba675SRob Herring #address-cells = <1>; 109*724ba675SRob Herring #size-cells = <1>; 110*724ba675SRob Herring ranges = <0 0x40000000 0x40000>; 111*724ba675SRob Herring 112*724ba675SRob Herring vde_pool: sram@400 { 113*724ba675SRob Herring reg = <0x400 0x3fc00>; 114*724ba675SRob Herring pool; 115*724ba675SRob Herring }; 116*724ba675SRob Herring }; 117*724ba675SRob Herring 118*724ba675SRob Herring host1x@50000000 { 119*724ba675SRob Herring compatible = "nvidia,tegra30-host1x"; 120*724ba675SRob Herring reg = <0x50000000 0x00024000>; 121*724ba675SRob Herring interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>, /* syncpt */ 122*724ba675SRob Herring <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; /* general */ 123*724ba675SRob Herring interrupt-names = "syncpt", "host1x"; 124*724ba675SRob Herring clocks = <&tegra_car TEGRA30_CLK_HOST1X>; 125*724ba675SRob Herring clock-names = "host1x"; 126*724ba675SRob Herring resets = <&tegra_car 28>, <&mc TEGRA30_MC_RESET_HC>; 127*724ba675SRob Herring reset-names = "host1x", "mc"; 128*724ba675SRob Herring iommus = <&mc TEGRA_SWGROUP_HC>; 129*724ba675SRob Herring power-domains = <&pd_heg>; 130*724ba675SRob Herring operating-points-v2 = <&host1x_dvfs_opp_table>; 131*724ba675SRob Herring 132*724ba675SRob Herring #address-cells = <1>; 133*724ba675SRob Herring #size-cells = <1>; 134*724ba675SRob Herring 135*724ba675SRob Herring ranges = <0x54000000 0x54000000 0x04000000>; 136*724ba675SRob Herring 137*724ba675SRob Herring mpe@54040000 { 138*724ba675SRob Herring compatible = "nvidia,tegra30-mpe"; 139*724ba675SRob Herring reg = <0x54040000 0x00040000>; 140*724ba675SRob Herring interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>; 141*724ba675SRob Herring clocks = <&tegra_car TEGRA30_CLK_MPE>; 142*724ba675SRob Herring resets = <&tegra_car 60>; 143*724ba675SRob Herring reset-names = "mpe"; 144*724ba675SRob Herring power-domains = <&pd_mpe>; 145*724ba675SRob Herring operating-points-v2 = <&mpe_dvfs_opp_table>; 146*724ba675SRob Herring 147*724ba675SRob Herring iommus = <&mc TEGRA_SWGROUP_MPE>; 148*724ba675SRob Herring 149*724ba675SRob Herring status = "disabled"; 150*724ba675SRob Herring }; 151*724ba675SRob Herring 152*724ba675SRob Herring vi@54080000 { 153*724ba675SRob Herring compatible = "nvidia,tegra30-vi"; 154*724ba675SRob Herring reg = <0x54080000 0x00040000>; 155*724ba675SRob Herring interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>; 156*724ba675SRob Herring clocks = <&tegra_car TEGRA30_CLK_VI>; 157*724ba675SRob Herring resets = <&tegra_car 20>; 158*724ba675SRob Herring reset-names = "vi"; 159*724ba675SRob Herring power-domains = <&pd_venc>; 160*724ba675SRob Herring operating-points-v2 = <&vi_dvfs_opp_table>; 161*724ba675SRob Herring 162*724ba675SRob Herring iommus = <&mc TEGRA_SWGROUP_VI>; 163*724ba675SRob Herring 164*724ba675SRob Herring status = "disabled"; 165*724ba675SRob Herring }; 166*724ba675SRob Herring 167*724ba675SRob Herring epp@540c0000 { 168*724ba675SRob Herring compatible = "nvidia,tegra30-epp"; 169*724ba675SRob Herring reg = <0x540c0000 0x00040000>; 170*724ba675SRob Herring interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>; 171*724ba675SRob Herring clocks = <&tegra_car TEGRA30_CLK_EPP>; 172*724ba675SRob Herring resets = <&tegra_car 19>; 173*724ba675SRob Herring reset-names = "epp"; 174*724ba675SRob Herring power-domains = <&pd_heg>; 175*724ba675SRob Herring operating-points-v2 = <&epp_dvfs_opp_table>; 176*724ba675SRob Herring 177*724ba675SRob Herring iommus = <&mc TEGRA_SWGROUP_EPP>; 178*724ba675SRob Herring 179*724ba675SRob Herring status = "disabled"; 180*724ba675SRob Herring }; 181*724ba675SRob Herring 182*724ba675SRob Herring isp@54100000 { 183*724ba675SRob Herring compatible = "nvidia,tegra30-isp"; 184*724ba675SRob Herring reg = <0x54100000 0x00040000>; 185*724ba675SRob Herring interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>; 186*724ba675SRob Herring clocks = <&tegra_car TEGRA30_CLK_ISP>; 187*724ba675SRob Herring resets = <&tegra_car 23>; 188*724ba675SRob Herring reset-names = "isp"; 189*724ba675SRob Herring power-domains = <&pd_venc>; 190*724ba675SRob Herring 191*724ba675SRob Herring iommus = <&mc TEGRA_SWGROUP_ISP>; 192*724ba675SRob Herring 193*724ba675SRob Herring status = "disabled"; 194*724ba675SRob Herring }; 195*724ba675SRob Herring 196*724ba675SRob Herring gr2d@54140000 { 197*724ba675SRob Herring compatible = "nvidia,tegra30-gr2d"; 198*724ba675SRob Herring reg = <0x54140000 0x00040000>; 199*724ba675SRob Herring interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>; 200*724ba675SRob Herring clocks = <&tegra_car TEGRA30_CLK_GR2D>; 201*724ba675SRob Herring resets = <&tegra_car 21>, <&mc TEGRA30_MC_RESET_2D>; 202*724ba675SRob Herring reset-names = "2d", "mc"; 203*724ba675SRob Herring power-domains = <&pd_heg>; 204*724ba675SRob Herring operating-points-v2 = <&gr2d_dvfs_opp_table>; 205*724ba675SRob Herring 206*724ba675SRob Herring iommus = <&mc TEGRA_SWGROUP_G2>; 207*724ba675SRob Herring }; 208*724ba675SRob Herring 209*724ba675SRob Herring gr3d@54180000 { 210*724ba675SRob Herring compatible = "nvidia,tegra30-gr3d"; 211*724ba675SRob Herring reg = <0x54180000 0x00040000>; 212*724ba675SRob Herring clocks = <&tegra_car TEGRA30_CLK_GR3D>, 213*724ba675SRob Herring <&tegra_car TEGRA30_CLK_GR3D2>; 214*724ba675SRob Herring clock-names = "3d", "3d2"; 215*724ba675SRob Herring resets = <&tegra_car 24>, 216*724ba675SRob Herring <&tegra_car 98>, 217*724ba675SRob Herring <&mc TEGRA30_MC_RESET_3D>, 218*724ba675SRob Herring <&mc TEGRA30_MC_RESET_3D2>; 219*724ba675SRob Herring reset-names = "3d", "3d2", "mc", "mc2"; 220*724ba675SRob Herring power-domains = <&pd_3d0>, <&pd_3d1>; 221*724ba675SRob Herring power-domain-names = "3d0", "3d1"; 222*724ba675SRob Herring operating-points-v2 = <&gr3d_dvfs_opp_table>; 223*724ba675SRob Herring 224*724ba675SRob Herring iommus = <&mc TEGRA_SWGROUP_NV>, 225*724ba675SRob Herring <&mc TEGRA_SWGROUP_NV2>; 226*724ba675SRob Herring }; 227*724ba675SRob Herring 228*724ba675SRob Herring dc@54200000 { 229*724ba675SRob Herring compatible = "nvidia,tegra30-dc"; 230*724ba675SRob Herring reg = <0x54200000 0x00040000>; 231*724ba675SRob Herring interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>; 232*724ba675SRob Herring clocks = <&tegra_car TEGRA30_CLK_DISP1>, 233*724ba675SRob Herring <&tegra_car TEGRA30_CLK_PLL_P>; 234*724ba675SRob Herring clock-names = "dc", "parent"; 235*724ba675SRob Herring resets = <&tegra_car 27>; 236*724ba675SRob Herring reset-names = "dc"; 237*724ba675SRob Herring power-domains = <&pd_core>; 238*724ba675SRob Herring operating-points-v2 = <&disp1_dvfs_opp_table>; 239*724ba675SRob Herring 240*724ba675SRob Herring iommus = <&mc TEGRA_SWGROUP_DC>; 241*724ba675SRob Herring 242*724ba675SRob Herring nvidia,head = <0>; 243*724ba675SRob Herring 244*724ba675SRob Herring interconnects = <&mc TEGRA30_MC_DISPLAY0A &emc>, 245*724ba675SRob Herring <&mc TEGRA30_MC_DISPLAY0B &emc>, 246*724ba675SRob Herring <&mc TEGRA30_MC_DISPLAY1B &emc>, 247*724ba675SRob Herring <&mc TEGRA30_MC_DISPLAY0C &emc>, 248*724ba675SRob Herring <&mc TEGRA30_MC_DISPLAYHC &emc>; 249*724ba675SRob Herring interconnect-names = "wina", 250*724ba675SRob Herring "winb", 251*724ba675SRob Herring "winb-vfilter", 252*724ba675SRob Herring "winc", 253*724ba675SRob Herring "cursor"; 254*724ba675SRob Herring 255*724ba675SRob Herring rgb { 256*724ba675SRob Herring status = "disabled"; 257*724ba675SRob Herring }; 258*724ba675SRob Herring }; 259*724ba675SRob Herring 260*724ba675SRob Herring dc@54240000 { 261*724ba675SRob Herring compatible = "nvidia,tegra30-dc"; 262*724ba675SRob Herring reg = <0x54240000 0x00040000>; 263*724ba675SRob Herring interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>; 264*724ba675SRob Herring clocks = <&tegra_car TEGRA30_CLK_DISP2>, 265*724ba675SRob Herring <&tegra_car TEGRA30_CLK_PLL_P>; 266*724ba675SRob Herring clock-names = "dc", "parent"; 267*724ba675SRob Herring resets = <&tegra_car 26>; 268*724ba675SRob Herring reset-names = "dc"; 269*724ba675SRob Herring power-domains = <&pd_core>; 270*724ba675SRob Herring operating-points-v2 = <&disp2_dvfs_opp_table>; 271*724ba675SRob Herring 272*724ba675SRob Herring iommus = <&mc TEGRA_SWGROUP_DCB>; 273*724ba675SRob Herring 274*724ba675SRob Herring nvidia,head = <1>; 275*724ba675SRob Herring 276*724ba675SRob Herring interconnects = <&mc TEGRA30_MC_DISPLAY0AB &emc>, 277*724ba675SRob Herring <&mc TEGRA30_MC_DISPLAY0BB &emc>, 278*724ba675SRob Herring <&mc TEGRA30_MC_DISPLAY1BB &emc>, 279*724ba675SRob Herring <&mc TEGRA30_MC_DISPLAY0CB &emc>, 280*724ba675SRob Herring <&mc TEGRA30_MC_DISPLAYHCB &emc>; 281*724ba675SRob Herring interconnect-names = "wina", 282*724ba675SRob Herring "winb", 283*724ba675SRob Herring "winb-vfilter", 284*724ba675SRob Herring "winc", 285*724ba675SRob Herring "cursor"; 286*724ba675SRob Herring 287*724ba675SRob Herring rgb { 288*724ba675SRob Herring status = "disabled"; 289*724ba675SRob Herring }; 290*724ba675SRob Herring }; 291*724ba675SRob Herring 292*724ba675SRob Herring hdmi@54280000 { 293*724ba675SRob Herring compatible = "nvidia,tegra30-hdmi"; 294*724ba675SRob Herring reg = <0x54280000 0x00040000>; 295*724ba675SRob Herring interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>; 296*724ba675SRob Herring clocks = <&tegra_car TEGRA30_CLK_HDMI>, 297*724ba675SRob Herring <&tegra_car TEGRA30_CLK_PLL_D2_OUT0>; 298*724ba675SRob Herring clock-names = "hdmi", "parent"; 299*724ba675SRob Herring resets = <&tegra_car 51>; 300*724ba675SRob Herring reset-names = "hdmi"; 301*724ba675SRob Herring power-domains = <&pd_core>; 302*724ba675SRob Herring operating-points-v2 = <&hdmi_dvfs_opp_table>; 303*724ba675SRob Herring status = "disabled"; 304*724ba675SRob Herring }; 305*724ba675SRob Herring 306*724ba675SRob Herring tvo@542c0000 { 307*724ba675SRob Herring compatible = "nvidia,tegra30-tvo"; 308*724ba675SRob Herring reg = <0x542c0000 0x00040000>; 309*724ba675SRob Herring interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>; 310*724ba675SRob Herring clocks = <&tegra_car TEGRA30_CLK_TVO>; 311*724ba675SRob Herring power-domains = <&pd_core>; 312*724ba675SRob Herring operating-points-v2 = <&tvo_dvfs_opp_table>; 313*724ba675SRob Herring status = "disabled"; 314*724ba675SRob Herring }; 315*724ba675SRob Herring 316*724ba675SRob Herring dsi@54300000 { 317*724ba675SRob Herring compatible = "nvidia,tegra30-dsi"; 318*724ba675SRob Herring reg = <0x54300000 0x00040000>; 319*724ba675SRob Herring clocks = <&tegra_car TEGRA30_CLK_DSIA>, 320*724ba675SRob Herring <&tegra_car TEGRA30_CLK_PLL_D_OUT0>; 321*724ba675SRob Herring clock-names = "dsi", "parent"; 322*724ba675SRob Herring resets = <&tegra_car 48>; 323*724ba675SRob Herring reset-names = "dsi"; 324*724ba675SRob Herring power-domains = <&pd_core>; 325*724ba675SRob Herring operating-points-v2 = <&dsia_dvfs_opp_table>; 326*724ba675SRob Herring status = "disabled"; 327*724ba675SRob Herring }; 328*724ba675SRob Herring 329*724ba675SRob Herring dsi@54400000 { 330*724ba675SRob Herring compatible = "nvidia,tegra30-dsi"; 331*724ba675SRob Herring reg = <0x54400000 0x00040000>; 332*724ba675SRob Herring clocks = <&tegra_car TEGRA30_CLK_DSIB>, 333*724ba675SRob Herring <&tegra_car TEGRA30_CLK_PLL_D_OUT0>; 334*724ba675SRob Herring clock-names = "dsi", "parent"; 335*724ba675SRob Herring resets = <&tegra_car 84>; 336*724ba675SRob Herring reset-names = "dsi"; 337*724ba675SRob Herring power-domains = <&pd_core>; 338*724ba675SRob Herring operating-points-v2 = <&dsib_dvfs_opp_table>; 339*724ba675SRob Herring status = "disabled"; 340*724ba675SRob Herring }; 341*724ba675SRob Herring }; 342*724ba675SRob Herring 343*724ba675SRob Herring timer@50040600 { 344*724ba675SRob Herring compatible = "arm,cortex-a9-twd-timer"; 345*724ba675SRob Herring reg = <0x50040600 0x20>; 346*724ba675SRob Herring interrupt-parent = <&intc>; 347*724ba675SRob Herring interrupts = <GIC_PPI 13 348*724ba675SRob Herring (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_EDGE_RISING)>; 349*724ba675SRob Herring clocks = <&tegra_car TEGRA30_CLK_TWD>; 350*724ba675SRob Herring }; 351*724ba675SRob Herring 352*724ba675SRob Herring intc: interrupt-controller@50041000 { 353*724ba675SRob Herring compatible = "arm,cortex-a9-gic"; 354*724ba675SRob Herring reg = <0x50041000 0x1000>, 355*724ba675SRob Herring <0x50040100 0x0100>; 356*724ba675SRob Herring interrupt-controller; 357*724ba675SRob Herring #interrupt-cells = <3>; 358*724ba675SRob Herring interrupt-parent = <&intc>; 359*724ba675SRob Herring }; 360*724ba675SRob Herring 361*724ba675SRob Herring cache-controller@50043000 { 362*724ba675SRob Herring compatible = "arm,pl310-cache"; 363*724ba675SRob Herring reg = <0x50043000 0x1000>; 364*724ba675SRob Herring arm,data-latency = <6 6 2>; 365*724ba675SRob Herring arm,tag-latency = <5 5 2>; 366*724ba675SRob Herring cache-unified; 367*724ba675SRob Herring cache-level = <2>; 368*724ba675SRob Herring }; 369*724ba675SRob Herring 370*724ba675SRob Herring lic: interrupt-controller@60004000 { 371*724ba675SRob Herring compatible = "nvidia,tegra30-ictlr"; 372*724ba675SRob Herring reg = <0x60004000 0x100>, 373*724ba675SRob Herring <0x60004100 0x50>, 374*724ba675SRob Herring <0x60004200 0x50>, 375*724ba675SRob Herring <0x60004300 0x50>, 376*724ba675SRob Herring <0x60004400 0x50>; 377*724ba675SRob Herring interrupt-controller; 378*724ba675SRob Herring #interrupt-cells = <3>; 379*724ba675SRob Herring interrupt-parent = <&intc>; 380*724ba675SRob Herring }; 381*724ba675SRob Herring 382*724ba675SRob Herring timer@60005000 { 383*724ba675SRob Herring compatible = "nvidia,tegra30-timer", "nvidia,tegra20-timer"; 384*724ba675SRob Herring reg = <0x60005000 0x400>; 385*724ba675SRob Herring interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>, 386*724ba675SRob Herring <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>, 387*724ba675SRob Herring <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>, 388*724ba675SRob Herring <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>, 389*724ba675SRob Herring <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>, 390*724ba675SRob Herring <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>; 391*724ba675SRob Herring clocks = <&tegra_car TEGRA30_CLK_TIMER>; 392*724ba675SRob Herring }; 393*724ba675SRob Herring 394*724ba675SRob Herring tegra_car: clock@60006000 { 395*724ba675SRob Herring compatible = "nvidia,tegra30-car"; 396*724ba675SRob Herring reg = <0x60006000 0x1000>; 397*724ba675SRob Herring #clock-cells = <1>; 398*724ba675SRob Herring #reset-cells = <1>; 399*724ba675SRob Herring 400*724ba675SRob Herring pll-c { 401*724ba675SRob Herring compatible = "nvidia,tegra30-pllc"; 402*724ba675SRob Herring clocks = <&tegra_car TEGRA30_CLK_PLL_C>; 403*724ba675SRob Herring power-domains = <&pd_core>; 404*724ba675SRob Herring operating-points-v2 = <&pll_c_dvfs_opp_table>; 405*724ba675SRob Herring }; 406*724ba675SRob Herring 407*724ba675SRob Herring pll-e { 408*724ba675SRob Herring compatible = "nvidia,tegra30-plle"; 409*724ba675SRob Herring clocks = <&tegra_car TEGRA30_CLK_PLL_E>; 410*724ba675SRob Herring power-domains = <&pd_core>; 411*724ba675SRob Herring operating-points-v2 = <&pll_e_dvfs_opp_table>; 412*724ba675SRob Herring }; 413*724ba675SRob Herring 414*724ba675SRob Herring pll-m { 415*724ba675SRob Herring compatible = "nvidia,tegra30-pllm"; 416*724ba675SRob Herring clocks = <&tegra_car TEGRA30_CLK_PLL_M>; 417*724ba675SRob Herring power-domains = <&pd_core>; 418*724ba675SRob Herring operating-points-v2 = <&pll_m_dvfs_opp_table>; 419*724ba675SRob Herring }; 420*724ba675SRob Herring 421*724ba675SRob Herring sclk { 422*724ba675SRob Herring compatible = "nvidia,tegra30-sclk"; 423*724ba675SRob Herring clocks = <&tegra_car TEGRA30_CLK_SCLK>; 424*724ba675SRob Herring power-domains = <&pd_core>; 425*724ba675SRob Herring operating-points-v2 = <&sclk_dvfs_opp_table>; 426*724ba675SRob Herring }; 427*724ba675SRob Herring }; 428*724ba675SRob Herring 429*724ba675SRob Herring flow-controller@60007000 { 430*724ba675SRob Herring compatible = "nvidia,tegra30-flowctrl"; 431*724ba675SRob Herring reg = <0x60007000 0x1000>; 432*724ba675SRob Herring }; 433*724ba675SRob Herring 434*724ba675SRob Herring apbdma: dma@6000a000 { 435*724ba675SRob Herring compatible = "nvidia,tegra30-apbdma", "nvidia,tegra20-apbdma"; 436*724ba675SRob Herring reg = <0x6000a000 0x1400>; 437*724ba675SRob Herring interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>, 438*724ba675SRob Herring <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>, 439*724ba675SRob Herring <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>, 440*724ba675SRob Herring <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>, 441*724ba675SRob Herring <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>, 442*724ba675SRob Herring <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>, 443*724ba675SRob Herring <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>, 444*724ba675SRob Herring <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>, 445*724ba675SRob Herring <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>, 446*724ba675SRob Herring <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>, 447*724ba675SRob Herring <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>, 448*724ba675SRob Herring <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>, 449*724ba675SRob Herring <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>, 450*724ba675SRob Herring <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>, 451*724ba675SRob Herring <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>, 452*724ba675SRob Herring <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>, 453*724ba675SRob Herring <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>, 454*724ba675SRob Herring <GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>, 455*724ba675SRob Herring <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>, 456*724ba675SRob Herring <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>, 457*724ba675SRob Herring <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>, 458*724ba675SRob Herring <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>, 459*724ba675SRob Herring <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>, 460*724ba675SRob Herring <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>, 461*724ba675SRob Herring <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>, 462*724ba675SRob Herring <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>, 463*724ba675SRob Herring <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>, 464*724ba675SRob Herring <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>, 465*724ba675SRob Herring <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>, 466*724ba675SRob Herring <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>, 467*724ba675SRob Herring <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>, 468*724ba675SRob Herring <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>; 469*724ba675SRob Herring clocks = <&tegra_car TEGRA30_CLK_APBDMA>; 470*724ba675SRob Herring resets = <&tegra_car 34>; 471*724ba675SRob Herring reset-names = "dma"; 472*724ba675SRob Herring #dma-cells = <1>; 473*724ba675SRob Herring }; 474*724ba675SRob Herring 475*724ba675SRob Herring ahb: ahb@6000c000 { 476*724ba675SRob Herring compatible = "nvidia,tegra30-ahb"; 477*724ba675SRob Herring reg = <0x6000c000 0x150>; /* AHB Arbitration + Gizmo Controller */ 478*724ba675SRob Herring }; 479*724ba675SRob Herring 480*724ba675SRob Herring actmon: actmon@6000c800 { 481*724ba675SRob Herring compatible = "nvidia,tegra30-actmon"; 482*724ba675SRob Herring reg = <0x6000c800 0x400>; 483*724ba675SRob Herring interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>; 484*724ba675SRob Herring clocks = <&tegra_car TEGRA30_CLK_ACTMON>, 485*724ba675SRob Herring <&tegra_car TEGRA30_CLK_EMC>; 486*724ba675SRob Herring clock-names = "actmon", "emc"; 487*724ba675SRob Herring resets = <&tegra_car TEGRA30_CLK_ACTMON>; 488*724ba675SRob Herring reset-names = "actmon"; 489*724ba675SRob Herring operating-points-v2 = <&emc_bw_dfs_opp_table>; 490*724ba675SRob Herring interconnects = <&mc TEGRA30_MC_MPCORER &emc>; 491*724ba675SRob Herring interconnect-names = "cpu-read"; 492*724ba675SRob Herring #cooling-cells = <2>; 493*724ba675SRob Herring }; 494*724ba675SRob Herring 495*724ba675SRob Herring gpio: gpio@6000d000 { 496*724ba675SRob Herring compatible = "nvidia,tegra30-gpio"; 497*724ba675SRob Herring reg = <0x6000d000 0x1000>; 498*724ba675SRob Herring interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>, 499*724ba675SRob Herring <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>, 500*724ba675SRob Herring <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>, 501*724ba675SRob Herring <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>, 502*724ba675SRob Herring <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>, 503*724ba675SRob Herring <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>, 504*724ba675SRob Herring <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>, 505*724ba675SRob Herring <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>; 506*724ba675SRob Herring #gpio-cells = <2>; 507*724ba675SRob Herring gpio-controller; 508*724ba675SRob Herring #interrupt-cells = <2>; 509*724ba675SRob Herring interrupt-controller; 510*724ba675SRob Herring gpio-ranges = <&pinmux 0 0 248>; 511*724ba675SRob Herring }; 512*724ba675SRob Herring 513*724ba675SRob Herring vde@6001a000 { 514*724ba675SRob Herring compatible = "nvidia,tegra30-vde", "nvidia,tegra20-vde"; 515*724ba675SRob Herring reg = <0x6001a000 0x1000>, /* Syntax Engine */ 516*724ba675SRob Herring <0x6001b000 0x1000>, /* Video Bitstream Engine */ 517*724ba675SRob Herring <0x6001c000 0x100>, /* Macroblock Engine */ 518*724ba675SRob Herring <0x6001c200 0x100>, /* Post-processing Engine */ 519*724ba675SRob Herring <0x6001c400 0x100>, /* Motion Compensation Engine */ 520*724ba675SRob Herring <0x6001c600 0x100>, /* Transform Engine */ 521*724ba675SRob Herring <0x6001c800 0x100>, /* Pixel prediction block */ 522*724ba675SRob Herring <0x6001ca00 0x100>, /* Video DMA */ 523*724ba675SRob Herring <0x6001d800 0x400>; /* Video frame controls */ 524*724ba675SRob Herring reg-names = "sxe", "bsev", "mbe", "ppe", "mce", 525*724ba675SRob Herring "tfe", "ppb", "vdma", "frameid"; 526*724ba675SRob Herring iram = <&vde_pool>; /* IRAM region */ 527*724ba675SRob Herring interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>, /* Sync token interrupt */ 528*724ba675SRob Herring <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>, /* BSE-V interrupt */ 529*724ba675SRob Herring <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; /* SXE interrupt */ 530*724ba675SRob Herring interrupt-names = "sync-token", "bsev", "sxe"; 531*724ba675SRob Herring clocks = <&tegra_car TEGRA30_CLK_VDE>; 532*724ba675SRob Herring reset-names = "vde", "mc"; 533*724ba675SRob Herring resets = <&tegra_car 61>, <&mc TEGRA30_MC_RESET_VDE>; 534*724ba675SRob Herring iommus = <&mc TEGRA_SWGROUP_VDE>; 535*724ba675SRob Herring power-domains = <&pd_vde>; 536*724ba675SRob Herring operating-points-v2 = <&vde_dvfs_opp_table>; 537*724ba675SRob Herring }; 538*724ba675SRob Herring 539*724ba675SRob Herring apbmisc@70000800 { 540*724ba675SRob Herring compatible = "nvidia,tegra30-apbmisc", "nvidia,tegra20-apbmisc"; 541*724ba675SRob Herring reg = <0x70000800 0x64>, /* Chip revision */ 542*724ba675SRob Herring <0x70000008 0x04>; /* Strapping options */ 543*724ba675SRob Herring }; 544*724ba675SRob Herring 545*724ba675SRob Herring pinmux: pinmux@70000868 { 546*724ba675SRob Herring compatible = "nvidia,tegra30-pinmux"; 547*724ba675SRob Herring reg = <0x70000868 0x0d4>, /* Pad control registers */ 548*724ba675SRob Herring <0x70003000 0x3e4>; /* Mux registers */ 549*724ba675SRob Herring }; 550*724ba675SRob Herring 551*724ba675SRob Herring /* 552*724ba675SRob Herring * There are two serial driver i.e. 8250 based simple serial 553*724ba675SRob Herring * driver and APB DMA based serial driver for higher baudrate 554*724ba675SRob Herring * and performace. To enable the 8250 based driver, the compatible 555*724ba675SRob Herring * is "nvidia,tegra30-uart", "nvidia,tegra20-uart" and to enable 556*724ba675SRob Herring * the APB DMA based serial driver, the compatible is 557*724ba675SRob Herring * "nvidia,tegra30-hsuart", "nvidia,tegra20-hsuart". 558*724ba675SRob Herring */ 559*724ba675SRob Herring uarta: serial@70006000 { 560*724ba675SRob Herring compatible = "nvidia,tegra30-uart", "nvidia,tegra20-uart"; 561*724ba675SRob Herring reg = <0x70006000 0x40>; 562*724ba675SRob Herring reg-shift = <2>; 563*724ba675SRob Herring interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>; 564*724ba675SRob Herring clocks = <&tegra_car TEGRA30_CLK_UARTA>; 565*724ba675SRob Herring resets = <&tegra_car 6>; 566*724ba675SRob Herring reset-names = "serial"; 567*724ba675SRob Herring dmas = <&apbdma 8>, <&apbdma 8>; 568*724ba675SRob Herring dma-names = "rx", "tx"; 569*724ba675SRob Herring status = "disabled"; 570*724ba675SRob Herring }; 571*724ba675SRob Herring 572*724ba675SRob Herring uartb: serial@70006040 { 573*724ba675SRob Herring compatible = "nvidia,tegra30-uart", "nvidia,tegra20-uart"; 574*724ba675SRob Herring reg = <0x70006040 0x40>; 575*724ba675SRob Herring reg-shift = <2>; 576*724ba675SRob Herring interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; 577*724ba675SRob Herring clocks = <&tegra_car TEGRA30_CLK_UARTB>; 578*724ba675SRob Herring resets = <&tegra_car 7>; 579*724ba675SRob Herring reset-names = "serial"; 580*724ba675SRob Herring dmas = <&apbdma 9>, <&apbdma 9>; 581*724ba675SRob Herring dma-names = "rx", "tx"; 582*724ba675SRob Herring status = "disabled"; 583*724ba675SRob Herring }; 584*724ba675SRob Herring 585*724ba675SRob Herring uartc: serial@70006200 { 586*724ba675SRob Herring compatible = "nvidia,tegra30-uart", "nvidia,tegra20-uart"; 587*724ba675SRob Herring reg = <0x70006200 0x100>; 588*724ba675SRob Herring reg-shift = <2>; 589*724ba675SRob Herring interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>; 590*724ba675SRob Herring clocks = <&tegra_car TEGRA30_CLK_UARTC>; 591*724ba675SRob Herring resets = <&tegra_car 55>; 592*724ba675SRob Herring reset-names = "serial"; 593*724ba675SRob Herring dmas = <&apbdma 10>, <&apbdma 10>; 594*724ba675SRob Herring dma-names = "rx", "tx"; 595*724ba675SRob Herring status = "disabled"; 596*724ba675SRob Herring }; 597*724ba675SRob Herring 598*724ba675SRob Herring uartd: serial@70006300 { 599*724ba675SRob Herring compatible = "nvidia,tegra30-uart", "nvidia,tegra20-uart"; 600*724ba675SRob Herring reg = <0x70006300 0x100>; 601*724ba675SRob Herring reg-shift = <2>; 602*724ba675SRob Herring interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>; 603*724ba675SRob Herring clocks = <&tegra_car TEGRA30_CLK_UARTD>; 604*724ba675SRob Herring resets = <&tegra_car 65>; 605*724ba675SRob Herring reset-names = "serial"; 606*724ba675SRob Herring dmas = <&apbdma 19>, <&apbdma 19>; 607*724ba675SRob Herring dma-names = "rx", "tx"; 608*724ba675SRob Herring status = "disabled"; 609*724ba675SRob Herring }; 610*724ba675SRob Herring 611*724ba675SRob Herring uarte: serial@70006400 { 612*724ba675SRob Herring compatible = "nvidia,tegra30-uart", "nvidia,tegra20-uart"; 613*724ba675SRob Herring reg = <0x70006400 0x100>; 614*724ba675SRob Herring reg-shift = <2>; 615*724ba675SRob Herring interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>; 616*724ba675SRob Herring clocks = <&tegra_car TEGRA30_CLK_UARTE>; 617*724ba675SRob Herring resets = <&tegra_car 66>; 618*724ba675SRob Herring reset-names = "serial"; 619*724ba675SRob Herring dmas = <&apbdma 20>, <&apbdma 20>; 620*724ba675SRob Herring dma-names = "rx", "tx"; 621*724ba675SRob Herring status = "disabled"; 622*724ba675SRob Herring }; 623*724ba675SRob Herring 624*724ba675SRob Herring gmi@70009000 { 625*724ba675SRob Herring compatible = "nvidia,tegra30-gmi"; 626*724ba675SRob Herring reg = <0x70009000 0x1000>; 627*724ba675SRob Herring #address-cells = <2>; 628*724ba675SRob Herring #size-cells = <1>; 629*724ba675SRob Herring ranges = <0 0 0x48000000 0x7ffffff>; 630*724ba675SRob Herring clocks = <&tegra_car TEGRA30_CLK_NOR>; 631*724ba675SRob Herring clock-names = "gmi"; 632*724ba675SRob Herring resets = <&tegra_car 42>; 633*724ba675SRob Herring reset-names = "gmi"; 634*724ba675SRob Herring power-domains = <&pd_core>; 635*724ba675SRob Herring operating-points-v2 = <&nor_dvfs_opp_table>; 636*724ba675SRob Herring status = "disabled"; 637*724ba675SRob Herring }; 638*724ba675SRob Herring 639*724ba675SRob Herring pwm: pwm@7000a000 { 640*724ba675SRob Herring compatible = "nvidia,tegra30-pwm", "nvidia,tegra20-pwm"; 641*724ba675SRob Herring reg = <0x7000a000 0x100>; 642*724ba675SRob Herring #pwm-cells = <2>; 643*724ba675SRob Herring clocks = <&tegra_car TEGRA30_CLK_PWM>; 644*724ba675SRob Herring resets = <&tegra_car 17>; 645*724ba675SRob Herring reset-names = "pwm"; 646*724ba675SRob Herring power-domains = <&pd_core>; 647*724ba675SRob Herring operating-points-v2 = <&pwm_dvfs_opp_table>; 648*724ba675SRob Herring status = "disabled"; 649*724ba675SRob Herring }; 650*724ba675SRob Herring 651*724ba675SRob Herring i2c@7000c000 { 652*724ba675SRob Herring compatible = "nvidia,tegra30-i2c", "nvidia,tegra20-i2c"; 653*724ba675SRob Herring reg = <0x7000c000 0x100>; 654*724ba675SRob Herring interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>; 655*724ba675SRob Herring #address-cells = <1>; 656*724ba675SRob Herring #size-cells = <0>; 657*724ba675SRob Herring clocks = <&tegra_car TEGRA30_CLK_I2C1>, 658*724ba675SRob Herring <&tegra_car TEGRA30_CLK_PLL_P_OUT3>; 659*724ba675SRob Herring clock-names = "div-clk", "fast-clk"; 660*724ba675SRob Herring resets = <&tegra_car 12>; 661*724ba675SRob Herring reset-names = "i2c"; 662*724ba675SRob Herring dmas = <&apbdma 21>, <&apbdma 21>; 663*724ba675SRob Herring dma-names = "rx", "tx"; 664*724ba675SRob Herring status = "disabled"; 665*724ba675SRob Herring }; 666*724ba675SRob Herring 667*724ba675SRob Herring i2c@7000c400 { 668*724ba675SRob Herring compatible = "nvidia,tegra30-i2c", "nvidia,tegra20-i2c"; 669*724ba675SRob Herring reg = <0x7000c400 0x100>; 670*724ba675SRob Herring interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>; 671*724ba675SRob Herring #address-cells = <1>; 672*724ba675SRob Herring #size-cells = <0>; 673*724ba675SRob Herring clocks = <&tegra_car TEGRA30_CLK_I2C2>, 674*724ba675SRob Herring <&tegra_car TEGRA30_CLK_PLL_P_OUT3>; 675*724ba675SRob Herring clock-names = "div-clk", "fast-clk"; 676*724ba675SRob Herring resets = <&tegra_car 54>; 677*724ba675SRob Herring reset-names = "i2c"; 678*724ba675SRob Herring dmas = <&apbdma 22>, <&apbdma 22>; 679*724ba675SRob Herring dma-names = "rx", "tx"; 680*724ba675SRob Herring status = "disabled"; 681*724ba675SRob Herring }; 682*724ba675SRob Herring 683*724ba675SRob Herring i2c@7000c500 { 684*724ba675SRob Herring compatible = "nvidia,tegra30-i2c", "nvidia,tegra20-i2c"; 685*724ba675SRob Herring reg = <0x7000c500 0x100>; 686*724ba675SRob Herring interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>; 687*724ba675SRob Herring #address-cells = <1>; 688*724ba675SRob Herring #size-cells = <0>; 689*724ba675SRob Herring clocks = <&tegra_car TEGRA30_CLK_I2C3>, 690*724ba675SRob Herring <&tegra_car TEGRA30_CLK_PLL_P_OUT3>; 691*724ba675SRob Herring clock-names = "div-clk", "fast-clk"; 692*724ba675SRob Herring resets = <&tegra_car 67>; 693*724ba675SRob Herring reset-names = "i2c"; 694*724ba675SRob Herring dmas = <&apbdma 23>, <&apbdma 23>; 695*724ba675SRob Herring dma-names = "rx", "tx"; 696*724ba675SRob Herring status = "disabled"; 697*724ba675SRob Herring }; 698*724ba675SRob Herring 699*724ba675SRob Herring i2c@7000c700 { 700*724ba675SRob Herring compatible = "nvidia,tegra30-i2c", "nvidia,tegra20-i2c"; 701*724ba675SRob Herring reg = <0x7000c700 0x100>; 702*724ba675SRob Herring interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>; 703*724ba675SRob Herring #address-cells = <1>; 704*724ba675SRob Herring #size-cells = <0>; 705*724ba675SRob Herring clocks = <&tegra_car TEGRA30_CLK_I2C4>, 706*724ba675SRob Herring <&tegra_car TEGRA30_CLK_PLL_P_OUT3>; 707*724ba675SRob Herring resets = <&tegra_car 103>; 708*724ba675SRob Herring reset-names = "i2c"; 709*724ba675SRob Herring clock-names = "div-clk", "fast-clk"; 710*724ba675SRob Herring dmas = <&apbdma 26>, <&apbdma 26>; 711*724ba675SRob Herring dma-names = "rx", "tx"; 712*724ba675SRob Herring status = "disabled"; 713*724ba675SRob Herring }; 714*724ba675SRob Herring 715*724ba675SRob Herring i2c@7000d000 { 716*724ba675SRob Herring compatible = "nvidia,tegra30-i2c", "nvidia,tegra20-i2c"; 717*724ba675SRob Herring reg = <0x7000d000 0x100>; 718*724ba675SRob Herring interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>; 719*724ba675SRob Herring #address-cells = <1>; 720*724ba675SRob Herring #size-cells = <0>; 721*724ba675SRob Herring clocks = <&tegra_car TEGRA30_CLK_I2C5>, 722*724ba675SRob Herring <&tegra_car TEGRA30_CLK_PLL_P_OUT3>; 723*724ba675SRob Herring clock-names = "div-clk", "fast-clk"; 724*724ba675SRob Herring resets = <&tegra_car 47>; 725*724ba675SRob Herring reset-names = "i2c"; 726*724ba675SRob Herring dmas = <&apbdma 24>, <&apbdma 24>; 727*724ba675SRob Herring dma-names = "rx", "tx"; 728*724ba675SRob Herring status = "disabled"; 729*724ba675SRob Herring }; 730*724ba675SRob Herring 731*724ba675SRob Herring spi@7000d400 { 732*724ba675SRob Herring compatible = "nvidia,tegra30-slink"; 733*724ba675SRob Herring reg = <0x7000d400 0x200>; 734*724ba675SRob Herring interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>; 735*724ba675SRob Herring #address-cells = <1>; 736*724ba675SRob Herring #size-cells = <0>; 737*724ba675SRob Herring clocks = <&tegra_car TEGRA30_CLK_SBC1>; 738*724ba675SRob Herring resets = <&tegra_car 41>; 739*724ba675SRob Herring reset-names = "spi"; 740*724ba675SRob Herring dmas = <&apbdma 15>, <&apbdma 15>; 741*724ba675SRob Herring dma-names = "rx", "tx"; 742*724ba675SRob Herring power-domains = <&pd_core>; 743*724ba675SRob Herring operating-points-v2 = <&sbc1_dvfs_opp_table>; 744*724ba675SRob Herring status = "disabled"; 745*724ba675SRob Herring }; 746*724ba675SRob Herring 747*724ba675SRob Herring spi@7000d600 { 748*724ba675SRob Herring compatible = "nvidia,tegra30-slink"; 749*724ba675SRob Herring reg = <0x7000d600 0x200>; 750*724ba675SRob Herring interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>; 751*724ba675SRob Herring #address-cells = <1>; 752*724ba675SRob Herring #size-cells = <0>; 753*724ba675SRob Herring clocks = <&tegra_car TEGRA30_CLK_SBC2>; 754*724ba675SRob Herring resets = <&tegra_car 44>; 755*724ba675SRob Herring reset-names = "spi"; 756*724ba675SRob Herring dmas = <&apbdma 16>, <&apbdma 16>; 757*724ba675SRob Herring dma-names = "rx", "tx"; 758*724ba675SRob Herring power-domains = <&pd_core>; 759*724ba675SRob Herring operating-points-v2 = <&sbc2_dvfs_opp_table>; 760*724ba675SRob Herring status = "disabled"; 761*724ba675SRob Herring }; 762*724ba675SRob Herring 763*724ba675SRob Herring spi@7000d800 { 764*724ba675SRob Herring compatible = "nvidia,tegra30-slink"; 765*724ba675SRob Herring reg = <0x7000d800 0x200>; 766*724ba675SRob Herring interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>; 767*724ba675SRob Herring #address-cells = <1>; 768*724ba675SRob Herring #size-cells = <0>; 769*724ba675SRob Herring clocks = <&tegra_car TEGRA30_CLK_SBC3>; 770*724ba675SRob Herring resets = <&tegra_car 46>; 771*724ba675SRob Herring reset-names = "spi"; 772*724ba675SRob Herring dmas = <&apbdma 17>, <&apbdma 17>; 773*724ba675SRob Herring dma-names = "rx", "tx"; 774*724ba675SRob Herring power-domains = <&pd_core>; 775*724ba675SRob Herring operating-points-v2 = <&sbc3_dvfs_opp_table>; 776*724ba675SRob Herring status = "disabled"; 777*724ba675SRob Herring }; 778*724ba675SRob Herring 779*724ba675SRob Herring spi@7000da00 { 780*724ba675SRob Herring compatible = "nvidia,tegra30-slink"; 781*724ba675SRob Herring reg = <0x7000da00 0x200>; 782*724ba675SRob Herring interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>; 783*724ba675SRob Herring #address-cells = <1>; 784*724ba675SRob Herring #size-cells = <0>; 785*724ba675SRob Herring clocks = <&tegra_car TEGRA30_CLK_SBC4>; 786*724ba675SRob Herring resets = <&tegra_car 68>; 787*724ba675SRob Herring reset-names = "spi"; 788*724ba675SRob Herring dmas = <&apbdma 18>, <&apbdma 18>; 789*724ba675SRob Herring dma-names = "rx", "tx"; 790*724ba675SRob Herring power-domains = <&pd_core>; 791*724ba675SRob Herring operating-points-v2 = <&sbc4_dvfs_opp_table>; 792*724ba675SRob Herring status = "disabled"; 793*724ba675SRob Herring }; 794*724ba675SRob Herring 795*724ba675SRob Herring spi@7000dc00 { 796*724ba675SRob Herring compatible = "nvidia,tegra30-slink"; 797*724ba675SRob Herring reg = <0x7000dc00 0x200>; 798*724ba675SRob Herring interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>; 799*724ba675SRob Herring #address-cells = <1>; 800*724ba675SRob Herring #size-cells = <0>; 801*724ba675SRob Herring clocks = <&tegra_car TEGRA30_CLK_SBC5>; 802*724ba675SRob Herring resets = <&tegra_car 104>; 803*724ba675SRob Herring reset-names = "spi"; 804*724ba675SRob Herring dmas = <&apbdma 27>, <&apbdma 27>; 805*724ba675SRob Herring dma-names = "rx", "tx"; 806*724ba675SRob Herring power-domains = <&pd_core>; 807*724ba675SRob Herring operating-points-v2 = <&sbc5_dvfs_opp_table>; 808*724ba675SRob Herring status = "disabled"; 809*724ba675SRob Herring }; 810*724ba675SRob Herring 811*724ba675SRob Herring spi@7000de00 { 812*724ba675SRob Herring compatible = "nvidia,tegra30-slink"; 813*724ba675SRob Herring reg = <0x7000de00 0x200>; 814*724ba675SRob Herring interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>; 815*724ba675SRob Herring #address-cells = <1>; 816*724ba675SRob Herring #size-cells = <0>; 817*724ba675SRob Herring clocks = <&tegra_car TEGRA30_CLK_SBC6>; 818*724ba675SRob Herring resets = <&tegra_car 106>; 819*724ba675SRob Herring reset-names = "spi"; 820*724ba675SRob Herring dmas = <&apbdma 28>, <&apbdma 28>; 821*724ba675SRob Herring dma-names = "rx", "tx"; 822*724ba675SRob Herring power-domains = <&pd_core>; 823*724ba675SRob Herring operating-points-v2 = <&sbc6_dvfs_opp_table>; 824*724ba675SRob Herring status = "disabled"; 825*724ba675SRob Herring }; 826*724ba675SRob Herring 827*724ba675SRob Herring rtc@7000e000 { 828*724ba675SRob Herring compatible = "nvidia,tegra30-rtc", "nvidia,tegra20-rtc"; 829*724ba675SRob Herring reg = <0x7000e000 0x100>; 830*724ba675SRob Herring interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>; 831*724ba675SRob Herring clocks = <&tegra_car TEGRA30_CLK_RTC>; 832*724ba675SRob Herring }; 833*724ba675SRob Herring 834*724ba675SRob Herring kbc@7000e200 { 835*724ba675SRob Herring compatible = "nvidia,tegra30-kbc", "nvidia,tegra20-kbc"; 836*724ba675SRob Herring reg = <0x7000e200 0x100>; 837*724ba675SRob Herring interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>; 838*724ba675SRob Herring clocks = <&tegra_car TEGRA30_CLK_KBC>; 839*724ba675SRob Herring resets = <&tegra_car 36>; 840*724ba675SRob Herring reset-names = "kbc"; 841*724ba675SRob Herring status = "disabled"; 842*724ba675SRob Herring }; 843*724ba675SRob Herring 844*724ba675SRob Herring tegra_pmc: pmc@7000e400 { 845*724ba675SRob Herring compatible = "nvidia,tegra30-pmc"; 846*724ba675SRob Herring reg = <0x7000e400 0x400>; 847*724ba675SRob Herring clocks = <&tegra_car TEGRA30_CLK_PCLK>, <&clk32k_in>; 848*724ba675SRob Herring clock-names = "pclk", "clk32k_in"; 849*724ba675SRob Herring #clock-cells = <1>; 850*724ba675SRob Herring 851*724ba675SRob Herring pd_core: core-domain { 852*724ba675SRob Herring #power-domain-cells = <0>; 853*724ba675SRob Herring operating-points-v2 = <&core_opp_table>; 854*724ba675SRob Herring }; 855*724ba675SRob Herring 856*724ba675SRob Herring powergates { 857*724ba675SRob Herring pd_heg: heg { 858*724ba675SRob Herring clocks = <&tegra_car TEGRA30_CLK_GR2D>, 859*724ba675SRob Herring <&tegra_car TEGRA30_CLK_EPP>, 860*724ba675SRob Herring <&tegra_car TEGRA30_CLK_HOST1X>; 861*724ba675SRob Herring resets = <&mc TEGRA30_MC_RESET_2D>, 862*724ba675SRob Herring <&mc TEGRA30_MC_RESET_EPP>, 863*724ba675SRob Herring <&mc TEGRA30_MC_RESET_HC>, 864*724ba675SRob Herring <&tegra_car TEGRA30_CLK_GR2D>, 865*724ba675SRob Herring <&tegra_car TEGRA30_CLK_EPP>, 866*724ba675SRob Herring <&tegra_car TEGRA30_CLK_HOST1X>; 867*724ba675SRob Herring power-domains = <&pd_core>; 868*724ba675SRob Herring #power-domain-cells = <0>; 869*724ba675SRob Herring }; 870*724ba675SRob Herring 871*724ba675SRob Herring pd_mpe: mpe { 872*724ba675SRob Herring clocks = <&tegra_car TEGRA30_CLK_MPE>; 873*724ba675SRob Herring resets = <&mc TEGRA30_MC_RESET_MPE>, 874*724ba675SRob Herring <&tegra_car TEGRA30_CLK_MPE>; 875*724ba675SRob Herring power-domains = <&pd_core>; 876*724ba675SRob Herring #power-domain-cells = <0>; 877*724ba675SRob Herring }; 878*724ba675SRob Herring 879*724ba675SRob Herring pd_3d0: td { 880*724ba675SRob Herring clocks = <&tegra_car TEGRA30_CLK_GR3D>; 881*724ba675SRob Herring resets = <&mc TEGRA30_MC_RESET_3D>, 882*724ba675SRob Herring <&tegra_car TEGRA30_CLK_GR3D>; 883*724ba675SRob Herring power-domains = <&pd_core>; 884*724ba675SRob Herring #power-domain-cells = <0>; 885*724ba675SRob Herring }; 886*724ba675SRob Herring 887*724ba675SRob Herring pd_3d1: td2 { 888*724ba675SRob Herring clocks = <&tegra_car TEGRA30_CLK_GR3D2>; 889*724ba675SRob Herring resets = <&mc TEGRA30_MC_RESET_3D2>, 890*724ba675SRob Herring <&tegra_car TEGRA30_CLK_GR3D2>; 891*724ba675SRob Herring power-domains = <&pd_core>; 892*724ba675SRob Herring #power-domain-cells = <0>; 893*724ba675SRob Herring }; 894*724ba675SRob Herring 895*724ba675SRob Herring pd_vde: vdec { 896*724ba675SRob Herring clocks = <&tegra_car TEGRA30_CLK_VDE>; 897*724ba675SRob Herring resets = <&mc TEGRA30_MC_RESET_VDE>, 898*724ba675SRob Herring <&tegra_car TEGRA30_CLK_VDE>; 899*724ba675SRob Herring power-domains = <&pd_core>; 900*724ba675SRob Herring #power-domain-cells = <0>; 901*724ba675SRob Herring }; 902*724ba675SRob Herring 903*724ba675SRob Herring pd_venc: venc { 904*724ba675SRob Herring clocks = <&tegra_car TEGRA30_CLK_ISP>, 905*724ba675SRob Herring <&tegra_car TEGRA30_CLK_VI>, 906*724ba675SRob Herring <&tegra_car TEGRA30_CLK_CSI>; 907*724ba675SRob Herring resets = <&mc TEGRA30_MC_RESET_ISP>, 908*724ba675SRob Herring <&mc TEGRA30_MC_RESET_VI>, 909*724ba675SRob Herring <&tegra_car TEGRA30_CLK_ISP>, 910*724ba675SRob Herring <&tegra_car 20 /* VI */>, 911*724ba675SRob Herring <&tegra_car TEGRA30_CLK_CSI>; 912*724ba675SRob Herring power-domains = <&pd_core>; 913*724ba675SRob Herring #power-domain-cells = <0>; 914*724ba675SRob Herring }; 915*724ba675SRob Herring }; 916*724ba675SRob Herring }; 917*724ba675SRob Herring 918*724ba675SRob Herring mc: memory-controller@7000f000 { 919*724ba675SRob Herring compatible = "nvidia,tegra30-mc"; 920*724ba675SRob Herring reg = <0x7000f000 0x400>; 921*724ba675SRob Herring clocks = <&tegra_car TEGRA30_CLK_MC>; 922*724ba675SRob Herring clock-names = "mc"; 923*724ba675SRob Herring 924*724ba675SRob Herring interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>; 925*724ba675SRob Herring 926*724ba675SRob Herring #iommu-cells = <1>; 927*724ba675SRob Herring #reset-cells = <1>; 928*724ba675SRob Herring #interconnect-cells = <1>; 929*724ba675SRob Herring }; 930*724ba675SRob Herring 931*724ba675SRob Herring emc: memory-controller@7000f400 { 932*724ba675SRob Herring compatible = "nvidia,tegra30-emc"; 933*724ba675SRob Herring reg = <0x7000f400 0x400>; 934*724ba675SRob Herring interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>; 935*724ba675SRob Herring clocks = <&tegra_car TEGRA30_CLK_EMC>; 936*724ba675SRob Herring power-domains = <&pd_core>; 937*724ba675SRob Herring 938*724ba675SRob Herring nvidia,memory-controller = <&mc>; 939*724ba675SRob Herring operating-points-v2 = <&emc_icc_dvfs_opp_table>; 940*724ba675SRob Herring 941*724ba675SRob Herring #interconnect-cells = <0>; 942*724ba675SRob Herring }; 943*724ba675SRob Herring 944*724ba675SRob Herring fuse@7000f800 { 945*724ba675SRob Herring compatible = "nvidia,tegra30-efuse"; 946*724ba675SRob Herring reg = <0x7000f800 0x400>; 947*724ba675SRob Herring clocks = <&tegra_car TEGRA30_CLK_FUSE>; 948*724ba675SRob Herring clock-names = "fuse"; 949*724ba675SRob Herring resets = <&tegra_car 39>; 950*724ba675SRob Herring reset-names = "fuse"; 951*724ba675SRob Herring power-domains = <&pd_core>; 952*724ba675SRob Herring operating-points-v2 = <&fuse_burn_dvfs_opp_table>; 953*724ba675SRob Herring }; 954*724ba675SRob Herring 955*724ba675SRob Herring tsensor: tsensor@70014000 { 956*724ba675SRob Herring compatible = "nvidia,tegra30-tsensor"; 957*724ba675SRob Herring reg = <0x70014000 0x500>; 958*724ba675SRob Herring interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>; 959*724ba675SRob Herring clocks = <&tegra_car TEGRA30_CLK_TSENSOR>; 960*724ba675SRob Herring resets = <&tegra_car TEGRA30_CLK_TSENSOR>; 961*724ba675SRob Herring 962*724ba675SRob Herring assigned-clocks = <&tegra_car TEGRA30_CLK_TSENSOR>; 963*724ba675SRob Herring assigned-clock-parents = <&tegra_car TEGRA30_CLK_CLK_M>; 964*724ba675SRob Herring assigned-clock-rates = <500000>; 965*724ba675SRob Herring 966*724ba675SRob Herring #thermal-sensor-cells = <1>; 967*724ba675SRob Herring }; 968*724ba675SRob Herring 969*724ba675SRob Herring hda@70030000 { 970*724ba675SRob Herring compatible = "nvidia,tegra30-hda"; 971*724ba675SRob Herring reg = <0x70030000 0x10000>; 972*724ba675SRob Herring interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>; 973*724ba675SRob Herring clocks = <&tegra_car TEGRA30_CLK_HDA>, 974*724ba675SRob Herring <&tegra_car TEGRA30_CLK_HDA2HDMI>, 975*724ba675SRob Herring <&tegra_car TEGRA30_CLK_HDA2CODEC_2X>; 976*724ba675SRob Herring clock-names = "hda", "hda2hdmi", "hda2codec_2x"; 977*724ba675SRob Herring resets = <&tegra_car 125>, /* hda */ 978*724ba675SRob Herring <&tegra_car 128>, /* hda2hdmi */ 979*724ba675SRob Herring <&tegra_car 111>; /* hda2codec_2x */ 980*724ba675SRob Herring reset-names = "hda", "hda2hdmi", "hda2codec_2x"; 981*724ba675SRob Herring status = "disabled"; 982*724ba675SRob Herring }; 983*724ba675SRob Herring 984*724ba675SRob Herring ahub@70080000 { 985*724ba675SRob Herring compatible = "nvidia,tegra30-ahub"; 986*724ba675SRob Herring reg = <0x70080000 0x200>, 987*724ba675SRob Herring <0x70080200 0x100>; 988*724ba675SRob Herring interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>; 989*724ba675SRob Herring clocks = <&tegra_car TEGRA30_CLK_D_AUDIO>, 990*724ba675SRob Herring <&tegra_car TEGRA30_CLK_APBIF>; 991*724ba675SRob Herring clock-names = "d_audio", "apbif"; 992*724ba675SRob Herring resets = <&tegra_car 106>, /* d_audio */ 993*724ba675SRob Herring <&tegra_car 107>, /* apbif */ 994*724ba675SRob Herring <&tegra_car 30>, /* i2s0 */ 995*724ba675SRob Herring <&tegra_car 11>, /* i2s1 */ 996*724ba675SRob Herring <&tegra_car 18>, /* i2s2 */ 997*724ba675SRob Herring <&tegra_car 101>, /* i2s3 */ 998*724ba675SRob Herring <&tegra_car 102>, /* i2s4 */ 999*724ba675SRob Herring <&tegra_car 108>, /* dam0 */ 1000*724ba675SRob Herring <&tegra_car 109>, /* dam1 */ 1001*724ba675SRob Herring <&tegra_car 110>, /* dam2 */ 1002*724ba675SRob Herring <&tegra_car 10>; /* spdif */ 1003*724ba675SRob Herring reset-names = "d_audio", "apbif", "i2s0", "i2s1", "i2s2", 1004*724ba675SRob Herring "i2s3", "i2s4", "dam0", "dam1", "dam2", 1005*724ba675SRob Herring "spdif"; 1006*724ba675SRob Herring dmas = <&apbdma 1>, <&apbdma 1>, 1007*724ba675SRob Herring <&apbdma 2>, <&apbdma 2>, 1008*724ba675SRob Herring <&apbdma 3>, <&apbdma 3>, 1009*724ba675SRob Herring <&apbdma 4>, <&apbdma 4>; 1010*724ba675SRob Herring dma-names = "rx0", "tx0", "rx1", "tx1", "rx2", "tx2", 1011*724ba675SRob Herring "rx3", "tx3"; 1012*724ba675SRob Herring ranges; 1013*724ba675SRob Herring #address-cells = <1>; 1014*724ba675SRob Herring #size-cells = <1>; 1015*724ba675SRob Herring 1016*724ba675SRob Herring tegra_i2s0: i2s@70080300 { 1017*724ba675SRob Herring compatible = "nvidia,tegra30-i2s"; 1018*724ba675SRob Herring reg = <0x70080300 0x100>; 1019*724ba675SRob Herring nvidia,ahub-cif-ids = <4 4>; 1020*724ba675SRob Herring clocks = <&tegra_car TEGRA30_CLK_I2S0>; 1021*724ba675SRob Herring resets = <&tegra_car 30>; 1022*724ba675SRob Herring reset-names = "i2s"; 1023*724ba675SRob Herring status = "disabled"; 1024*724ba675SRob Herring }; 1025*724ba675SRob Herring 1026*724ba675SRob Herring tegra_i2s1: i2s@70080400 { 1027*724ba675SRob Herring compatible = "nvidia,tegra30-i2s"; 1028*724ba675SRob Herring reg = <0x70080400 0x100>; 1029*724ba675SRob Herring nvidia,ahub-cif-ids = <5 5>; 1030*724ba675SRob Herring clocks = <&tegra_car TEGRA30_CLK_I2S1>; 1031*724ba675SRob Herring resets = <&tegra_car 11>; 1032*724ba675SRob Herring reset-names = "i2s"; 1033*724ba675SRob Herring status = "disabled"; 1034*724ba675SRob Herring }; 1035*724ba675SRob Herring 1036*724ba675SRob Herring tegra_i2s2: i2s@70080500 { 1037*724ba675SRob Herring compatible = "nvidia,tegra30-i2s"; 1038*724ba675SRob Herring reg = <0x70080500 0x100>; 1039*724ba675SRob Herring nvidia,ahub-cif-ids = <6 6>; 1040*724ba675SRob Herring clocks = <&tegra_car TEGRA30_CLK_I2S2>; 1041*724ba675SRob Herring resets = <&tegra_car 18>; 1042*724ba675SRob Herring reset-names = "i2s"; 1043*724ba675SRob Herring status = "disabled"; 1044*724ba675SRob Herring }; 1045*724ba675SRob Herring 1046*724ba675SRob Herring tegra_i2s3: i2s@70080600 { 1047*724ba675SRob Herring compatible = "nvidia,tegra30-i2s"; 1048*724ba675SRob Herring reg = <0x70080600 0x100>; 1049*724ba675SRob Herring nvidia,ahub-cif-ids = <7 7>; 1050*724ba675SRob Herring clocks = <&tegra_car TEGRA30_CLK_I2S3>; 1051*724ba675SRob Herring resets = <&tegra_car 101>; 1052*724ba675SRob Herring reset-names = "i2s"; 1053*724ba675SRob Herring status = "disabled"; 1054*724ba675SRob Herring }; 1055*724ba675SRob Herring 1056*724ba675SRob Herring tegra_i2s4: i2s@70080700 { 1057*724ba675SRob Herring compatible = "nvidia,tegra30-i2s"; 1058*724ba675SRob Herring reg = <0x70080700 0x100>; 1059*724ba675SRob Herring nvidia,ahub-cif-ids = <8 8>; 1060*724ba675SRob Herring clocks = <&tegra_car TEGRA30_CLK_I2S4>; 1061*724ba675SRob Herring resets = <&tegra_car 102>; 1062*724ba675SRob Herring reset-names = "i2s"; 1063*724ba675SRob Herring status = "disabled"; 1064*724ba675SRob Herring }; 1065*724ba675SRob Herring }; 1066*724ba675SRob Herring 1067*724ba675SRob Herring mmc@78000000 { 1068*724ba675SRob Herring compatible = "nvidia,tegra30-sdhci"; 1069*724ba675SRob Herring reg = <0x78000000 0x200>; 1070*724ba675SRob Herring interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; 1071*724ba675SRob Herring clocks = <&tegra_car TEGRA30_CLK_SDMMC1>; 1072*724ba675SRob Herring clock-names = "sdhci"; 1073*724ba675SRob Herring resets = <&tegra_car 14>; 1074*724ba675SRob Herring reset-names = "sdhci"; 1075*724ba675SRob Herring power-domains = <&pd_core>; 1076*724ba675SRob Herring operating-points-v2 = <&sdmmc1_dvfs_opp_table>; 1077*724ba675SRob Herring status = "disabled"; 1078*724ba675SRob Herring }; 1079*724ba675SRob Herring 1080*724ba675SRob Herring mmc@78000200 { 1081*724ba675SRob Herring compatible = "nvidia,tegra30-sdhci"; 1082*724ba675SRob Herring reg = <0x78000200 0x200>; 1083*724ba675SRob Herring interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>; 1084*724ba675SRob Herring clocks = <&tegra_car TEGRA30_CLK_SDMMC2>; 1085*724ba675SRob Herring clock-names = "sdhci"; 1086*724ba675SRob Herring resets = <&tegra_car 9>; 1087*724ba675SRob Herring reset-names = "sdhci"; 1088*724ba675SRob Herring status = "disabled"; 1089*724ba675SRob Herring }; 1090*724ba675SRob Herring 1091*724ba675SRob Herring mmc@78000400 { 1092*724ba675SRob Herring compatible = "nvidia,tegra30-sdhci"; 1093*724ba675SRob Herring reg = <0x78000400 0x200>; 1094*724ba675SRob Herring interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>; 1095*724ba675SRob Herring clocks = <&tegra_car TEGRA30_CLK_SDMMC3>; 1096*724ba675SRob Herring clock-names = "sdhci"; 1097*724ba675SRob Herring resets = <&tegra_car 69>; 1098*724ba675SRob Herring reset-names = "sdhci"; 1099*724ba675SRob Herring power-domains = <&pd_core>; 1100*724ba675SRob Herring operating-points-v2 = <&sdmmc3_dvfs_opp_table>; 1101*724ba675SRob Herring status = "disabled"; 1102*724ba675SRob Herring }; 1103*724ba675SRob Herring 1104*724ba675SRob Herring mmc@78000600 { 1105*724ba675SRob Herring compatible = "nvidia,tegra30-sdhci"; 1106*724ba675SRob Herring reg = <0x78000600 0x200>; 1107*724ba675SRob Herring interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>; 1108*724ba675SRob Herring clocks = <&tegra_car TEGRA30_CLK_SDMMC4>; 1109*724ba675SRob Herring clock-names = "sdhci"; 1110*724ba675SRob Herring resets = <&tegra_car 15>; 1111*724ba675SRob Herring reset-names = "sdhci"; 1112*724ba675SRob Herring status = "disabled"; 1113*724ba675SRob Herring }; 1114*724ba675SRob Herring 1115*724ba675SRob Herring usb@7d000000 { 1116*724ba675SRob Herring compatible = "nvidia,tegra30-ehci"; 1117*724ba675SRob Herring reg = <0x7d000000 0x4000>; 1118*724ba675SRob Herring interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>; 1119*724ba675SRob Herring phy_type = "utmi"; 1120*724ba675SRob Herring clocks = <&tegra_car TEGRA30_CLK_USBD>; 1121*724ba675SRob Herring resets = <&tegra_car 22>; 1122*724ba675SRob Herring reset-names = "usb"; 1123*724ba675SRob Herring nvidia,needs-double-reset; 1124*724ba675SRob Herring nvidia,phy = <&phy1>; 1125*724ba675SRob Herring power-domains = <&pd_core>; 1126*724ba675SRob Herring operating-points-v2 = <&usbd_dvfs_opp_table>; 1127*724ba675SRob Herring status = "disabled"; 1128*724ba675SRob Herring }; 1129*724ba675SRob Herring 1130*724ba675SRob Herring phy1: usb-phy@7d000000 { 1131*724ba675SRob Herring compatible = "nvidia,tegra30-usb-phy"; 1132*724ba675SRob Herring reg = <0x7d000000 0x4000>, 1133*724ba675SRob Herring <0x7d000000 0x4000>; 1134*724ba675SRob Herring interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>; 1135*724ba675SRob Herring phy_type = "utmi"; 1136*724ba675SRob Herring clocks = <&tegra_car TEGRA30_CLK_USBD>, 1137*724ba675SRob Herring <&tegra_car TEGRA30_CLK_PLL_U>, 1138*724ba675SRob Herring <&tegra_car TEGRA30_CLK_USBD>; 1139*724ba675SRob Herring clock-names = "reg", "pll_u", "utmi-pads"; 1140*724ba675SRob Herring resets = <&tegra_car 22>, <&tegra_car 22>; 1141*724ba675SRob Herring reset-names = "usb", "utmi-pads"; 1142*724ba675SRob Herring #phy-cells = <0>; 1143*724ba675SRob Herring nvidia,hssync-start-delay = <9>; 1144*724ba675SRob Herring nvidia,idle-wait-delay = <17>; 1145*724ba675SRob Herring nvidia,elastic-limit = <16>; 1146*724ba675SRob Herring nvidia,term-range-adj = <6>; 1147*724ba675SRob Herring nvidia,xcvr-setup = <51>; 1148*724ba675SRob Herring nvidia,xcvr-setup-use-fuses; 1149*724ba675SRob Herring nvidia,xcvr-lsfslew = <1>; 1150*724ba675SRob Herring nvidia,xcvr-lsrslew = <1>; 1151*724ba675SRob Herring nvidia,xcvr-hsslew = <32>; 1152*724ba675SRob Herring nvidia,hssquelch-level = <2>; 1153*724ba675SRob Herring nvidia,hsdiscon-level = <5>; 1154*724ba675SRob Herring nvidia,has-utmi-pad-registers; 1155*724ba675SRob Herring nvidia,pmc = <&tegra_pmc 0>; 1156*724ba675SRob Herring status = "disabled"; 1157*724ba675SRob Herring }; 1158*724ba675SRob Herring 1159*724ba675SRob Herring usb@7d004000 { 1160*724ba675SRob Herring compatible = "nvidia,tegra30-ehci"; 1161*724ba675SRob Herring reg = <0x7d004000 0x4000>; 1162*724ba675SRob Herring interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>; 1163*724ba675SRob Herring phy_type = "utmi"; 1164*724ba675SRob Herring clocks = <&tegra_car TEGRA30_CLK_USB2>; 1165*724ba675SRob Herring resets = <&tegra_car 58>; 1166*724ba675SRob Herring reset-names = "usb"; 1167*724ba675SRob Herring nvidia,phy = <&phy2>; 1168*724ba675SRob Herring power-domains = <&pd_core>; 1169*724ba675SRob Herring operating-points-v2 = <&usb2_dvfs_opp_table>; 1170*724ba675SRob Herring status = "disabled"; 1171*724ba675SRob Herring }; 1172*724ba675SRob Herring 1173*724ba675SRob Herring phy2: usb-phy@7d004000 { 1174*724ba675SRob Herring compatible = "nvidia,tegra30-usb-phy"; 1175*724ba675SRob Herring reg = <0x7d004000 0x4000>, 1176*724ba675SRob Herring <0x7d000000 0x4000>; 1177*724ba675SRob Herring interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>; 1178*724ba675SRob Herring phy_type = "utmi"; 1179*724ba675SRob Herring clocks = <&tegra_car TEGRA30_CLK_USB2>, 1180*724ba675SRob Herring <&tegra_car TEGRA30_CLK_PLL_U>, 1181*724ba675SRob Herring <&tegra_car TEGRA30_CLK_USBD>; 1182*724ba675SRob Herring clock-names = "reg", "pll_u", "utmi-pads"; 1183*724ba675SRob Herring resets = <&tegra_car 58>, <&tegra_car 22>; 1184*724ba675SRob Herring reset-names = "usb", "utmi-pads"; 1185*724ba675SRob Herring #phy-cells = <0>; 1186*724ba675SRob Herring nvidia,hssync-start-delay = <9>; 1187*724ba675SRob Herring nvidia,idle-wait-delay = <17>; 1188*724ba675SRob Herring nvidia,elastic-limit = <16>; 1189*724ba675SRob Herring nvidia,term-range-adj = <6>; 1190*724ba675SRob Herring nvidia,xcvr-setup = <51>; 1191*724ba675SRob Herring nvidia,xcvr-setup-use-fuses; 1192*724ba675SRob Herring nvidia,xcvr-lsfslew = <2>; 1193*724ba675SRob Herring nvidia,xcvr-lsrslew = <2>; 1194*724ba675SRob Herring nvidia,xcvr-hsslew = <32>; 1195*724ba675SRob Herring nvidia,hssquelch-level = <2>; 1196*724ba675SRob Herring nvidia,hsdiscon-level = <5>; 1197*724ba675SRob Herring nvidia,pmc = <&tegra_pmc 2>; 1198*724ba675SRob Herring status = "disabled"; 1199*724ba675SRob Herring }; 1200*724ba675SRob Herring 1201*724ba675SRob Herring usb@7d008000 { 1202*724ba675SRob Herring compatible = "nvidia,tegra30-ehci"; 1203*724ba675SRob Herring reg = <0x7d008000 0x4000>; 1204*724ba675SRob Herring interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>; 1205*724ba675SRob Herring phy_type = "utmi"; 1206*724ba675SRob Herring clocks = <&tegra_car TEGRA30_CLK_USB3>; 1207*724ba675SRob Herring resets = <&tegra_car 59>; 1208*724ba675SRob Herring reset-names = "usb"; 1209*724ba675SRob Herring nvidia,phy = <&phy3>; 1210*724ba675SRob Herring power-domains = <&pd_core>; 1211*724ba675SRob Herring operating-points-v2 = <&usb3_dvfs_opp_table>; 1212*724ba675SRob Herring status = "disabled"; 1213*724ba675SRob Herring }; 1214*724ba675SRob Herring 1215*724ba675SRob Herring phy3: usb-phy@7d008000 { 1216*724ba675SRob Herring compatible = "nvidia,tegra30-usb-phy"; 1217*724ba675SRob Herring reg = <0x7d008000 0x4000>, 1218*724ba675SRob Herring <0x7d000000 0x4000>; 1219*724ba675SRob Herring interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>; 1220*724ba675SRob Herring phy_type = "utmi"; 1221*724ba675SRob Herring clocks = <&tegra_car TEGRA30_CLK_USB3>, 1222*724ba675SRob Herring <&tegra_car TEGRA30_CLK_PLL_U>, 1223*724ba675SRob Herring <&tegra_car TEGRA30_CLK_USBD>; 1224*724ba675SRob Herring clock-names = "reg", "pll_u", "utmi-pads"; 1225*724ba675SRob Herring resets = <&tegra_car 59>, <&tegra_car 22>; 1226*724ba675SRob Herring reset-names = "usb", "utmi-pads"; 1227*724ba675SRob Herring #phy-cells = <0>; 1228*724ba675SRob Herring nvidia,hssync-start-delay = <0>; 1229*724ba675SRob Herring nvidia,idle-wait-delay = <17>; 1230*724ba675SRob Herring nvidia,elastic-limit = <16>; 1231*724ba675SRob Herring nvidia,term-range-adj = <6>; 1232*724ba675SRob Herring nvidia,xcvr-setup = <51>; 1233*724ba675SRob Herring nvidia,xcvr-setup-use-fuses; 1234*724ba675SRob Herring nvidia,xcvr-lsfslew = <2>; 1235*724ba675SRob Herring nvidia,xcvr-lsrslew = <2>; 1236*724ba675SRob Herring nvidia,xcvr-hsslew = <32>; 1237*724ba675SRob Herring nvidia,hssquelch-level = <2>; 1238*724ba675SRob Herring nvidia,hsdiscon-level = <5>; 1239*724ba675SRob Herring nvidia,pmc = <&tegra_pmc 1>; 1240*724ba675SRob Herring status = "disabled"; 1241*724ba675SRob Herring }; 1242*724ba675SRob Herring 1243*724ba675SRob Herring cpus { 1244*724ba675SRob Herring #address-cells = <1>; 1245*724ba675SRob Herring #size-cells = <0>; 1246*724ba675SRob Herring 1247*724ba675SRob Herring cpu0: cpu@0 { 1248*724ba675SRob Herring device_type = "cpu"; 1249*724ba675SRob Herring compatible = "arm,cortex-a9"; 1250*724ba675SRob Herring reg = <0>; 1251*724ba675SRob Herring clocks = <&tegra_car TEGRA30_CLK_CCLK_G>; 1252*724ba675SRob Herring #cooling-cells = <2>; 1253*724ba675SRob Herring }; 1254*724ba675SRob Herring 1255*724ba675SRob Herring cpu1: cpu@1 { 1256*724ba675SRob Herring device_type = "cpu"; 1257*724ba675SRob Herring compatible = "arm,cortex-a9"; 1258*724ba675SRob Herring reg = <1>; 1259*724ba675SRob Herring clocks = <&tegra_car TEGRA30_CLK_CCLK_G>; 1260*724ba675SRob Herring #cooling-cells = <2>; 1261*724ba675SRob Herring }; 1262*724ba675SRob Herring 1263*724ba675SRob Herring cpu2: cpu@2 { 1264*724ba675SRob Herring device_type = "cpu"; 1265*724ba675SRob Herring compatible = "arm,cortex-a9"; 1266*724ba675SRob Herring reg = <2>; 1267*724ba675SRob Herring clocks = <&tegra_car TEGRA30_CLK_CCLK_G>; 1268*724ba675SRob Herring #cooling-cells = <2>; 1269*724ba675SRob Herring }; 1270*724ba675SRob Herring 1271*724ba675SRob Herring cpu3: cpu@3 { 1272*724ba675SRob Herring device_type = "cpu"; 1273*724ba675SRob Herring compatible = "arm,cortex-a9"; 1274*724ba675SRob Herring reg = <3>; 1275*724ba675SRob Herring clocks = <&tegra_car TEGRA30_CLK_CCLK_G>; 1276*724ba675SRob Herring #cooling-cells = <2>; 1277*724ba675SRob Herring }; 1278*724ba675SRob Herring }; 1279*724ba675SRob Herring 1280*724ba675SRob Herring pmu { 1281*724ba675SRob Herring compatible = "arm,cortex-a9-pmu"; 1282*724ba675SRob Herring interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>, 1283*724ba675SRob Herring <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>, 1284*724ba675SRob Herring <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>, 1285*724ba675SRob Herring <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>; 1286*724ba675SRob Herring interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>; 1287*724ba675SRob Herring }; 1288*724ba675SRob Herring 1289*724ba675SRob Herring thermal-zones { 1290*724ba675SRob Herring tsensor0-thermal { 1291*724ba675SRob Herring polling-delay-passive = <1000>; /* milliseconds */ 1292*724ba675SRob Herring polling-delay = <5000>; /* milliseconds */ 1293*724ba675SRob Herring 1294*724ba675SRob Herring thermal-sensors = <&tsensor 0>; 1295*724ba675SRob Herring 1296*724ba675SRob Herring trips { 1297*724ba675SRob Herring level1_trip: dvfs-alert { 1298*724ba675SRob Herring /* throttle at 80C until temperature drops to 79.8C */ 1299*724ba675SRob Herring temperature = <80000>; 1300*724ba675SRob Herring hysteresis = <200>; 1301*724ba675SRob Herring type = "passive"; 1302*724ba675SRob Herring }; 1303*724ba675SRob Herring 1304*724ba675SRob Herring level2_trip: cpu-div2-throttle { 1305*724ba675SRob Herring /* hardware CPU x2 freq throttle at 85C */ 1306*724ba675SRob Herring temperature = <85000>; 1307*724ba675SRob Herring hysteresis = <200>; 1308*724ba675SRob Herring type = "hot"; 1309*724ba675SRob Herring }; 1310*724ba675SRob Herring 1311*724ba675SRob Herring level3_trip: soc-critical { 1312*724ba675SRob Herring /* hardware shut down at 90C */ 1313*724ba675SRob Herring temperature = <90000>; 1314*724ba675SRob Herring hysteresis = <2000>; 1315*724ba675SRob Herring type = "critical"; 1316*724ba675SRob Herring }; 1317*724ba675SRob Herring }; 1318*724ba675SRob Herring 1319*724ba675SRob Herring cooling-maps { 1320*724ba675SRob Herring map0 { 1321*724ba675SRob Herring trip = <&level1_trip>; 1322*724ba675SRob Herring cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 1323*724ba675SRob Herring <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 1324*724ba675SRob Herring <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 1325*724ba675SRob Herring <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 1326*724ba675SRob Herring <&actmon THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 1327*724ba675SRob Herring }; 1328*724ba675SRob Herring }; 1329*724ba675SRob Herring }; 1330*724ba675SRob Herring 1331*724ba675SRob Herring tsensor1-thermal { 1332*724ba675SRob Herring status = "disabled"; 1333*724ba675SRob Herring 1334*724ba675SRob Herring polling-delay-passive = <1000>; /* milliseconds */ 1335*724ba675SRob Herring polling-delay = <0>; /* milliseconds */ 1336*724ba675SRob Herring 1337*724ba675SRob Herring thermal-sensors = <&tsensor 1>; 1338*724ba675SRob Herring 1339*724ba675SRob Herring trips { 1340*724ba675SRob Herring dvfs-alert { 1341*724ba675SRob Herring temperature = <80000>; 1342*724ba675SRob Herring hysteresis = <200>; 1343*724ba675SRob Herring type = "passive"; 1344*724ba675SRob Herring }; 1345*724ba675SRob Herring }; 1346*724ba675SRob Herring }; 1347*724ba675SRob Herring }; 1348*724ba675SRob Herring}; 1349