1// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2/* 3 * Actions Semi S500 SoC 4 * 5 * Copyright (c) 2016-2017 Andreas Färber 6 */ 7 8#include <dt-bindings/interrupt-controller/arm-gic.h> 9#include <dt-bindings/power/owl-s500-powergate.h> 10 11/ { 12 compatible = "actions,s500"; 13 interrupt-parent = <&gic>; 14 #address-cells = <1>; 15 #size-cells = <1>; 16 17 aliases { 18 }; 19 20 chosen { 21 }; 22 23 cpus { 24 #address-cells = <1>; 25 #size-cells = <0>; 26 27 cpu0: cpu@0 { 28 device_type = "cpu"; 29 compatible = "arm,cortex-a9"; 30 reg = <0x0>; 31 enable-method = "actions,s500-smp"; 32 }; 33 34 cpu1: cpu@1 { 35 device_type = "cpu"; 36 compatible = "arm,cortex-a9"; 37 reg = <0x1>; 38 enable-method = "actions,s500-smp"; 39 }; 40 41 cpu2: cpu@2 { 42 device_type = "cpu"; 43 compatible = "arm,cortex-a9"; 44 reg = <0x2>; 45 enable-method = "actions,s500-smp"; 46 power-domains = <&sps S500_PD_CPU2>; 47 }; 48 49 cpu3: cpu@3 { 50 device_type = "cpu"; 51 compatible = "arm,cortex-a9"; 52 reg = <0x3>; 53 enable-method = "actions,s500-smp"; 54 power-domains = <&sps S500_PD_CPU3>; 55 }; 56 }; 57 58 arm-pmu { 59 compatible = "arm,cortex-a9-pmu"; 60 interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>, 61 <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>, 62 <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>, 63 <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; 64 interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>; 65 }; 66 67 hosc: hosc { 68 compatible = "fixed-clock"; 69 clock-frequency = <24000000>; 70 #clock-cells = <0>; 71 }; 72 73 soc { 74 compatible = "simple-bus"; 75 #address-cells = <1>; 76 #size-cells = <1>; 77 ranges; 78 79 scu: scu@b0020000 { 80 compatible = "arm,cortex-a9-scu"; 81 reg = <0xb0020000 0x100>; 82 }; 83 84 global_timer: timer@b0020200 { 85 compatible = "arm,cortex-a9-global-timer"; 86 reg = <0xb0020200 0x100>; 87 interrupts = <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_EDGE_RISING)>; 88 status = "disabled"; 89 }; 90 91 twd_timer: timer@b0020600 { 92 compatible = "arm,cortex-a9-twd-timer"; 93 reg = <0xb0020600 0x20>; 94 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_EDGE_RISING)>; 95 status = "disabled"; 96 }; 97 98 twd_wdt: wdt@b0020620 { 99 compatible = "arm,cortex-a9-twd-wdt"; 100 reg = <0xb0020620 0xe0>; 101 interrupts = <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_EDGE_RISING)>; 102 status = "disabled"; 103 }; 104 105 gic: interrupt-controller@b0021000 { 106 compatible = "arm,cortex-a9-gic"; 107 reg = <0xb0021000 0x1000>, 108 <0xb0020100 0x0100>; 109 interrupt-controller; 110 #interrupt-cells = <3>; 111 }; 112 113 l2: cache-controller@b0022000 { 114 compatible = "arm,pl310-cache"; 115 reg = <0xb0022000 0x1000>; 116 cache-unified; 117 cache-level = <2>; 118 interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>; 119 arm,tag-latency = <3 3 2>; 120 arm,data-latency = <5 3 3>; 121 }; 122 123 uart0: serial@b0120000 { 124 compatible = "actions,s500-uart", "actions,owl-uart"; 125 reg = <0xb0120000 0x2000>; 126 interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>; 127 status = "disabled"; 128 }; 129 130 uart1: serial@b0122000 { 131 compatible = "actions,s500-uart", "actions,owl-uart"; 132 reg = <0xb0122000 0x2000>; 133 interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>; 134 status = "disabled"; 135 }; 136 137 uart2: serial@b0124000 { 138 compatible = "actions,s500-uart", "actions,owl-uart"; 139 reg = <0xb0124000 0x2000>; 140 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>; 141 status = "disabled"; 142 }; 143 144 uart3: serial@b0126000 { 145 compatible = "actions,s500-uart", "actions,owl-uart"; 146 reg = <0xb0126000 0x2000>; 147 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; 148 status = "disabled"; 149 }; 150 151 uart4: serial@b0128000 { 152 compatible = "actions,s500-uart", "actions,owl-uart"; 153 reg = <0xb0128000 0x2000>; 154 interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>; 155 status = "disabled"; 156 }; 157 158 uart5: serial@b012a000 { 159 compatible = "actions,s500-uart", "actions,owl-uart"; 160 reg = <0xb012a000 0x2000>; 161 interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>; 162 status = "disabled"; 163 }; 164 165 uart6: serial@b012c000 { 166 compatible = "actions,s500-uart", "actions,owl-uart"; 167 reg = <0xb012c000 0x2000>; 168 interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>; 169 status = "disabled"; 170 }; 171 172 timer: timer@b0168000 { 173 compatible = "actions,s500-timer"; 174 reg = <0xb0168000 0x8000>; 175 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>, 176 <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>, 177 <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>, 178 <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; 179 interrupt-names = "2hz0", "2hz1", "timer0", "timer1"; 180 }; 181 182 sps: power-controller@b01b0100 { 183 compatible = "actions,s500-sps"; 184 reg = <0xb01b0100 0x100>; 185 #power-domain-cells = <1>; 186 }; 187 }; 188}; 189