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