1b2441318SGreg Kroah-Hartman// SPDX-License-Identifier: GPL-2.0 235ca8168SChen Feng/* 335ca8168SChen Feng * dts file for Hisilicon Hi3660 SoC 435ca8168SChen Feng * 535ca8168SChen Feng * Copyright (C) 2016, Hisilicon Ltd. 635ca8168SChen Feng */ 735ca8168SChen Feng 835ca8168SChen Feng#include <dt-bindings/interrupt-controller/arm-gic.h> 9a4e36ae0SZhangfei Gao#include <dt-bindings/clock/hi3660-clock.h> 1035ca8168SChen Feng 1135ca8168SChen Feng/ { 1235ca8168SChen Feng compatible = "hisilicon,hi3660"; 1335ca8168SChen Feng interrupt-parent = <&gic>; 1435ca8168SChen Feng #address-cells = <2>; 1535ca8168SChen Feng #size-cells = <2>; 1635ca8168SChen Feng 1735ca8168SChen Feng psci { 1835ca8168SChen Feng compatible = "arm,psci-0.2"; 1935ca8168SChen Feng method = "smc"; 2035ca8168SChen Feng }; 2135ca8168SChen Feng 2235ca8168SChen Feng cpus { 2335ca8168SChen Feng #address-cells = <2>; 2435ca8168SChen Feng #size-cells = <0>; 2535ca8168SChen Feng 2635ca8168SChen Feng cpu-map { 2735ca8168SChen Feng cluster0 { 2835ca8168SChen Feng core0 { 2935ca8168SChen Feng cpu = <&cpu0>; 3035ca8168SChen Feng }; 3135ca8168SChen Feng core1 { 3235ca8168SChen Feng cpu = <&cpu1>; 3335ca8168SChen Feng }; 3435ca8168SChen Feng core2 { 3535ca8168SChen Feng cpu = <&cpu2>; 3635ca8168SChen Feng }; 3735ca8168SChen Feng core3 { 3835ca8168SChen Feng cpu = <&cpu3>; 3935ca8168SChen Feng }; 4035ca8168SChen Feng }; 4135ca8168SChen Feng cluster1 { 4235ca8168SChen Feng core0 { 4335ca8168SChen Feng cpu = <&cpu4>; 4435ca8168SChen Feng }; 4535ca8168SChen Feng core1 { 4635ca8168SChen Feng cpu = <&cpu5>; 4735ca8168SChen Feng }; 4835ca8168SChen Feng core2 { 4935ca8168SChen Feng cpu = <&cpu6>; 5035ca8168SChen Feng }; 5135ca8168SChen Feng core3 { 5235ca8168SChen Feng cpu = <&cpu7>; 5335ca8168SChen Feng }; 5435ca8168SChen Feng }; 5535ca8168SChen Feng }; 5635ca8168SChen Feng 5735ca8168SChen Feng cpu0: cpu@0 { 5835ca8168SChen Feng compatible = "arm,cortex-a53", "arm,armv8"; 5935ca8168SChen Feng device_type = "cpu"; 6035ca8168SChen Feng reg = <0x0 0x0>; 6135ca8168SChen Feng enable-method = "psci"; 62a6d08344SLeo Yan next-level-cache = <&A53_L2>; 6330fec826SLeo Yan cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP_0>; 64*9a9760deSValentin Schneider capacity-dmips-mhz = <592>; 6535ca8168SChen Feng }; 6635ca8168SChen Feng 6735ca8168SChen Feng cpu1: cpu@1 { 6835ca8168SChen Feng compatible = "arm,cortex-a53", "arm,armv8"; 6935ca8168SChen Feng device_type = "cpu"; 7035ca8168SChen Feng reg = <0x0 0x1>; 7135ca8168SChen Feng enable-method = "psci"; 72a6d08344SLeo Yan next-level-cache = <&A53_L2>; 7330fec826SLeo Yan cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP_0>; 74*9a9760deSValentin Schneider capacity-dmips-mhz = <592>; 7535ca8168SChen Feng }; 7635ca8168SChen Feng 7735ca8168SChen Feng cpu2: cpu@2 { 7835ca8168SChen Feng compatible = "arm,cortex-a53", "arm,armv8"; 7935ca8168SChen Feng device_type = "cpu"; 8035ca8168SChen Feng reg = <0x0 0x2>; 8135ca8168SChen Feng enable-method = "psci"; 82a6d08344SLeo Yan next-level-cache = <&A53_L2>; 8330fec826SLeo Yan cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP_0>; 84*9a9760deSValentin Schneider capacity-dmips-mhz = <592>; 8535ca8168SChen Feng }; 8635ca8168SChen Feng 8735ca8168SChen Feng cpu3: cpu@3 { 8835ca8168SChen Feng compatible = "arm,cortex-a53", "arm,armv8"; 8935ca8168SChen Feng device_type = "cpu"; 9035ca8168SChen Feng reg = <0x0 0x3>; 9135ca8168SChen Feng enable-method = "psci"; 92a6d08344SLeo Yan next-level-cache = <&A53_L2>; 9330fec826SLeo Yan cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP_0>; 94*9a9760deSValentin Schneider capacity-dmips-mhz = <592>; 9535ca8168SChen Feng }; 9635ca8168SChen Feng 9735ca8168SChen Feng cpu4: cpu@100 { 9835ca8168SChen Feng compatible = "arm,cortex-a73", "arm,armv8"; 9935ca8168SChen Feng device_type = "cpu"; 10035ca8168SChen Feng reg = <0x0 0x100>; 10135ca8168SChen Feng enable-method = "psci"; 102a6d08344SLeo Yan next-level-cache = <&A73_L2>; 10330fec826SLeo Yan cpu-idle-states = < 10430fec826SLeo Yan &CPU_NAP 10530fec826SLeo Yan &CPU_SLEEP 10630fec826SLeo Yan &CLUSTER_SLEEP_1 10730fec826SLeo Yan >; 108*9a9760deSValentin Schneider capacity-dmips-mhz = <1024>; 10935ca8168SChen Feng }; 11035ca8168SChen Feng 11135ca8168SChen Feng cpu5: cpu@101 { 11235ca8168SChen Feng compatible = "arm,cortex-a73", "arm,armv8"; 11335ca8168SChen Feng device_type = "cpu"; 11435ca8168SChen Feng reg = <0x0 0x101>; 11535ca8168SChen Feng enable-method = "psci"; 116a6d08344SLeo Yan next-level-cache = <&A73_L2>; 11730fec826SLeo Yan cpu-idle-states = < 11830fec826SLeo Yan &CPU_NAP 11930fec826SLeo Yan &CPU_SLEEP 12030fec826SLeo Yan &CLUSTER_SLEEP_1 12130fec826SLeo Yan >; 122*9a9760deSValentin Schneider capacity-dmips-mhz = <1024>; 12335ca8168SChen Feng }; 12435ca8168SChen Feng 12535ca8168SChen Feng cpu6: cpu@102 { 12635ca8168SChen Feng compatible = "arm,cortex-a73", "arm,armv8"; 12735ca8168SChen Feng device_type = "cpu"; 12835ca8168SChen Feng reg = <0x0 0x102>; 12935ca8168SChen Feng enable-method = "psci"; 130a6d08344SLeo Yan next-level-cache = <&A73_L2>; 13130fec826SLeo Yan cpu-idle-states = < 13230fec826SLeo Yan &CPU_NAP 13330fec826SLeo Yan &CPU_SLEEP 13430fec826SLeo Yan &CLUSTER_SLEEP_1 13530fec826SLeo Yan >; 136*9a9760deSValentin Schneider capacity-dmips-mhz = <1024>; 13735ca8168SChen Feng }; 13835ca8168SChen Feng 13935ca8168SChen Feng cpu7: cpu@103 { 14035ca8168SChen Feng compatible = "arm,cortex-a73", "arm,armv8"; 14135ca8168SChen Feng device_type = "cpu"; 14235ca8168SChen Feng reg = <0x0 0x103>; 14335ca8168SChen Feng enable-method = "psci"; 144a6d08344SLeo Yan next-level-cache = <&A73_L2>; 14530fec826SLeo Yan cpu-idle-states = < 14630fec826SLeo Yan &CPU_NAP 14730fec826SLeo Yan &CPU_SLEEP 14830fec826SLeo Yan &CLUSTER_SLEEP_1 14930fec826SLeo Yan >; 150*9a9760deSValentin Schneider capacity-dmips-mhz = <1024>; 15130fec826SLeo Yan }; 15230fec826SLeo Yan 15330fec826SLeo Yan idle-states { 15430fec826SLeo Yan entry-method = "psci"; 15530fec826SLeo Yan 15630fec826SLeo Yan CPU_NAP: cpu-nap { 15730fec826SLeo Yan compatible = "arm,idle-state"; 15830fec826SLeo Yan arm,psci-suspend-param = <0x0000001>; 15930fec826SLeo Yan entry-latency-us = <7>; 16030fec826SLeo Yan exit-latency-us = <2>; 16130fec826SLeo Yan min-residency-us = <15>; 16230fec826SLeo Yan }; 16330fec826SLeo Yan 16430fec826SLeo Yan CPU_SLEEP: cpu-sleep { 16530fec826SLeo Yan compatible = "arm,idle-state"; 16630fec826SLeo Yan local-timer-stop; 16730fec826SLeo Yan arm,psci-suspend-param = <0x0010000>; 16830fec826SLeo Yan entry-latency-us = <40>; 16930fec826SLeo Yan exit-latency-us = <70>; 17030fec826SLeo Yan min-residency-us = <3000>; 17130fec826SLeo Yan }; 17230fec826SLeo Yan 17330fec826SLeo Yan CLUSTER_SLEEP_0: cluster-sleep-0 { 17430fec826SLeo Yan compatible = "arm,idle-state"; 17530fec826SLeo Yan local-timer-stop; 17630fec826SLeo Yan arm,psci-suspend-param = <0x1010000>; 17730fec826SLeo Yan entry-latency-us = <500>; 17830fec826SLeo Yan exit-latency-us = <5000>; 17930fec826SLeo Yan min-residency-us = <20000>; 18030fec826SLeo Yan }; 18130fec826SLeo Yan 18230fec826SLeo Yan CLUSTER_SLEEP_1: cluster-sleep-1 { 18330fec826SLeo Yan compatible = "arm,idle-state"; 18430fec826SLeo Yan local-timer-stop; 18530fec826SLeo Yan arm,psci-suspend-param = <0x1010000>; 18630fec826SLeo Yan entry-latency-us = <1000>; 18730fec826SLeo Yan exit-latency-us = <5000>; 18830fec826SLeo Yan min-residency-us = <20000>; 18930fec826SLeo Yan }; 19035ca8168SChen Feng }; 191a6d08344SLeo Yan 192a6d08344SLeo Yan A53_L2: l2-cache0 { 193a6d08344SLeo Yan compatible = "cache"; 194a6d08344SLeo Yan }; 195a6d08344SLeo Yan 196a6d08344SLeo Yan A73_L2: l2-cache1 { 197a6d08344SLeo Yan compatible = "cache"; 198a6d08344SLeo Yan }; 19935ca8168SChen Feng }; 20035ca8168SChen Feng 20135ca8168SChen Feng gic: interrupt-controller@e82b0000 { 20235ca8168SChen Feng compatible = "arm,gic-400"; 20335ca8168SChen Feng reg = <0x0 0xe82b1000 0 0x1000>, /* GICD */ 20435ca8168SChen Feng <0x0 0xe82b2000 0 0x2000>, /* GICC */ 20535ca8168SChen Feng <0x0 0xe82b4000 0 0x2000>, /* GICH */ 20635ca8168SChen Feng <0x0 0xe82b6000 0 0x2000>; /* GICV */ 20735ca8168SChen Feng #address-cells = <0>; 20835ca8168SChen Feng #interrupt-cells = <3>; 20935ca8168SChen Feng interrupt-controller; 21035ca8168SChen Feng interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(8) | 21135ca8168SChen Feng IRQ_TYPE_LEVEL_HIGH)>; 21235ca8168SChen Feng }; 21335ca8168SChen Feng 214e07642faSXu YiPing a53-pmu { 215e07642faSXu YiPing compatible = "arm,cortex-a53-pmu"; 216f8054fb8SYiPing Xu interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>, 217f8054fb8SYiPing Xu <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>, 218f8054fb8SYiPing Xu <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>, 219e07642faSXu YiPing <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>; 220f8054fb8SYiPing Xu interrupt-affinity = <&cpu0>, 221f8054fb8SYiPing Xu <&cpu1>, 222f8054fb8SYiPing Xu <&cpu2>, 223e07642faSXu YiPing <&cpu3>; 224e07642faSXu YiPing }; 225e07642faSXu YiPing 226e07642faSXu YiPing a73-pmu { 227e07642faSXu YiPing compatible = "arm,cortex-a73-pmu"; 228e07642faSXu YiPing interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>, 229e07642faSXu YiPing <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>, 230e07642faSXu YiPing <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>, 231e07642faSXu YiPing <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>; 232e07642faSXu YiPing interrupt-affinity = <&cpu4>, 233f8054fb8SYiPing Xu <&cpu5>, 234f8054fb8SYiPing Xu <&cpu6>, 235f8054fb8SYiPing Xu <&cpu7>; 236f8054fb8SYiPing Xu }; 237f8054fb8SYiPing Xu 23835ca8168SChen Feng timer { 23935ca8168SChen Feng compatible = "arm,armv8-timer"; 24035ca8168SChen Feng interrupt-parent = <&gic>; 24135ca8168SChen Feng interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(8) | 24235ca8168SChen Feng IRQ_TYPE_LEVEL_LOW)>, 24335ca8168SChen Feng <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(8) | 24435ca8168SChen Feng IRQ_TYPE_LEVEL_LOW)>, 24535ca8168SChen Feng <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(8) | 24635ca8168SChen Feng IRQ_TYPE_LEVEL_LOW)>, 24735ca8168SChen Feng <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(8) | 24835ca8168SChen Feng IRQ_TYPE_LEVEL_LOW)>; 24935ca8168SChen Feng }; 25035ca8168SChen Feng 25135ca8168SChen Feng soc { 25235ca8168SChen Feng compatible = "simple-bus"; 25335ca8168SChen Feng #address-cells = <2>; 25435ca8168SChen Feng #size-cells = <2>; 25535ca8168SChen Feng ranges; 25635ca8168SChen Feng 257a4e36ae0SZhangfei Gao crg_ctrl: crg_ctrl@fff35000 { 258a4e36ae0SZhangfei Gao compatible = "hisilicon,hi3660-crgctrl", "syscon"; 259a4e36ae0SZhangfei Gao reg = <0x0 0xfff35000 0x0 0x1000>; 260a4e36ae0SZhangfei Gao #clock-cells = <1>; 26135ca8168SChen Feng }; 26235ca8168SChen Feng 263a4e36ae0SZhangfei Gao crg_rst: crg_rst_controller { 264a4e36ae0SZhangfei Gao compatible = "hisilicon,hi3660-reset"; 265a4e36ae0SZhangfei Gao #reset-cells = <2>; 266a4e36ae0SZhangfei Gao hisi,rst-syscon = <&crg_ctrl>; 267a4e36ae0SZhangfei Gao }; 268a4e36ae0SZhangfei Gao 269a4e36ae0SZhangfei Gao 270a4e36ae0SZhangfei Gao pctrl: pctrl@e8a09000 { 271a4e36ae0SZhangfei Gao compatible = "hisilicon,hi3660-pctrl", "syscon"; 272a4e36ae0SZhangfei Gao reg = <0x0 0xe8a09000 0x0 0x2000>; 273a4e36ae0SZhangfei Gao #clock-cells = <1>; 274a4e36ae0SZhangfei Gao }; 275a4e36ae0SZhangfei Gao 276a4e36ae0SZhangfei Gao pmuctrl: crg_ctrl@fff34000 { 277a4e36ae0SZhangfei Gao compatible = "hisilicon,hi3660-pmuctrl", "syscon"; 278a4e36ae0SZhangfei Gao reg = <0x0 0xfff34000 0x0 0x1000>; 279a4e36ae0SZhangfei Gao #clock-cells = <1>; 280a4e36ae0SZhangfei Gao }; 281a4e36ae0SZhangfei Gao 282a4e36ae0SZhangfei Gao sctrl: sctrl@fff0a000 { 283a4e36ae0SZhangfei Gao compatible = "hisilicon,hi3660-sctrl", "syscon"; 284a4e36ae0SZhangfei Gao reg = <0x0 0xfff0a000 0x0 0x1000>; 285a4e36ae0SZhangfei Gao #clock-cells = <1>; 286a4e36ae0SZhangfei Gao }; 287a4e36ae0SZhangfei Gao 288a4e36ae0SZhangfei Gao iomcu: iomcu@ffd7e000 { 289a4e36ae0SZhangfei Gao compatible = "hisilicon,hi3660-iomcu", "syscon"; 290a4e36ae0SZhangfei Gao reg = <0x0 0xffd7e000 0x0 0x1000>; 291a4e36ae0SZhangfei Gao #clock-cells = <1>; 292a4e36ae0SZhangfei Gao 293a4e36ae0SZhangfei Gao }; 294a4e36ae0SZhangfei Gao 295a4e36ae0SZhangfei Gao iomcu_rst: reset { 296a4e36ae0SZhangfei Gao compatible = "hisilicon,hi3660-reset"; 297a4e36ae0SZhangfei Gao hisi,rst-syscon = <&iomcu>; 298a4e36ae0SZhangfei Gao #reset-cells = <2>; 299a4e36ae0SZhangfei Gao }; 300a4e36ae0SZhangfei Gao 30175196330SLeo Yan dual_timer0: timer@fff14000 { 30275196330SLeo Yan compatible = "arm,sp804", "arm,primecell"; 30375196330SLeo Yan reg = <0x0 0xfff14000 0x0 0x1000>; 30475196330SLeo Yan interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>, 30575196330SLeo Yan <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>; 30675196330SLeo Yan clocks = <&crg_ctrl HI3660_OSC32K>, 30775196330SLeo Yan <&crg_ctrl HI3660_OSC32K>, 30875196330SLeo Yan <&crg_ctrl HI3660_OSC32K>; 30975196330SLeo Yan clock-names = "timer1", "timer2", "apb_pclk"; 31075196330SLeo Yan }; 31175196330SLeo Yan 3125f8a3b77SZhangfei Gao i2c0: i2c@ffd71000 { 3135f8a3b77SZhangfei Gao compatible = "snps,designware-i2c"; 3145f8a3b77SZhangfei Gao reg = <0x0 0xffd71000 0x0 0x1000>; 3155f8a3b77SZhangfei Gao interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>; 3165f8a3b77SZhangfei Gao #address-cells = <1>; 3175f8a3b77SZhangfei Gao #size-cells = <0>; 3185f8a3b77SZhangfei Gao clock-frequency = <400000>; 3195f8a3b77SZhangfei Gao clocks = <&crg_ctrl HI3660_CLK_GATE_I2C0>; 3205f8a3b77SZhangfei Gao resets = <&iomcu_rst 0x20 3>; 3215f8a3b77SZhangfei Gao pinctrl-names = "default"; 3225f8a3b77SZhangfei Gao pinctrl-0 = <&i2c0_pmx_func &i2c0_cfg_func>; 3235f8a3b77SZhangfei Gao status = "disabled"; 3245f8a3b77SZhangfei Gao }; 3255f8a3b77SZhangfei Gao 3265f8a3b77SZhangfei Gao i2c1: i2c@ffd72000 { 3275f8a3b77SZhangfei Gao compatible = "snps,designware-i2c"; 3285f8a3b77SZhangfei Gao reg = <0x0 0xffd72000 0x0 0x1000>; 3295f8a3b77SZhangfei Gao interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>; 3305f8a3b77SZhangfei Gao #address-cells = <1>; 3315f8a3b77SZhangfei Gao #size-cells = <0>; 3325f8a3b77SZhangfei Gao clock-frequency = <400000>; 3335f8a3b77SZhangfei Gao clocks = <&crg_ctrl HI3660_CLK_GATE_I2C1>; 3345f8a3b77SZhangfei Gao resets = <&iomcu_rst 0x20 4>; 3355f8a3b77SZhangfei Gao pinctrl-names = "default"; 3365f8a3b77SZhangfei Gao pinctrl-0 = <&i2c1_pmx_func &i2c1_cfg_func>; 3375f8a3b77SZhangfei Gao status = "disabled"; 3385f8a3b77SZhangfei Gao }; 3395f8a3b77SZhangfei Gao 3405f8a3b77SZhangfei Gao i2c3: i2c@fdf0c000 { 3415f8a3b77SZhangfei Gao compatible = "snps,designware-i2c"; 3425f8a3b77SZhangfei Gao reg = <0x0 0xfdf0c000 0x0 0x1000>; 3435f8a3b77SZhangfei Gao interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>; 3445f8a3b77SZhangfei Gao #address-cells = <1>; 3455f8a3b77SZhangfei Gao #size-cells = <0>; 3465f8a3b77SZhangfei Gao clock-frequency = <400000>; 3475f8a3b77SZhangfei Gao clocks = <&crg_ctrl HI3660_CLK_GATE_I2C3>; 3485f8a3b77SZhangfei Gao resets = <&crg_rst 0x78 7>; 3495f8a3b77SZhangfei Gao pinctrl-names = "default"; 3505f8a3b77SZhangfei Gao pinctrl-0 = <&i2c3_pmx_func &i2c3_cfg_func>; 3515f8a3b77SZhangfei Gao status = "disabled"; 3525f8a3b77SZhangfei Gao }; 3535f8a3b77SZhangfei Gao 3545f8a3b77SZhangfei Gao i2c7: i2c@fdf0b000 { 3555f8a3b77SZhangfei Gao compatible = "snps,designware-i2c"; 3565f8a3b77SZhangfei Gao reg = <0x0 0xfdf0b000 0x0 0x1000>; 3575f8a3b77SZhangfei Gao interrupts = <GIC_SPI 314 IRQ_TYPE_LEVEL_HIGH>; 3585f8a3b77SZhangfei Gao #address-cells = <1>; 3595f8a3b77SZhangfei Gao #size-cells = <0>; 3605f8a3b77SZhangfei Gao clock-frequency = <400000>; 3615f8a3b77SZhangfei Gao clocks = <&crg_ctrl HI3660_CLK_GATE_I2C7>; 3625f8a3b77SZhangfei Gao resets = <&crg_rst 0x60 14>; 3635f8a3b77SZhangfei Gao pinctrl-names = "default"; 3645f8a3b77SZhangfei Gao pinctrl-0 = <&i2c7_pmx_func &i2c7_cfg_func>; 3655f8a3b77SZhangfei Gao status = "disabled"; 3665f8a3b77SZhangfei Gao }; 3675f8a3b77SZhangfei Gao 368254b07b2SChen Feng uart0: serial@fdf02000 { 369254b07b2SChen Feng compatible = "arm,pl011", "arm,primecell"; 370254b07b2SChen Feng reg = <0x0 0xfdf02000 0x0 0x1000>; 371254b07b2SChen Feng interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>; 372254b07b2SChen Feng clocks = <&crg_ctrl HI3660_CLK_MUX_UART0>, 373254b07b2SChen Feng <&crg_ctrl HI3660_PCLK>; 374254b07b2SChen Feng clock-names = "uartclk", "apb_pclk"; 375254b07b2SChen Feng pinctrl-names = "default"; 376254b07b2SChen Feng pinctrl-0 = <&uart0_pmx_func &uart0_cfg_func>; 377254b07b2SChen Feng status = "disabled"; 378254b07b2SChen Feng }; 379254b07b2SChen Feng 380254b07b2SChen Feng uart1: serial@fdf00000 { 381254b07b2SChen Feng compatible = "arm,pl011", "arm,primecell"; 382254b07b2SChen Feng reg = <0x0 0xfdf00000 0x0 0x1000>; 383254b07b2SChen Feng interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>; 384254b07b2SChen Feng clocks = <&crg_ctrl HI3660_CLK_GATE_UART1>, 385254b07b2SChen Feng <&crg_ctrl HI3660_CLK_GATE_UART1>; 386254b07b2SChen Feng clock-names = "uartclk", "apb_pclk"; 387254b07b2SChen Feng pinctrl-names = "default"; 388254b07b2SChen Feng pinctrl-0 = <&uart1_pmx_func &uart1_cfg_func>; 389254b07b2SChen Feng status = "disabled"; 390254b07b2SChen Feng }; 391254b07b2SChen Feng 392254b07b2SChen Feng uart2: serial@fdf03000 { 393254b07b2SChen Feng compatible = "arm,pl011", "arm,primecell"; 394254b07b2SChen Feng reg = <0x0 0xfdf03000 0x0 0x1000>; 395254b07b2SChen Feng interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>; 396254b07b2SChen Feng clocks = <&crg_ctrl HI3660_CLK_GATE_UART2>, 397254b07b2SChen Feng <&crg_ctrl HI3660_PCLK>; 398254b07b2SChen Feng clock-names = "uartclk", "apb_pclk"; 399254b07b2SChen Feng pinctrl-names = "default"; 400254b07b2SChen Feng pinctrl-0 = <&uart2_pmx_func &uart2_cfg_func>; 401254b07b2SChen Feng status = "disabled"; 402254b07b2SChen Feng }; 403254b07b2SChen Feng 404254b07b2SChen Feng uart3: serial@ffd74000 { 405254b07b2SChen Feng compatible = "arm,pl011", "arm,primecell"; 406254b07b2SChen Feng reg = <0x0 0xffd74000 0x0 0x1000>; 407254b07b2SChen Feng interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>; 408254b07b2SChen Feng clocks = <&crg_ctrl HI3660_FACTOR_UART3>, 409254b07b2SChen Feng <&crg_ctrl HI3660_PCLK>; 410254b07b2SChen Feng clock-names = "uartclk", "apb_pclk"; 411254b07b2SChen Feng pinctrl-names = "default"; 412254b07b2SChen Feng pinctrl-0 = <&uart3_pmx_func &uart3_cfg_func>; 413254b07b2SChen Feng status = "disabled"; 414254b07b2SChen Feng }; 415254b07b2SChen Feng 416254b07b2SChen Feng uart4: serial@fdf01000 { 417254b07b2SChen Feng compatible = "arm,pl011", "arm,primecell"; 418254b07b2SChen Feng reg = <0x0 0xfdf01000 0x0 0x1000>; 419254b07b2SChen Feng interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>; 420254b07b2SChen Feng clocks = <&crg_ctrl HI3660_CLK_GATE_UART4>, 421254b07b2SChen Feng <&crg_ctrl HI3660_CLK_GATE_UART4>; 422254b07b2SChen Feng clock-names = "uartclk", "apb_pclk"; 423254b07b2SChen Feng pinctrl-names = "default"; 424254b07b2SChen Feng pinctrl-0 = <&uart4_pmx_func &uart4_cfg_func>; 425254b07b2SChen Feng status = "disabled"; 426254b07b2SChen Feng }; 427254b07b2SChen Feng 428a4e36ae0SZhangfei Gao uart5: serial@fdf05000 { 42935ca8168SChen Feng compatible = "arm,pl011", "arm,primecell"; 43035ca8168SChen Feng reg = <0x0 0xfdf05000 0x0 0x1000>; 43135ca8168SChen Feng interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>; 432a4e36ae0SZhangfei Gao clocks = <&crg_ctrl HI3660_CLK_GATE_UART5>, 433a4e36ae0SZhangfei Gao <&crg_ctrl HI3660_CLK_GATE_UART5>; 43435ca8168SChen Feng clock-names = "uartclk", "apb_pclk"; 435254b07b2SChen Feng pinctrl-names = "default"; 436254b07b2SChen Feng pinctrl-0 = <&uart5_pmx_func &uart5_cfg_func>; 437254b07b2SChen Feng status = "disabled"; 438254b07b2SChen Feng }; 439254b07b2SChen Feng 440254b07b2SChen Feng uart6: serial@fff32000 { 441254b07b2SChen Feng compatible = "arm,pl011", "arm,primecell"; 442254b07b2SChen Feng reg = <0x0 0xfff32000 0x0 0x1000>; 443254b07b2SChen Feng interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>; 444254b07b2SChen Feng clocks = <&crg_ctrl HI3660_CLK_UART6>, 445254b07b2SChen Feng <&crg_ctrl HI3660_PCLK>; 446254b07b2SChen Feng clock-names = "uartclk", "apb_pclk"; 447254b07b2SChen Feng pinctrl-names = "default"; 448254b07b2SChen Feng pinctrl-0 = <&uart6_pmx_func &uart6_cfg_func>; 44935ca8168SChen Feng status = "disabled"; 45035ca8168SChen Feng }; 451d94eab86SWang Xiaoyin 4520b507e91SWang Ruyi dma0: dma@fdf30000 { 4530b507e91SWang Ruyi compatible = "hisilicon,k3-dma-1.0"; 4540b507e91SWang Ruyi reg = <0x0 0xfdf30000 0x0 0x1000>; 4550b507e91SWang Ruyi #dma-cells = <1>; 4560b507e91SWang Ruyi dma-channels = <16>; 4570b507e91SWang Ruyi dma-requests = <32>; 4580b507e91SWang Ruyi dma-min-chan = <1>; 4590b507e91SWang Ruyi interrupts = <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>; 4600b507e91SWang Ruyi clocks = <&crg_ctrl HI3660_CLK_GATE_DMAC>; 4610b507e91SWang Ruyi dma-no-cci; 4620b507e91SWang Ruyi dma-type = "hi3660_dma"; 4630b507e91SWang Ruyi }; 4640b507e91SWang Ruyi 4650a0698f6SChen Feng rtc0: rtc@fff04000 { 4660a0698f6SChen Feng compatible = "arm,pl031", "arm,primecell"; 4670a0698f6SChen Feng reg = <0x0 0Xfff04000 0x0 0x1000>; 4680a0698f6SChen Feng interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>; 4690a0698f6SChen Feng clocks = <&crg_ctrl HI3660_PCLK>; 4700a0698f6SChen Feng clock-names = "apb_pclk"; 4710a0698f6SChen Feng }; 4720a0698f6SChen Feng 473d94eab86SWang Xiaoyin gpio0: gpio@e8a0b000 { 474d94eab86SWang Xiaoyin compatible = "arm,pl061", "arm,primecell"; 475d94eab86SWang Xiaoyin reg = <0 0xe8a0b000 0 0x1000>; 476d94eab86SWang Xiaoyin interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>; 477d94eab86SWang Xiaoyin gpio-controller; 478d94eab86SWang Xiaoyin #gpio-cells = <2>; 479d94eab86SWang Xiaoyin gpio-ranges = <&pmx0 1 0 7>; 480d94eab86SWang Xiaoyin interrupt-controller; 481d94eab86SWang Xiaoyin #interrupt-cells = <2>; 482d94eab86SWang Xiaoyin clocks = <&crg_ctrl HI3660_PCLK_GPIO0>; 483d94eab86SWang Xiaoyin clock-names = "apb_pclk"; 484d94eab86SWang Xiaoyin }; 485d94eab86SWang Xiaoyin 486d94eab86SWang Xiaoyin gpio1: gpio@e8a0c000 { 487d94eab86SWang Xiaoyin compatible = "arm,pl061", "arm,primecell"; 488d94eab86SWang Xiaoyin reg = <0 0xe8a0c000 0 0x1000>; 489d94eab86SWang Xiaoyin interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>; 490d94eab86SWang Xiaoyin gpio-controller; 491d94eab86SWang Xiaoyin #gpio-cells = <2>; 492d94eab86SWang Xiaoyin gpio-ranges = <&pmx0 1 7 7>; 493d94eab86SWang Xiaoyin interrupt-controller; 494d94eab86SWang Xiaoyin #interrupt-cells = <2>; 495d94eab86SWang Xiaoyin clocks = <&crg_ctrl HI3660_PCLK_GPIO1>; 496d94eab86SWang Xiaoyin clock-names = "apb_pclk"; 497d94eab86SWang Xiaoyin }; 498d94eab86SWang Xiaoyin 499d94eab86SWang Xiaoyin gpio2: gpio@e8a0d000 { 500d94eab86SWang Xiaoyin compatible = "arm,pl061", "arm,primecell"; 501d94eab86SWang Xiaoyin reg = <0 0xe8a0d000 0 0x1000>; 502d94eab86SWang Xiaoyin interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>; 503d94eab86SWang Xiaoyin gpio-controller; 504d94eab86SWang Xiaoyin #gpio-cells = <2>; 505d94eab86SWang Xiaoyin gpio-ranges = <&pmx0 0 14 8>; 506d94eab86SWang Xiaoyin interrupt-controller; 507d94eab86SWang Xiaoyin #interrupt-cells = <2>; 508d94eab86SWang Xiaoyin clocks = <&crg_ctrl HI3660_PCLK_GPIO2>; 509d94eab86SWang Xiaoyin clock-names = "apb_pclk"; 510d94eab86SWang Xiaoyin }; 511d94eab86SWang Xiaoyin 512d94eab86SWang Xiaoyin gpio3: gpio@e8a0e000 { 513d94eab86SWang Xiaoyin compatible = "arm,pl061", "arm,primecell"; 514d94eab86SWang Xiaoyin reg = <0 0xe8a0e000 0 0x1000>; 515d94eab86SWang Xiaoyin interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>; 516d94eab86SWang Xiaoyin gpio-controller; 517d94eab86SWang Xiaoyin #gpio-cells = <2>; 518d94eab86SWang Xiaoyin gpio-ranges = <&pmx0 0 22 8>; 519d94eab86SWang Xiaoyin interrupt-controller; 520d94eab86SWang Xiaoyin #interrupt-cells = <2>; 521d94eab86SWang Xiaoyin clocks = <&crg_ctrl HI3660_PCLK_GPIO3>; 522d94eab86SWang Xiaoyin clock-names = "apb_pclk"; 523d94eab86SWang Xiaoyin }; 524d94eab86SWang Xiaoyin 525d94eab86SWang Xiaoyin gpio4: gpio@e8a0f000 { 526d94eab86SWang Xiaoyin compatible = "arm,pl061", "arm,primecell"; 527d94eab86SWang Xiaoyin reg = <0 0xe8a0f000 0 0x1000>; 528d94eab86SWang Xiaoyin interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>; 529d94eab86SWang Xiaoyin gpio-controller; 530d94eab86SWang Xiaoyin #gpio-cells = <2>; 531d94eab86SWang Xiaoyin gpio-ranges = <&pmx0 0 30 8>; 532d94eab86SWang Xiaoyin interrupt-controller; 533d94eab86SWang Xiaoyin #interrupt-cells = <2>; 534d94eab86SWang Xiaoyin clocks = <&crg_ctrl HI3660_PCLK_GPIO4>; 535d94eab86SWang Xiaoyin clock-names = "apb_pclk"; 536d94eab86SWang Xiaoyin }; 537d94eab86SWang Xiaoyin 538d94eab86SWang Xiaoyin gpio5: gpio@e8a10000 { 539d94eab86SWang Xiaoyin compatible = "arm,pl061", "arm,primecell"; 540d94eab86SWang Xiaoyin reg = <0 0xe8a10000 0 0x1000>; 541d94eab86SWang Xiaoyin interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>; 542d94eab86SWang Xiaoyin gpio-controller; 543d94eab86SWang Xiaoyin #gpio-cells = <2>; 544d94eab86SWang Xiaoyin gpio-ranges = <&pmx0 0 38 8>; 545d94eab86SWang Xiaoyin interrupt-controller; 546d94eab86SWang Xiaoyin #interrupt-cells = <2>; 547d94eab86SWang Xiaoyin clocks = <&crg_ctrl HI3660_PCLK_GPIO5>; 548d94eab86SWang Xiaoyin clock-names = "apb_pclk"; 549d94eab86SWang Xiaoyin }; 550d94eab86SWang Xiaoyin 551d94eab86SWang Xiaoyin gpio6: gpio@e8a11000 { 552d94eab86SWang Xiaoyin compatible = "arm,pl061", "arm,primecell"; 553d94eab86SWang Xiaoyin reg = <0 0xe8a11000 0 0x1000>; 554d94eab86SWang Xiaoyin interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>; 555d94eab86SWang Xiaoyin gpio-controller; 556d94eab86SWang Xiaoyin #gpio-cells = <2>; 557d94eab86SWang Xiaoyin gpio-ranges = <&pmx0 0 46 8>; 558d94eab86SWang Xiaoyin interrupt-controller; 559d94eab86SWang Xiaoyin #interrupt-cells = <2>; 560d94eab86SWang Xiaoyin clocks = <&crg_ctrl HI3660_PCLK_GPIO6>; 561d94eab86SWang Xiaoyin clock-names = "apb_pclk"; 562d94eab86SWang Xiaoyin }; 563d94eab86SWang Xiaoyin 564d94eab86SWang Xiaoyin gpio7: gpio@e8a12000 { 565d94eab86SWang Xiaoyin compatible = "arm,pl061", "arm,primecell"; 566d94eab86SWang Xiaoyin reg = <0 0xe8a12000 0 0x1000>; 567d94eab86SWang Xiaoyin interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>; 568d94eab86SWang Xiaoyin gpio-controller; 569d94eab86SWang Xiaoyin #gpio-cells = <2>; 570d94eab86SWang Xiaoyin gpio-ranges = <&pmx0 0 54 8>; 571d94eab86SWang Xiaoyin interrupt-controller; 572d94eab86SWang Xiaoyin #interrupt-cells = <2>; 573d94eab86SWang Xiaoyin clocks = <&crg_ctrl HI3660_PCLK_GPIO7>; 574d94eab86SWang Xiaoyin clock-names = "apb_pclk"; 575d94eab86SWang Xiaoyin }; 576d94eab86SWang Xiaoyin 577d94eab86SWang Xiaoyin gpio8: gpio@e8a13000 { 578d94eab86SWang Xiaoyin compatible = "arm,pl061", "arm,primecell"; 579d94eab86SWang Xiaoyin reg = <0 0xe8a13000 0 0x1000>; 580d94eab86SWang Xiaoyin interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>; 581d94eab86SWang Xiaoyin gpio-controller; 582d94eab86SWang Xiaoyin #gpio-cells = <2>; 583d94eab86SWang Xiaoyin gpio-ranges = <&pmx0 0 62 8>; 584d94eab86SWang Xiaoyin interrupt-controller; 585d94eab86SWang Xiaoyin #interrupt-cells = <2>; 586d94eab86SWang Xiaoyin clocks = <&crg_ctrl HI3660_PCLK_GPIO8>; 587d94eab86SWang Xiaoyin clock-names = "apb_pclk"; 588d94eab86SWang Xiaoyin }; 589d94eab86SWang Xiaoyin 590d94eab86SWang Xiaoyin gpio9: gpio@e8a14000 { 591d94eab86SWang Xiaoyin compatible = "arm,pl061", "arm,primecell"; 592d94eab86SWang Xiaoyin reg = <0 0xe8a14000 0 0x1000>; 593d94eab86SWang Xiaoyin interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>; 594d94eab86SWang Xiaoyin gpio-controller; 595d94eab86SWang Xiaoyin #gpio-cells = <2>; 596d94eab86SWang Xiaoyin gpio-ranges = <&pmx0 0 70 8>; 597d94eab86SWang Xiaoyin interrupt-controller; 598d94eab86SWang Xiaoyin #interrupt-cells = <2>; 599d94eab86SWang Xiaoyin clocks = <&crg_ctrl HI3660_PCLK_GPIO9>; 600d94eab86SWang Xiaoyin clock-names = "apb_pclk"; 601d94eab86SWang Xiaoyin }; 602d94eab86SWang Xiaoyin 603d94eab86SWang Xiaoyin gpio10: gpio@e8a15000 { 604d94eab86SWang Xiaoyin compatible = "arm,pl061", "arm,primecell"; 605d94eab86SWang Xiaoyin reg = <0 0xe8a15000 0 0x1000>; 606d94eab86SWang Xiaoyin interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>; 607d94eab86SWang Xiaoyin gpio-controller; 608d94eab86SWang Xiaoyin #gpio-cells = <2>; 609d94eab86SWang Xiaoyin gpio-ranges = <&pmx0 0 78 8>; 610d94eab86SWang Xiaoyin interrupt-controller; 611d94eab86SWang Xiaoyin #interrupt-cells = <2>; 612d94eab86SWang Xiaoyin clocks = <&crg_ctrl HI3660_PCLK_GPIO10>; 613d94eab86SWang Xiaoyin clock-names = "apb_pclk"; 614d94eab86SWang Xiaoyin }; 615d94eab86SWang Xiaoyin 616d94eab86SWang Xiaoyin gpio11: gpio@e8a16000 { 617d94eab86SWang Xiaoyin compatible = "arm,pl061", "arm,primecell"; 618d94eab86SWang Xiaoyin reg = <0 0xe8a16000 0 0x1000>; 619d94eab86SWang Xiaoyin interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>; 620d94eab86SWang Xiaoyin gpio-controller; 621d94eab86SWang Xiaoyin #gpio-cells = <2>; 622d94eab86SWang Xiaoyin gpio-ranges = <&pmx0 0 86 8>; 623d94eab86SWang Xiaoyin interrupt-controller; 624d94eab86SWang Xiaoyin #interrupt-cells = <2>; 625d94eab86SWang Xiaoyin clocks = <&crg_ctrl HI3660_PCLK_GPIO11>; 626d94eab86SWang Xiaoyin clock-names = "apb_pclk"; 627d94eab86SWang Xiaoyin }; 628d94eab86SWang Xiaoyin 629d94eab86SWang Xiaoyin gpio12: gpio@e8a17000 { 630d94eab86SWang Xiaoyin compatible = "arm,pl061", "arm,primecell"; 631d94eab86SWang Xiaoyin reg = <0 0xe8a17000 0 0x1000>; 632d94eab86SWang Xiaoyin interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; 633d94eab86SWang Xiaoyin gpio-controller; 634d94eab86SWang Xiaoyin #gpio-cells = <2>; 635d94eab86SWang Xiaoyin gpio-ranges = <&pmx0 0 94 3 &pmx0 7 101 1>; 636d94eab86SWang Xiaoyin interrupt-controller; 637d94eab86SWang Xiaoyin #interrupt-cells = <2>; 638d94eab86SWang Xiaoyin clocks = <&crg_ctrl HI3660_PCLK_GPIO12>; 639d94eab86SWang Xiaoyin clock-names = "apb_pclk"; 640d94eab86SWang Xiaoyin }; 641d94eab86SWang Xiaoyin 642d94eab86SWang Xiaoyin gpio13: gpio@e8a18000 { 643d94eab86SWang Xiaoyin compatible = "arm,pl061", "arm,primecell"; 644d94eab86SWang Xiaoyin reg = <0 0xe8a18000 0 0x1000>; 645d94eab86SWang Xiaoyin interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>; 646d94eab86SWang Xiaoyin gpio-controller; 647d94eab86SWang Xiaoyin #gpio-cells = <2>; 648d94eab86SWang Xiaoyin gpio-ranges = <&pmx0 0 102 8>; 649d94eab86SWang Xiaoyin interrupt-controller; 650d94eab86SWang Xiaoyin #interrupt-cells = <2>; 651d94eab86SWang Xiaoyin clocks = <&crg_ctrl HI3660_PCLK_GPIO13>; 652d94eab86SWang Xiaoyin clock-names = "apb_pclk"; 653d94eab86SWang Xiaoyin }; 654d94eab86SWang Xiaoyin 655d94eab86SWang Xiaoyin gpio14: gpio@e8a19000 { 656d94eab86SWang Xiaoyin compatible = "arm,pl061", "arm,primecell"; 657d94eab86SWang Xiaoyin reg = <0 0xe8a19000 0 0x1000>; 658d94eab86SWang Xiaoyin interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>; 659d94eab86SWang Xiaoyin gpio-controller; 660d94eab86SWang Xiaoyin #gpio-cells = <2>; 661d94eab86SWang Xiaoyin gpio-ranges = <&pmx0 0 110 8>; 662d94eab86SWang Xiaoyin interrupt-controller; 663d94eab86SWang Xiaoyin #interrupt-cells = <2>; 664d94eab86SWang Xiaoyin clocks = <&crg_ctrl HI3660_PCLK_GPIO14>; 665d94eab86SWang Xiaoyin clock-names = "apb_pclk"; 666d94eab86SWang Xiaoyin }; 667d94eab86SWang Xiaoyin 668d94eab86SWang Xiaoyin gpio15: gpio@e8a1a000 { 669d94eab86SWang Xiaoyin compatible = "arm,pl061", "arm,primecell"; 670d94eab86SWang Xiaoyin reg = <0 0xe8a1a000 0 0x1000>; 671d94eab86SWang Xiaoyin interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; 672d94eab86SWang Xiaoyin gpio-controller; 673d94eab86SWang Xiaoyin #gpio-cells = <2>; 674d94eab86SWang Xiaoyin gpio-ranges = <&pmx0 0 118 6>; 675d94eab86SWang Xiaoyin interrupt-controller; 676d94eab86SWang Xiaoyin #interrupt-cells = <2>; 677d94eab86SWang Xiaoyin clocks = <&crg_ctrl HI3660_PCLK_GPIO15>; 678d94eab86SWang Xiaoyin clock-names = "apb_pclk"; 679d94eab86SWang Xiaoyin }; 680d94eab86SWang Xiaoyin 681d94eab86SWang Xiaoyin gpio16: gpio@e8a1b000 { 682d94eab86SWang Xiaoyin compatible = "arm,pl061", "arm,primecell"; 683d94eab86SWang Xiaoyin reg = <0 0xe8a1b000 0 0x1000>; 684d94eab86SWang Xiaoyin interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>; 685d94eab86SWang Xiaoyin gpio-controller; 686d94eab86SWang Xiaoyin #gpio-cells = <2>; 687d94eab86SWang Xiaoyin interrupt-controller; 688d94eab86SWang Xiaoyin #interrupt-cells = <2>; 689d94eab86SWang Xiaoyin clocks = <&crg_ctrl HI3660_PCLK_GPIO16>; 690d94eab86SWang Xiaoyin clock-names = "apb_pclk"; 691d94eab86SWang Xiaoyin }; 692d94eab86SWang Xiaoyin 693d94eab86SWang Xiaoyin gpio17: gpio@e8a1c000 { 694d94eab86SWang Xiaoyin compatible = "arm,pl061", "arm,primecell"; 695d94eab86SWang Xiaoyin reg = <0 0xe8a1c000 0 0x1000>; 696d94eab86SWang Xiaoyin interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>; 697d94eab86SWang Xiaoyin gpio-controller; 698d94eab86SWang Xiaoyin #gpio-cells = <2>; 699d94eab86SWang Xiaoyin interrupt-controller; 700d94eab86SWang Xiaoyin #interrupt-cells = <2>; 701d94eab86SWang Xiaoyin clocks = <&crg_ctrl HI3660_PCLK_GPIO17>; 702d94eab86SWang Xiaoyin clock-names = "apb_pclk"; 703d94eab86SWang Xiaoyin }; 704d94eab86SWang Xiaoyin 705d94eab86SWang Xiaoyin gpio18: gpio@ff3b4000 { 706d94eab86SWang Xiaoyin compatible = "arm,pl061", "arm,primecell"; 707d94eab86SWang Xiaoyin reg = <0 0xff3b4000 0 0x1000>; 708d94eab86SWang Xiaoyin interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>; 709d94eab86SWang Xiaoyin gpio-controller; 710d94eab86SWang Xiaoyin #gpio-cells = <2>; 711d94eab86SWang Xiaoyin gpio-ranges = <&pmx2 0 0 8>; 712d94eab86SWang Xiaoyin interrupt-controller; 713d94eab86SWang Xiaoyin #interrupt-cells = <2>; 714d94eab86SWang Xiaoyin clocks = <&crg_ctrl HI3660_PCLK_GPIO18>; 715d94eab86SWang Xiaoyin clock-names = "apb_pclk"; 716d94eab86SWang Xiaoyin }; 717d94eab86SWang Xiaoyin 718d94eab86SWang Xiaoyin gpio19: gpio@ff3b5000 { 719d94eab86SWang Xiaoyin compatible = "arm,pl061", "arm,primecell"; 720d94eab86SWang Xiaoyin reg = <0 0xff3b5000 0 0x1000>; 721d94eab86SWang Xiaoyin interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>; 722d94eab86SWang Xiaoyin gpio-controller; 723d94eab86SWang Xiaoyin #gpio-cells = <2>; 724d94eab86SWang Xiaoyin gpio-ranges = <&pmx2 0 8 4>; 725d94eab86SWang Xiaoyin interrupt-controller; 726d94eab86SWang Xiaoyin #interrupt-cells = <2>; 727d94eab86SWang Xiaoyin clocks = <&crg_ctrl HI3660_PCLK_GPIO19>; 728d94eab86SWang Xiaoyin clock-names = "apb_pclk"; 729d94eab86SWang Xiaoyin }; 730d94eab86SWang Xiaoyin 731d94eab86SWang Xiaoyin gpio20: gpio@e8a1f000 { 732d94eab86SWang Xiaoyin compatible = "arm,pl061", "arm,primecell"; 733d94eab86SWang Xiaoyin reg = <0 0xe8a1f000 0 0x1000>; 734d94eab86SWang Xiaoyin interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>; 735d94eab86SWang Xiaoyin gpio-controller; 736d94eab86SWang Xiaoyin #gpio-cells = <2>; 737d94eab86SWang Xiaoyin gpio-ranges = <&pmx1 0 0 6>; 738d94eab86SWang Xiaoyin interrupt-controller; 739d94eab86SWang Xiaoyin #interrupt-cells = <2>; 740d94eab86SWang Xiaoyin clocks = <&crg_ctrl HI3660_PCLK_GPIO20>; 741d94eab86SWang Xiaoyin clock-names = "apb_pclk"; 742d94eab86SWang Xiaoyin }; 743d94eab86SWang Xiaoyin 744d94eab86SWang Xiaoyin gpio21: gpio@e8a20000 { 745d94eab86SWang Xiaoyin compatible = "arm,pl061", "arm,primecell"; 746d94eab86SWang Xiaoyin reg = <0 0xe8a20000 0 0x1000>; 747d94eab86SWang Xiaoyin interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>; 748d94eab86SWang Xiaoyin gpio-controller; 749d94eab86SWang Xiaoyin #gpio-cells = <2>; 750d94eab86SWang Xiaoyin interrupt-controller; 751d94eab86SWang Xiaoyin #interrupt-cells = <2>; 752d94eab86SWang Xiaoyin gpio-ranges = <&pmx3 0 0 6>; 753d94eab86SWang Xiaoyin clocks = <&crg_ctrl HI3660_PCLK_GPIO21>; 754d94eab86SWang Xiaoyin clock-names = "apb_pclk"; 755d94eab86SWang Xiaoyin }; 756d94eab86SWang Xiaoyin 757d94eab86SWang Xiaoyin gpio22: gpio@fff0b000 { 758d94eab86SWang Xiaoyin compatible = "arm,pl061", "arm,primecell"; 759d94eab86SWang Xiaoyin reg = <0 0xfff0b000 0 0x1000>; 760d94eab86SWang Xiaoyin interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>; 761d94eab86SWang Xiaoyin gpio-controller; 762d94eab86SWang Xiaoyin #gpio-cells = <2>; 763d94eab86SWang Xiaoyin /* GPIO176 */ 764d94eab86SWang Xiaoyin gpio-ranges = <&pmx4 2 0 6>; 765d94eab86SWang Xiaoyin interrupt-controller; 766d94eab86SWang Xiaoyin #interrupt-cells = <2>; 767d94eab86SWang Xiaoyin clocks = <&sctrl HI3660_PCLK_AO_GPIO0>; 768d94eab86SWang Xiaoyin clock-names = "apb_pclk"; 769d94eab86SWang Xiaoyin }; 770d94eab86SWang Xiaoyin 771d94eab86SWang Xiaoyin gpio23: gpio@fff0c000 { 772d94eab86SWang Xiaoyin compatible = "arm,pl061", "arm,primecell"; 773d94eab86SWang Xiaoyin reg = <0 0xfff0c000 0 0x1000>; 774d94eab86SWang Xiaoyin interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>; 775d94eab86SWang Xiaoyin gpio-controller; 776d94eab86SWang Xiaoyin #gpio-cells = <2>; 777d94eab86SWang Xiaoyin /* GPIO184 */ 778d94eab86SWang Xiaoyin gpio-ranges = <&pmx4 0 6 7>; 779d94eab86SWang Xiaoyin interrupt-controller; 780d94eab86SWang Xiaoyin #interrupt-cells = <2>; 781d94eab86SWang Xiaoyin clocks = <&sctrl HI3660_PCLK_AO_GPIO1>; 782d94eab86SWang Xiaoyin clock-names = "apb_pclk"; 783d94eab86SWang Xiaoyin }; 784d94eab86SWang Xiaoyin 785d94eab86SWang Xiaoyin gpio24: gpio@fff0d000 { 786d94eab86SWang Xiaoyin compatible = "arm,pl061", "arm,primecell"; 787d94eab86SWang Xiaoyin reg = <0 0xfff0d000 0 0x1000>; 788d94eab86SWang Xiaoyin interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>; 789d94eab86SWang Xiaoyin gpio-controller; 790d94eab86SWang Xiaoyin #gpio-cells = <2>; 791d94eab86SWang Xiaoyin /* GPIO192 */ 792d94eab86SWang Xiaoyin gpio-ranges = <&pmx4 0 13 8>; 793d94eab86SWang Xiaoyin interrupt-controller; 794d94eab86SWang Xiaoyin #interrupt-cells = <2>; 795d94eab86SWang Xiaoyin clocks = <&sctrl HI3660_PCLK_AO_GPIO2>; 796d94eab86SWang Xiaoyin clock-names = "apb_pclk"; 797d94eab86SWang Xiaoyin }; 798d94eab86SWang Xiaoyin 799d94eab86SWang Xiaoyin gpio25: gpio@fff0e000 { 800d94eab86SWang Xiaoyin compatible = "arm,pl061", "arm,primecell"; 801d94eab86SWang Xiaoyin reg = <0 0xfff0e000 0 0x1000>; 802d94eab86SWang Xiaoyin interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>; 803d94eab86SWang Xiaoyin gpio-controller; 804d94eab86SWang Xiaoyin #gpio-cells = <2>; 805d94eab86SWang Xiaoyin /* GPIO200 */ 806d94eab86SWang Xiaoyin gpio-ranges = <&pmx4 0 21 4 &pmx4 5 25 3>; 807d94eab86SWang Xiaoyin interrupt-controller; 808d94eab86SWang Xiaoyin #interrupt-cells = <2>; 809d94eab86SWang Xiaoyin clocks = <&sctrl HI3660_PCLK_AO_GPIO3>; 810d94eab86SWang Xiaoyin clock-names = "apb_pclk"; 811d94eab86SWang Xiaoyin }; 812d94eab86SWang Xiaoyin 813d94eab86SWang Xiaoyin gpio26: gpio@fff0f000 { 814d94eab86SWang Xiaoyin compatible = "arm,pl061", "arm,primecell"; 815d94eab86SWang Xiaoyin reg = <0 0xfff0f000 0 0x1000>; 816d94eab86SWang Xiaoyin interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>; 817d94eab86SWang Xiaoyin gpio-controller; 818d94eab86SWang Xiaoyin #gpio-cells = <2>; 819d94eab86SWang Xiaoyin /* GPIO208 */ 820d94eab86SWang Xiaoyin gpio-ranges = <&pmx4 0 28 8>; 821d94eab86SWang Xiaoyin interrupt-controller; 822d94eab86SWang Xiaoyin #interrupt-cells = <2>; 823d94eab86SWang Xiaoyin clocks = <&sctrl HI3660_PCLK_AO_GPIO4>; 824d94eab86SWang Xiaoyin clock-names = "apb_pclk"; 825d94eab86SWang Xiaoyin }; 826d94eab86SWang Xiaoyin 827d94eab86SWang Xiaoyin gpio27: gpio@fff10000 { 828d94eab86SWang Xiaoyin compatible = "arm,pl061", "arm,primecell"; 829d94eab86SWang Xiaoyin reg = <0 0xfff10000 0 0x1000>; 830d94eab86SWang Xiaoyin interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>; 831d94eab86SWang Xiaoyin gpio-controller; 832d94eab86SWang Xiaoyin #gpio-cells = <2>; 833d94eab86SWang Xiaoyin /* GPIO216 */ 834d94eab86SWang Xiaoyin gpio-ranges = <&pmx4 0 36 6>; 835d94eab86SWang Xiaoyin interrupt-controller; 836d94eab86SWang Xiaoyin #interrupt-cells = <2>; 837d94eab86SWang Xiaoyin clocks = <&sctrl HI3660_PCLK_AO_GPIO5>; 838d94eab86SWang Xiaoyin clock-names = "apb_pclk"; 839d94eab86SWang Xiaoyin }; 840d94eab86SWang Xiaoyin 841d94eab86SWang Xiaoyin gpio28: gpio@fff1d000 { 842d94eab86SWang Xiaoyin compatible = "arm,pl061", "arm,primecell"; 843d94eab86SWang Xiaoyin reg = <0 0xfff1d000 0 0x1000>; 844d94eab86SWang Xiaoyin interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>; 845d94eab86SWang Xiaoyin gpio-controller; 846d94eab86SWang Xiaoyin #gpio-cells = <2>; 847d94eab86SWang Xiaoyin interrupt-controller; 848d94eab86SWang Xiaoyin #interrupt-cells = <2>; 849d94eab86SWang Xiaoyin clocks = <&sctrl HI3660_PCLK_AO_GPIO6>; 850d94eab86SWang Xiaoyin clock-names = "apb_pclk"; 851d94eab86SWang Xiaoyin }; 85238810497SWang Xiaoyin 85338810497SWang Xiaoyin spi2: spi@ffd68000 { 85438810497SWang Xiaoyin compatible = "arm,pl022", "arm,primecell"; 85538810497SWang Xiaoyin reg = <0x0 0xffd68000 0x0 0x1000>; 85638810497SWang Xiaoyin #address-cells = <1>; 85738810497SWang Xiaoyin #size-cells = <0>; 85838810497SWang Xiaoyin interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>; 85938810497SWang Xiaoyin clocks = <&crg_ctrl HI3660_CLK_GATE_SPI2>; 86038810497SWang Xiaoyin clock-names = "apb_pclk"; 86138810497SWang Xiaoyin pinctrl-names = "default"; 86238810497SWang Xiaoyin pinctrl-0 = <&spi2_pmx_func>; 86338810497SWang Xiaoyin num-cs = <1>; 86438810497SWang Xiaoyin cs-gpios = <&gpio27 2 0>; 86538810497SWang Xiaoyin status = "disabled"; 86638810497SWang Xiaoyin }; 86738810497SWang Xiaoyin 86838810497SWang Xiaoyin spi3: spi@ff3b3000 { 86938810497SWang Xiaoyin compatible = "arm,pl022", "arm,primecell"; 87038810497SWang Xiaoyin reg = <0x0 0xff3b3000 0x0 0x1000>; 87138810497SWang Xiaoyin #address-cells = <1>; 87238810497SWang Xiaoyin #size-cells = <0>; 87338810497SWang Xiaoyin interrupts = <GIC_SPI 312 IRQ_TYPE_LEVEL_HIGH>; 87438810497SWang Xiaoyin clocks = <&crg_ctrl HI3660_CLK_GATE_SPI3>; 87538810497SWang Xiaoyin clock-names = "apb_pclk"; 87638810497SWang Xiaoyin pinctrl-names = "default"; 87738810497SWang Xiaoyin pinctrl-0 = <&spi3_pmx_func>; 87838810497SWang Xiaoyin num-cs = <1>; 87938810497SWang Xiaoyin cs-gpios = <&gpio18 5 0>; 88038810497SWang Xiaoyin status = "disabled"; 88138810497SWang Xiaoyin }; 88296909778SXiaowei Song 88396909778SXiaowei Song pcie@f4000000 { 88496909778SXiaowei Song compatible = "hisilicon,kirin960-pcie"; 88596909778SXiaowei Song reg = <0x0 0xf4000000 0x0 0x1000>, 88696909778SXiaowei Song <0x0 0xff3fe000 0x0 0x1000>, 88796909778SXiaowei Song <0x0 0xf3f20000 0x0 0x40000>, 88896909778SXiaowei Song <0x0 0xf5000000 0x0 0x2000>; 88996909778SXiaowei Song reg-names = "dbi", "apb", "phy", "config"; 89096909778SXiaowei Song bus-range = <0x0 0x1>; 89196909778SXiaowei Song #address-cells = <3>; 89296909778SXiaowei Song #size-cells = <2>; 89396909778SXiaowei Song device_type = "pci"; 89496909778SXiaowei Song ranges = <0x02000000 0x0 0x00000000 89596909778SXiaowei Song 0x0 0xf6000000 89696909778SXiaowei Song 0x0 0x02000000>; 89796909778SXiaowei Song num-lanes = <1>; 89896909778SXiaowei Song #interrupt-cells = <1>; 89996909778SXiaowei Song interrupt-map-mask = <0xf800 0 0 7>; 90096909778SXiaowei Song interrupt-map = <0x0 0 0 1 90196909778SXiaowei Song &gic GIC_SPI 282 IRQ_TYPE_LEVEL_HIGH>, 90296909778SXiaowei Song <0x0 0 0 2 90396909778SXiaowei Song &gic GIC_SPI 283 IRQ_TYPE_LEVEL_HIGH>, 90496909778SXiaowei Song <0x0 0 0 3 90596909778SXiaowei Song &gic GIC_SPI 284 IRQ_TYPE_LEVEL_HIGH>, 90696909778SXiaowei Song <0x0 0 0 4 90796909778SXiaowei Song &gic GIC_SPI 285 IRQ_TYPE_LEVEL_HIGH>; 90896909778SXiaowei Song clocks = <&crg_ctrl HI3660_PCIEPHY_REF>, 90996909778SXiaowei Song <&crg_ctrl HI3660_CLK_GATE_PCIEAUX>, 91096909778SXiaowei Song <&crg_ctrl HI3660_PCLK_GATE_PCIE_PHY>, 91196909778SXiaowei Song <&crg_ctrl HI3660_PCLK_GATE_PCIE_SYS>, 91296909778SXiaowei Song <&crg_ctrl HI3660_ACLK_GATE_PCIE>; 91396909778SXiaowei Song clock-names = "pcie_phy_ref", "pcie_aux", 91496909778SXiaowei Song "pcie_apb_phy", "pcie_apb_sys", 91596909778SXiaowei Song "pcie_aclk"; 91696909778SXiaowei Song reset-gpios = <&gpio11 1 0 >; 91796909778SXiaowei Song }; 918804d7d7aSLi Wei 919804d7d7aSLi Wei /* SD */ 920804d7d7aSLi Wei dwmmc1: dwmmc1@ff37f000 { 921804d7d7aSLi Wei #address-cells = <1>; 922804d7d7aSLi Wei #size-cells = <0>; 923804d7d7aSLi Wei cd-inverted; 924804d7d7aSLi Wei compatible = "hisilicon,hi3660-dw-mshc"; 925804d7d7aSLi Wei num-slots = <1>; 926804d7d7aSLi Wei bus-width = <0x4>; 927804d7d7aSLi Wei disable-wp; 928804d7d7aSLi Wei cap-sd-highspeed; 929804d7d7aSLi Wei supports-highspeed; 930804d7d7aSLi Wei card-detect-delay = <200>; 931804d7d7aSLi Wei reg = <0x0 0xff37f000 0x0 0x1000>; 932804d7d7aSLi Wei interrupts = <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>; 933804d7d7aSLi Wei clocks = <&crg_ctrl HI3660_CLK_GATE_SD>, 934804d7d7aSLi Wei <&crg_ctrl HI3660_HCLK_GATE_SD>; 935804d7d7aSLi Wei clock-names = "ciu", "biu"; 936804d7d7aSLi Wei clock-frequency = <3200000>; 937804d7d7aSLi Wei resets = <&crg_rst 0x94 18>; 938996707d7SGuodong Xu reset-names = "reset"; 939804d7d7aSLi Wei cd-gpios = <&gpio25 3 0>; 940804d7d7aSLi Wei hisilicon,peripheral-syscon = <&sctrl>; 941804d7d7aSLi Wei pinctrl-names = "default"; 942804d7d7aSLi Wei pinctrl-0 = <&sd_pmx_func 943804d7d7aSLi Wei &sd_clk_cfg_func 944804d7d7aSLi Wei &sd_cfg_func>; 945804d7d7aSLi Wei sd-uhs-sdr12; 946804d7d7aSLi Wei sd-uhs-sdr25; 947804d7d7aSLi Wei sd-uhs-sdr50; 948804d7d7aSLi Wei sd-uhs-sdr104; 949804d7d7aSLi Wei status = "disabled"; 950804d7d7aSLi Wei 951804d7d7aSLi Wei slot@0 { 952804d7d7aSLi Wei reg = <0x0>; 953804d7d7aSLi Wei bus-width = <4>; 954804d7d7aSLi Wei disable-wp; 955804d7d7aSLi Wei }; 956804d7d7aSLi Wei }; 957804d7d7aSLi Wei 958804d7d7aSLi Wei /* SDIO */ 959804d7d7aSLi Wei dwmmc2: dwmmc2@ff3ff000 { 960804d7d7aSLi Wei compatible = "hisilicon,hi3660-dw-mshc"; 961804d7d7aSLi Wei reg = <0x0 0xff3ff000 0x0 0x1000>; 962804d7d7aSLi Wei interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>; 963804d7d7aSLi Wei num-slots = <1>; 964804d7d7aSLi Wei clocks = <&crg_ctrl HI3660_CLK_GATE_SDIO0>, 965804d7d7aSLi Wei <&crg_ctrl HI3660_HCLK_GATE_SDIO0>; 966804d7d7aSLi Wei clock-names = "ciu", "biu"; 967804d7d7aSLi Wei resets = <&crg_rst 0x94 20>; 968996707d7SGuodong Xu reset-names = "reset"; 969804d7d7aSLi Wei card-detect-delay = <200>; 970804d7d7aSLi Wei supports-highspeed; 971804d7d7aSLi Wei keep-power-in-suspend; 972804d7d7aSLi Wei pinctrl-names = "default"; 973804d7d7aSLi Wei pinctrl-0 = <&sdio_pmx_func 974804d7d7aSLi Wei &sdio_clk_cfg_func 975804d7d7aSLi Wei &sdio_cfg_func>; 976804d7d7aSLi Wei status = "disabled"; 977804d7d7aSLi Wei }; 978487f00d4SLeo Yan 979487f00d4SLeo Yan watchdog0: watchdog@e8a06000 { 980487f00d4SLeo Yan compatible = "arm,sp805-wdt", "arm,primecell"; 981487f00d4SLeo Yan reg = <0x0 0xe8a06000 0x0 0x1000>; 982487f00d4SLeo Yan interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>; 983487f00d4SLeo Yan clocks = <&crg_ctrl HI3660_OSC32K>; 984487f00d4SLeo Yan clock-names = "apb_pclk"; 985487f00d4SLeo Yan }; 986487f00d4SLeo Yan 987487f00d4SLeo Yan watchdog1: watchdog@e8a07000 { 988487f00d4SLeo Yan compatible = "arm,sp805-wdt", "arm,primecell"; 989487f00d4SLeo Yan reg = <0x0 0xe8a07000 0x0 0x1000>; 990487f00d4SLeo Yan interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>; 991487f00d4SLeo Yan clocks = <&crg_ctrl HI3660_OSC32K>; 992487f00d4SLeo Yan clock-names = "apb_pclk"; 993487f00d4SLeo Yan }; 994a7ab4cb4SKevin Wangtao 995a7ab4cb4SKevin Wangtao tsensor: tsensor@fff30000 { 996a7ab4cb4SKevin Wangtao compatible = "hisilicon,hi3660-tsensor"; 997a7ab4cb4SKevin Wangtao reg = <0x0 0xfff30000 0x0 0x1000>; 998a7ab4cb4SKevin Wangtao interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>; 999a7ab4cb4SKevin Wangtao #thermal-sensor-cells = <1>; 1000a7ab4cb4SKevin Wangtao }; 100135ca8168SChen Feng }; 100235ca8168SChen Feng}; 1003