139cb62cbSJoseph Lo#include <dt-bindings/interrupt-controller/arm-gic.h> 239cb62cbSJoseph Lo 339cb62cbSJoseph Lo/ { 439cb62cbSJoseph Lo compatible = "nvidia,tegra186"; 539cb62cbSJoseph Lo interrupt-parent = <&gic>; 639cb62cbSJoseph Lo #address-cells = <2>; 739cb62cbSJoseph Lo #size-cells = <2>; 839cb62cbSJoseph Lo 939cb62cbSJoseph Lo uarta: serial@3100000 { 1039cb62cbSJoseph Lo compatible = "nvidia,tegra186-uart", "nvidia,tegra20-uart"; 1139cb62cbSJoseph Lo reg = <0x0 0x03100000 0x0 0x40>; 1239cb62cbSJoseph Lo reg-shift = <2>; 1339cb62cbSJoseph Lo interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>; 14a7a77e2eSThierry Reding clocks = <&bpmp 55>; 15a7a77e2eSThierry Reding clock-names = "serial"; 16a7a77e2eSThierry Reding resets = <&bpmp 47>; 17a7a77e2eSThierry Reding reset-names = "serial"; 18a7a77e2eSThierry Reding status = "disabled"; 19a7a77e2eSThierry Reding }; 20a7a77e2eSThierry Reding 21a7a77e2eSThierry Reding uartb: serial@3110000 { 22a7a77e2eSThierry Reding compatible = "nvidia,tegra186-uart", "nvidia,tegra20-uart"; 23a7a77e2eSThierry Reding reg = <0x0 0x03110000 0x0 0x40>; 24a7a77e2eSThierry Reding reg-shift = <2>; 25a7a77e2eSThierry Reding interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>; 26a7a77e2eSThierry Reding clocks = <&bpmp 56>; 27a7a77e2eSThierry Reding clock-names = "serial"; 28a7a77e2eSThierry Reding resets = <&bpmp 48>; 29a7a77e2eSThierry Reding reset-names = "serial"; 30a7a77e2eSThierry Reding status = "disabled"; 31a7a77e2eSThierry Reding }; 32a7a77e2eSThierry Reding 33a7a77e2eSThierry Reding uartd: serial@3130000 { 34a7a77e2eSThierry Reding compatible = "nvidia,tegra186-uart", "nvidia,tegra20-uart"; 35a7a77e2eSThierry Reding reg = <0x0 0x03130000 0x0 0x40>; 36a7a77e2eSThierry Reding reg-shift = <2>; 37a7a77e2eSThierry Reding interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>; 38a7a77e2eSThierry Reding clocks = <&bpmp 77>; 39a7a77e2eSThierry Reding clock-names = "serial"; 40a7a77e2eSThierry Reding resets = <&bpmp 50>; 41a7a77e2eSThierry Reding reset-names = "serial"; 42a7a77e2eSThierry Reding status = "disabled"; 43a7a77e2eSThierry Reding }; 44a7a77e2eSThierry Reding 45a7a77e2eSThierry Reding uarte: serial@3140000 { 46a7a77e2eSThierry Reding compatible = "nvidia,tegra186-uart", "nvidia,tegra20-uart"; 47a7a77e2eSThierry Reding reg = <0x0 0x03140000 0x0 0x40>; 48a7a77e2eSThierry Reding reg-shift = <2>; 49a7a77e2eSThierry Reding interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>; 50a7a77e2eSThierry Reding clocks = <&bpmp 194>; 51a7a77e2eSThierry Reding clock-names = "serial"; 52a7a77e2eSThierry Reding resets = <&bpmp 132>; 53a7a77e2eSThierry Reding reset-names = "serial"; 54a7a77e2eSThierry Reding status = "disabled"; 55a7a77e2eSThierry Reding }; 56a7a77e2eSThierry Reding 57a7a77e2eSThierry Reding uartf: serial@3150000 { 58a7a77e2eSThierry Reding compatible = "nvidia,tegra186-uart", "nvidia,tegra20-uart"; 59a7a77e2eSThierry Reding reg = <0x0 0x03150000 0x0 0x40>; 60a7a77e2eSThierry Reding reg-shift = <2>; 61a7a77e2eSThierry Reding interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>; 62a7a77e2eSThierry Reding clocks = <&bpmp 195>; 63a7a77e2eSThierry Reding clock-names = "serial"; 64a7a77e2eSThierry Reding resets = <&bpmp 111>; 65a7a77e2eSThierry Reding reset-names = "serial"; 6639cb62cbSJoseph Lo status = "disabled"; 6739cb62cbSJoseph Lo }; 6839cb62cbSJoseph Lo 6940cc83b3SThierry Reding gen1_i2c: i2c@3160000 { 7040cc83b3SThierry Reding compatible = "nvidia,tegra186-i2c", "nvidia,tegra114-i2c"; 7140cc83b3SThierry Reding reg = <0x0 0x03160000 0x0 0x10000>; 7240cc83b3SThierry Reding interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>; 7340cc83b3SThierry Reding #address-cells = <1>; 7440cc83b3SThierry Reding #size-cells = <0>; 7540cc83b3SThierry Reding clocks = <&bpmp 47>; 7640cc83b3SThierry Reding clock-names = "div-clk"; 7740cc83b3SThierry Reding resets = <&bpmp 19>; 7840cc83b3SThierry Reding reset-names = "i2c"; 7940cc83b3SThierry Reding status = "disabled"; 8040cc83b3SThierry Reding }; 8140cc83b3SThierry Reding 8240cc83b3SThierry Reding cam_i2c: i2c@3180000 { 8340cc83b3SThierry Reding compatible = "nvidia,tegra186-i2c", "nvidia,tegra114-i2c"; 8440cc83b3SThierry Reding reg = <0x0 0x03180000 0x0 0x10000>; 8540cc83b3SThierry Reding interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>; 8640cc83b3SThierry Reding #address-cells = <1>; 8740cc83b3SThierry Reding #size-cells = <0>; 8840cc83b3SThierry Reding clocks = <&bpmp 75>; 8940cc83b3SThierry Reding clock-names = "div-clk"; 9040cc83b3SThierry Reding resets = <&bpmp 21>; 9140cc83b3SThierry Reding reset-names = "i2c"; 9240cc83b3SThierry Reding status = "disabled"; 9340cc83b3SThierry Reding }; 9440cc83b3SThierry Reding 9540cc83b3SThierry Reding /* shares pads with dpaux1 */ 9640cc83b3SThierry Reding dp_aux_ch1_i2c: i2c@3190000 { 9740cc83b3SThierry Reding compatible = "nvidia,tegra186-i2c", "nvidia,tegra114-i2c"; 9840cc83b3SThierry Reding reg = <0x0 0x03190000 0x0 0x10000>; 9940cc83b3SThierry Reding interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>; 10040cc83b3SThierry Reding #address-cells = <1>; 10140cc83b3SThierry Reding #size-cells = <0>; 10240cc83b3SThierry Reding clocks = <&bpmp 86>; 10340cc83b3SThierry Reding clock-names = "div-clk"; 10440cc83b3SThierry Reding resets = <&bpmp 22>; 10540cc83b3SThierry Reding reset-names = "i2c"; 10640cc83b3SThierry Reding status = "disabled"; 10740cc83b3SThierry Reding }; 10840cc83b3SThierry Reding 10940cc83b3SThierry Reding /* controlled by BPMP, should not be enabled */ 11040cc83b3SThierry Reding pwr_i2c: i2c@31a0000 { 11140cc83b3SThierry Reding compatible = "nvidia,tegra186-i2c", "nvidia,tegra114-i2c"; 11240cc83b3SThierry Reding reg = <0x0 0x031a0000 0x0 0x10000>; 11340cc83b3SThierry Reding interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>; 11440cc83b3SThierry Reding #address-cells = <1>; 11540cc83b3SThierry Reding #size-cells = <0>; 11640cc83b3SThierry Reding clocks = <&bpmp 48>; 11740cc83b3SThierry Reding clock-names = "div-clk"; 11840cc83b3SThierry Reding resets = <&bpmp 23>; 11940cc83b3SThierry Reding reset-names = "i2c"; 12040cc83b3SThierry Reding status = "disabled"; 12140cc83b3SThierry Reding }; 12240cc83b3SThierry Reding 12340cc83b3SThierry Reding /* shares pads with dpaux0 */ 12440cc83b3SThierry Reding dp_aux_ch0_i2c: i2c@31b0000 { 12540cc83b3SThierry Reding compatible = "nvidia,tegra186-i2c", "nvidia,tegra114-i2c"; 12640cc83b3SThierry Reding reg = <0x0 0x031b0000 0x0 0x10000>; 12740cc83b3SThierry Reding interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>; 12840cc83b3SThierry Reding #address-cells = <1>; 12940cc83b3SThierry Reding #size-cells = <0>; 13040cc83b3SThierry Reding clocks = <&bpmp 125>; 13140cc83b3SThierry Reding clock-names = "div-clk"; 13240cc83b3SThierry Reding resets = <&bpmp 24>; 13340cc83b3SThierry Reding reset-names = "i2c"; 13440cc83b3SThierry Reding status = "disabled"; 13540cc83b3SThierry Reding }; 13640cc83b3SThierry Reding 13740cc83b3SThierry Reding gen7_i2c: i2c@31c0000 { 13840cc83b3SThierry Reding compatible = "nvidia,tegra186-i2c", "nvidia,tegra114-i2c"; 13940cc83b3SThierry Reding reg = <0x0 0x031c0000 0x0 0x10000>; 14040cc83b3SThierry Reding interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>; 14140cc83b3SThierry Reding #address-cells = <1>; 14240cc83b3SThierry Reding #size-cells = <0>; 14340cc83b3SThierry Reding clocks = <&bpmp 182>; 14440cc83b3SThierry Reding clock-names = "div-clk"; 14540cc83b3SThierry Reding resets = <&bpmp 81>; 14640cc83b3SThierry Reding reset-names = "i2c"; 14740cc83b3SThierry Reding status = "disabled"; 14840cc83b3SThierry Reding }; 14940cc83b3SThierry Reding 15040cc83b3SThierry Reding gen9_i2c: i2c@31e0000 { 15140cc83b3SThierry Reding compatible = "nvidia,tegra186-i2c", "nvidia,tegra114-i2c"; 15240cc83b3SThierry Reding reg = <0x0 0x031e0000 0x0 0x10000>; 15340cc83b3SThierry Reding interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>; 15440cc83b3SThierry Reding #address-cells = <1>; 15540cc83b3SThierry Reding #size-cells = <0>; 15640cc83b3SThierry Reding clocks = <&bpmp 183>; 15740cc83b3SThierry Reding clock-names = "div-clk"; 15840cc83b3SThierry Reding resets = <&bpmp 83>; 15940cc83b3SThierry Reding reset-names = "i2c"; 16040cc83b3SThierry Reding status = "disabled"; 16140cc83b3SThierry Reding }; 16240cc83b3SThierry Reding 16339cb62cbSJoseph Lo gic: interrupt-controller@3881000 { 16439cb62cbSJoseph Lo compatible = "arm,gic-400"; 16539cb62cbSJoseph Lo #interrupt-cells = <3>; 16639cb62cbSJoseph Lo interrupt-controller; 16739cb62cbSJoseph Lo reg = <0x0 0x03881000 0x0 0x1000>, 16839cb62cbSJoseph Lo <0x0 0x03882000 0x0 0x2000>; 16939cb62cbSJoseph Lo interrupts = <GIC_PPI 9 17039cb62cbSJoseph Lo (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 17139cb62cbSJoseph Lo interrupt-parent = <&gic>; 17239cb62cbSJoseph Lo }; 17339cb62cbSJoseph Lo 17439cb62cbSJoseph Lo hsp_top0: hsp@3c00000 { 17539cb62cbSJoseph Lo compatible = "nvidia,tegra186-hsp"; 17639cb62cbSJoseph Lo reg = <0x0 0x03c00000 0x0 0xa0000>; 17739cb62cbSJoseph Lo interrupts = <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH>; 17839cb62cbSJoseph Lo interrupt-names = "doorbell"; 17939cb62cbSJoseph Lo #mbox-cells = <2>; 18039cb62cbSJoseph Lo status = "disabled"; 18139cb62cbSJoseph Lo }; 18239cb62cbSJoseph Lo 18340cc83b3SThierry Reding gen2_i2c: i2c@c240000 { 18440cc83b3SThierry Reding compatible = "nvidia,tegra186-i2c", "nvidia,tegra114-i2c"; 18540cc83b3SThierry Reding reg = <0x0 0x0c240000 0x0 0x10000>; 18640cc83b3SThierry Reding interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>; 18740cc83b3SThierry Reding #address-cells = <1>; 18840cc83b3SThierry Reding #size-cells = <0>; 18940cc83b3SThierry Reding clocks = <&bpmp 218>; 19040cc83b3SThierry Reding clock-names = "div-clk"; 19140cc83b3SThierry Reding resets = <&bpmp 20>; 19240cc83b3SThierry Reding reset-names = "i2c"; 19340cc83b3SThierry Reding status = "disabled"; 19440cc83b3SThierry Reding }; 19540cc83b3SThierry Reding 19640cc83b3SThierry Reding gen8_i2c: i2c@c250000 { 19740cc83b3SThierry Reding compatible = "nvidia,tegra186-i2c", "nvidia,tegra114-i2c"; 19840cc83b3SThierry Reding reg = <0x0 0x0c250000 0x0 0x10000>; 19940cc83b3SThierry Reding interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; 20040cc83b3SThierry Reding #address-cells = <1>; 20140cc83b3SThierry Reding #size-cells = <0>; 20240cc83b3SThierry Reding clocks = <&bpmp 219>; 20340cc83b3SThierry Reding clock-names = "div-clk"; 20440cc83b3SThierry Reding resets = <&bpmp 82>; 20540cc83b3SThierry Reding reset-names = "i2c"; 20640cc83b3SThierry Reding status = "disabled"; 20740cc83b3SThierry Reding }; 20840cc83b3SThierry Reding 209a7a77e2eSThierry Reding uartc: serial@c280000 { 210a7a77e2eSThierry Reding compatible = "nvidia,tegra186-uart", "nvidia,tegra20-uart"; 211a7a77e2eSThierry Reding reg = <0x0 0x0c280000 0x0 0x40>; 212a7a77e2eSThierry Reding reg-shift = <2>; 213a7a77e2eSThierry Reding interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>; 214a7a77e2eSThierry Reding clocks = <&bpmp 215>; 215a7a77e2eSThierry Reding clock-names = "serial"; 216a7a77e2eSThierry Reding resets = <&bpmp 49>; 217a7a77e2eSThierry Reding reset-names = "serial"; 218a7a77e2eSThierry Reding status = "disabled"; 219a7a77e2eSThierry Reding }; 220a7a77e2eSThierry Reding 221a7a77e2eSThierry Reding uartg: serial@c290000 { 222a7a77e2eSThierry Reding compatible = "nvidia,tegra186-uart", "nvidia,tegra20-uart"; 223a7a77e2eSThierry Reding reg = <0x0 0x0c290000 0x0 0x40>; 224a7a77e2eSThierry Reding reg-shift = <2>; 225a7a77e2eSThierry Reding interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>; 226a7a77e2eSThierry Reding clocks = <&bpmp 216>; 227a7a77e2eSThierry Reding clock-names = "serial"; 228a7a77e2eSThierry Reding resets = <&bpmp 112>; 229a7a77e2eSThierry Reding reset-names = "serial"; 230a7a77e2eSThierry Reding status = "disabled"; 231a7a77e2eSThierry Reding }; 232a7a77e2eSThierry Reding 23339cb62cbSJoseph Lo sysram@30000000 { 23439cb62cbSJoseph Lo compatible = "nvidia,tegra186-sysram", "mmio-sram"; 23539cb62cbSJoseph Lo reg = <0x0 0x30000000 0x0 0x50000>; 23639cb62cbSJoseph Lo #address-cells = <2>; 23739cb62cbSJoseph Lo #size-cells = <2>; 23839cb62cbSJoseph Lo ranges = <0 0x0 0x0 0x30000000 0x0 0x50000>; 23939cb62cbSJoseph Lo 24039cb62cbSJoseph Lo cpu_bpmp_tx: shmem@4e000 { 24139cb62cbSJoseph Lo compatible = "nvidia,tegra186-bpmp-shmem"; 24239cb62cbSJoseph Lo reg = <0x0 0x4e000 0x0 0x1000>; 24339cb62cbSJoseph Lo label = "cpu-bpmp-tx"; 24439cb62cbSJoseph Lo pool; 24539cb62cbSJoseph Lo }; 24639cb62cbSJoseph Lo 24739cb62cbSJoseph Lo cpu_bpmp_rx: shmem@4f000 { 24839cb62cbSJoseph Lo compatible = "nvidia,tegra186-bpmp-shmem"; 24939cb62cbSJoseph Lo reg = <0x0 0x4f000 0x0 0x1000>; 25039cb62cbSJoseph Lo label = "cpu-bpmp-rx"; 25139cb62cbSJoseph Lo pool; 25239cb62cbSJoseph Lo }; 25339cb62cbSJoseph Lo }; 25439cb62cbSJoseph Lo 255cd6fe32eSThierry Reding cpus { 256cd6fe32eSThierry Reding #address-cells = <1>; 257cd6fe32eSThierry Reding #size-cells = <0>; 258cd6fe32eSThierry Reding 259cd6fe32eSThierry Reding cpu@0 { 260cd6fe32eSThierry Reding compatible = "nvidia,tegra186-denver", "arm,armv8"; 261cd6fe32eSThierry Reding device_type = "cpu"; 262cd6fe32eSThierry Reding reg = <0x000>; 263cd6fe32eSThierry Reding }; 264cd6fe32eSThierry Reding 265cd6fe32eSThierry Reding cpu@1 { 266cd6fe32eSThierry Reding compatible = "nvidia,tegra186-denver", "arm,armv8"; 267cd6fe32eSThierry Reding device_type = "cpu"; 268cd6fe32eSThierry Reding reg = <0x001>; 269cd6fe32eSThierry Reding }; 270cd6fe32eSThierry Reding 271cd6fe32eSThierry Reding cpu@2 { 272cd6fe32eSThierry Reding compatible = "arm,cortex-a57", "arm,armv8"; 273cd6fe32eSThierry Reding device_type = "cpu"; 274cd6fe32eSThierry Reding reg = <0x100>; 275cd6fe32eSThierry Reding }; 276cd6fe32eSThierry Reding 277cd6fe32eSThierry Reding cpu@3 { 278cd6fe32eSThierry Reding compatible = "arm,cortex-a57", "arm,armv8"; 279cd6fe32eSThierry Reding device_type = "cpu"; 280cd6fe32eSThierry Reding reg = <0x101>; 281cd6fe32eSThierry Reding }; 282cd6fe32eSThierry Reding 283cd6fe32eSThierry Reding cpu@4 { 284cd6fe32eSThierry Reding compatible = "arm,cortex-a57", "arm,armv8"; 285cd6fe32eSThierry Reding device_type = "cpu"; 286cd6fe32eSThierry Reding reg = <0x102>; 287cd6fe32eSThierry Reding }; 288cd6fe32eSThierry Reding 289cd6fe32eSThierry Reding cpu@5 { 290cd6fe32eSThierry Reding compatible = "arm,cortex-a57", "arm,armv8"; 291cd6fe32eSThierry Reding device_type = "cpu"; 292cd6fe32eSThierry Reding reg = <0x103>; 293cd6fe32eSThierry Reding }; 294cd6fe32eSThierry Reding }; 295cd6fe32eSThierry Reding 29639cb62cbSJoseph Lo bpmp: bpmp { 29739cb62cbSJoseph Lo compatible = "nvidia,tegra186-bpmp"; 29839cb62cbSJoseph Lo mboxes = <&hsp_top0 0 19>; 29939cb62cbSJoseph Lo shmem = <&cpu_bpmp_tx &cpu_bpmp_rx>; 30039cb62cbSJoseph Lo #clock-cells = <1>; 30139cb62cbSJoseph Lo #reset-cells = <1>; 30239cb62cbSJoseph Lo 30339cb62cbSJoseph Lo bpmp_i2c: i2c { 30439cb62cbSJoseph Lo compatible = "nvidia,tegra186-bpmp-i2c"; 30539cb62cbSJoseph Lo nvidia,bpmp-bus-id = <5>; 30639cb62cbSJoseph Lo #address-cells = <1>; 30739cb62cbSJoseph Lo #size-cells = <0>; 30839cb62cbSJoseph Lo status = "disabled"; 30939cb62cbSJoseph Lo }; 31039cb62cbSJoseph Lo }; 31139cb62cbSJoseph Lo 31239cb62cbSJoseph Lo timer { 31339cb62cbSJoseph Lo compatible = "arm,armv8-timer"; 31439cb62cbSJoseph Lo interrupts = <GIC_PPI 13 31539cb62cbSJoseph Lo (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 31639cb62cbSJoseph Lo <GIC_PPI 14 31739cb62cbSJoseph Lo (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 31839cb62cbSJoseph Lo <GIC_PPI 11 31939cb62cbSJoseph Lo (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 32039cb62cbSJoseph Lo <GIC_PPI 10 32139cb62cbSJoseph Lo (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; 32239cb62cbSJoseph Lo interrupt-parent = <&gic>; 32339cb62cbSJoseph Lo }; 32439cb62cbSJoseph Lo}; 325