19122109aSPeter Griffin/* 29122109aSPeter Griffin * dts file for Hisilicon Hi6220 SoC 39122109aSPeter Griffin * 49122109aSPeter Griffin * Copyright (C) 2015, Hisilicon Ltd. 59122109aSPeter Griffin */ 69122109aSPeter Griffin 79122109aSPeter Griffin#include <dt-bindings/interrupt-controller/arm-gic.h> 89122109aSPeter Griffin#include <dt-bindings/clock/hi6220-clock.h> 99122109aSPeter Griffin 109122109aSPeter Griffin/ { 119122109aSPeter Griffin compatible = "hisilicon,hi6220"; 129122109aSPeter Griffin interrupt-parent = <&gic>; 139122109aSPeter Griffin #address-cells = <2>; 149122109aSPeter Griffin #size-cells = <2>; 159122109aSPeter Griffin 169122109aSPeter Griffin psci { 179122109aSPeter Griffin compatible = "arm,psci-0.2"; 189122109aSPeter Griffin method = "smc"; 199122109aSPeter Griffin }; 209122109aSPeter Griffin 219122109aSPeter Griffin cpus { 229122109aSPeter Griffin #address-cells = <2>; 239122109aSPeter Griffin #size-cells = <0>; 249122109aSPeter Griffin 259122109aSPeter Griffin cpu-map { 269122109aSPeter Griffin cluster0 { 279122109aSPeter Griffin core0 { 289122109aSPeter Griffin cpu = <&cpu0>; 299122109aSPeter Griffin }; 309122109aSPeter Griffin core1 { 319122109aSPeter Griffin cpu = <&cpu1>; 329122109aSPeter Griffin }; 339122109aSPeter Griffin core2 { 349122109aSPeter Griffin cpu = <&cpu2>; 359122109aSPeter Griffin }; 369122109aSPeter Griffin core3 { 379122109aSPeter Griffin cpu = <&cpu3>; 389122109aSPeter Griffin }; 399122109aSPeter Griffin }; 409122109aSPeter Griffin cluster1 { 419122109aSPeter Griffin core0 { 429122109aSPeter Griffin cpu = <&cpu4>; 439122109aSPeter Griffin }; 449122109aSPeter Griffin core1 { 459122109aSPeter Griffin cpu = <&cpu5>; 469122109aSPeter Griffin }; 479122109aSPeter Griffin core2 { 489122109aSPeter Griffin cpu = <&cpu6>; 499122109aSPeter Griffin }; 509122109aSPeter Griffin core3 { 519122109aSPeter Griffin cpu = <&cpu7>; 529122109aSPeter Griffin }; 539122109aSPeter Griffin }; 549122109aSPeter Griffin }; 559122109aSPeter Griffin 569122109aSPeter Griffin cpu0: cpu@0 { 579122109aSPeter Griffin compatible = "arm,cortex-a53", "arm,armv8"; 589122109aSPeter Griffin device_type = "cpu"; 599122109aSPeter Griffin reg = <0x0 0x0>; 609122109aSPeter Griffin enable-method = "psci"; 619122109aSPeter Griffin }; 629122109aSPeter Griffin 639122109aSPeter Griffin cpu1: cpu@1 { 649122109aSPeter Griffin compatible = "arm,cortex-a53", "arm,armv8"; 659122109aSPeter Griffin device_type = "cpu"; 669122109aSPeter Griffin reg = <0x0 0x1>; 679122109aSPeter Griffin enable-method = "psci"; 689122109aSPeter Griffin }; 699122109aSPeter Griffin 709122109aSPeter Griffin cpu2: cpu@2 { 719122109aSPeter Griffin compatible = "arm,cortex-a53", "arm,armv8"; 729122109aSPeter Griffin device_type = "cpu"; 739122109aSPeter Griffin reg = <0x0 0x2>; 749122109aSPeter Griffin enable-method = "psci"; 759122109aSPeter Griffin }; 769122109aSPeter Griffin 779122109aSPeter Griffin cpu3: cpu@3 { 789122109aSPeter Griffin compatible = "arm,cortex-a53", "arm,armv8"; 799122109aSPeter Griffin device_type = "cpu"; 809122109aSPeter Griffin reg = <0x0 0x3>; 819122109aSPeter Griffin enable-method = "psci"; 829122109aSPeter Griffin }; 839122109aSPeter Griffin 849122109aSPeter Griffin cpu4: cpu@100 { 859122109aSPeter Griffin compatible = "arm,cortex-a53", "arm,armv8"; 869122109aSPeter Griffin device_type = "cpu"; 879122109aSPeter Griffin reg = <0x0 0x100>; 889122109aSPeter Griffin enable-method = "psci"; 899122109aSPeter Griffin }; 909122109aSPeter Griffin 919122109aSPeter Griffin cpu5: cpu@101 { 929122109aSPeter Griffin compatible = "arm,cortex-a53", "arm,armv8"; 939122109aSPeter Griffin device_type = "cpu"; 949122109aSPeter Griffin reg = <0x0 0x101>; 959122109aSPeter Griffin enable-method = "psci"; 969122109aSPeter Griffin }; 979122109aSPeter Griffin 989122109aSPeter Griffin cpu6: cpu@102 { 999122109aSPeter Griffin compatible = "arm,cortex-a53", "arm,armv8"; 1009122109aSPeter Griffin device_type = "cpu"; 1019122109aSPeter Griffin reg = <0x0 0x102>; 1029122109aSPeter Griffin enable-method = "psci"; 1039122109aSPeter Griffin }; 1049122109aSPeter Griffin 1059122109aSPeter Griffin cpu7: cpu@103 { 1069122109aSPeter Griffin compatible = "arm,cortex-a53", "arm,armv8"; 1079122109aSPeter Griffin device_type = "cpu"; 1089122109aSPeter Griffin reg = <0x0 0x103>; 1099122109aSPeter Griffin enable-method = "psci"; 1109122109aSPeter Griffin }; 1119122109aSPeter Griffin }; 1129122109aSPeter Griffin 1139122109aSPeter Griffin gic: interrupt-controller@f6801000 { 1149122109aSPeter Griffin compatible = "arm,gic-400"; 1159122109aSPeter Griffin reg = <0x0 0xf6801000 0 0x1000>, /* GICD */ 1169122109aSPeter Griffin <0x0 0xf6802000 0 0x2000>, /* GICC */ 1179122109aSPeter Griffin <0x0 0xf6804000 0 0x2000>, /* GICH */ 1189122109aSPeter Griffin <0x0 0xf6806000 0 0x2000>; /* GICV */ 1199122109aSPeter Griffin #address-cells = <0>; 1209122109aSPeter Griffin #interrupt-cells = <3>; 1219122109aSPeter Griffin interrupt-controller; 1229122109aSPeter Griffin interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_HIGH)>; 1239122109aSPeter Griffin }; 1249122109aSPeter Griffin 1259122109aSPeter Griffin timer { 1269122109aSPeter Griffin compatible = "arm,armv8-timer"; 1279122109aSPeter Griffin interrupt-parent = <&gic>; 1289122109aSPeter Griffin interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>, 1299122109aSPeter Griffin <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>, 1309122109aSPeter Griffin <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>, 1319122109aSPeter Griffin <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>; 1329122109aSPeter Griffin }; 1339122109aSPeter Griffin 1349122109aSPeter Griffin soc { 1359122109aSPeter Griffin compatible = "simple-bus"; 1369122109aSPeter Griffin #address-cells = <2>; 1379122109aSPeter Griffin #size-cells = <2>; 1389122109aSPeter Griffin ranges; 1399122109aSPeter Griffin 1409122109aSPeter Griffin ao_ctrl: ao_ctrl@f7800000 { 1419122109aSPeter Griffin compatible = "hisilicon,hi6220-aoctrl", "syscon"; 1429122109aSPeter Griffin reg = <0x0 0xf7800000 0x0 0x2000>; 1439122109aSPeter Griffin #clock-cells = <1>; 1449122109aSPeter Griffin }; 1459122109aSPeter Griffin 1469122109aSPeter Griffin sys_ctrl: sys_ctrl@f7030000 { 1479122109aSPeter Griffin compatible = "hisilicon,hi6220-sysctrl", "syscon"; 1489122109aSPeter Griffin reg = <0x0 0xf7030000 0x0 0x2000>; 1499122109aSPeter Griffin #clock-cells = <1>; 1509122109aSPeter Griffin #reset-cells = <1>; 1519122109aSPeter Griffin }; 1529122109aSPeter Griffin 1539122109aSPeter Griffin media_ctrl: media_ctrl@f4410000 { 1549122109aSPeter Griffin compatible = "hisilicon,hi6220-mediactrl", "syscon"; 1559122109aSPeter Griffin reg = <0x0 0xf4410000 0x0 0x1000>; 1569122109aSPeter Griffin #clock-cells = <1>; 1579122109aSPeter Griffin }; 1589122109aSPeter Griffin 1599122109aSPeter Griffin pm_ctrl: pm_ctrl@f7032000 { 1609122109aSPeter Griffin compatible = "hisilicon,hi6220-pmctrl", "syscon"; 1619122109aSPeter Griffin reg = <0x0 0xf7032000 0x0 0x1000>; 1629122109aSPeter Griffin #clock-cells = <1>; 1639122109aSPeter Griffin }; 1649122109aSPeter Griffin 165*a50eb649SManivannan Sadhasivam mmc0: dwmmc@f723d000 { 166*a50eb649SManivannan Sadhasivam compatible = "hisilicon,hi6220-dw-mshc"; 167*a50eb649SManivannan Sadhasivam reg = <0x0 0xf723d000 0x0 0x1000>; 168*a50eb649SManivannan Sadhasivam interrupts = <0x0 0x48 0x4>; 169*a50eb649SManivannan Sadhasivam clocks = <&sys_ctrl 2>, <&sys_ctrl 1>; 170*a50eb649SManivannan Sadhasivam clock-names = "ciu", "biu"; 171*a50eb649SManivannan Sadhasivam status = "disabled"; 172*a50eb649SManivannan Sadhasivam }; 173*a50eb649SManivannan Sadhasivam 174*a50eb649SManivannan Sadhasivam mmc1: dwmmc@f723e000 { 175*a50eb649SManivannan Sadhasivam compatible = "hisilicon,hi6220-dw-mshc"; 176*a50eb649SManivannan Sadhasivam reg = <0x0 0xf723e000 0x0 0x1000>; 177*a50eb649SManivannan Sadhasivam interrupts = <0x0 0x49 0x4>; 178*a50eb649SManivannan Sadhasivam clocks = <&sys_ctrl 4>, <&sys_ctrl 3>; 179*a50eb649SManivannan Sadhasivam clock-names = "ciu", "biu"; 180*a50eb649SManivannan Sadhasivam status = "disabled"; 181*a50eb649SManivannan Sadhasivam }; 182*a50eb649SManivannan Sadhasivam 1839122109aSPeter Griffin uart0: uart@f8015000 { /* console */ 1849122109aSPeter Griffin compatible = "arm,pl011", "arm,primecell"; 1859122109aSPeter Griffin reg = <0x0 0xf8015000 0x0 0x1000>; 1869122109aSPeter Griffin interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>; 1877e4902d4SPeter Griffin clock = <19200000>; 1889122109aSPeter Griffin clocks = <&ao_ctrl HI6220_UART0_PCLK>, 1899122109aSPeter Griffin <&ao_ctrl HI6220_UART0_PCLK>; 1909122109aSPeter Griffin clock-names = "uartclk", "apb_pclk"; 1919122109aSPeter Griffin }; 1929122109aSPeter Griffin 1939122109aSPeter Griffin uart1: uart@f7111000 { 1949122109aSPeter Griffin compatible = "arm,pl011", "arm,primecell"; 1959122109aSPeter Griffin reg = <0x0 0xf7111000 0x0 0x1000>; 1969122109aSPeter Griffin interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; 1977e4902d4SPeter Griffin clock = <19200000>; 1989122109aSPeter Griffin clocks = <&sys_ctrl HI6220_UART1_PCLK>, 1999122109aSPeter Griffin <&sys_ctrl HI6220_UART1_PCLK>; 2009122109aSPeter Griffin clock-names = "uartclk", "apb_pclk"; 2019122109aSPeter Griffin status = "disabled"; 2029122109aSPeter Griffin }; 2039122109aSPeter Griffin 2049122109aSPeter Griffin uart2: uart@f7112000 { 2059122109aSPeter Griffin compatible = "arm,pl011", "arm,primecell"; 2069122109aSPeter Griffin reg = <0x0 0xf7112000 0x0 0x1000>; 2079122109aSPeter Griffin interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>; 2087e4902d4SPeter Griffin clock = <19200000>; 2099122109aSPeter Griffin clocks = <&sys_ctrl HI6220_UART2_PCLK>, 2109122109aSPeter Griffin <&sys_ctrl HI6220_UART2_PCLK>; 2119122109aSPeter Griffin clock-names = "uartclk", "apb_pclk"; 2129122109aSPeter Griffin status = "disabled"; 2139122109aSPeter Griffin }; 2149122109aSPeter Griffin 2159122109aSPeter Griffin uart3: uart@f7113000 { 2169122109aSPeter Griffin compatible = "arm,pl011", "arm,primecell"; 2179122109aSPeter Griffin reg = <0x0 0xf7113000 0x0 0x1000>; 2189122109aSPeter Griffin interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>; 2197e4902d4SPeter Griffin clock = <19200000>; 2209122109aSPeter Griffin clocks = <&sys_ctrl HI6220_UART3_PCLK>, 2219122109aSPeter Griffin <&sys_ctrl HI6220_UART3_PCLK>; 2229122109aSPeter Griffin clock-names = "uartclk", "apb_pclk"; 2239122109aSPeter Griffin }; 2249122109aSPeter Griffin 2259122109aSPeter Griffin uart4: uart@f7114000 { 2269122109aSPeter Griffin compatible = "arm,pl011", "arm,primecell"; 2279122109aSPeter Griffin reg = <0x0 0xf7114000 0x0 0x1000>; 2289122109aSPeter Griffin interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>; 2297e4902d4SPeter Griffin clock = <19200000>; 2309122109aSPeter Griffin clocks = <&sys_ctrl HI6220_UART4_PCLK>, 2319122109aSPeter Griffin <&sys_ctrl HI6220_UART4_PCLK>; 2329122109aSPeter Griffin clock-names = "uartclk", "apb_pclk"; 2339122109aSPeter Griffin status = "disabled"; 2349122109aSPeter Griffin }; 2359122109aSPeter Griffin }; 2369122109aSPeter Griffin}; 237