diff options
Diffstat (limited to 'arch/arm/boot/dts/tegra20.dtsi')
| -rw-r--r-- | arch/arm/boot/dts/tegra20.dtsi | 195 |
1 files changed, 151 insertions, 44 deletions
diff --git a/arch/arm/boot/dts/tegra20.dtsi b/arch/arm/boot/dts/tegra20.dtsi index df40b54fd8bc..48d2a7f4d0c0 100644 --- a/arch/arm/boot/dts/tegra20.dtsi +++ b/arch/arm/boot/dts/tegra20.dtsi | |||
| @@ -1,5 +1,6 @@ | |||
| 1 | #include <dt-bindings/clock/tegra20-car.h> | 1 | #include <dt-bindings/clock/tegra20-car.h> |
| 2 | #include <dt-bindings/gpio/tegra-gpio.h> | 2 | #include <dt-bindings/gpio/tegra-gpio.h> |
| 3 | #include <dt-bindings/pinctrl/pinctrl-tegra.h> | ||
| 3 | #include <dt-bindings/interrupt-controller/arm-gic.h> | 4 | #include <dt-bindings/interrupt-controller/arm-gic.h> |
| 4 | 5 | ||
| 5 | #include "skeleton.dtsi" | 6 | #include "skeleton.dtsi" |
| @@ -16,57 +17,71 @@ | |||
| 16 | serial4 = &uarte; | 17 | serial4 = &uarte; |
| 17 | }; | 18 | }; |
| 18 | 19 | ||
| 19 | host1x { | 20 | host1x@50000000 { |
| 20 | compatible = "nvidia,tegra20-host1x", "simple-bus"; | 21 | compatible = "nvidia,tegra20-host1x", "simple-bus"; |
| 21 | reg = <0x50000000 0x00024000>; | 22 | reg = <0x50000000 0x00024000>; |
| 22 | interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>, /* syncpt */ | 23 | interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>, /* syncpt */ |
| 23 | <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; /* general */ | 24 | <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; /* general */ |
| 24 | clocks = <&tegra_car TEGRA20_CLK_HOST1X>; | 25 | clocks = <&tegra_car TEGRA20_CLK_HOST1X>; |
| 26 | resets = <&tegra_car 28>; | ||
| 27 | reset-names = "host1x"; | ||
| 25 | 28 | ||
| 26 | #address-cells = <1>; | 29 | #address-cells = <1>; |
| 27 | #size-cells = <1>; | 30 | #size-cells = <1>; |
| 28 | 31 | ||
| 29 | ranges = <0x54000000 0x54000000 0x04000000>; | 32 | ranges = <0x54000000 0x54000000 0x04000000>; |
| 30 | 33 | ||
| 31 | mpe { | 34 | mpe@54040000 { |
| 32 | compatible = "nvidia,tegra20-mpe"; | 35 | compatible = "nvidia,tegra20-mpe"; |
| 33 | reg = <0x54040000 0x00040000>; | 36 | reg = <0x54040000 0x00040000>; |
| 34 | interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>; | 37 | interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>; |
| 35 | clocks = <&tegra_car TEGRA20_CLK_MPE>; | 38 | clocks = <&tegra_car TEGRA20_CLK_MPE>; |
| 39 | resets = <&tegra_car 60>; | ||
| 40 | reset-names = "mpe"; | ||
| 36 | }; | 41 | }; |
| 37 | 42 | ||
| 38 | vi { | 43 | vi@54080000 { |
| 39 | compatible = "nvidia,tegra20-vi"; | 44 | compatible = "nvidia,tegra20-vi"; |
| 40 | reg = <0x54080000 0x00040000>; | 45 | reg = <0x54080000 0x00040000>; |
| 41 | interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>; | 46 | interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>; |
| 42 | clocks = <&tegra_car TEGRA20_CLK_VI>; | 47 | clocks = <&tegra_car TEGRA20_CLK_VI>; |
| 48 | resets = <&tegra_car 20>; | ||
| 49 | reset-names = "vi"; | ||
| 43 | }; | 50 | }; |
| 44 | 51 | ||
| 45 | epp { | 52 | epp@540c0000 { |
| 46 | compatible = "nvidia,tegra20-epp"; | 53 | compatible = "nvidia,tegra20-epp"; |
| 47 | reg = <0x540c0000 0x00040000>; | 54 | reg = <0x540c0000 0x00040000>; |
| 48 | interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>; | 55 | interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>; |
| 49 | clocks = <&tegra_car TEGRA20_CLK_EPP>; | 56 | clocks = <&tegra_car TEGRA20_CLK_EPP>; |
| 57 | resets = <&tegra_car 19>; | ||
| 58 | reset-names = "epp"; | ||
| 50 | }; | 59 | }; |
| 51 | 60 | ||
| 52 | isp { | 61 | isp@54100000 { |
| 53 | compatible = "nvidia,tegra20-isp"; | 62 | compatible = "nvidia,tegra20-isp"; |
| 54 | reg = <0x54100000 0x00040000>; | 63 | reg = <0x54100000 0x00040000>; |
| 55 | interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>; | 64 | interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>; |
| 56 | clocks = <&tegra_car TEGRA20_CLK_ISP>; | 65 | clocks = <&tegra_car TEGRA20_CLK_ISP>; |
| 66 | resets = <&tegra_car 23>; | ||
| 67 | reset-names = "isp"; | ||
| 57 | }; | 68 | }; |
| 58 | 69 | ||
| 59 | gr2d { | 70 | gr2d@54140000 { |
| 60 | compatible = "nvidia,tegra20-gr2d"; | 71 | compatible = "nvidia,tegra20-gr2d"; |
| 61 | reg = <0x54140000 0x00040000>; | 72 | reg = <0x54140000 0x00040000>; |
| 62 | interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>; | 73 | interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>; |
| 63 | clocks = <&tegra_car TEGRA20_CLK_GR2D>; | 74 | clocks = <&tegra_car TEGRA20_CLK_GR2D>; |
| 75 | resets = <&tegra_car 21>; | ||
| 76 | reset-names = "2d"; | ||
| 64 | }; | 77 | }; |
| 65 | 78 | ||
| 66 | gr3d { | 79 | gr3d@54140000 { |
| 67 | compatible = "nvidia,tegra20-gr3d"; | 80 | compatible = "nvidia,tegra20-gr3d"; |
| 68 | reg = <0x54180000 0x00040000>; | 81 | reg = <0x54140000 0x00040000>; |
| 69 | clocks = <&tegra_car TEGRA20_CLK_GR3D>; | 82 | clocks = <&tegra_car TEGRA20_CLK_GR3D>; |
| 83 | resets = <&tegra_car 24>; | ||
| 84 | reset-names = "3d"; | ||
| 70 | }; | 85 | }; |
| 71 | 86 | ||
| 72 | dc@54200000 { | 87 | dc@54200000 { |
| @@ -75,7 +90,11 @@ | |||
| 75 | interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>; | 90 | interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>; |
| 76 | clocks = <&tegra_car TEGRA20_CLK_DISP1>, | 91 | clocks = <&tegra_car TEGRA20_CLK_DISP1>, |
| 77 | <&tegra_car TEGRA20_CLK_PLL_P>; | 92 | <&tegra_car TEGRA20_CLK_PLL_P>; |
| 78 | clock-names = "disp1", "parent"; | 93 | clock-names = "dc", "parent"; |
| 94 | resets = <&tegra_car 27>; | ||
| 95 | reset-names = "dc"; | ||
| 96 | |||
| 97 | nvidia,head = <0>; | ||
| 79 | 98 | ||
| 80 | rgb { | 99 | rgb { |
| 81 | status = "disabled"; | 100 | status = "disabled"; |
| @@ -88,24 +107,30 @@ | |||
| 88 | interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>; | 107 | interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>; |
| 89 | clocks = <&tegra_car TEGRA20_CLK_DISP2>, | 108 | clocks = <&tegra_car TEGRA20_CLK_DISP2>, |
| 90 | <&tegra_car TEGRA20_CLK_PLL_P>; | 109 | <&tegra_car TEGRA20_CLK_PLL_P>; |
| 91 | clock-names = "disp2", "parent"; | 110 | clock-names = "dc", "parent"; |
| 111 | resets = <&tegra_car 26>; | ||
| 112 | reset-names = "dc"; | ||
| 113 | |||
| 114 | nvidia,head = <1>; | ||
| 92 | 115 | ||
| 93 | rgb { | 116 | rgb { |
| 94 | status = "disabled"; | 117 | status = "disabled"; |
| 95 | }; | 118 | }; |
| 96 | }; | 119 | }; |
| 97 | 120 | ||
| 98 | hdmi { | 121 | hdmi@54280000 { |
| 99 | compatible = "nvidia,tegra20-hdmi"; | 122 | compatible = "nvidia,tegra20-hdmi"; |
| 100 | reg = <0x54280000 0x00040000>; | 123 | reg = <0x54280000 0x00040000>; |
| 101 | interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>; | 124 | interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>; |
| 102 | clocks = <&tegra_car TEGRA20_CLK_HDMI>, | 125 | clocks = <&tegra_car TEGRA20_CLK_HDMI>, |
| 103 | <&tegra_car TEGRA20_CLK_PLL_D_OUT0>; | 126 | <&tegra_car TEGRA20_CLK_PLL_D_OUT0>; |
| 104 | clock-names = "hdmi", "parent"; | 127 | clock-names = "hdmi", "parent"; |
| 128 | resets = <&tegra_car 51>; | ||
| 129 | reset-names = "hdmi"; | ||
| 105 | status = "disabled"; | 130 | status = "disabled"; |
| 106 | }; | 131 | }; |
| 107 | 132 | ||
| 108 | tvo { | 133 | tvo@542c0000 { |
| 109 | compatible = "nvidia,tegra20-tvo"; | 134 | compatible = "nvidia,tegra20-tvo"; |
| 110 | reg = <0x542c0000 0x00040000>; | 135 | reg = <0x542c0000 0x00040000>; |
| 111 | interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>; | 136 | interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>; |
| @@ -113,10 +138,12 @@ | |||
| 113 | status = "disabled"; | 138 | status = "disabled"; |
| 114 | }; | 139 | }; |
| 115 | 140 | ||
| 116 | dsi { | 141 | dsi@542c0000 { |
| 117 | compatible = "nvidia,tegra20-dsi"; | 142 | compatible = "nvidia,tegra20-dsi"; |
| 118 | reg = <0x54300000 0x00040000>; | 143 | reg = <0x542c0000 0x00040000>; |
| 119 | clocks = <&tegra_car TEGRA20_CLK_DSI>; | 144 | clocks = <&tegra_car TEGRA20_CLK_DSI>; |
| 145 | resets = <&tegra_car 48>; | ||
| 146 | reset-names = "dsi"; | ||
| 120 | status = "disabled"; | 147 | status = "disabled"; |
| 121 | }; | 148 | }; |
| 122 | }; | 149 | }; |
| @@ -129,7 +156,7 @@ | |||
| 129 | clocks = <&tegra_car TEGRA20_CLK_TWD>; | 156 | clocks = <&tegra_car TEGRA20_CLK_TWD>; |
| 130 | }; | 157 | }; |
| 131 | 158 | ||
| 132 | intc: interrupt-controller { | 159 | intc: interrupt-controller@50041000 { |
| 133 | compatible = "arm,cortex-a9-gic"; | 160 | compatible = "arm,cortex-a9-gic"; |
| 134 | reg = <0x50041000 0x1000 | 161 | reg = <0x50041000 0x1000 |
| 135 | 0x50040100 0x0100>; | 162 | 0x50040100 0x0100>; |
| @@ -137,7 +164,7 @@ | |||
| 137 | #interrupt-cells = <3>; | 164 | #interrupt-cells = <3>; |
| 138 | }; | 165 | }; |
| 139 | 166 | ||
| 140 | cache-controller { | 167 | cache-controller@50043000 { |
| 141 | compatible = "arm,pl310-cache"; | 168 | compatible = "arm,pl310-cache"; |
| 142 | reg = <0x50043000 0x1000>; | 169 | reg = <0x50043000 0x1000>; |
| 143 | arm,data-latency = <5 5 2>; | 170 | arm,data-latency = <5 5 2>; |
| @@ -156,13 +183,14 @@ | |||
| 156 | clocks = <&tegra_car TEGRA20_CLK_TIMER>; | 183 | clocks = <&tegra_car TEGRA20_CLK_TIMER>; |
| 157 | }; | 184 | }; |
| 158 | 185 | ||
| 159 | tegra_car: clock { | 186 | tegra_car: clock@60006000 { |
| 160 | compatible = "nvidia,tegra20-car"; | 187 | compatible = "nvidia,tegra20-car"; |
| 161 | reg = <0x60006000 0x1000>; | 188 | reg = <0x60006000 0x1000>; |
| 162 | #clock-cells = <1>; | 189 | #clock-cells = <1>; |
| 190 | #reset-cells = <1>; | ||
| 163 | }; | 191 | }; |
| 164 | 192 | ||
| 165 | apbdma: dma { | 193 | apbdma: dma@6000a000 { |
| 166 | compatible = "nvidia,tegra20-apbdma"; | 194 | compatible = "nvidia,tegra20-apbdma"; |
| 167 | reg = <0x6000a000 0x1200>; | 195 | reg = <0x6000a000 0x1200>; |
| 168 | interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>, | 196 | interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>, |
| @@ -182,14 +210,17 @@ | |||
| 182 | <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>, | 210 | <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>, |
| 183 | <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>; | 211 | <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>; |
| 184 | clocks = <&tegra_car TEGRA20_CLK_APBDMA>; | 212 | clocks = <&tegra_car TEGRA20_CLK_APBDMA>; |
| 213 | resets = <&tegra_car 34>; | ||
| 214 | reset-names = "dma"; | ||
| 215 | #dma-cells = <1>; | ||
| 185 | }; | 216 | }; |
| 186 | 217 | ||
| 187 | ahb { | 218 | ahb@6000c004 { |
| 188 | compatible = "nvidia,tegra20-ahb"; | 219 | compatible = "nvidia,tegra20-ahb"; |
| 189 | reg = <0x6000c004 0x10c>; /* AHB Arbitration + Gizmo Controller */ | 220 | reg = <0x6000c004 0x10c>; /* AHB Arbitration + Gizmo Controller */ |
| 190 | }; | 221 | }; |
| 191 | 222 | ||
| 192 | gpio: gpio { | 223 | gpio: gpio@6000d000 { |
| 193 | compatible = "nvidia,tegra20-gpio"; | 224 | compatible = "nvidia,tegra20-gpio"; |
| 194 | reg = <0x6000d000 0x1000>; | 225 | reg = <0x6000d000 0x1000>; |
| 195 | interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>, | 226 | interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>, |
| @@ -205,7 +236,7 @@ | |||
| 205 | interrupt-controller; | 236 | interrupt-controller; |
| 206 | }; | 237 | }; |
| 207 | 238 | ||
| 208 | pinmux: pinmux { | 239 | pinmux: pinmux@70000014 { |
| 209 | compatible = "nvidia,tegra20-pinmux"; | 240 | compatible = "nvidia,tegra20-pinmux"; |
| 210 | reg = <0x70000014 0x10 /* Tri-state registers */ | 241 | reg = <0x70000014 0x10 /* Tri-state registers */ |
| 211 | 0x70000080 0x20 /* Mux registers */ | 242 | 0x70000080 0x20 /* Mux registers */ |
| @@ -213,17 +244,20 @@ | |||
| 213 | 0x70000868 0xa8>; /* Pad control registers */ | 244 | 0x70000868 0xa8>; /* Pad control registers */ |
| 214 | }; | 245 | }; |
| 215 | 246 | ||
| 216 | das { | 247 | das@70000c00 { |
| 217 | compatible = "nvidia,tegra20-das"; | 248 | compatible = "nvidia,tegra20-das"; |
| 218 | reg = <0x70000c00 0x80>; | 249 | reg = <0x70000c00 0x80>; |
| 219 | }; | 250 | }; |
| 220 | 251 | ||
| 221 | tegra_ac97: ac97 { | 252 | tegra_ac97: ac97@70002000 { |
| 222 | compatible = "nvidia,tegra20-ac97"; | 253 | compatible = "nvidia,tegra20-ac97"; |
| 223 | reg = <0x70002000 0x200>; | 254 | reg = <0x70002000 0x200>; |
| 224 | interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>; | 255 | interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>; |
| 225 | nvidia,dma-request-selector = <&apbdma 12>; | ||
| 226 | clocks = <&tegra_car TEGRA20_CLK_AC97>; | 256 | clocks = <&tegra_car TEGRA20_CLK_AC97>; |
| 257 | resets = <&tegra_car 3>; | ||
| 258 | reset-names = "ac97"; | ||
| 259 | dmas = <&apbdma 12>, <&apbdma 12>; | ||
| 260 | dma-names = "rx", "tx"; | ||
| 227 | status = "disabled"; | 261 | status = "disabled"; |
| 228 | }; | 262 | }; |
| 229 | 263 | ||
| @@ -231,8 +265,11 @@ | |||
| 231 | compatible = "nvidia,tegra20-i2s"; | 265 | compatible = "nvidia,tegra20-i2s"; |
| 232 | reg = <0x70002800 0x200>; | 266 | reg = <0x70002800 0x200>; |
| 233 | interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; | 267 | interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; |
| 234 | nvidia,dma-request-selector = <&apbdma 2>; | ||
| 235 | clocks = <&tegra_car TEGRA20_CLK_I2S1>; | 268 | clocks = <&tegra_car TEGRA20_CLK_I2S1>; |
| 269 | resets = <&tegra_car 11>; | ||
| 270 | reset-names = "i2s"; | ||
| 271 | dmas = <&apbdma 2>, <&apbdma 2>; | ||
| 272 | dma-names = "rx", "tx"; | ||
| 236 | status = "disabled"; | 273 | status = "disabled"; |
| 237 | }; | 274 | }; |
| 238 | 275 | ||
| @@ -240,8 +277,11 @@ | |||
| 240 | compatible = "nvidia,tegra20-i2s"; | 277 | compatible = "nvidia,tegra20-i2s"; |
| 241 | reg = <0x70002a00 0x200>; | 278 | reg = <0x70002a00 0x200>; |
| 242 | interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>; | 279 | interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>; |
| 243 | nvidia,dma-request-selector = <&apbdma 1>; | ||
| 244 | clocks = <&tegra_car TEGRA20_CLK_I2S2>; | 280 | clocks = <&tegra_car TEGRA20_CLK_I2S2>; |
| 281 | resets = <&tegra_car 18>; | ||
| 282 | reset-names = "i2s"; | ||
| 283 | dmas = <&apbdma 1>, <&apbdma 1>; | ||
| 284 | dma-names = "rx", "tx"; | ||
| 245 | status = "disabled"; | 285 | status = "disabled"; |
| 246 | }; | 286 | }; |
| 247 | 287 | ||
| @@ -257,8 +297,11 @@ | |||
| 257 | reg = <0x70006000 0x40>; | 297 | reg = <0x70006000 0x40>; |
| 258 | reg-shift = <2>; | 298 | reg-shift = <2>; |
| 259 | interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>; | 299 | interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>; |
| 260 | nvidia,dma-request-selector = <&apbdma 8>; | ||
| 261 | clocks = <&tegra_car TEGRA20_CLK_UARTA>; | 300 | clocks = <&tegra_car TEGRA20_CLK_UARTA>; |
| 301 | resets = <&tegra_car 6>; | ||
| 302 | reset-names = "serial"; | ||
| 303 | dmas = <&apbdma 8>, <&apbdma 8>; | ||
| 304 | dma-names = "rx", "tx"; | ||
| 262 | status = "disabled"; | 305 | status = "disabled"; |
| 263 | }; | 306 | }; |
| 264 | 307 | ||
| @@ -267,8 +310,11 @@ | |||
| 267 | reg = <0x70006040 0x40>; | 310 | reg = <0x70006040 0x40>; |
| 268 | reg-shift = <2>; | 311 | reg-shift = <2>; |
| 269 | interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; | 312 | interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; |
| 270 | nvidia,dma-request-selector = <&apbdma 9>; | ||
| 271 | clocks = <&tegra_car TEGRA20_CLK_UARTB>; | 313 | clocks = <&tegra_car TEGRA20_CLK_UARTB>; |
| 314 | resets = <&tegra_car 7>; | ||
| 315 | reset-names = "serial"; | ||
| 316 | dmas = <&apbdma 9>, <&apbdma 9>; | ||
| 317 | dma-names = "rx", "tx"; | ||
| 272 | status = "disabled"; | 318 | status = "disabled"; |
| 273 | }; | 319 | }; |
| 274 | 320 | ||
| @@ -277,8 +323,11 @@ | |||
| 277 | reg = <0x70006200 0x100>; | 323 | reg = <0x70006200 0x100>; |
| 278 | reg-shift = <2>; | 324 | reg-shift = <2>; |
| 279 | interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>; | 325 | interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>; |
| 280 | nvidia,dma-request-selector = <&apbdma 10>; | ||
| 281 | clocks = <&tegra_car TEGRA20_CLK_UARTC>; | 326 | clocks = <&tegra_car TEGRA20_CLK_UARTC>; |
| 327 | resets = <&tegra_car 55>; | ||
| 328 | reset-names = "serial"; | ||
| 329 | dmas = <&apbdma 10>, <&apbdma 10>; | ||
| 330 | dma-names = "rx", "tx"; | ||
| 282 | status = "disabled"; | 331 | status = "disabled"; |
| 283 | }; | 332 | }; |
| 284 | 333 | ||
| @@ -287,8 +336,11 @@ | |||
| 287 | reg = <0x70006300 0x100>; | 336 | reg = <0x70006300 0x100>; |
| 288 | reg-shift = <2>; | 337 | reg-shift = <2>; |
| 289 | interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>; | 338 | interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>; |
| 290 | nvidia,dma-request-selector = <&apbdma 19>; | ||
| 291 | clocks = <&tegra_car TEGRA20_CLK_UARTD>; | 339 | clocks = <&tegra_car TEGRA20_CLK_UARTD>; |
| 340 | resets = <&tegra_car 65>; | ||
| 341 | reset-names = "serial"; | ||
| 342 | dmas = <&apbdma 19>, <&apbdma 19>; | ||
| 343 | dma-names = "rx", "tx"; | ||
| 292 | status = "disabled"; | 344 | status = "disabled"; |
| 293 | }; | 345 | }; |
| 294 | 346 | ||
| @@ -297,20 +349,25 @@ | |||
| 297 | reg = <0x70006400 0x100>; | 349 | reg = <0x70006400 0x100>; |
| 298 | reg-shift = <2>; | 350 | reg-shift = <2>; |
| 299 | interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>; | 351 | interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>; |
| 300 | nvidia,dma-request-selector = <&apbdma 20>; | ||
| 301 | clocks = <&tegra_car TEGRA20_CLK_UARTE>; | 352 | clocks = <&tegra_car TEGRA20_CLK_UARTE>; |
| 353 | resets = <&tegra_car 66>; | ||
| 354 | reset-names = "serial"; | ||
| 355 | dmas = <&apbdma 20>, <&apbdma 20>; | ||
| 356 | dma-names = "rx", "tx"; | ||
| 302 | status = "disabled"; | 357 | status = "disabled"; |
| 303 | }; | 358 | }; |
| 304 | 359 | ||
| 305 | pwm: pwm { | 360 | pwm: pwm@7000a000 { |
| 306 | compatible = "nvidia,tegra20-pwm"; | 361 | compatible = "nvidia,tegra20-pwm"; |
| 307 | reg = <0x7000a000 0x100>; | 362 | reg = <0x7000a000 0x100>; |
| 308 | #pwm-cells = <2>; | 363 | #pwm-cells = <2>; |
| 309 | clocks = <&tegra_car TEGRA20_CLK_PWM>; | 364 | clocks = <&tegra_car TEGRA20_CLK_PWM>; |
| 365 | resets = <&tegra_car 17>; | ||
| 366 | reset-names = "pwm"; | ||
| 310 | status = "disabled"; | 367 | status = "disabled"; |
| 311 | }; | 368 | }; |
| 312 | 369 | ||
| 313 | rtc { | 370 | rtc@7000e000 { |
| 314 | compatible = "nvidia,tegra20-rtc"; | 371 | compatible = "nvidia,tegra20-rtc"; |
| 315 | reg = <0x7000e000 0x100>; | 372 | reg = <0x7000e000 0x100>; |
| 316 | interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>; | 373 | interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>; |
| @@ -326,6 +383,10 @@ | |||
| 326 | clocks = <&tegra_car TEGRA20_CLK_I2C1>, | 383 | clocks = <&tegra_car TEGRA20_CLK_I2C1>, |
| 327 | <&tegra_car TEGRA20_CLK_PLL_P_OUT3>; | 384 | <&tegra_car TEGRA20_CLK_PLL_P_OUT3>; |
| 328 | clock-names = "div-clk", "fast-clk"; | 385 | clock-names = "div-clk", "fast-clk"; |
| 386 | resets = <&tegra_car 12>; | ||
| 387 | reset-names = "i2c"; | ||
| 388 | dmas = <&apbdma 21>, <&apbdma 21>; | ||
| 389 | dma-names = "rx", "tx"; | ||
| 329 | status = "disabled"; | 390 | status = "disabled"; |
| 330 | }; | 391 | }; |
| 331 | 392 | ||
| @@ -333,10 +394,13 @@ | |||
| 333 | compatible = "nvidia,tegra20-sflash"; | 394 | compatible = "nvidia,tegra20-sflash"; |
| 334 | reg = <0x7000c380 0x80>; | 395 | reg = <0x7000c380 0x80>; |
| 335 | interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>; | 396 | interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>; |
| 336 | nvidia,dma-request-selector = <&apbdma 11>; | ||
| 337 | #address-cells = <1>; | 397 | #address-cells = <1>; |
| 338 | #size-cells = <0>; | 398 | #size-cells = <0>; |
| 339 | clocks = <&tegra_car TEGRA20_CLK_SPI>; | 399 | clocks = <&tegra_car TEGRA20_CLK_SPI>; |
| 400 | resets = <&tegra_car 43>; | ||
| 401 | reset-names = "spi"; | ||
| 402 | dmas = <&apbdma 11>, <&apbdma 11>; | ||
| 403 | dma-names = "rx", "tx"; | ||
| 340 | status = "disabled"; | 404 | status = "disabled"; |
| 341 | }; | 405 | }; |
| 342 | 406 | ||
| @@ -349,6 +413,10 @@ | |||
| 349 | clocks = <&tegra_car TEGRA20_CLK_I2C2>, | 413 | clocks = <&tegra_car TEGRA20_CLK_I2C2>, |
| 350 | <&tegra_car TEGRA20_CLK_PLL_P_OUT3>; | 414 | <&tegra_car TEGRA20_CLK_PLL_P_OUT3>; |
| 351 | clock-names = "div-clk", "fast-clk"; | 415 | clock-names = "div-clk", "fast-clk"; |
| 416 | resets = <&tegra_car 54>; | ||
| 417 | reset-names = "i2c"; | ||
| 418 | dmas = <&apbdma 22>, <&apbdma 22>; | ||
| 419 | dma-names = "rx", "tx"; | ||
| 352 | status = "disabled"; | 420 | status = "disabled"; |
| 353 | }; | 421 | }; |
| 354 | 422 | ||
| @@ -361,6 +429,10 @@ | |||
| 361 | clocks = <&tegra_car TEGRA20_CLK_I2C3>, | 429 | clocks = <&tegra_car TEGRA20_CLK_I2C3>, |
| 362 | <&tegra_car TEGRA20_CLK_PLL_P_OUT3>; | 430 | <&tegra_car TEGRA20_CLK_PLL_P_OUT3>; |
| 363 | clock-names = "div-clk", "fast-clk"; | 431 | clock-names = "div-clk", "fast-clk"; |
| 432 | resets = <&tegra_car 67>; | ||
| 433 | reset-names = "i2c"; | ||
| 434 | dmas = <&apbdma 23>, <&apbdma 23>; | ||
| 435 | dma-names = "rx", "tx"; | ||
| 364 | status = "disabled"; | 436 | status = "disabled"; |
| 365 | }; | 437 | }; |
| 366 | 438 | ||
| @@ -373,6 +445,10 @@ | |||
| 373 | clocks = <&tegra_car TEGRA20_CLK_DVC>, | 445 | clocks = <&tegra_car TEGRA20_CLK_DVC>, |
| 374 | <&tegra_car TEGRA20_CLK_PLL_P_OUT3>; | 446 | <&tegra_car TEGRA20_CLK_PLL_P_OUT3>; |
| 375 | clock-names = "div-clk", "fast-clk"; | 447 | clock-names = "div-clk", "fast-clk"; |
| 448 | resets = <&tegra_car 47>; | ||
| 449 | reset-names = "i2c"; | ||
| 450 | dmas = <&apbdma 24>, <&apbdma 24>; | ||
| 451 | dma-names = "rx", "tx"; | ||
| 376 | status = "disabled"; | 452 | status = "disabled"; |
| 377 | }; | 453 | }; |
| 378 | 454 | ||
| @@ -380,10 +456,13 @@ | |||
| 380 | compatible = "nvidia,tegra20-slink"; | 456 | compatible = "nvidia,tegra20-slink"; |
| 381 | reg = <0x7000d400 0x200>; | 457 | reg = <0x7000d400 0x200>; |
| 382 | interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>; | 458 | interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>; |
| 383 | nvidia,dma-request-selector = <&apbdma 15>; | ||
| 384 | #address-cells = <1>; | 459 | #address-cells = <1>; |
| 385 | #size-cells = <0>; | 460 | #size-cells = <0>; |
| 386 | clocks = <&tegra_car TEGRA20_CLK_SBC1>; | 461 | clocks = <&tegra_car TEGRA20_CLK_SBC1>; |
| 462 | resets = <&tegra_car 41>; | ||
| 463 | reset-names = "spi"; | ||
| 464 | dmas = <&apbdma 15>, <&apbdma 15>; | ||
| 465 | dma-names = "rx", "tx"; | ||
| 387 | status = "disabled"; | 466 | status = "disabled"; |
| 388 | }; | 467 | }; |
| 389 | 468 | ||
| @@ -391,10 +470,13 @@ | |||
| 391 | compatible = "nvidia,tegra20-slink"; | 470 | compatible = "nvidia,tegra20-slink"; |
| 392 | reg = <0x7000d600 0x200>; | 471 | reg = <0x7000d600 0x200>; |
| 393 | interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>; | 472 | interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>; |
| 394 | nvidia,dma-request-selector = <&apbdma 16>; | ||
| 395 | #address-cells = <1>; | 473 | #address-cells = <1>; |
| 396 | #size-cells = <0>; | 474 | #size-cells = <0>; |
| 397 | clocks = <&tegra_car TEGRA20_CLK_SBC2>; | 475 | clocks = <&tegra_car TEGRA20_CLK_SBC2>; |
| 476 | resets = <&tegra_car 44>; | ||
| 477 | reset-names = "spi"; | ||
| 478 | dmas = <&apbdma 16>, <&apbdma 16>; | ||
| 479 | dma-names = "rx", "tx"; | ||
| 398 | status = "disabled"; | 480 | status = "disabled"; |
| 399 | }; | 481 | }; |
| 400 | 482 | ||
| @@ -402,10 +484,13 @@ | |||
| 402 | compatible = "nvidia,tegra20-slink"; | 484 | compatible = "nvidia,tegra20-slink"; |
| 403 | reg = <0x7000d800 0x200>; | 485 | reg = <0x7000d800 0x200>; |
| 404 | interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>; | 486 | interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>; |
| 405 | nvidia,dma-request-selector = <&apbdma 17>; | ||
| 406 | #address-cells = <1>; | 487 | #address-cells = <1>; |
| 407 | #size-cells = <0>; | 488 | #size-cells = <0>; |
| 408 | clocks = <&tegra_car TEGRA20_CLK_SBC3>; | 489 | clocks = <&tegra_car TEGRA20_CLK_SBC3>; |
| 490 | resets = <&tegra_car 46>; | ||
| 491 | reset-names = "spi"; | ||
| 492 | dmas = <&apbdma 17>, <&apbdma 17>; | ||
| 493 | dma-names = "rx", "tx"; | ||
| 409 | status = "disabled"; | 494 | status = "disabled"; |
| 410 | }; | 495 | }; |
| 411 | 496 | ||
| @@ -413,22 +498,27 @@ | |||
| 413 | compatible = "nvidia,tegra20-slink"; | 498 | compatible = "nvidia,tegra20-slink"; |
| 414 | reg = <0x7000da00 0x200>; | 499 | reg = <0x7000da00 0x200>; |
| 415 | interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>; | 500 | interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>; |
| 416 | nvidia,dma-request-selector = <&apbdma 18>; | ||
| 417 | #address-cells = <1>; | 501 | #address-cells = <1>; |
| 418 | #size-cells = <0>; | 502 | #size-cells = <0>; |
| 419 | clocks = <&tegra_car TEGRA20_CLK_SBC4>; | 503 | clocks = <&tegra_car TEGRA20_CLK_SBC4>; |
| 504 | resets = <&tegra_car 68>; | ||
| 505 | reset-names = "spi"; | ||
| 506 | dmas = <&apbdma 18>, <&apbdma 18>; | ||
| 507 | dma-names = "rx", "tx"; | ||
| 420 | status = "disabled"; | 508 | status = "disabled"; |
| 421 | }; | 509 | }; |
| 422 | 510 | ||
| 423 | kbc { | 511 | kbc@7000e200 { |
| 424 | compatible = "nvidia,tegra20-kbc"; | 512 | compatible = "nvidia,tegra20-kbc"; |
| 425 | reg = <0x7000e200 0x100>; | 513 | reg = <0x7000e200 0x100>; |
| 426 | interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>; | 514 | interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>; |
| 427 | clocks = <&tegra_car TEGRA20_CLK_KBC>; | 515 | clocks = <&tegra_car TEGRA20_CLK_KBC>; |
| 516 | resets = <&tegra_car 36>; | ||
| 517 | reset-names = "kbc"; | ||
| 428 | status = "disabled"; | 518 | status = "disabled"; |
| 429 | }; | 519 | }; |
| 430 | 520 | ||
| 431 | pmc { | 521 | pmc@7000e400 { |
| 432 | compatible = "nvidia,tegra20-pmc"; | 522 | compatible = "nvidia,tegra20-pmc"; |
| 433 | reg = <0x7000e400 0x400>; | 523 | reg = <0x7000e400 0x400>; |
| 434 | clocks = <&tegra_car TEGRA20_CLK_PCLK>, <&clk32k_in>; | 524 | clocks = <&tegra_car TEGRA20_CLK_PCLK>, <&clk32k_in>; |
| @@ -442,7 +532,7 @@ | |||
| 442 | interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>; | 532 | interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>; |
| 443 | }; | 533 | }; |
| 444 | 534 | ||
| 445 | iommu { | 535 | iommu@7000f024 { |
| 446 | compatible = "nvidia,tegra20-gart"; | 536 | compatible = "nvidia,tegra20-gart"; |
| 447 | reg = <0x7000f024 0x00000018 /* controller registers */ | 537 | reg = <0x7000f024 0x00000018 /* controller registers */ |
| 448 | 0x58000000 0x02000000>; /* GART aperture */ | 538 | 0x58000000 0x02000000>; /* GART aperture */ |
| @@ -455,7 +545,7 @@ | |||
| 455 | #size-cells = <0>; | 545 | #size-cells = <0>; |
| 456 | }; | 546 | }; |
| 457 | 547 | ||
| 458 | pcie-controller { | 548 | pcie-controller@80003000 { |
| 459 | compatible = "nvidia,tegra20-pcie"; | 549 | compatible = "nvidia,tegra20-pcie"; |
| 460 | device_type = "pci"; | 550 | device_type = "pci"; |
| 461 | reg = <0x80003000 0x00000800 /* PADS registers */ | 551 | reg = <0x80003000 0x00000800 /* PADS registers */ |
| @@ -478,9 +568,12 @@ | |||
| 478 | 568 | ||
| 479 | clocks = <&tegra_car TEGRA20_CLK_PEX>, | 569 | clocks = <&tegra_car TEGRA20_CLK_PEX>, |
| 480 | <&tegra_car TEGRA20_CLK_AFI>, | 570 | <&tegra_car TEGRA20_CLK_AFI>, |
| 481 | <&tegra_car TEGRA20_CLK_PCIE_XCLK>, | ||
| 482 | <&tegra_car TEGRA20_CLK_PLL_E>; | 571 | <&tegra_car TEGRA20_CLK_PLL_E>; |
| 483 | clock-names = "pex", "afi", "pcie_xclk", "pll_e"; | 572 | clock-names = "pex", "afi", "pll_e"; |
| 573 | resets = <&tegra_car 70>, | ||
| 574 | <&tegra_car 72>, | ||
| 575 | <&tegra_car 74>; | ||
| 576 | reset-names = "pex", "afi", "pcie_x"; | ||
| 484 | status = "disabled"; | 577 | status = "disabled"; |
| 485 | 578 | ||
| 486 | pci@1,0 { | 579 | pci@1,0 { |
| @@ -517,6 +610,8 @@ | |||
| 517 | phy_type = "utmi"; | 610 | phy_type = "utmi"; |
| 518 | nvidia,has-legacy-mode; | 611 | nvidia,has-legacy-mode; |
| 519 | clocks = <&tegra_car TEGRA20_CLK_USBD>; | 612 | clocks = <&tegra_car TEGRA20_CLK_USBD>; |
| 613 | resets = <&tegra_car 22>; | ||
| 614 | reset-names = "usb"; | ||
| 520 | nvidia,needs-double-reset; | 615 | nvidia,needs-double-reset; |
| 521 | nvidia,phy = <&phy1>; | 616 | nvidia,phy = <&phy1>; |
| 522 | status = "disabled"; | 617 | status = "disabled"; |
| @@ -548,6 +643,8 @@ | |||
| 548 | interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>; | 643 | interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>; |
| 549 | phy_type = "ulpi"; | 644 | phy_type = "ulpi"; |
| 550 | clocks = <&tegra_car TEGRA20_CLK_USB2>; | 645 | clocks = <&tegra_car TEGRA20_CLK_USB2>; |
| 646 | resets = <&tegra_car 58>; | ||
| 647 | reset-names = "usb"; | ||
| 551 | nvidia,phy = <&phy2>; | 648 | nvidia,phy = <&phy2>; |
| 552 | status = "disabled"; | 649 | status = "disabled"; |
| 553 | }; | 650 | }; |
| @@ -569,6 +666,8 @@ | |||
| 569 | interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>; | 666 | interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>; |
| 570 | phy_type = "utmi"; | 667 | phy_type = "utmi"; |
| 571 | clocks = <&tegra_car TEGRA20_CLK_USB3>; | 668 | clocks = <&tegra_car TEGRA20_CLK_USB3>; |
| 669 | resets = <&tegra_car 59>; | ||
| 670 | reset-names = "usb"; | ||
| 572 | nvidia,phy = <&phy3>; | 671 | nvidia,phy = <&phy3>; |
| 573 | status = "disabled"; | 672 | status = "disabled"; |
| 574 | }; | 673 | }; |
| @@ -597,6 +696,8 @@ | |||
| 597 | reg = <0xc8000000 0x200>; | 696 | reg = <0xc8000000 0x200>; |
| 598 | interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; | 697 | interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; |
| 599 | clocks = <&tegra_car TEGRA20_CLK_SDMMC1>; | 698 | clocks = <&tegra_car TEGRA20_CLK_SDMMC1>; |
| 699 | resets = <&tegra_car 14>; | ||
| 700 | reset-names = "sdhci"; | ||
| 600 | status = "disabled"; | 701 | status = "disabled"; |
| 601 | }; | 702 | }; |
| 602 | 703 | ||
| @@ -605,6 +706,8 @@ | |||
| 605 | reg = <0xc8000200 0x200>; | 706 | reg = <0xc8000200 0x200>; |
| 606 | interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>; | 707 | interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>; |
| 607 | clocks = <&tegra_car TEGRA20_CLK_SDMMC2>; | 708 | clocks = <&tegra_car TEGRA20_CLK_SDMMC2>; |
| 709 | resets = <&tegra_car 9>; | ||
| 710 | reset-names = "sdhci"; | ||
| 608 | status = "disabled"; | 711 | status = "disabled"; |
| 609 | }; | 712 | }; |
| 610 | 713 | ||
| @@ -613,6 +716,8 @@ | |||
| 613 | reg = <0xc8000400 0x200>; | 716 | reg = <0xc8000400 0x200>; |
| 614 | interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>; | 717 | interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>; |
| 615 | clocks = <&tegra_car TEGRA20_CLK_SDMMC3>; | 718 | clocks = <&tegra_car TEGRA20_CLK_SDMMC3>; |
| 719 | resets = <&tegra_car 69>; | ||
| 720 | reset-names = "sdhci"; | ||
| 616 | status = "disabled"; | 721 | status = "disabled"; |
| 617 | }; | 722 | }; |
| 618 | 723 | ||
| @@ -621,6 +726,8 @@ | |||
| 621 | reg = <0xc8000600 0x200>; | 726 | reg = <0xc8000600 0x200>; |
| 622 | interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>; | 727 | interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>; |
| 623 | clocks = <&tegra_car TEGRA20_CLK_SDMMC4>; | 728 | clocks = <&tegra_car TEGRA20_CLK_SDMMC4>; |
| 729 | resets = <&tegra_car 15>; | ||
| 730 | reset-names = "sdhci"; | ||
| 624 | status = "disabled"; | 731 | status = "disabled"; |
| 625 | }; | 732 | }; |
| 626 | 733 | ||
