1c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0 2c66ec88fSEmmanuel Vadot/* 3c66ec88fSEmmanuel Vadot * dts file for Hisilicon Hi3670 SoC 4c66ec88fSEmmanuel Vadot * 55956d97fSEmmanuel Vadot * Copyright (C) 2016, HiSilicon Ltd. 6c66ec88fSEmmanuel Vadot * Copyright (C) 2018, Linaro Ltd. 7c66ec88fSEmmanuel Vadot */ 8c66ec88fSEmmanuel Vadot 9c66ec88fSEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h> 10c66ec88fSEmmanuel Vadot#include <dt-bindings/clock/hi3670-clock.h> 11c66ec88fSEmmanuel Vadot 12c66ec88fSEmmanuel Vadot/ { 13c66ec88fSEmmanuel Vadot compatible = "hisilicon,hi3670"; 14c66ec88fSEmmanuel Vadot interrupt-parent = <&gic>; 15c66ec88fSEmmanuel Vadot #address-cells = <2>; 16c66ec88fSEmmanuel Vadot #size-cells = <2>; 17c66ec88fSEmmanuel Vadot 18c66ec88fSEmmanuel Vadot psci { 19c66ec88fSEmmanuel Vadot compatible = "arm,psci-0.2"; 20c66ec88fSEmmanuel Vadot method = "smc"; 21c66ec88fSEmmanuel Vadot }; 22c66ec88fSEmmanuel Vadot 23c66ec88fSEmmanuel Vadot cpus { 24c66ec88fSEmmanuel Vadot #address-cells = <2>; 25c66ec88fSEmmanuel Vadot #size-cells = <0>; 26c66ec88fSEmmanuel Vadot 27c66ec88fSEmmanuel Vadot cpu-map { 28c66ec88fSEmmanuel Vadot cluster0 { 29c66ec88fSEmmanuel Vadot core0 { 30c66ec88fSEmmanuel Vadot cpu = <&cpu0>; 31c66ec88fSEmmanuel Vadot }; 32c66ec88fSEmmanuel Vadot core1 { 33c66ec88fSEmmanuel Vadot cpu = <&cpu1>; 34c66ec88fSEmmanuel Vadot }; 35c66ec88fSEmmanuel Vadot core2 { 36c66ec88fSEmmanuel Vadot cpu = <&cpu2>; 37c66ec88fSEmmanuel Vadot }; 38c66ec88fSEmmanuel Vadot core3 { 39c66ec88fSEmmanuel Vadot cpu = <&cpu3>; 40c66ec88fSEmmanuel Vadot }; 41c66ec88fSEmmanuel Vadot }; 42c66ec88fSEmmanuel Vadot cluster1 { 43c66ec88fSEmmanuel Vadot core0 { 44c66ec88fSEmmanuel Vadot cpu = <&cpu4>; 45c66ec88fSEmmanuel Vadot }; 46c66ec88fSEmmanuel Vadot core1 { 47c66ec88fSEmmanuel Vadot cpu = <&cpu5>; 48c66ec88fSEmmanuel Vadot }; 49c66ec88fSEmmanuel Vadot core2 { 50c66ec88fSEmmanuel Vadot cpu = <&cpu6>; 51c66ec88fSEmmanuel Vadot }; 52c66ec88fSEmmanuel Vadot core3 { 53c66ec88fSEmmanuel Vadot cpu = <&cpu7>; 54c66ec88fSEmmanuel Vadot }; 55c66ec88fSEmmanuel Vadot }; 56c66ec88fSEmmanuel Vadot }; 57c66ec88fSEmmanuel Vadot 58c66ec88fSEmmanuel Vadot cpu0: cpu@0 { 59c66ec88fSEmmanuel Vadot compatible = "arm,cortex-a53"; 60c66ec88fSEmmanuel Vadot device_type = "cpu"; 61c66ec88fSEmmanuel Vadot reg = <0x0 0x0>; 62c66ec88fSEmmanuel Vadot enable-method = "psci"; 63c66ec88fSEmmanuel Vadot }; 64c66ec88fSEmmanuel Vadot 65c66ec88fSEmmanuel Vadot cpu1: cpu@1 { 66c66ec88fSEmmanuel Vadot compatible = "arm,cortex-a53"; 67c66ec88fSEmmanuel Vadot device_type = "cpu"; 68c66ec88fSEmmanuel Vadot reg = <0x0 0x1>; 69c66ec88fSEmmanuel Vadot enable-method = "psci"; 70c66ec88fSEmmanuel Vadot }; 71c66ec88fSEmmanuel Vadot 72c66ec88fSEmmanuel Vadot cpu2: cpu@2 { 73c66ec88fSEmmanuel Vadot compatible = "arm,cortex-a53"; 74c66ec88fSEmmanuel Vadot device_type = "cpu"; 75c66ec88fSEmmanuel Vadot reg = <0x0 0x2>; 76c66ec88fSEmmanuel Vadot enable-method = "psci"; 77c66ec88fSEmmanuel Vadot }; 78c66ec88fSEmmanuel Vadot 79c66ec88fSEmmanuel Vadot cpu3: cpu@3 { 80c66ec88fSEmmanuel Vadot compatible = "arm,cortex-a53"; 81c66ec88fSEmmanuel Vadot device_type = "cpu"; 82c66ec88fSEmmanuel Vadot reg = <0x0 0x3>; 83c66ec88fSEmmanuel Vadot enable-method = "psci"; 84c66ec88fSEmmanuel Vadot }; 85c66ec88fSEmmanuel Vadot 86c66ec88fSEmmanuel Vadot cpu4: cpu@100 { 87c66ec88fSEmmanuel Vadot compatible = "arm,cortex-a73"; 88c66ec88fSEmmanuel Vadot device_type = "cpu"; 89c66ec88fSEmmanuel Vadot reg = <0x0 0x100>; 90c66ec88fSEmmanuel Vadot enable-method = "psci"; 91c66ec88fSEmmanuel Vadot }; 92c66ec88fSEmmanuel Vadot 93c66ec88fSEmmanuel Vadot cpu5: cpu@101 { 94c66ec88fSEmmanuel Vadot compatible = "arm,cortex-a73"; 95c66ec88fSEmmanuel Vadot device_type = "cpu"; 96c66ec88fSEmmanuel Vadot reg = <0x0 0x101>; 97c66ec88fSEmmanuel Vadot enable-method = "psci"; 98c66ec88fSEmmanuel Vadot }; 99c66ec88fSEmmanuel Vadot 100c66ec88fSEmmanuel Vadot cpu6: cpu@102 { 101c66ec88fSEmmanuel Vadot compatible = "arm,cortex-a73"; 102c66ec88fSEmmanuel Vadot device_type = "cpu"; 103c66ec88fSEmmanuel Vadot reg = <0x0 0x102>; 104c66ec88fSEmmanuel Vadot enable-method = "psci"; 105c66ec88fSEmmanuel Vadot }; 106c66ec88fSEmmanuel Vadot 107c66ec88fSEmmanuel Vadot cpu7: cpu@103 { 108c66ec88fSEmmanuel Vadot compatible = "arm,cortex-a73"; 109c66ec88fSEmmanuel Vadot device_type = "cpu"; 110c66ec88fSEmmanuel Vadot reg = <0x0 0x103>; 111c66ec88fSEmmanuel Vadot enable-method = "psci"; 112c66ec88fSEmmanuel Vadot }; 113c66ec88fSEmmanuel Vadot }; 114c66ec88fSEmmanuel Vadot 115c66ec88fSEmmanuel Vadot gic: interrupt-controller@e82b0000 { 116c66ec88fSEmmanuel Vadot compatible = "arm,gic-400"; 117c66ec88fSEmmanuel Vadot reg = <0x0 0xe82b1000 0 0x1000>, /* GICD */ 118c66ec88fSEmmanuel Vadot <0x0 0xe82b2000 0 0x2000>, /* GICC */ 119c66ec88fSEmmanuel Vadot <0x0 0xe82b4000 0 0x2000>, /* GICH */ 120c66ec88fSEmmanuel Vadot <0x0 0xe82b6000 0 0x2000>; /* GICV */ 121c66ec88fSEmmanuel Vadot #interrupt-cells = <3>; 122c66ec88fSEmmanuel Vadot #address-cells = <0>; 123c66ec88fSEmmanuel Vadot interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(8) | 124c66ec88fSEmmanuel Vadot IRQ_TYPE_LEVEL_HIGH)>; 125c66ec88fSEmmanuel Vadot interrupt-controller; 126c66ec88fSEmmanuel Vadot }; 127c66ec88fSEmmanuel Vadot 128c66ec88fSEmmanuel Vadot timer { 129c66ec88fSEmmanuel Vadot compatible = "arm,armv8-timer"; 130c66ec88fSEmmanuel Vadot interrupt-parent = <&gic>; 131c66ec88fSEmmanuel Vadot interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(8) | 132c66ec88fSEmmanuel Vadot IRQ_TYPE_LEVEL_LOW)>, 133c66ec88fSEmmanuel Vadot <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(8) | 134c66ec88fSEmmanuel Vadot IRQ_TYPE_LEVEL_LOW)>, 135c66ec88fSEmmanuel Vadot <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(8) | 136c66ec88fSEmmanuel Vadot IRQ_TYPE_LEVEL_LOW)>, 137c66ec88fSEmmanuel Vadot <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(8) | 138c66ec88fSEmmanuel Vadot IRQ_TYPE_LEVEL_LOW)>; 139c66ec88fSEmmanuel Vadot clock-frequency = <1920000>; 140c66ec88fSEmmanuel Vadot }; 141c66ec88fSEmmanuel Vadot 142c66ec88fSEmmanuel Vadot soc { 143c66ec88fSEmmanuel Vadot compatible = "simple-bus"; 144c66ec88fSEmmanuel Vadot #address-cells = <2>; 145c66ec88fSEmmanuel Vadot #size-cells = <2>; 146c66ec88fSEmmanuel Vadot ranges; 147c66ec88fSEmmanuel Vadot 148c66ec88fSEmmanuel Vadot crg_ctrl: crg_ctrl@fff35000 { 149c66ec88fSEmmanuel Vadot compatible = "hisilicon,hi3670-crgctrl", "syscon"; 150c66ec88fSEmmanuel Vadot reg = <0x0 0xfff35000 0x0 0x1000>; 151c66ec88fSEmmanuel Vadot #clock-cells = <1>; 152c66ec88fSEmmanuel Vadot }; 153c66ec88fSEmmanuel Vadot 154c66ec88fSEmmanuel Vadot crg_rst: crg_rst_controller { 155c66ec88fSEmmanuel Vadot compatible = "hisilicon,hi3670-reset", 156c66ec88fSEmmanuel Vadot "hisilicon,hi3660-reset"; 157c66ec88fSEmmanuel Vadot #reset-cells = <2>; 158c66ec88fSEmmanuel Vadot hisi,rst-syscon = <&crg_ctrl>; 159c66ec88fSEmmanuel Vadot }; 160c66ec88fSEmmanuel Vadot 161c66ec88fSEmmanuel Vadot pctrl: pctrl@e8a09000 { 162c66ec88fSEmmanuel Vadot compatible = "hisilicon,hi3670-pctrl", "syscon"; 163c66ec88fSEmmanuel Vadot reg = <0x0 0xe8a09000 0x0 0x1000>; 164c66ec88fSEmmanuel Vadot #clock-cells = <1>; 165c66ec88fSEmmanuel Vadot }; 166c66ec88fSEmmanuel Vadot 167c66ec88fSEmmanuel Vadot pmuctrl: crg_ctrl@fff34000 { 168c66ec88fSEmmanuel Vadot compatible = "hisilicon,hi3670-pmuctrl", "syscon"; 169c66ec88fSEmmanuel Vadot reg = <0x0 0xfff34000 0x0 0x1000>; 170c66ec88fSEmmanuel Vadot #clock-cells = <1>; 171c66ec88fSEmmanuel Vadot }; 172c66ec88fSEmmanuel Vadot 173c66ec88fSEmmanuel Vadot sctrl: sctrl@fff0a000 { 174c66ec88fSEmmanuel Vadot compatible = "hisilicon,hi3670-sctrl", "syscon"; 175c66ec88fSEmmanuel Vadot reg = <0x0 0xfff0a000 0x0 0x1000>; 176c66ec88fSEmmanuel Vadot #clock-cells = <1>; 177c66ec88fSEmmanuel Vadot }; 178c66ec88fSEmmanuel Vadot 179c66ec88fSEmmanuel Vadot iomcu: iomcu@ffd7e000 { 180c66ec88fSEmmanuel Vadot compatible = "hisilicon,hi3670-iomcu", "syscon"; 181c66ec88fSEmmanuel Vadot reg = <0x0 0xffd7e000 0x0 0x1000>; 182c66ec88fSEmmanuel Vadot #clock-cells = <1>; 183c66ec88fSEmmanuel Vadot }; 184c66ec88fSEmmanuel Vadot 185c66ec88fSEmmanuel Vadot media1_crg: media1_crgctrl@e87ff000 { 186c66ec88fSEmmanuel Vadot compatible = "hisilicon,hi3670-media1-crg", "syscon"; 187c66ec88fSEmmanuel Vadot reg = <0x0 0xe87ff000 0x0 0x1000>; 188c66ec88fSEmmanuel Vadot #clock-cells = <1>; 189c66ec88fSEmmanuel Vadot }; 190c66ec88fSEmmanuel Vadot 191c66ec88fSEmmanuel Vadot media2_crg: media2_crgctrl@e8900000 { 192c66ec88fSEmmanuel Vadot compatible = "hisilicon,hi3670-media2-crg","syscon"; 193c66ec88fSEmmanuel Vadot reg = <0x0 0xe8900000 0x0 0x1000>; 194c66ec88fSEmmanuel Vadot #clock-cells = <1>; 195c66ec88fSEmmanuel Vadot }; 196c66ec88fSEmmanuel Vadot 1975def4c47SEmmanuel Vadot iomcu_rst: reset { 1985def4c47SEmmanuel Vadot compatible = "hisilicon,hi3660-reset"; 1995def4c47SEmmanuel Vadot hisi,rst-syscon = <&iomcu>; 2005def4c47SEmmanuel Vadot #reset-cells = <2>; 2015def4c47SEmmanuel Vadot }; 2025def4c47SEmmanuel Vadot 203c66ec88fSEmmanuel Vadot uart0: serial@fdf02000 { 204c66ec88fSEmmanuel Vadot compatible = "arm,pl011", "arm,primecell"; 205c66ec88fSEmmanuel Vadot reg = <0x0 0xfdf02000 0x0 0x1000>; 206c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>; 207c66ec88fSEmmanuel Vadot clocks = <&crg_ctrl HI3670_CLK_GATE_UART0>, 208c66ec88fSEmmanuel Vadot <&crg_ctrl HI3670_PCLK>; 209c66ec88fSEmmanuel Vadot clock-names = "uartclk", "apb_pclk"; 210c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 211c66ec88fSEmmanuel Vadot pinctrl-0 = <&uart0_pmx_func &uart0_cfg_func>; 212c66ec88fSEmmanuel Vadot status = "disabled"; 213c66ec88fSEmmanuel Vadot }; 214c66ec88fSEmmanuel Vadot 215c66ec88fSEmmanuel Vadot uart1: serial@fdf00000 { 216c66ec88fSEmmanuel Vadot compatible = "arm,pl011", "arm,primecell"; 217c66ec88fSEmmanuel Vadot reg = <0x0 0xfdf00000 0x0 0x1000>; 218c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>; 219c66ec88fSEmmanuel Vadot clocks = <&crg_ctrl HI3670_CLK_GATE_UART1>, 220c66ec88fSEmmanuel Vadot <&crg_ctrl HI3670_PCLK>; 221c66ec88fSEmmanuel Vadot clock-names = "uartclk", "apb_pclk"; 222c66ec88fSEmmanuel Vadot status = "disabled"; 223c66ec88fSEmmanuel Vadot }; 224c66ec88fSEmmanuel Vadot 225c66ec88fSEmmanuel Vadot uart2: serial@fdf03000 { 226c66ec88fSEmmanuel Vadot compatible = "arm,pl011", "arm,primecell"; 227c66ec88fSEmmanuel Vadot reg = <0x0 0xfdf03000 0x0 0x1000>; 228c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>; 229c66ec88fSEmmanuel Vadot clocks = <&crg_ctrl HI3670_CLK_GATE_UART2>, 230c66ec88fSEmmanuel Vadot <&crg_ctrl HI3670_PCLK>; 231c66ec88fSEmmanuel Vadot clock-names = "uartclk", "apb_pclk"; 232c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 233c66ec88fSEmmanuel Vadot pinctrl-0 = <&uart2_pmx_func &uart2_cfg_func>; 234c66ec88fSEmmanuel Vadot status = "disabled"; 235c66ec88fSEmmanuel Vadot }; 236c66ec88fSEmmanuel Vadot 237c66ec88fSEmmanuel Vadot uart3: serial@ffd74000 { 238c66ec88fSEmmanuel Vadot compatible = "arm,pl011", "arm,primecell"; 239c66ec88fSEmmanuel Vadot reg = <0x0 0xffd74000 0x0 0x1000>; 240c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>; 241c66ec88fSEmmanuel Vadot clocks = <&crg_ctrl HI3670_CLK_GATE_UART3>, 242c66ec88fSEmmanuel Vadot <&crg_ctrl HI3670_PCLK>; 243c66ec88fSEmmanuel Vadot clock-names = "uartclk", "apb_pclk"; 244c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 245c66ec88fSEmmanuel Vadot pinctrl-0 = <&uart3_pmx_func &uart3_cfg_func>; 246c66ec88fSEmmanuel Vadot status = "disabled"; 247c66ec88fSEmmanuel Vadot }; 248c66ec88fSEmmanuel Vadot 249c66ec88fSEmmanuel Vadot uart4: serial@fdf01000 { 250c66ec88fSEmmanuel Vadot compatible = "arm,pl011", "arm,primecell"; 251c66ec88fSEmmanuel Vadot reg = <0x0 0xfdf01000 0x0 0x1000>; 252c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>; 253c66ec88fSEmmanuel Vadot clocks = <&crg_ctrl HI3670_CLK_GATE_UART4>, 254c66ec88fSEmmanuel Vadot <&crg_ctrl HI3670_PCLK>; 255c66ec88fSEmmanuel Vadot clock-names = "uartclk", "apb_pclk"; 256c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 257c66ec88fSEmmanuel Vadot pinctrl-0 = <&uart4_pmx_func &uart4_cfg_func>; 258c66ec88fSEmmanuel Vadot status = "disabled"; 259c66ec88fSEmmanuel Vadot }; 260c66ec88fSEmmanuel Vadot 261c66ec88fSEmmanuel Vadot uart5: serial@fdf05000 { 262c66ec88fSEmmanuel Vadot compatible = "arm,pl011", "arm,primecell"; 263c66ec88fSEmmanuel Vadot reg = <0x0 0xfdf05000 0x0 0x1000>; 264c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>; 265c66ec88fSEmmanuel Vadot clocks = <&crg_ctrl HI3670_CLK_GATE_UART5>, 266c66ec88fSEmmanuel Vadot <&crg_ctrl HI3670_PCLK>; 267c66ec88fSEmmanuel Vadot clock-names = "uartclk", "apb_pclk"; 268c66ec88fSEmmanuel Vadot status = "disabled"; 269c66ec88fSEmmanuel Vadot }; 270c66ec88fSEmmanuel Vadot 271c66ec88fSEmmanuel Vadot uart6: serial@fff32000 { 272c66ec88fSEmmanuel Vadot compatible = "arm,pl011", "arm,primecell"; 273c66ec88fSEmmanuel Vadot reg = <0x0 0xfff32000 0x0 0x1000>; 274c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>; 275c66ec88fSEmmanuel Vadot clocks = <&crg_ctrl HI3670_CLK_UART6>, 276c66ec88fSEmmanuel Vadot <&crg_ctrl HI3670_PCLK>; 277c66ec88fSEmmanuel Vadot clock-names = "uartclk", "apb_pclk"; 278c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 279c66ec88fSEmmanuel Vadot pinctrl-0 = <&uart6_pmx_func &uart6_cfg_func>; 280c66ec88fSEmmanuel Vadot status = "disabled"; 281c66ec88fSEmmanuel Vadot }; 282c66ec88fSEmmanuel Vadot 283c66ec88fSEmmanuel Vadot gpio0: gpio@e8a0b000 { 284c66ec88fSEmmanuel Vadot compatible = "arm,pl061", "arm,primecell"; 285c66ec88fSEmmanuel Vadot reg = <0x0 0xe8a0b000 0x0 0x1000>; 286c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>; 287c66ec88fSEmmanuel Vadot gpio-controller; 288c66ec88fSEmmanuel Vadot #gpio-cells = <2>; 289c66ec88fSEmmanuel Vadot gpio-ranges = <&pmx0 1 0 1 &pmx0 3 1 5>; 290c66ec88fSEmmanuel Vadot interrupt-controller; 291c66ec88fSEmmanuel Vadot #interrupt-cells = <2>; 292c66ec88fSEmmanuel Vadot clocks = <&crg_ctrl HI3670_PCLK_GPIO0>; 293c66ec88fSEmmanuel Vadot clock-names = "apb_pclk"; 294c66ec88fSEmmanuel Vadot }; 295c66ec88fSEmmanuel Vadot 296c66ec88fSEmmanuel Vadot gpio1: gpio@e8a0c000 { 297c66ec88fSEmmanuel Vadot compatible = "arm,pl061", "arm,primecell"; 298c66ec88fSEmmanuel Vadot reg = <0x0 0xe8a0c000 0x0 0x1000>; 299c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>; 300c66ec88fSEmmanuel Vadot gpio-controller; 301c66ec88fSEmmanuel Vadot #gpio-cells = <2>; 302c66ec88fSEmmanuel Vadot interrupt-controller; 303c66ec88fSEmmanuel Vadot #interrupt-cells = <2>; 304c66ec88fSEmmanuel Vadot clocks = <&crg_ctrl HI3670_PCLK_GPIO1>; 305c66ec88fSEmmanuel Vadot clock-names = "apb_pclk"; 306c66ec88fSEmmanuel Vadot }; 307c66ec88fSEmmanuel Vadot 308c66ec88fSEmmanuel Vadot gpio2: gpio@e8a0d000 { 309c66ec88fSEmmanuel Vadot compatible = "arm,pl061", "arm,primecell"; 310c66ec88fSEmmanuel Vadot reg = <0x0 0xe8a0d000 0x0 0x1000>; 311c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>; 312c66ec88fSEmmanuel Vadot gpio-controller; 313c66ec88fSEmmanuel Vadot #gpio-cells = <2>; 314c66ec88fSEmmanuel Vadot gpio-ranges = <&pmx0 1 6 7>; 315c66ec88fSEmmanuel Vadot interrupt-controller; 316c66ec88fSEmmanuel Vadot #interrupt-cells = <2>; 317c66ec88fSEmmanuel Vadot clocks = <&crg_ctrl HI3670_PCLK_GPIO2>; 318c66ec88fSEmmanuel Vadot clock-names = "apb_pclk"; 319c66ec88fSEmmanuel Vadot }; 320c66ec88fSEmmanuel Vadot 321c66ec88fSEmmanuel Vadot gpio3: gpio@e8a0e000 { 322c66ec88fSEmmanuel Vadot compatible = "arm,pl061", "arm,primecell"; 323c66ec88fSEmmanuel Vadot reg = <0x0 0xe8a0e000 0x0 0x1000>; 324c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>; 325c66ec88fSEmmanuel Vadot gpio-controller; 326c66ec88fSEmmanuel Vadot #gpio-cells = <2>; 327c66ec88fSEmmanuel Vadot gpio-ranges = <&pmx0 0 13 4 &pmx0 7 17 1>; 328c66ec88fSEmmanuel Vadot interrupt-controller; 329c66ec88fSEmmanuel Vadot #interrupt-cells = <2>; 330c66ec88fSEmmanuel Vadot clocks = <&crg_ctrl HI3670_PCLK_GPIO3>; 331c66ec88fSEmmanuel Vadot clock-names = "apb_pclk"; 332c66ec88fSEmmanuel Vadot }; 333c66ec88fSEmmanuel Vadot 334c66ec88fSEmmanuel Vadot gpio4: gpio@e8a0f000 { 335c66ec88fSEmmanuel Vadot compatible = "arm,pl061", "arm,primecell"; 336c66ec88fSEmmanuel Vadot reg = <0x0 0xe8a0f000 0x0 0x1000>; 337c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>; 338c66ec88fSEmmanuel Vadot gpio-controller; 339c66ec88fSEmmanuel Vadot #gpio-cells = <2>; 340c66ec88fSEmmanuel Vadot gpio-ranges = <&pmx0 0 18 8>; 341c66ec88fSEmmanuel Vadot interrupt-controller; 342c66ec88fSEmmanuel Vadot #interrupt-cells = <2>; 343c66ec88fSEmmanuel Vadot clocks = <&crg_ctrl HI3670_PCLK_GPIO4>; 344c66ec88fSEmmanuel Vadot clock-names = "apb_pclk"; 345c66ec88fSEmmanuel Vadot }; 346c66ec88fSEmmanuel Vadot 347c66ec88fSEmmanuel Vadot gpio5: gpio@e8a10000 { 348c66ec88fSEmmanuel Vadot compatible = "arm,pl061", "arm,primecell"; 349c66ec88fSEmmanuel Vadot reg = <0x0 0xe8a10000 0x0 0x1000>; 350c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>; 351c66ec88fSEmmanuel Vadot gpio-controller; 352c66ec88fSEmmanuel Vadot #gpio-cells = <2>; 353c66ec88fSEmmanuel Vadot gpio-ranges = <&pmx0 0 26 8>; 354c66ec88fSEmmanuel Vadot interrupt-controller; 355c66ec88fSEmmanuel Vadot #interrupt-cells = <2>; 356c66ec88fSEmmanuel Vadot clocks = <&crg_ctrl HI3670_PCLK_GPIO5>; 357c66ec88fSEmmanuel Vadot clock-names = "apb_pclk"; 358c66ec88fSEmmanuel Vadot }; 359c66ec88fSEmmanuel Vadot 360c66ec88fSEmmanuel Vadot gpio6: gpio@e8a11000 { 361c66ec88fSEmmanuel Vadot compatible = "arm,pl061", "arm,primecell"; 362c66ec88fSEmmanuel Vadot reg = <0x0 0xe8a11000 0x0 0x1000>; 363c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>; 364c66ec88fSEmmanuel Vadot gpio-controller; 365c66ec88fSEmmanuel Vadot #gpio-cells = <2>; 366c66ec88fSEmmanuel Vadot gpio-ranges = <&pmx0 1 34 7>; 367c66ec88fSEmmanuel Vadot interrupt-controller; 368c66ec88fSEmmanuel Vadot #interrupt-cells = <2>; 369c66ec88fSEmmanuel Vadot clocks = <&crg_ctrl HI3670_PCLK_GPIO6>; 370c66ec88fSEmmanuel Vadot clock-names = "apb_pclk"; 371c66ec88fSEmmanuel Vadot }; 372c66ec88fSEmmanuel Vadot 373c66ec88fSEmmanuel Vadot gpio7: gpio@e8a12000 { 374c66ec88fSEmmanuel Vadot compatible = "arm,pl061", "arm,primecell"; 375c66ec88fSEmmanuel Vadot reg = <0x0 0xe8a12000 0x0 0x1000>; 376c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>; 377c66ec88fSEmmanuel Vadot gpio-controller; 378c66ec88fSEmmanuel Vadot #gpio-cells = <2>; 379c66ec88fSEmmanuel Vadot gpio-ranges = <&pmx0 0 41 8>; 380c66ec88fSEmmanuel Vadot interrupt-controller; 381c66ec88fSEmmanuel Vadot #interrupt-cells = <2>; 382c66ec88fSEmmanuel Vadot clocks = <&crg_ctrl HI3670_PCLK_GPIO7>; 383c66ec88fSEmmanuel Vadot clock-names = "apb_pclk"; 384c66ec88fSEmmanuel Vadot }; 385c66ec88fSEmmanuel Vadot 386c66ec88fSEmmanuel Vadot gpio8: gpio@e8a13000 { 387c66ec88fSEmmanuel Vadot compatible = "arm,pl061", "arm,primecell"; 388c66ec88fSEmmanuel Vadot reg = <0x0 0xe8a13000 0x0 0x1000>; 389c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>; 390c66ec88fSEmmanuel Vadot gpio-controller; 391c66ec88fSEmmanuel Vadot #gpio-cells = <2>; 392c66ec88fSEmmanuel Vadot gpio-ranges = <&pmx0 0 49 8>; 393c66ec88fSEmmanuel Vadot interrupt-controller; 394c66ec88fSEmmanuel Vadot #interrupt-cells = <2>; 395c66ec88fSEmmanuel Vadot clocks = <&crg_ctrl HI3670_PCLK_GPIO8>; 396c66ec88fSEmmanuel Vadot clock-names = "apb_pclk"; 397c66ec88fSEmmanuel Vadot }; 398c66ec88fSEmmanuel Vadot 399c66ec88fSEmmanuel Vadot gpio9: gpio@e8a14000 { 400c66ec88fSEmmanuel Vadot compatible = "arm,pl061", "arm,primecell"; 401c66ec88fSEmmanuel Vadot reg = <0x0 0xe8a14000 0x0 0x1000>; 402c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>; 403c66ec88fSEmmanuel Vadot gpio-controller; 404c66ec88fSEmmanuel Vadot #gpio-cells = <2>; 405c66ec88fSEmmanuel Vadot gpio-ranges = <&pmx0 0 57 8>; 406c66ec88fSEmmanuel Vadot interrupt-controller; 407c66ec88fSEmmanuel Vadot #interrupt-cells = <2>; 408c66ec88fSEmmanuel Vadot clocks = <&crg_ctrl HI3670_PCLK_GPIO9>; 409c66ec88fSEmmanuel Vadot clock-names = "apb_pclk"; 410c66ec88fSEmmanuel Vadot }; 411c66ec88fSEmmanuel Vadot 412c66ec88fSEmmanuel Vadot gpio10: gpio@e8a15000 { 413c66ec88fSEmmanuel Vadot compatible = "arm,pl061", "arm,primecell"; 414c66ec88fSEmmanuel Vadot reg = <0x0 0xe8a15000 0x0 0x1000>; 415c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>; 416c66ec88fSEmmanuel Vadot gpio-controller; 417c66ec88fSEmmanuel Vadot #gpio-cells = <2>; 418c66ec88fSEmmanuel Vadot gpio-ranges = <&pmx0 0 65 8>; 419c66ec88fSEmmanuel Vadot interrupt-controller; 420c66ec88fSEmmanuel Vadot #interrupt-cells = <2>; 421c66ec88fSEmmanuel Vadot clocks = <&crg_ctrl HI3670_PCLK_GPIO10>; 422c66ec88fSEmmanuel Vadot clock-names = "apb_pclk"; 423c66ec88fSEmmanuel Vadot }; 424c66ec88fSEmmanuel Vadot 425c66ec88fSEmmanuel Vadot gpio11: gpio@e8a16000 { 426c66ec88fSEmmanuel Vadot compatible = "arm,pl061", "arm,primecell"; 427c66ec88fSEmmanuel Vadot reg = <0x0 0xe8a16000 0x0 0x1000>; 428c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>; 429c66ec88fSEmmanuel Vadot gpio-controller; 430c66ec88fSEmmanuel Vadot #gpio-cells = <2>; 431c66ec88fSEmmanuel Vadot gpio-ranges = <&pmx0 0 73 8>; 432c66ec88fSEmmanuel Vadot interrupt-controller; 433c66ec88fSEmmanuel Vadot #interrupt-cells = <2>; 434c66ec88fSEmmanuel Vadot clocks = <&crg_ctrl HI3670_PCLK_GPIO11>; 435c66ec88fSEmmanuel Vadot clock-names = "apb_pclk"; 436c66ec88fSEmmanuel Vadot }; 437c66ec88fSEmmanuel Vadot 438c66ec88fSEmmanuel Vadot gpio12: gpio@e8a17000 { 439c66ec88fSEmmanuel Vadot compatible = "arm,pl061", "arm,primecell"; 440c66ec88fSEmmanuel Vadot reg = <0x0 0xe8a17000 0x0 0x1000>; 441c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; 442c66ec88fSEmmanuel Vadot gpio-controller; 443c66ec88fSEmmanuel Vadot #gpio-cells = <2>; 444c66ec88fSEmmanuel Vadot gpio-ranges = <&pmx0 0 81 1>; 445c66ec88fSEmmanuel Vadot interrupt-controller; 446c66ec88fSEmmanuel Vadot #interrupt-cells = <2>; 447c66ec88fSEmmanuel Vadot clocks = <&crg_ctrl HI3670_PCLK_GPIO12>; 448c66ec88fSEmmanuel Vadot clock-names = "apb_pclk"; 449c66ec88fSEmmanuel Vadot }; 450c66ec88fSEmmanuel Vadot 451c66ec88fSEmmanuel Vadot gpio13: gpio@e8a18000 { 452c66ec88fSEmmanuel Vadot compatible = "arm,pl061", "arm,primecell"; 453c66ec88fSEmmanuel Vadot reg = <0x0 0xe8a18000 0x0 0x1000>; 454c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>; 455c66ec88fSEmmanuel Vadot gpio-controller; 456c66ec88fSEmmanuel Vadot #gpio-cells = <2>; 457c66ec88fSEmmanuel Vadot interrupt-controller; 458c66ec88fSEmmanuel Vadot #interrupt-cells = <2>; 459c66ec88fSEmmanuel Vadot clocks = <&crg_ctrl HI3670_PCLK_GPIO13>; 460c66ec88fSEmmanuel Vadot clock-names = "apb_pclk"; 461c66ec88fSEmmanuel Vadot }; 462c66ec88fSEmmanuel Vadot 463c66ec88fSEmmanuel Vadot gpio14: gpio@e8a19000 { 464c66ec88fSEmmanuel Vadot compatible = "arm,pl061", "arm,primecell"; 465c66ec88fSEmmanuel Vadot reg = <0x0 0xe8a19000 0x0 0x1000>; 466c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>; 467c66ec88fSEmmanuel Vadot gpio-controller; 468c66ec88fSEmmanuel Vadot #gpio-cells = <2>; 469c66ec88fSEmmanuel Vadot interrupt-controller; 470c66ec88fSEmmanuel Vadot #interrupt-cells = <2>; 471c66ec88fSEmmanuel Vadot clocks = <&crg_ctrl HI3670_PCLK_GPIO14>; 472c66ec88fSEmmanuel Vadot clock-names = "apb_pclk"; 473c66ec88fSEmmanuel Vadot }; 474c66ec88fSEmmanuel Vadot 475c66ec88fSEmmanuel Vadot gpio15: gpio@e8a1a000 { 476c66ec88fSEmmanuel Vadot compatible = "arm,pl061", "arm,primecell"; 477c66ec88fSEmmanuel Vadot reg = <0x0 0xe8a1a000 0x0 0x1000>; 478c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; 479c66ec88fSEmmanuel Vadot gpio-controller; 480c66ec88fSEmmanuel Vadot #gpio-cells = <2>; 481c66ec88fSEmmanuel Vadot interrupt-controller; 482c66ec88fSEmmanuel Vadot #interrupt-cells = <2>; 483c66ec88fSEmmanuel Vadot clocks = <&crg_ctrl HI3670_PCLK_GPIO15>; 484c66ec88fSEmmanuel Vadot clock-names = "apb_pclk"; 485c66ec88fSEmmanuel Vadot }; 486c66ec88fSEmmanuel Vadot 487c66ec88fSEmmanuel Vadot gpio16: gpio@e8a1b000 { 488c66ec88fSEmmanuel Vadot compatible = "arm,pl061", "arm,primecell"; 489c66ec88fSEmmanuel Vadot reg = <0x0 0xe8a1b000 0x0 0x1000>; 490c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>; 491c66ec88fSEmmanuel Vadot gpio-controller; 492c66ec88fSEmmanuel Vadot #gpio-cells = <2>; 493c66ec88fSEmmanuel Vadot gpio-ranges = <&pmx5 0 0 8>; 494c66ec88fSEmmanuel Vadot interrupt-controller; 495c66ec88fSEmmanuel Vadot #interrupt-cells = <2>; 496c66ec88fSEmmanuel Vadot clocks = <&crg_ctrl HI3670_PCLK_GPIO16>; 497c66ec88fSEmmanuel Vadot clock-names = "apb_pclk"; 498c66ec88fSEmmanuel Vadot }; 499c66ec88fSEmmanuel Vadot 500c66ec88fSEmmanuel Vadot gpio17: gpio@e8a1c000 { 501c66ec88fSEmmanuel Vadot compatible = "arm,pl061", "arm,primecell"; 502c66ec88fSEmmanuel Vadot reg = <0x0 0xe8a1c000 0x0 0x1000>; 503c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>; 504c66ec88fSEmmanuel Vadot gpio-controller; 505c66ec88fSEmmanuel Vadot #gpio-cells = <2>; 506c66ec88fSEmmanuel Vadot gpio-ranges = <&pmx5 0 8 2>; 507c66ec88fSEmmanuel Vadot interrupt-controller; 508c66ec88fSEmmanuel Vadot #interrupt-cells = <2>; 509c66ec88fSEmmanuel Vadot clocks = <&crg_ctrl HI3670_PCLK_GPIO17>; 510c66ec88fSEmmanuel Vadot clock-names = "apb_pclk"; 511c66ec88fSEmmanuel Vadot }; 512c66ec88fSEmmanuel Vadot 513c66ec88fSEmmanuel Vadot gpio18: gpio@fff28000 { 514c66ec88fSEmmanuel Vadot compatible = "arm,pl061", "arm,primecell"; 515c66ec88fSEmmanuel Vadot reg = <0x0 0xfff28000 0x0 0x1000>; 516c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>; 517c66ec88fSEmmanuel Vadot gpio-controller; 518c66ec88fSEmmanuel Vadot #gpio-cells = <2>; 519c66ec88fSEmmanuel Vadot gpio-ranges = <&pmx1 4 42 4>; 520c66ec88fSEmmanuel Vadot interrupt-controller; 521c66ec88fSEmmanuel Vadot #interrupt-cells = <2>; 522c66ec88fSEmmanuel Vadot clocks = <&sctrl HI3670_PCLK_GPIO18>; 523c66ec88fSEmmanuel Vadot clock-names = "apb_pclk"; 524c66ec88fSEmmanuel Vadot }; 525c66ec88fSEmmanuel Vadot 526c66ec88fSEmmanuel Vadot gpio19: gpio@fff29000 { 527c66ec88fSEmmanuel Vadot compatible = "arm,pl061", "arm,primecell"; 528c66ec88fSEmmanuel Vadot reg = <0x0 0xfff29000 0x0 0x1000>; 529c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>; 530c66ec88fSEmmanuel Vadot gpio-controller; 531c66ec88fSEmmanuel Vadot #gpio-cells = <2>; 532c66ec88fSEmmanuel Vadot gpio-ranges = <&pmx1 0 61 2>; 533c66ec88fSEmmanuel Vadot interrupt-controller; 534c66ec88fSEmmanuel Vadot #interrupt-cells = <2>; 535c66ec88fSEmmanuel Vadot clocks = <&sctrl HI3670_PCLK_GPIO19>; 536c66ec88fSEmmanuel Vadot clock-names = "apb_pclk"; 537c66ec88fSEmmanuel Vadot }; 538c66ec88fSEmmanuel Vadot 539c66ec88fSEmmanuel Vadot gpio20: gpio@e8a1f000 { 540c66ec88fSEmmanuel Vadot compatible = "arm,pl061", "arm,primecell"; 541c66ec88fSEmmanuel Vadot reg = <0x0 0xe8a1f000 0x0 0x1000>; 542c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>; 543c66ec88fSEmmanuel Vadot gpio-controller; 544c66ec88fSEmmanuel Vadot #gpio-cells = <2>; 545c66ec88fSEmmanuel Vadot gpio-ranges = <&pmx7 0 0 8>; 546c66ec88fSEmmanuel Vadot interrupt-controller; 547c66ec88fSEmmanuel Vadot #interrupt-cells = <2>; 548c66ec88fSEmmanuel Vadot clocks = <&crg_ctrl HI3670_PCLK_GPIO20>; 549c66ec88fSEmmanuel Vadot clock-names = "apb_pclk"; 550c66ec88fSEmmanuel Vadot }; 551c66ec88fSEmmanuel Vadot 552c66ec88fSEmmanuel Vadot gpio21: gpio@e8a20000 { 553c66ec88fSEmmanuel Vadot compatible = "arm,pl061", "arm,primecell"; 554c66ec88fSEmmanuel Vadot reg = <0x0 0xe8a20000 0x0 0x1000>; 555c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>; 556c66ec88fSEmmanuel Vadot gpio-controller; 557c66ec88fSEmmanuel Vadot #gpio-cells = <2>; 558c66ec88fSEmmanuel Vadot gpio-ranges = <&pmx7 0 8 4>; 559c66ec88fSEmmanuel Vadot interrupt-controller; 560c66ec88fSEmmanuel Vadot #interrupt-cells = <2>; 561c66ec88fSEmmanuel Vadot clocks = <&crg_ctrl HI3670_PCLK_GPIO21>; 562c66ec88fSEmmanuel Vadot clock-names = "apb_pclk"; 563c66ec88fSEmmanuel Vadot }; 564c66ec88fSEmmanuel Vadot 565c66ec88fSEmmanuel Vadot gpio22: gpio@fff0b000 { 566c66ec88fSEmmanuel Vadot compatible = "arm,pl061", "arm,primecell"; 567c66ec88fSEmmanuel Vadot reg = <0x0 0xfff0b000 0x0 0x1000>; 568c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>; 569c66ec88fSEmmanuel Vadot gpio-controller; 570c66ec88fSEmmanuel Vadot #gpio-cells = <2>; 571c66ec88fSEmmanuel Vadot /* GPIO176 */ 572c66ec88fSEmmanuel Vadot gpio-ranges = <&pmx1 2 0 6>; 573c66ec88fSEmmanuel Vadot interrupt-controller; 574c66ec88fSEmmanuel Vadot #interrupt-cells = <2>; 575c66ec88fSEmmanuel Vadot clocks = <&sctrl HI3670_PCLK_AO_GPIO0>; 576c66ec88fSEmmanuel Vadot clock-names = "apb_pclk"; 577c66ec88fSEmmanuel Vadot }; 578c66ec88fSEmmanuel Vadot 579c66ec88fSEmmanuel Vadot gpio23: gpio@fff0c000 { 580c66ec88fSEmmanuel Vadot compatible = "arm,pl061", "arm,primecell"; 581c66ec88fSEmmanuel Vadot reg = <0x0 0xfff0c000 0x0 0x1000>; 582c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>; 583c66ec88fSEmmanuel Vadot gpio-controller; 584c66ec88fSEmmanuel Vadot #gpio-cells = <2>; 585c66ec88fSEmmanuel Vadot /* GPIO184 */ 586c66ec88fSEmmanuel Vadot gpio-ranges = <&pmx1 0 6 8>; 587c66ec88fSEmmanuel Vadot interrupt-controller; 588c66ec88fSEmmanuel Vadot #interrupt-cells = <2>; 589c66ec88fSEmmanuel Vadot clocks = <&sctrl HI3670_PCLK_AO_GPIO1>; 590c66ec88fSEmmanuel Vadot clock-names = "apb_pclk"; 591c66ec88fSEmmanuel Vadot }; 592c66ec88fSEmmanuel Vadot 593c66ec88fSEmmanuel Vadot gpio24: gpio@fff0d000 { 594c66ec88fSEmmanuel Vadot compatible = "arm,pl061", "arm,primecell"; 595c66ec88fSEmmanuel Vadot reg = <0x0 0xfff0d000 0x0 0x1000>; 596c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>; 597c66ec88fSEmmanuel Vadot gpio-controller; 598c66ec88fSEmmanuel Vadot #gpio-cells = <2>; 599c66ec88fSEmmanuel Vadot /* GPIO192 */ 600c66ec88fSEmmanuel Vadot gpio-ranges = <&pmx1 0 14 8>; 601c66ec88fSEmmanuel Vadot interrupt-controller; 602c66ec88fSEmmanuel Vadot #interrupt-cells = <2>; 603c66ec88fSEmmanuel Vadot clocks = <&sctrl HI3670_PCLK_AO_GPIO2>; 604c66ec88fSEmmanuel Vadot clock-names = "apb_pclk"; 605c66ec88fSEmmanuel Vadot }; 606c66ec88fSEmmanuel Vadot 607c66ec88fSEmmanuel Vadot gpio25: gpio@fff0e000 { 608c66ec88fSEmmanuel Vadot compatible = "arm,pl061", "arm,primecell"; 609c66ec88fSEmmanuel Vadot reg = <0x0 0xfff0e000 0x0 0x1000>; 610c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>; 611c66ec88fSEmmanuel Vadot gpio-controller; 612c66ec88fSEmmanuel Vadot #gpio-cells = <2>; 613c66ec88fSEmmanuel Vadot /* GPIO200 */ 614c66ec88fSEmmanuel Vadot gpio-ranges = <&pmx1 0 22 8>; 615c66ec88fSEmmanuel Vadot interrupt-controller; 616c66ec88fSEmmanuel Vadot #interrupt-cells = <2>; 617c66ec88fSEmmanuel Vadot clocks = <&sctrl HI3670_PCLK_AO_GPIO3>; 618c66ec88fSEmmanuel Vadot clock-names = "apb_pclk"; 619c66ec88fSEmmanuel Vadot }; 620c66ec88fSEmmanuel Vadot 621c66ec88fSEmmanuel Vadot gpio26: gpio@fff0f000 { 622c66ec88fSEmmanuel Vadot compatible = "arm,pl061", "arm,primecell"; 623c66ec88fSEmmanuel Vadot reg = <0x0 0xfff0f000 0x0 0x1000>; 624c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>; 625c66ec88fSEmmanuel Vadot gpio-controller; 626c66ec88fSEmmanuel Vadot #gpio-cells = <2>; 627c66ec88fSEmmanuel Vadot /* GPIO208 */ 628c66ec88fSEmmanuel Vadot gpio-ranges = <&pmx1 0 30 1>; 629c66ec88fSEmmanuel Vadot interrupt-controller; 630c66ec88fSEmmanuel Vadot #interrupt-cells = <2>; 631c66ec88fSEmmanuel Vadot clocks = <&sctrl HI3670_PCLK_AO_GPIO4>; 632c66ec88fSEmmanuel Vadot clock-names = "apb_pclk"; 633c66ec88fSEmmanuel Vadot }; 634c66ec88fSEmmanuel Vadot 635c66ec88fSEmmanuel Vadot gpio27: gpio@fff10000 { 636c66ec88fSEmmanuel Vadot compatible = "arm,pl061", "arm,primecell"; 637c66ec88fSEmmanuel Vadot reg = <0x0 0xfff10000 0x0 0x1000>; 638c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>; 639c66ec88fSEmmanuel Vadot gpio-controller; 640c66ec88fSEmmanuel Vadot #gpio-cells = <2>; 641c66ec88fSEmmanuel Vadot /* GPIO216 */ 642c66ec88fSEmmanuel Vadot gpio-ranges = <&pmx1 4 31 4>; 643c66ec88fSEmmanuel Vadot interrupt-controller; 644c66ec88fSEmmanuel Vadot #interrupt-cells = <2>; 645c66ec88fSEmmanuel Vadot clocks = <&sctrl HI3670_PCLK_AO_GPIO5>; 646c66ec88fSEmmanuel Vadot clock-names = "apb_pclk"; 647c66ec88fSEmmanuel Vadot }; 648c66ec88fSEmmanuel Vadot 649c66ec88fSEmmanuel Vadot gpio28: gpio@fff1d000 { 650c66ec88fSEmmanuel Vadot compatible = "arm,pl061", "arm,primecell"; 651c66ec88fSEmmanuel Vadot reg = <0x0 0xfff1d000 0x0 0x1000>; 652c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>; 653c66ec88fSEmmanuel Vadot gpio-controller; 654c66ec88fSEmmanuel Vadot #gpio-cells = <2>; 655c66ec88fSEmmanuel Vadot gpio-ranges = <&pmx1 1 35 7>; 656c66ec88fSEmmanuel Vadot interrupt-controller; 657c66ec88fSEmmanuel Vadot #interrupt-cells = <2>; 658c66ec88fSEmmanuel Vadot clocks = <&sctrl HI3670_PCLK_AO_GPIO6>; 659c66ec88fSEmmanuel Vadot clock-names = "apb_pclk"; 660c66ec88fSEmmanuel Vadot }; 661c66ec88fSEmmanuel Vadot 662c66ec88fSEmmanuel Vadot /* UFS */ 663c66ec88fSEmmanuel Vadot ufs: ufs@ff3c0000 { 664c66ec88fSEmmanuel Vadot compatible = "hisilicon,hi3670-ufs", "jedec,ufs-2.1"; 665c66ec88fSEmmanuel Vadot /* 0: HCI standard */ 666c66ec88fSEmmanuel Vadot /* 1: UFS SYS CTRL */ 667c66ec88fSEmmanuel Vadot reg = <0x0 0xff3c0000 0x0 0x1000>, 668c66ec88fSEmmanuel Vadot <0x0 0xff3e0000 0x0 0x1000>; 669c66ec88fSEmmanuel Vadot interrupt-parent = <&gic>; 670c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 278 IRQ_TYPE_LEVEL_HIGH>; 671c66ec88fSEmmanuel Vadot clocks = <&crg_ctrl HI3670_CLK_GATE_UFSIO_REF>, 672c66ec88fSEmmanuel Vadot <&crg_ctrl HI3670_CLK_GATE_UFS_SUBSYS>; 673c66ec88fSEmmanuel Vadot clock-names = "ref_clk", "phy_clk"; 674*d5b0e70fSEmmanuel Vadot freq-table-hz = <0 0>, 675*d5b0e70fSEmmanuel Vadot <0 0>; 676c66ec88fSEmmanuel Vadot /* offset: 0x84; bit: 12 */ 677c66ec88fSEmmanuel Vadot resets = <&crg_rst 0x84 12>; 678c66ec88fSEmmanuel Vadot reset-names = "rst"; 679c66ec88fSEmmanuel Vadot }; 680c66ec88fSEmmanuel Vadot 681c66ec88fSEmmanuel Vadot /* SD */ 682c66ec88fSEmmanuel Vadot dwmmc1: dwmmc1@ff37f000 { 683c66ec88fSEmmanuel Vadot compatible = "hisilicon,hi3670-dw-mshc", 684c66ec88fSEmmanuel Vadot "hisilicon,hi3660-dw-mshc"; 685c66ec88fSEmmanuel Vadot reg = <0x0 0xff37f000 0x0 0x1000>; 686c66ec88fSEmmanuel Vadot #address-cells = <1>; 687c66ec88fSEmmanuel Vadot #size-cells = <0>; 688c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>; 689c66ec88fSEmmanuel Vadot clocks = <&crg_ctrl HI3670_CLK_GATE_SD>, 690c66ec88fSEmmanuel Vadot <&crg_ctrl HI3670_HCLK_GATE_SD>; 691c66ec88fSEmmanuel Vadot clock-names = "ciu", "biu"; 692c66ec88fSEmmanuel Vadot clock-frequency = <3200000>; 693c66ec88fSEmmanuel Vadot resets = <&crg_rst 0x94 18>; 694c66ec88fSEmmanuel Vadot reset-names = "reset"; 695c66ec88fSEmmanuel Vadot hisilicon,peripheral-syscon = <&sctrl>; 696c66ec88fSEmmanuel Vadot card-detect-delay = <200>; 697c66ec88fSEmmanuel Vadot status = "disabled"; 698c66ec88fSEmmanuel Vadot }; 699c66ec88fSEmmanuel Vadot 700c66ec88fSEmmanuel Vadot /* SDIO */ 701c66ec88fSEmmanuel Vadot dwmmc2: dwmmc2@fc183000 { 702c66ec88fSEmmanuel Vadot compatible = "hisilicon,hi3670-dw-mshc", 703c66ec88fSEmmanuel Vadot "hisilicon,hi3660-dw-mshc"; 704c66ec88fSEmmanuel Vadot reg = <0x0 0xfc183000 0x0 0x1000>; 705c66ec88fSEmmanuel Vadot #address-cells = <1>; 706c66ec88fSEmmanuel Vadot #size-cells = <0>; 707c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>; 708c66ec88fSEmmanuel Vadot clocks = <&crg_ctrl HI3670_CLK_GATE_SDIO>, 709c66ec88fSEmmanuel Vadot <&crg_ctrl HI3670_HCLK_GATE_SDIO>; 710c66ec88fSEmmanuel Vadot clock-names = "ciu", "biu"; 711c66ec88fSEmmanuel Vadot clock-frequency = <3200000>; 712c66ec88fSEmmanuel Vadot resets = <&crg_rst 0x94 20>; 713c66ec88fSEmmanuel Vadot reset-names = "reset"; 714c66ec88fSEmmanuel Vadot card-detect-delay = <200>; 715c66ec88fSEmmanuel Vadot status = "disabled"; 716c66ec88fSEmmanuel Vadot }; 7175def4c47SEmmanuel Vadot 7185def4c47SEmmanuel Vadot /* I2C */ 7195def4c47SEmmanuel Vadot i2c0: i2c@ffd71000 { 7205def4c47SEmmanuel Vadot compatible = "snps,designware-i2c"; 7215def4c47SEmmanuel Vadot reg = <0x0 0xffd71000 0x0 0x1000>; 7225def4c47SEmmanuel Vadot interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>; 7235def4c47SEmmanuel Vadot #address-cells = <1>; 7245def4c47SEmmanuel Vadot #size-cells = <0>; 7255def4c47SEmmanuel Vadot clock-frequency = <400000>; 7265def4c47SEmmanuel Vadot clocks = <&iomcu HI3670_CLK_GATE_I2C0>; 7275def4c47SEmmanuel Vadot resets = <&iomcu_rst 0x20 3>; 7285def4c47SEmmanuel Vadot pinctrl-names = "default"; 7295def4c47SEmmanuel Vadot pinctrl-0 = <&i2c0_pmx_func &i2c0_cfg_func>; 7305def4c47SEmmanuel Vadot status = "disabled"; 7315def4c47SEmmanuel Vadot }; 7325def4c47SEmmanuel Vadot 7335def4c47SEmmanuel Vadot i2c1: i2c@ffd72000 { 7345def4c47SEmmanuel Vadot compatible = "snps,designware-i2c"; 7355def4c47SEmmanuel Vadot reg = <0x0 0xffd72000 0x0 0x1000>; 7365def4c47SEmmanuel Vadot interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>; 7375def4c47SEmmanuel Vadot #address-cells = <1>; 7385def4c47SEmmanuel Vadot #size-cells = <0>; 7395def4c47SEmmanuel Vadot clock-frequency = <400000>; 7405def4c47SEmmanuel Vadot clocks = <&iomcu HI3670_CLK_GATE_I2C1>; 7415def4c47SEmmanuel Vadot resets = <&iomcu_rst 0x20 4>; 7425def4c47SEmmanuel Vadot pinctrl-names = "default"; 7435def4c47SEmmanuel Vadot pinctrl-0 = <&i2c1_pmx_func &i2c1_cfg_func>; 7445def4c47SEmmanuel Vadot status = "disabled"; 7455def4c47SEmmanuel Vadot }; 7465def4c47SEmmanuel Vadot 7475def4c47SEmmanuel Vadot i2c2: i2c@ffd73000 { 7485def4c47SEmmanuel Vadot compatible = "snps,designware-i2c"; 7495def4c47SEmmanuel Vadot reg = <0x0 0xffd73000 0x0 0x1000>; 7505def4c47SEmmanuel Vadot interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>; 7515def4c47SEmmanuel Vadot #address-cells = <1>; 7525def4c47SEmmanuel Vadot #size-cells = <0>; 7535def4c47SEmmanuel Vadot clock-frequency = <400000>; 7545def4c47SEmmanuel Vadot clocks = <&iomcu HI3670_CLK_GATE_I2C2>; 7555def4c47SEmmanuel Vadot resets = <&iomcu_rst 0x20 5>; 7565def4c47SEmmanuel Vadot pinctrl-names = "default"; 7575def4c47SEmmanuel Vadot pinctrl-0 = <&i2c2_pmx_func &i2c2_cfg_func>; 7585def4c47SEmmanuel Vadot status = "disabled"; 7595def4c47SEmmanuel Vadot }; 7605def4c47SEmmanuel Vadot 7615def4c47SEmmanuel Vadot i2c3: i2c@fdf0c000 { 7625def4c47SEmmanuel Vadot compatible = "snps,designware-i2c"; 7635def4c47SEmmanuel Vadot reg = <0x0 0xfdf0c000 0x0 0x1000>; 7645def4c47SEmmanuel Vadot interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>; 7655def4c47SEmmanuel Vadot #address-cells = <1>; 7665def4c47SEmmanuel Vadot #size-cells = <0>; 7675def4c47SEmmanuel Vadot clock-frequency = <400000>; 7685def4c47SEmmanuel Vadot clocks = <&crg_ctrl HI3670_CLK_GATE_I2C3>; 7695def4c47SEmmanuel Vadot resets = <&crg_rst 0x78 7>; 7705def4c47SEmmanuel Vadot pinctrl-names = "default"; 7715def4c47SEmmanuel Vadot pinctrl-0 = <&i2c3_pmx_func &i2c3_cfg_func>; 7725def4c47SEmmanuel Vadot status = "disabled"; 7735def4c47SEmmanuel Vadot }; 7745def4c47SEmmanuel Vadot 7755def4c47SEmmanuel Vadot i2c4: i2c@fdf0d000 { 7765def4c47SEmmanuel Vadot compatible = "snps,designware-i2c"; 7775def4c47SEmmanuel Vadot reg = <0x0 0xfdf0d000 0x0 0x1000>; 7785def4c47SEmmanuel Vadot interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>; 7795def4c47SEmmanuel Vadot #address-cells = <1>; 7805def4c47SEmmanuel Vadot #size-cells = <0>; 7815def4c47SEmmanuel Vadot clock-frequency = <400000>; 7825def4c47SEmmanuel Vadot clocks = <&crg_ctrl HI3670_CLK_GATE_I2C4>; 7835def4c47SEmmanuel Vadot resets = <&crg_rst 0x78 27>; 7845def4c47SEmmanuel Vadot pinctrl-names = "default"; 7855def4c47SEmmanuel Vadot pinctrl-0 = <&i2c4_pmx_func &i2c4_cfg_func>; 7865def4c47SEmmanuel Vadot status = "disabled"; 7875def4c47SEmmanuel Vadot }; 788c66ec88fSEmmanuel Vadot }; 789c66ec88fSEmmanuel Vadot}; 790