186e8f528SBintian Wang/* 286e8f528SBintian Wang * dts file for Hisilicon Hi6220 SoC 386e8f528SBintian Wang * 486e8f528SBintian Wang * Copyright (C) 2015, Hisilicon Ltd. 586e8f528SBintian Wang */ 686e8f528SBintian Wang 786e8f528SBintian Wang#include <dt-bindings/interrupt-controller/arm-gic.h> 8*a362ec8fSTyler Baker#include <dt-bindings/clock/hi6220-clock.h> 986e8f528SBintian Wang 1086e8f528SBintian Wang/ { 1186e8f528SBintian Wang compatible = "hisilicon,hi6220"; 1286e8f528SBintian Wang interrupt-parent = <&gic>; 1386e8f528SBintian Wang #address-cells = <2>; 1486e8f528SBintian Wang #size-cells = <2>; 1586e8f528SBintian Wang 1686e8f528SBintian Wang psci { 1786e8f528SBintian Wang compatible = "arm,psci-0.2"; 1886e8f528SBintian Wang method = "smc"; 1986e8f528SBintian Wang }; 2086e8f528SBintian Wang 2186e8f528SBintian Wang cpus { 2286e8f528SBintian Wang #address-cells = <2>; 2386e8f528SBintian Wang #size-cells = <0>; 2486e8f528SBintian Wang 2586e8f528SBintian Wang cpu-map { 2686e8f528SBintian Wang cluster0 { 2786e8f528SBintian Wang core0 { 2886e8f528SBintian Wang cpu = <&cpu0>; 2986e8f528SBintian Wang }; 3086e8f528SBintian Wang core1 { 3186e8f528SBintian Wang cpu = <&cpu1>; 3286e8f528SBintian Wang }; 3386e8f528SBintian Wang core2 { 3486e8f528SBintian Wang cpu = <&cpu2>; 3586e8f528SBintian Wang }; 3686e8f528SBintian Wang core3 { 3786e8f528SBintian Wang cpu = <&cpu3>; 3886e8f528SBintian Wang }; 3986e8f528SBintian Wang }; 4086e8f528SBintian Wang cluster1 { 4186e8f528SBintian Wang core0 { 4286e8f528SBintian Wang cpu = <&cpu4>; 4386e8f528SBintian Wang }; 4486e8f528SBintian Wang core1 { 4586e8f528SBintian Wang cpu = <&cpu5>; 4686e8f528SBintian Wang }; 4786e8f528SBintian Wang core2 { 4886e8f528SBintian Wang cpu = <&cpu6>; 4986e8f528SBintian Wang }; 5086e8f528SBintian Wang core3 { 5186e8f528SBintian Wang cpu = <&cpu7>; 5286e8f528SBintian Wang }; 5386e8f528SBintian Wang }; 5486e8f528SBintian Wang }; 5586e8f528SBintian Wang 5686e8f528SBintian Wang cpu0: cpu@0 { 5786e8f528SBintian Wang compatible = "arm,cortex-a53", "arm,armv8"; 5886e8f528SBintian Wang device_type = "cpu"; 5986e8f528SBintian Wang reg = <0x0 0x0>; 6086e8f528SBintian Wang enable-method = "psci"; 6186e8f528SBintian Wang }; 6286e8f528SBintian Wang 6386e8f528SBintian Wang cpu1: cpu@1 { 6486e8f528SBintian Wang compatible = "arm,cortex-a53", "arm,armv8"; 6586e8f528SBintian Wang device_type = "cpu"; 6686e8f528SBintian Wang reg = <0x0 0x1>; 6786e8f528SBintian Wang enable-method = "psci"; 6886e8f528SBintian Wang }; 6986e8f528SBintian Wang 7086e8f528SBintian Wang cpu2: cpu@2 { 7186e8f528SBintian Wang compatible = "arm,cortex-a53", "arm,armv8"; 7286e8f528SBintian Wang device_type = "cpu"; 7386e8f528SBintian Wang reg = <0x0 0x2>; 7486e8f528SBintian Wang enable-method = "psci"; 7586e8f528SBintian Wang }; 7686e8f528SBintian Wang 7786e8f528SBintian Wang cpu3: cpu@3 { 7886e8f528SBintian Wang compatible = "arm,cortex-a53", "arm,armv8"; 7986e8f528SBintian Wang device_type = "cpu"; 8086e8f528SBintian Wang reg = <0x0 0x3>; 8186e8f528SBintian Wang enable-method = "psci"; 8286e8f528SBintian Wang }; 8386e8f528SBintian Wang 8486e8f528SBintian Wang cpu4: cpu@100 { 8586e8f528SBintian Wang compatible = "arm,cortex-a53", "arm,armv8"; 8686e8f528SBintian Wang device_type = "cpu"; 8786e8f528SBintian Wang reg = <0x0 0x100>; 8886e8f528SBintian Wang enable-method = "psci"; 8986e8f528SBintian Wang }; 9086e8f528SBintian Wang 9186e8f528SBintian Wang cpu5: cpu@101 { 9286e8f528SBintian Wang compatible = "arm,cortex-a53", "arm,armv8"; 9386e8f528SBintian Wang device_type = "cpu"; 9486e8f528SBintian Wang reg = <0x0 0x101>; 9586e8f528SBintian Wang enable-method = "psci"; 9686e8f528SBintian Wang }; 9786e8f528SBintian Wang 9886e8f528SBintian Wang cpu6: cpu@102 { 9986e8f528SBintian Wang compatible = "arm,cortex-a53", "arm,armv8"; 10086e8f528SBintian Wang device_type = "cpu"; 10186e8f528SBintian Wang reg = <0x0 0x102>; 10286e8f528SBintian Wang enable-method = "psci"; 10386e8f528SBintian Wang }; 10486e8f528SBintian Wang 10586e8f528SBintian Wang cpu7: cpu@103 { 10686e8f528SBintian Wang compatible = "arm,cortex-a53", "arm,armv8"; 10786e8f528SBintian Wang device_type = "cpu"; 10886e8f528SBintian Wang reg = <0x0 0x103>; 10986e8f528SBintian Wang enable-method = "psci"; 11086e8f528SBintian Wang }; 11186e8f528SBintian Wang }; 11286e8f528SBintian Wang 11386e8f528SBintian Wang gic: interrupt-controller@f6801000 { 11486e8f528SBintian Wang compatible = "arm,gic-400"; 11586e8f528SBintian Wang reg = <0x0 0xf6801000 0 0x1000>, /* GICD */ 11686e8f528SBintian Wang <0x0 0xf6802000 0 0x2000>, /* GICC */ 11786e8f528SBintian Wang <0x0 0xf6804000 0 0x2000>, /* GICH */ 11886e8f528SBintian Wang <0x0 0xf6806000 0 0x2000>; /* GICV */ 11986e8f528SBintian Wang #address-cells = <0>; 12086e8f528SBintian Wang #interrupt-cells = <3>; 12186e8f528SBintian Wang interrupt-controller; 12286e8f528SBintian Wang interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_HIGH)>; 12386e8f528SBintian Wang }; 12486e8f528SBintian Wang 12586e8f528SBintian Wang timer { 12686e8f528SBintian Wang compatible = "arm,armv8-timer"; 12786e8f528SBintian Wang interrupt-parent = <&gic>; 12886e8f528SBintian Wang interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>, 12986e8f528SBintian Wang <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>, 13086e8f528SBintian Wang <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>, 13186e8f528SBintian Wang <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>; 13286e8f528SBintian Wang }; 13386e8f528SBintian Wang 13486e8f528SBintian Wang soc { 13586e8f528SBintian Wang compatible = "simple-bus"; 13686e8f528SBintian Wang #address-cells = <2>; 13786e8f528SBintian Wang #size-cells = <2>; 13886e8f528SBintian Wang ranges; 13986e8f528SBintian Wang 14086e8f528SBintian Wang ao_ctrl: ao_ctrl@f7800000 { 14186e8f528SBintian Wang compatible = "hisilicon,hi6220-aoctrl", "syscon"; 14286e8f528SBintian Wang reg = <0x0 0xf7800000 0x0 0x2000>; 14386e8f528SBintian Wang #clock-cells = <1>; 14486e8f528SBintian Wang }; 14586e8f528SBintian Wang 14686e8f528SBintian Wang sys_ctrl: sys_ctrl@f7030000 { 14786e8f528SBintian Wang compatible = "hisilicon,hi6220-sysctrl", "syscon"; 14886e8f528SBintian Wang reg = <0x0 0xf7030000 0x0 0x2000>; 14986e8f528SBintian Wang #clock-cells = <1>; 15086e8f528SBintian Wang }; 15186e8f528SBintian Wang 15286e8f528SBintian Wang media_ctrl: media_ctrl@f4410000 { 15386e8f528SBintian Wang compatible = "hisilicon,hi6220-mediactrl", "syscon"; 15486e8f528SBintian Wang reg = <0x0 0xf4410000 0x0 0x1000>; 15586e8f528SBintian Wang #clock-cells = <1>; 15686e8f528SBintian Wang }; 15786e8f528SBintian Wang 15886e8f528SBintian Wang pm_ctrl: pm_ctrl@f7032000 { 15986e8f528SBintian Wang compatible = "hisilicon,hi6220-pmctrl", "syscon"; 16086e8f528SBintian Wang reg = <0x0 0xf7032000 0x0 0x1000>; 16186e8f528SBintian Wang #clock-cells = <1>; 16286e8f528SBintian Wang }; 16386e8f528SBintian Wang 16486e8f528SBintian Wang uart0: uart@f8015000 { /* console */ 16586e8f528SBintian Wang compatible = "arm,pl011", "arm,primecell"; 16686e8f528SBintian Wang reg = <0x0 0xf8015000 0x0 0x1000>; 16786e8f528SBintian Wang interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>; 168*a362ec8fSTyler Baker clocks = <&ao_ctrl HI6220_UART0_PCLK>, 169*a362ec8fSTyler Baker <&ao_ctrl HI6220_UART0_PCLK>; 17086e8f528SBintian Wang clock-names = "uartclk", "apb_pclk"; 17186e8f528SBintian Wang }; 172*a362ec8fSTyler Baker 173*a362ec8fSTyler Baker uart1: uart@f7111000 { 174*a362ec8fSTyler Baker compatible = "arm,pl011", "arm,primecell"; 175*a362ec8fSTyler Baker reg = <0x0 0xf7111000 0x0 0x1000>; 176*a362ec8fSTyler Baker interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; 177*a362ec8fSTyler Baker clocks = <&sys_ctrl HI6220_UART1_PCLK>, 178*a362ec8fSTyler Baker <&sys_ctrl HI6220_UART1_PCLK>; 179*a362ec8fSTyler Baker clock-names = "uartclk", "apb_pclk"; 180*a362ec8fSTyler Baker status = "disabled"; 181*a362ec8fSTyler Baker }; 182*a362ec8fSTyler Baker 183*a362ec8fSTyler Baker uart2: uart@f7112000 { 184*a362ec8fSTyler Baker compatible = "arm,pl011", "arm,primecell"; 185*a362ec8fSTyler Baker reg = <0x0 0xf7112000 0x0 0x1000>; 186*a362ec8fSTyler Baker interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>; 187*a362ec8fSTyler Baker clocks = <&sys_ctrl HI6220_UART2_PCLK>, 188*a362ec8fSTyler Baker <&sys_ctrl HI6220_UART2_PCLK>; 189*a362ec8fSTyler Baker clock-names = "uartclk", "apb_pclk"; 190*a362ec8fSTyler Baker status = "disabled"; 191*a362ec8fSTyler Baker }; 192*a362ec8fSTyler Baker 193*a362ec8fSTyler Baker uart3: uart@f7113000 { 194*a362ec8fSTyler Baker compatible = "arm,pl011", "arm,primecell"; 195*a362ec8fSTyler Baker reg = <0x0 0xf7113000 0x0 0x1000>; 196*a362ec8fSTyler Baker interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>; 197*a362ec8fSTyler Baker clocks = <&sys_ctrl HI6220_UART3_PCLK>, 198*a362ec8fSTyler Baker <&sys_ctrl HI6220_UART3_PCLK>; 199*a362ec8fSTyler Baker clock-names = "uartclk", "apb_pclk"; 200*a362ec8fSTyler Baker }; 201*a362ec8fSTyler Baker 202*a362ec8fSTyler Baker uart4: uart@f7114000 { 203*a362ec8fSTyler Baker compatible = "arm,pl011", "arm,primecell"; 204*a362ec8fSTyler Baker reg = <0x0 0xf7114000 0x0 0x1000>; 205*a362ec8fSTyler Baker interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>; 206*a362ec8fSTyler Baker clocks = <&sys_ctrl HI6220_UART4_PCLK>, 207*a362ec8fSTyler Baker <&sys_ctrl HI6220_UART4_PCLK>; 208*a362ec8fSTyler Baker clock-names = "uartclk", "apb_pclk"; 209*a362ec8fSTyler Baker status = "disabled"; 210*a362ec8fSTyler Baker }; 21186e8f528SBintian Wang }; 21286e8f528SBintian Wang}; 213