1// SPDX-License-Identifier: GPL-2.0 2/* 3 * dts file for lg1312 SoC 4 * 5 * Copyright (C) 2016, LG Electronics 6 */ 7 8#include <dt-bindings/gpio/gpio.h> 9#include <dt-bindings/interrupt-controller/arm-gic.h> 10 11/ { 12 #address-cells = <2>; 13 #size-cells = <2>; 14 15 compatible = "lge,lg1312"; 16 interrupt-parent = <&gic>; 17 18 cpus { 19 #address-cells = <2>; 20 #size-cells = <0>; 21 22 cpu0: cpu@0 { 23 device_type = "cpu"; 24 compatible = "arm,cortex-a53"; 25 reg = <0x0 0x0>; 26 next-level-cache = <&L2_0>; 27 }; 28 cpu1: cpu@1 { 29 device_type = "cpu"; 30 compatible = "arm,cortex-a53"; 31 reg = <0x0 0x1>; 32 enable-method = "psci"; 33 next-level-cache = <&L2_0>; 34 }; 35 cpu2: cpu@2 { 36 device_type = "cpu"; 37 compatible = "arm,cortex-a53"; 38 reg = <0x0 0x2>; 39 enable-method = "psci"; 40 next-level-cache = <&L2_0>; 41 }; 42 cpu3: cpu@3 { 43 device_type = "cpu"; 44 compatible = "arm,cortex-a53"; 45 reg = <0x0 0x3>; 46 enable-method = "psci"; 47 next-level-cache = <&L2_0>; 48 }; 49 L2_0: l2-cache0 { 50 compatible = "cache"; 51 cache-level = <2>; 52 cache-unified; 53 }; 54 }; 55 56 psci { 57 compatible = "arm,psci-0.2", "arm,psci"; 58 method = "smc"; 59 cpu_suspend = <0x84000001>; 60 cpu_off = <0x84000002>; 61 cpu_on = <0x84000003>; 62 }; 63 64 gic: interrupt-controller@c0001000 { 65 #interrupt-cells = <3>; 66 compatible = "arm,gic-400"; 67 interrupt-controller; 68 reg = <0x0 0xc0001000 0x1000>, 69 <0x0 0xc0002000 0x2000>, 70 <0x0 0xc0004000 0x2000>, 71 <0x0 0xc0006000 0x2000>; 72 }; 73 74 pmu { 75 compatible = "arm,cortex-a53-pmu"; 76 interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>, 77 <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>, 78 <GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>, 79 <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>; 80 interrupt-affinity = <&cpu0>, 81 <&cpu1>, 82 <&cpu2>, 83 <&cpu3>; 84 }; 85 86 timer { 87 compatible = "arm,armv8-timer"; 88 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_RAW(0x0f) | 89 IRQ_TYPE_LEVEL_LOW)>, 90 <GIC_PPI 14 (GIC_CPU_MASK_RAW(0x0f) | 91 IRQ_TYPE_LEVEL_LOW)>, 92 <GIC_PPI 11 (GIC_CPU_MASK_RAW(0x0f) | 93 IRQ_TYPE_LEVEL_LOW)>, 94 <GIC_PPI 10 (GIC_CPU_MASK_RAW(0x0f) | 95 IRQ_TYPE_LEVEL_LOW)>; 96 }; 97 98 clk_bus: clk_bus { 99 #clock-cells = <0>; 100 101 compatible = "fixed-clock"; 102 clock-frequency = <198000000>; 103 clock-output-names = "BUSCLK"; 104 }; 105 106 soc { 107 #address-cells = <2>; 108 #size-cells = <1>; 109 110 compatible = "simple-bus"; 111 interrupt-parent = <&gic>; 112 ranges; 113 114 eth0: ethernet@c1b00000 { 115 compatible = "cdns,gem"; 116 reg = <0x0 0xc1b00000 0x1000>; 117 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>; 118 clocks = <&clk_bus>, <&clk_bus>; 119 clock-names = "hclk", "pclk"; 120 phy-mode = "rmii"; 121 /* Filled in by boot */ 122 mac-address = [ 00 00 00 00 00 00 ]; 123 }; 124 }; 125 126 amba { 127 #address-cells = <2>; 128 #size-cells = <1>; 129 130 compatible = "simple-bus"; 131 interrupt-parent = <&gic>; 132 ranges; 133 134 timers: timer@fd100000 { 135 compatible = "arm,sp804", "arm,primecell"; 136 reg = <0x0 0xfd100000 0x1000>; 137 interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>; 138 clocks = <&clk_bus>, <&clk_bus>, <&clk_bus>; 139 clock-names = "timer0clk", "timer1clk", "apb_pclk"; 140 }; 141 wdog: watchdog@fd200000 { 142 compatible = "arm,sp805", "arm,primecell"; 143 reg = <0x0 0xfd200000 0x1000>; 144 interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; 145 clocks = <&clk_bus>, <&clk_bus>; 146 clock-names = "wdog_clk", "apb_pclk"; 147 }; 148 uart0: serial@fe000000 { 149 compatible = "arm,pl011", "arm,primecell"; 150 reg = <0x0 0xfe000000 0x1000>; 151 interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>; 152 clocks = <&clk_bus>; 153 clock-names = "apb_pclk"; 154 status = "disabled"; 155 }; 156 uart1: serial@fe100000 { 157 compatible = "arm,pl011", "arm,primecell"; 158 reg = <0x0 0xfe100000 0x1000>; 159 interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>; 160 clocks = <&clk_bus>; 161 clock-names = "apb_pclk"; 162 status = "disabled"; 163 }; 164 uart2: serial@fe200000 { 165 compatible = "arm,pl011", "arm,primecell"; 166 reg = <0x0 0xfe200000 0x1000>; 167 interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>; 168 clocks = <&clk_bus>; 169 clock-names = "apb_pclk"; 170 status = "disabled"; 171 }; 172 spi0: spi@fe800000 { 173 compatible = "arm,pl022", "arm,primecell"; 174 reg = <0x0 0xfe800000 0x1000>; 175 interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>; 176 clocks = <&clk_bus>; 177 clock-names = "apb_pclk"; 178 }; 179 spi1: spi@fe900000 { 180 compatible = "arm,pl022", "arm,primecell"; 181 reg = <0x0 0xfe900000 0x1000>; 182 interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; 183 clocks = <&clk_bus>; 184 clock-names = "apb_pclk"; 185 }; 186 dmac0: dma-controller@c1128000 { 187 compatible = "arm,pl330", "arm,primecell"; 188 reg = <0x0 0xc1128000 0x1000>; 189 interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>; 190 clocks = <&clk_bus>; 191 clock-names = "apb_pclk"; 192 #dma-cells = <1>; 193 }; 194 gpio0: gpio@fd400000 { 195 #gpio-cells = <2>; 196 compatible = "arm,pl061", "arm,primecell"; 197 gpio-controller; 198 reg = <0x0 0xfd400000 0x1000>; 199 clocks = <&clk_bus>; 200 clock-names = "apb_pclk"; 201 status = "disabled"; 202 }; 203 gpio1: gpio@fd410000 { 204 #gpio-cells = <2>; 205 compatible = "arm,pl061", "arm,primecell"; 206 gpio-controller; 207 reg = <0x0 0xfd410000 0x1000>; 208 clocks = <&clk_bus>; 209 clock-names = "apb_pclk"; 210 status = "disabled"; 211 }; 212 gpio2: gpio@fd420000 { 213 #gpio-cells = <2>; 214 compatible = "arm,pl061", "arm,primecell"; 215 gpio-controller; 216 reg = <0x0 0xfd420000 0x1000>; 217 clocks = <&clk_bus>; 218 clock-names = "apb_pclk"; 219 status = "disabled"; 220 }; 221 gpio3: gpio@fd430000 { 222 #gpio-cells = <2>; 223 compatible = "arm,pl061", "arm,primecell"; 224 gpio-controller; 225 reg = <0x0 0xfd430000 0x1000>; 226 clocks = <&clk_bus>; 227 clock-names = "apb_pclk"; 228 }; 229 gpio4: gpio@fd440000 { 230 #gpio-cells = <2>; 231 compatible = "arm,pl061", "arm,primecell"; 232 gpio-controller; 233 reg = <0x0 0xfd440000 0x1000>; 234 clocks = <&clk_bus>; 235 clock-names = "apb_pclk"; 236 status = "disabled"; 237 }; 238 gpio5: gpio@fd450000 { 239 #gpio-cells = <2>; 240 compatible = "arm,pl061", "arm,primecell"; 241 gpio-controller; 242 reg = <0x0 0xfd450000 0x1000>; 243 clocks = <&clk_bus>; 244 clock-names = "apb_pclk"; 245 status = "disabled"; 246 }; 247 gpio6: gpio@fd460000 { 248 #gpio-cells = <2>; 249 compatible = "arm,pl061", "arm,primecell"; 250 gpio-controller; 251 reg = <0x0 0xfd460000 0x1000>; 252 clocks = <&clk_bus>; 253 clock-names = "apb_pclk"; 254 status = "disabled"; 255 }; 256 gpio7: gpio@fd470000 { 257 #gpio-cells = <2>; 258 compatible = "arm,pl061", "arm,primecell"; 259 gpio-controller; 260 reg = <0x0 0xfd470000 0x1000>; 261 clocks = <&clk_bus>; 262 clock-names = "apb_pclk"; 263 status = "disabled"; 264 }; 265 gpio8: gpio@fd480000 { 266 #gpio-cells = <2>; 267 compatible = "arm,pl061", "arm,primecell"; 268 gpio-controller; 269 reg = <0x0 0xfd480000 0x1000>; 270 clocks = <&clk_bus>; 271 clock-names = "apb_pclk"; 272 status = "disabled"; 273 }; 274 gpio9: gpio@fd490000 { 275 #gpio-cells = <2>; 276 compatible = "arm,pl061", "arm,primecell"; 277 gpio-controller; 278 reg = <0x0 0xfd490000 0x1000>; 279 clocks = <&clk_bus>; 280 clock-names = "apb_pclk"; 281 status = "disabled"; 282 }; 283 gpio10: gpio@fd4a0000 { 284 #gpio-cells = <2>; 285 compatible = "arm,pl061", "arm,primecell"; 286 gpio-controller; 287 reg = <0x0 0xfd4a0000 0x1000>; 288 clocks = <&clk_bus>; 289 clock-names = "apb_pclk"; 290 status = "disabled"; 291 }; 292 gpio11: gpio@fd4b0000 { 293 #gpio-cells = <2>; 294 compatible = "arm,pl061", "arm,primecell"; 295 gpio-controller; 296 reg = <0x0 0xfd4b0000 0x1000>; 297 clocks = <&clk_bus>; 298 clock-names = "apb_pclk"; 299 }; 300 gpio12: gpio@fd4c0000 { 301 #gpio-cells = <2>; 302 compatible = "arm,pl061", "arm,primecell"; 303 gpio-controller; 304 reg = <0x0 0xfd4c0000 0x1000>; 305 clocks = <&clk_bus>; 306 clock-names = "apb_pclk"; 307 status = "disabled"; 308 }; 309 gpio13: gpio@fd4d0000 { 310 #gpio-cells = <2>; 311 compatible = "arm,pl061", "arm,primecell"; 312 gpio-controller; 313 reg = <0x0 0xfd4d0000 0x1000>; 314 clocks = <&clk_bus>; 315 clock-names = "apb_pclk"; 316 status = "disabled"; 317 }; 318 gpio14: gpio@fd4e0000 { 319 #gpio-cells = <2>; 320 compatible = "arm,pl061", "arm,primecell"; 321 gpio-controller; 322 reg = <0x0 0xfd4e0000 0x1000>; 323 clocks = <&clk_bus>; 324 clock-names = "apb_pclk"; 325 status = "disabled"; 326 }; 327 gpio15: gpio@fd4f0000 { 328 #gpio-cells = <2>; 329 compatible = "arm,pl061", "arm,primecell"; 330 gpio-controller; 331 reg = <0x0 0xfd4f0000 0x1000>; 332 clocks = <&clk_bus>; 333 clock-names = "apb_pclk"; 334 status = "disabled"; 335 }; 336 gpio16: gpio@fd500000 { 337 #gpio-cells = <2>; 338 compatible = "arm,pl061", "arm,primecell"; 339 gpio-controller; 340 reg = <0x0 0xfd500000 0x1000>; 341 clocks = <&clk_bus>; 342 clock-names = "apb_pclk"; 343 status = "disabled"; 344 }; 345 gpio17: gpio@fd510000 { 346 #gpio-cells = <2>; 347 compatible = "arm,pl061", "arm,primecell"; 348 gpio-controller; 349 reg = <0x0 0xfd510000 0x1000>; 350 clocks = <&clk_bus>; 351 clock-names = "apb_pclk"; 352 }; 353 }; 354}; 355