1*4882a593Smuzhiyun// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2*4882a593Smuzhiyun/* 3*4882a593Smuzhiyun * Copyright (C) 2017 Marvell Technology Group Ltd. 4*4882a593Smuzhiyun * 5*4882a593Smuzhiyun * Device Tree file for Marvell Armada AP810. 6*4882a593Smuzhiyun */ 7*4882a593Smuzhiyun 8*4882a593Smuzhiyun#include <dt-bindings/interrupt-controller/arm-gic.h> 9*4882a593Smuzhiyun 10*4882a593Smuzhiyun/dts-v1/; 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun/ { 13*4882a593Smuzhiyun model = "Marvell Armada AP810"; 14*4882a593Smuzhiyun compatible = "marvell,armada-ap810"; 15*4882a593Smuzhiyun #address-cells = <2>; 16*4882a593Smuzhiyun #size-cells = <2>; 17*4882a593Smuzhiyun 18*4882a593Smuzhiyun aliases { 19*4882a593Smuzhiyun serial0 = &uart0_ap0; 20*4882a593Smuzhiyun serial1 = &uart1_ap0; 21*4882a593Smuzhiyun }; 22*4882a593Smuzhiyun 23*4882a593Smuzhiyun psci { 24*4882a593Smuzhiyun compatible = "arm,psci-0.2"; 25*4882a593Smuzhiyun method = "smc"; 26*4882a593Smuzhiyun }; 27*4882a593Smuzhiyun 28*4882a593Smuzhiyun ap810-ap0 { 29*4882a593Smuzhiyun #address-cells = <2>; 30*4882a593Smuzhiyun #size-cells = <2>; 31*4882a593Smuzhiyun compatible = "simple-bus"; 32*4882a593Smuzhiyun interrupt-parent = <&gic>; 33*4882a593Smuzhiyun ranges; 34*4882a593Smuzhiyun 35*4882a593Smuzhiyun config-space@e8000000 { 36*4882a593Smuzhiyun #address-cells = <1>; 37*4882a593Smuzhiyun #size-cells = <1>; 38*4882a593Smuzhiyun compatible = "simple-bus"; 39*4882a593Smuzhiyun ranges = <0x0 0x0 0xe8000000 0x4000000>; 40*4882a593Smuzhiyun interrupt-parent = <&gic>; 41*4882a593Smuzhiyun 42*4882a593Smuzhiyun gic: interrupt-controller@3000000 { 43*4882a593Smuzhiyun compatible = "arm,gic-v3"; 44*4882a593Smuzhiyun #interrupt-cells = <3>; 45*4882a593Smuzhiyun #address-cells = <1>; 46*4882a593Smuzhiyun #size-cells = <1>; 47*4882a593Smuzhiyun interrupt-controller; 48*4882a593Smuzhiyun interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>; 49*4882a593Smuzhiyun ranges; 50*4882a593Smuzhiyun 51*4882a593Smuzhiyun reg = <0x3000000 0x10000>, /* GICD */ 52*4882a593Smuzhiyun <0x3060000 0x100000>, /* GICR */ 53*4882a593Smuzhiyun <0x00c0000 0x2000>, /* GICC */ 54*4882a593Smuzhiyun <0x00d0000 0x1000>, /* GICH */ 55*4882a593Smuzhiyun <0x00e0000 0x2000>; /* GICV */ 56*4882a593Smuzhiyun 57*4882a593Smuzhiyun gic_its_ap0: interrupt-controller@3040000 { 58*4882a593Smuzhiyun compatible = "arm,gic-v3-its"; 59*4882a593Smuzhiyun msi-controller; 60*4882a593Smuzhiyun #msi-cells = <1>; 61*4882a593Smuzhiyun reg = <0x3040000 0x20000>; 62*4882a593Smuzhiyun }; 63*4882a593Smuzhiyun }; 64*4882a593Smuzhiyun 65*4882a593Smuzhiyun timer { 66*4882a593Smuzhiyun compatible = "arm,armv8-timer"; 67*4882a593Smuzhiyun interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>, 68*4882a593Smuzhiyun <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>, 69*4882a593Smuzhiyun <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>, 70*4882a593Smuzhiyun <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>; 71*4882a593Smuzhiyun }; 72*4882a593Smuzhiyun 73*4882a593Smuzhiyun xor@400000 { 74*4882a593Smuzhiyun compatible = "marvell,armada-7k-xor", "marvell,xor-v2"; 75*4882a593Smuzhiyun reg = <0x400000 0x1000>, 76*4882a593Smuzhiyun <0x410000 0x1000>; 77*4882a593Smuzhiyun msi-parent = <&gic_its_ap0 0xa0>; 78*4882a593Smuzhiyun dma-coherent; 79*4882a593Smuzhiyun }; 80*4882a593Smuzhiyun 81*4882a593Smuzhiyun xor@420000 { 82*4882a593Smuzhiyun compatible = "marvell,armada-7k-xor", "marvell,xor-v2"; 83*4882a593Smuzhiyun reg = <0x420000 0x1000>, 84*4882a593Smuzhiyun <0x430000 0x1000>; 85*4882a593Smuzhiyun msi-parent = <&gic_its_ap0 0xa1>; 86*4882a593Smuzhiyun dma-coherent; 87*4882a593Smuzhiyun }; 88*4882a593Smuzhiyun 89*4882a593Smuzhiyun xor@440000 { 90*4882a593Smuzhiyun compatible = "marvell,armada-7k-xor", "marvell,xor-v2"; 91*4882a593Smuzhiyun reg = <0x440000 0x1000>, 92*4882a593Smuzhiyun <0x450000 0x1000>; 93*4882a593Smuzhiyun msi-parent = <&gic_its_ap0 0xa2>; 94*4882a593Smuzhiyun dma-coherent; 95*4882a593Smuzhiyun }; 96*4882a593Smuzhiyun 97*4882a593Smuzhiyun xor@460000 { 98*4882a593Smuzhiyun compatible = "marvell,armada-7k-xor", "marvell,xor-v2"; 99*4882a593Smuzhiyun reg = <0x460000 0x1000>, 100*4882a593Smuzhiyun <0x470000 0x1000>; 101*4882a593Smuzhiyun msi-parent = <&gic_its_ap0 0xa3>; 102*4882a593Smuzhiyun dma-coherent; 103*4882a593Smuzhiyun }; 104*4882a593Smuzhiyun 105*4882a593Smuzhiyun uart0_ap0: serial@512000 { 106*4882a593Smuzhiyun compatible = "snps,dw-apb-uart"; 107*4882a593Smuzhiyun reg = <0x512000 0x100>; 108*4882a593Smuzhiyun reg-shift = <2>; 109*4882a593Smuzhiyun interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>; 110*4882a593Smuzhiyun reg-io-width = <1>; 111*4882a593Smuzhiyun status = "disabled"; 112*4882a593Smuzhiyun }; 113*4882a593Smuzhiyun 114*4882a593Smuzhiyun uart1_ap0: serial@512100 { 115*4882a593Smuzhiyun compatible = "snps,dw-apb-uart"; 116*4882a593Smuzhiyun reg = <0x512100 0x100>; 117*4882a593Smuzhiyun reg-shift = <2>; 118*4882a593Smuzhiyun interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>; 119*4882a593Smuzhiyun reg-io-width = <1>; 120*4882a593Smuzhiyun status = "disabled"; 121*4882a593Smuzhiyun }; 122*4882a593Smuzhiyun }; 123*4882a593Smuzhiyun }; 124*4882a593Smuzhiyun}; 125