135ca8168SChen Feng/* 235ca8168SChen Feng * dts file for Hisilicon Hi3660 SoC 335ca8168SChen Feng * 435ca8168SChen Feng * Copyright (C) 2016, Hisilicon Ltd. 535ca8168SChen Feng */ 635ca8168SChen Feng 735ca8168SChen Feng#include <dt-bindings/interrupt-controller/arm-gic.h> 8a4e36ae0SZhangfei Gao#include <dt-bindings/clock/hi3660-clock.h> 935ca8168SChen Feng 1035ca8168SChen Feng/ { 1135ca8168SChen Feng compatible = "hisilicon,hi3660"; 1235ca8168SChen Feng interrupt-parent = <&gic>; 1335ca8168SChen Feng #address-cells = <2>; 1435ca8168SChen Feng #size-cells = <2>; 1535ca8168SChen Feng 1635ca8168SChen Feng psci { 1735ca8168SChen Feng compatible = "arm,psci-0.2"; 1835ca8168SChen Feng method = "smc"; 1935ca8168SChen Feng }; 2035ca8168SChen Feng 2135ca8168SChen Feng cpus { 2235ca8168SChen Feng #address-cells = <2>; 2335ca8168SChen Feng #size-cells = <0>; 2435ca8168SChen Feng 2535ca8168SChen Feng cpu-map { 2635ca8168SChen Feng cluster0 { 2735ca8168SChen Feng core0 { 2835ca8168SChen Feng cpu = <&cpu0>; 2935ca8168SChen Feng }; 3035ca8168SChen Feng core1 { 3135ca8168SChen Feng cpu = <&cpu1>; 3235ca8168SChen Feng }; 3335ca8168SChen Feng core2 { 3435ca8168SChen Feng cpu = <&cpu2>; 3535ca8168SChen Feng }; 3635ca8168SChen Feng core3 { 3735ca8168SChen Feng cpu = <&cpu3>; 3835ca8168SChen Feng }; 3935ca8168SChen Feng }; 4035ca8168SChen Feng cluster1 { 4135ca8168SChen Feng core0 { 4235ca8168SChen Feng cpu = <&cpu4>; 4335ca8168SChen Feng }; 4435ca8168SChen Feng core1 { 4535ca8168SChen Feng cpu = <&cpu5>; 4635ca8168SChen Feng }; 4735ca8168SChen Feng core2 { 4835ca8168SChen Feng cpu = <&cpu6>; 4935ca8168SChen Feng }; 5035ca8168SChen Feng core3 { 5135ca8168SChen Feng cpu = <&cpu7>; 5235ca8168SChen Feng }; 5335ca8168SChen Feng }; 5435ca8168SChen Feng }; 5535ca8168SChen Feng 5635ca8168SChen Feng cpu0: cpu@0 { 5735ca8168SChen Feng compatible = "arm,cortex-a53", "arm,armv8"; 5835ca8168SChen Feng device_type = "cpu"; 5935ca8168SChen Feng reg = <0x0 0x0>; 6035ca8168SChen Feng enable-method = "psci"; 6135ca8168SChen Feng }; 6235ca8168SChen Feng 6335ca8168SChen Feng cpu1: cpu@1 { 6435ca8168SChen Feng compatible = "arm,cortex-a53", "arm,armv8"; 6535ca8168SChen Feng device_type = "cpu"; 6635ca8168SChen Feng reg = <0x0 0x1>; 6735ca8168SChen Feng enable-method = "psci"; 6835ca8168SChen Feng }; 6935ca8168SChen Feng 7035ca8168SChen Feng cpu2: cpu@2 { 7135ca8168SChen Feng compatible = "arm,cortex-a53", "arm,armv8"; 7235ca8168SChen Feng device_type = "cpu"; 7335ca8168SChen Feng reg = <0x0 0x2>; 7435ca8168SChen Feng enable-method = "psci"; 7535ca8168SChen Feng }; 7635ca8168SChen Feng 7735ca8168SChen Feng cpu3: cpu@3 { 7835ca8168SChen Feng compatible = "arm,cortex-a53", "arm,armv8"; 7935ca8168SChen Feng device_type = "cpu"; 8035ca8168SChen Feng reg = <0x0 0x3>; 8135ca8168SChen Feng enable-method = "psci"; 8235ca8168SChen Feng }; 8335ca8168SChen Feng 8435ca8168SChen Feng cpu4: cpu@100 { 8535ca8168SChen Feng compatible = "arm,cortex-a73", "arm,armv8"; 8635ca8168SChen Feng device_type = "cpu"; 8735ca8168SChen Feng reg = <0x0 0x100>; 8835ca8168SChen Feng enable-method = "psci"; 8935ca8168SChen Feng }; 9035ca8168SChen Feng 9135ca8168SChen Feng cpu5: cpu@101 { 9235ca8168SChen Feng compatible = "arm,cortex-a73", "arm,armv8"; 9335ca8168SChen Feng device_type = "cpu"; 9435ca8168SChen Feng reg = <0x0 0x101>; 9535ca8168SChen Feng enable-method = "psci"; 9635ca8168SChen Feng }; 9735ca8168SChen Feng 9835ca8168SChen Feng cpu6: cpu@102 { 9935ca8168SChen Feng compatible = "arm,cortex-a73", "arm,armv8"; 10035ca8168SChen Feng device_type = "cpu"; 10135ca8168SChen Feng reg = <0x0 0x102>; 10235ca8168SChen Feng enable-method = "psci"; 10335ca8168SChen Feng }; 10435ca8168SChen Feng 10535ca8168SChen Feng cpu7: cpu@103 { 10635ca8168SChen Feng compatible = "arm,cortex-a73", "arm,armv8"; 10735ca8168SChen Feng device_type = "cpu"; 10835ca8168SChen Feng reg = <0x0 0x103>; 10935ca8168SChen Feng enable-method = "psci"; 11035ca8168SChen Feng }; 11135ca8168SChen Feng }; 11235ca8168SChen Feng 11335ca8168SChen Feng gic: interrupt-controller@e82b0000 { 11435ca8168SChen Feng compatible = "arm,gic-400"; 11535ca8168SChen Feng reg = <0x0 0xe82b1000 0 0x1000>, /* GICD */ 11635ca8168SChen Feng <0x0 0xe82b2000 0 0x2000>, /* GICC */ 11735ca8168SChen Feng <0x0 0xe82b4000 0 0x2000>, /* GICH */ 11835ca8168SChen Feng <0x0 0xe82b6000 0 0x2000>; /* GICV */ 11935ca8168SChen Feng #address-cells = <0>; 12035ca8168SChen Feng #interrupt-cells = <3>; 12135ca8168SChen Feng interrupt-controller; 12235ca8168SChen Feng interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(8) | 12335ca8168SChen Feng IRQ_TYPE_LEVEL_HIGH)>; 12435ca8168SChen Feng }; 12535ca8168SChen Feng 12635ca8168SChen Feng timer { 12735ca8168SChen Feng compatible = "arm,armv8-timer"; 12835ca8168SChen Feng interrupt-parent = <&gic>; 12935ca8168SChen Feng interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(8) | 13035ca8168SChen Feng IRQ_TYPE_LEVEL_LOW)>, 13135ca8168SChen Feng <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(8) | 13235ca8168SChen Feng IRQ_TYPE_LEVEL_LOW)>, 13335ca8168SChen Feng <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(8) | 13435ca8168SChen Feng IRQ_TYPE_LEVEL_LOW)>, 13535ca8168SChen Feng <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(8) | 13635ca8168SChen Feng IRQ_TYPE_LEVEL_LOW)>; 13735ca8168SChen Feng }; 13835ca8168SChen Feng 13935ca8168SChen Feng soc { 14035ca8168SChen Feng compatible = "simple-bus"; 14135ca8168SChen Feng #address-cells = <2>; 14235ca8168SChen Feng #size-cells = <2>; 14335ca8168SChen Feng ranges; 14435ca8168SChen Feng 145a4e36ae0SZhangfei Gao crg_ctrl: crg_ctrl@fff35000 { 146a4e36ae0SZhangfei Gao compatible = "hisilicon,hi3660-crgctrl", "syscon"; 147a4e36ae0SZhangfei Gao reg = <0x0 0xfff35000 0x0 0x1000>; 148a4e36ae0SZhangfei Gao #clock-cells = <1>; 14935ca8168SChen Feng }; 15035ca8168SChen Feng 151a4e36ae0SZhangfei Gao crg_rst: crg_rst_controller { 152a4e36ae0SZhangfei Gao compatible = "hisilicon,hi3660-reset"; 153a4e36ae0SZhangfei Gao #reset-cells = <2>; 154a4e36ae0SZhangfei Gao hisi,rst-syscon = <&crg_ctrl>; 155a4e36ae0SZhangfei Gao }; 156a4e36ae0SZhangfei Gao 157a4e36ae0SZhangfei Gao 158a4e36ae0SZhangfei Gao pctrl: pctrl@e8a09000 { 159a4e36ae0SZhangfei Gao compatible = "hisilicon,hi3660-pctrl", "syscon"; 160a4e36ae0SZhangfei Gao reg = <0x0 0xe8a09000 0x0 0x2000>; 161a4e36ae0SZhangfei Gao #clock-cells = <1>; 162a4e36ae0SZhangfei Gao }; 163a4e36ae0SZhangfei Gao 164a4e36ae0SZhangfei Gao pmuctrl: crg_ctrl@fff34000 { 165a4e36ae0SZhangfei Gao compatible = "hisilicon,hi3660-pmuctrl", "syscon"; 166a4e36ae0SZhangfei Gao reg = <0x0 0xfff34000 0x0 0x1000>; 167a4e36ae0SZhangfei Gao #clock-cells = <1>; 168a4e36ae0SZhangfei Gao }; 169a4e36ae0SZhangfei Gao 170a4e36ae0SZhangfei Gao sctrl: sctrl@fff0a000 { 171a4e36ae0SZhangfei Gao compatible = "hisilicon,hi3660-sctrl", "syscon"; 172a4e36ae0SZhangfei Gao reg = <0x0 0xfff0a000 0x0 0x1000>; 173a4e36ae0SZhangfei Gao #clock-cells = <1>; 174a4e36ae0SZhangfei Gao }; 175a4e36ae0SZhangfei Gao 176a4e36ae0SZhangfei Gao iomcu: iomcu@ffd7e000 { 177a4e36ae0SZhangfei Gao compatible = "hisilicon,hi3660-iomcu", "syscon"; 178a4e36ae0SZhangfei Gao reg = <0x0 0xffd7e000 0x0 0x1000>; 179a4e36ae0SZhangfei Gao #clock-cells = <1>; 180a4e36ae0SZhangfei Gao 181a4e36ae0SZhangfei Gao }; 182a4e36ae0SZhangfei Gao 183a4e36ae0SZhangfei Gao iomcu_rst: reset { 184a4e36ae0SZhangfei Gao compatible = "hisilicon,hi3660-reset"; 185a4e36ae0SZhangfei Gao hisi,rst-syscon = <&iomcu>; 186a4e36ae0SZhangfei Gao #reset-cells = <2>; 187a4e36ae0SZhangfei Gao }; 188a4e36ae0SZhangfei Gao 189*5f8a3b77SZhangfei Gao i2c0: i2c@ffd71000 { 190*5f8a3b77SZhangfei Gao compatible = "snps,designware-i2c"; 191*5f8a3b77SZhangfei Gao reg = <0x0 0xffd71000 0x0 0x1000>; 192*5f8a3b77SZhangfei Gao interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>; 193*5f8a3b77SZhangfei Gao #address-cells = <1>; 194*5f8a3b77SZhangfei Gao #size-cells = <0>; 195*5f8a3b77SZhangfei Gao clock-frequency = <400000>; 196*5f8a3b77SZhangfei Gao clocks = <&crg_ctrl HI3660_CLK_GATE_I2C0>; 197*5f8a3b77SZhangfei Gao resets = <&iomcu_rst 0x20 3>; 198*5f8a3b77SZhangfei Gao pinctrl-names = "default"; 199*5f8a3b77SZhangfei Gao pinctrl-0 = <&i2c0_pmx_func &i2c0_cfg_func>; 200*5f8a3b77SZhangfei Gao status = "disabled"; 201*5f8a3b77SZhangfei Gao }; 202*5f8a3b77SZhangfei Gao 203*5f8a3b77SZhangfei Gao i2c1: i2c@ffd72000 { 204*5f8a3b77SZhangfei Gao compatible = "snps,designware-i2c"; 205*5f8a3b77SZhangfei Gao reg = <0x0 0xffd72000 0x0 0x1000>; 206*5f8a3b77SZhangfei Gao interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>; 207*5f8a3b77SZhangfei Gao #address-cells = <1>; 208*5f8a3b77SZhangfei Gao #size-cells = <0>; 209*5f8a3b77SZhangfei Gao clock-frequency = <400000>; 210*5f8a3b77SZhangfei Gao clocks = <&crg_ctrl HI3660_CLK_GATE_I2C1>; 211*5f8a3b77SZhangfei Gao resets = <&iomcu_rst 0x20 4>; 212*5f8a3b77SZhangfei Gao pinctrl-names = "default"; 213*5f8a3b77SZhangfei Gao pinctrl-0 = <&i2c1_pmx_func &i2c1_cfg_func>; 214*5f8a3b77SZhangfei Gao status = "disabled"; 215*5f8a3b77SZhangfei Gao }; 216*5f8a3b77SZhangfei Gao 217*5f8a3b77SZhangfei Gao i2c3: i2c@fdf0c000 { 218*5f8a3b77SZhangfei Gao compatible = "snps,designware-i2c"; 219*5f8a3b77SZhangfei Gao reg = <0x0 0xfdf0c000 0x0 0x1000>; 220*5f8a3b77SZhangfei Gao interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>; 221*5f8a3b77SZhangfei Gao #address-cells = <1>; 222*5f8a3b77SZhangfei Gao #size-cells = <0>; 223*5f8a3b77SZhangfei Gao clock-frequency = <400000>; 224*5f8a3b77SZhangfei Gao clocks = <&crg_ctrl HI3660_CLK_GATE_I2C3>; 225*5f8a3b77SZhangfei Gao resets = <&crg_rst 0x78 7>; 226*5f8a3b77SZhangfei Gao pinctrl-names = "default"; 227*5f8a3b77SZhangfei Gao pinctrl-0 = <&i2c3_pmx_func &i2c3_cfg_func>; 228*5f8a3b77SZhangfei Gao status = "disabled"; 229*5f8a3b77SZhangfei Gao }; 230*5f8a3b77SZhangfei Gao 231*5f8a3b77SZhangfei Gao i2c7: i2c@fdf0b000 { 232*5f8a3b77SZhangfei Gao compatible = "snps,designware-i2c"; 233*5f8a3b77SZhangfei Gao reg = <0x0 0xfdf0b000 0x0 0x1000>; 234*5f8a3b77SZhangfei Gao interrupts = <GIC_SPI 314 IRQ_TYPE_LEVEL_HIGH>; 235*5f8a3b77SZhangfei Gao #address-cells = <1>; 236*5f8a3b77SZhangfei Gao #size-cells = <0>; 237*5f8a3b77SZhangfei Gao clock-frequency = <400000>; 238*5f8a3b77SZhangfei Gao clocks = <&crg_ctrl HI3660_CLK_GATE_I2C7>; 239*5f8a3b77SZhangfei Gao resets = <&crg_rst 0x60 14>; 240*5f8a3b77SZhangfei Gao pinctrl-names = "default"; 241*5f8a3b77SZhangfei Gao pinctrl-0 = <&i2c7_pmx_func &i2c7_cfg_func>; 242*5f8a3b77SZhangfei Gao status = "disabled"; 243*5f8a3b77SZhangfei Gao }; 244*5f8a3b77SZhangfei Gao 245a4e36ae0SZhangfei Gao uart5: serial@fdf05000 { 24635ca8168SChen Feng compatible = "arm,pl011", "arm,primecell"; 24735ca8168SChen Feng reg = <0x0 0xfdf05000 0x0 0x1000>; 24835ca8168SChen Feng interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>; 249a4e36ae0SZhangfei Gao clocks = <&crg_ctrl HI3660_CLK_GATE_UART5>, 250a4e36ae0SZhangfei Gao <&crg_ctrl HI3660_CLK_GATE_UART5>; 25135ca8168SChen Feng clock-names = "uartclk", "apb_pclk"; 25235ca8168SChen Feng status = "disabled"; 25335ca8168SChen Feng }; 25435ca8168SChen Feng }; 25535ca8168SChen Feng}; 256