1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-only 2*f126890aSEmmanuel Vadot/* 3*f126890aSEmmanuel Vadot * HiSilicon Ltd. Hi3620 SoC 4*f126890aSEmmanuel Vadot * 5*f126890aSEmmanuel Vadot * Copyright (C) 2012-2013 HiSilicon Ltd. 6*f126890aSEmmanuel Vadot * Copyright (C) 2012-2013 Linaro Ltd. 7*f126890aSEmmanuel Vadot * 8*f126890aSEmmanuel Vadot * Author: Haojian Zhuang <haojian.zhuang@linaro.org> 9*f126890aSEmmanuel Vadot */ 10*f126890aSEmmanuel Vadot 11*f126890aSEmmanuel Vadot#include <dt-bindings/clock/hi3620-clock.h> 12*f126890aSEmmanuel Vadot 13*f126890aSEmmanuel Vadot/ { 14*f126890aSEmmanuel Vadot #address-cells = <1>; 15*f126890aSEmmanuel Vadot #size-cells = <1>; 16*f126890aSEmmanuel Vadot 17*f126890aSEmmanuel Vadot aliases { 18*f126890aSEmmanuel Vadot serial0 = &uart0; 19*f126890aSEmmanuel Vadot serial1 = &uart1; 20*f126890aSEmmanuel Vadot serial2 = &uart2; 21*f126890aSEmmanuel Vadot serial3 = &uart3; 22*f126890aSEmmanuel Vadot serial4 = &uart4; 23*f126890aSEmmanuel Vadot }; 24*f126890aSEmmanuel Vadot 25*f126890aSEmmanuel Vadot pclk: clk { 26*f126890aSEmmanuel Vadot compatible = "fixed-clock"; 27*f126890aSEmmanuel Vadot #clock-cells = <0>; 28*f126890aSEmmanuel Vadot clock-frequency = <26000000>; 29*f126890aSEmmanuel Vadot clock-output-names = "apb_pclk"; 30*f126890aSEmmanuel Vadot }; 31*f126890aSEmmanuel Vadot 32*f126890aSEmmanuel Vadot cpus { 33*f126890aSEmmanuel Vadot #address-cells = <1>; 34*f126890aSEmmanuel Vadot #size-cells = <0>; 35*f126890aSEmmanuel Vadot enable-method = "hisilicon,hi3620-smp"; 36*f126890aSEmmanuel Vadot 37*f126890aSEmmanuel Vadot cpu@0 { 38*f126890aSEmmanuel Vadot device_type = "cpu"; 39*f126890aSEmmanuel Vadot compatible = "arm,cortex-a9"; 40*f126890aSEmmanuel Vadot reg = <0x0>; 41*f126890aSEmmanuel Vadot next-level-cache = <&L2>; 42*f126890aSEmmanuel Vadot }; 43*f126890aSEmmanuel Vadot 44*f126890aSEmmanuel Vadot cpu@1 { 45*f126890aSEmmanuel Vadot compatible = "arm,cortex-a9"; 46*f126890aSEmmanuel Vadot device_type = "cpu"; 47*f126890aSEmmanuel Vadot reg = <1>; 48*f126890aSEmmanuel Vadot next-level-cache = <&L2>; 49*f126890aSEmmanuel Vadot }; 50*f126890aSEmmanuel Vadot 51*f126890aSEmmanuel Vadot cpu@2 { 52*f126890aSEmmanuel Vadot compatible = "arm,cortex-a9"; 53*f126890aSEmmanuel Vadot device_type = "cpu"; 54*f126890aSEmmanuel Vadot reg = <2>; 55*f126890aSEmmanuel Vadot next-level-cache = <&L2>; 56*f126890aSEmmanuel Vadot }; 57*f126890aSEmmanuel Vadot 58*f126890aSEmmanuel Vadot cpu@3 { 59*f126890aSEmmanuel Vadot compatible = "arm,cortex-a9"; 60*f126890aSEmmanuel Vadot device_type = "cpu"; 61*f126890aSEmmanuel Vadot reg = <3>; 62*f126890aSEmmanuel Vadot next-level-cache = <&L2>; 63*f126890aSEmmanuel Vadot }; 64*f126890aSEmmanuel Vadot }; 65*f126890aSEmmanuel Vadot 66*f126890aSEmmanuel Vadot amba-bus { 67*f126890aSEmmanuel Vadot 68*f126890aSEmmanuel Vadot #address-cells = <1>; 69*f126890aSEmmanuel Vadot #size-cells = <1>; 70*f126890aSEmmanuel Vadot compatible = "simple-bus"; 71*f126890aSEmmanuel Vadot interrupt-parent = <&gic>; 72*f126890aSEmmanuel Vadot ranges = <0 0xfc000000 0x2000000>; 73*f126890aSEmmanuel Vadot 74*f126890aSEmmanuel Vadot L2: cache-controller { 75*f126890aSEmmanuel Vadot compatible = "arm,pl310-cache"; 76*f126890aSEmmanuel Vadot reg = <0x100000 0x100000>; 77*f126890aSEmmanuel Vadot interrupts = <0 15 4>; 78*f126890aSEmmanuel Vadot cache-unified; 79*f126890aSEmmanuel Vadot cache-level = <2>; 80*f126890aSEmmanuel Vadot }; 81*f126890aSEmmanuel Vadot 82*f126890aSEmmanuel Vadot gic: interrupt-controller@1000 { 83*f126890aSEmmanuel Vadot compatible = "arm,cortex-a9-gic"; 84*f126890aSEmmanuel Vadot #interrupt-cells = <3>; 85*f126890aSEmmanuel Vadot #address-cells = <0>; 86*f126890aSEmmanuel Vadot interrupt-controller; 87*f126890aSEmmanuel Vadot /* gic dist base, gic cpu base */ 88*f126890aSEmmanuel Vadot reg = <0x1000 0x1000>, <0x100 0x100>; 89*f126890aSEmmanuel Vadot }; 90*f126890aSEmmanuel Vadot 91*f126890aSEmmanuel Vadot sysctrl: system-controller@802000 { 92*f126890aSEmmanuel Vadot compatible = "hisilicon,sysctrl", "syscon"; 93*f126890aSEmmanuel Vadot #address-cells = <1>; 94*f126890aSEmmanuel Vadot #size-cells = <1>; 95*f126890aSEmmanuel Vadot ranges = <0 0x802000 0x1000>; 96*f126890aSEmmanuel Vadot reg = <0x802000 0x1000>; 97*f126890aSEmmanuel Vadot 98*f126890aSEmmanuel Vadot smp-offset = <0x31c>; 99*f126890aSEmmanuel Vadot resume-offset = <0x308>; 100*f126890aSEmmanuel Vadot reboot-offset = <0x4>; 101*f126890aSEmmanuel Vadot 102*f126890aSEmmanuel Vadot clock: clock@0 { 103*f126890aSEmmanuel Vadot compatible = "hisilicon,hi3620-clock"; 104*f126890aSEmmanuel Vadot reg = <0 0x10000>; 105*f126890aSEmmanuel Vadot #clock-cells = <1>; 106*f126890aSEmmanuel Vadot }; 107*f126890aSEmmanuel Vadot }; 108*f126890aSEmmanuel Vadot 109*f126890aSEmmanuel Vadot dual_timer0: dual_timer@800000 { 110*f126890aSEmmanuel Vadot compatible = "arm,sp804", "arm,primecell"; 111*f126890aSEmmanuel Vadot reg = <0x800000 0x1000>; 112*f126890aSEmmanuel Vadot /* timer00 & timer01 */ 113*f126890aSEmmanuel Vadot interrupts = <0 0 4>, <0 1 4>; 114*f126890aSEmmanuel Vadot clocks = <&clock HI3620_TIMER0_MUX>, 115*f126890aSEmmanuel Vadot <&clock HI3620_TIMER1_MUX>, 116*f126890aSEmmanuel Vadot <&clock HI3620_TIMER0_MUX>; 117*f126890aSEmmanuel Vadot clock-names = "timer0clk", "timer1clk", "apb_pclk"; 118*f126890aSEmmanuel Vadot status = "disabled"; 119*f126890aSEmmanuel Vadot }; 120*f126890aSEmmanuel Vadot 121*f126890aSEmmanuel Vadot dual_timer1: dual_timer@801000 { 122*f126890aSEmmanuel Vadot compatible = "arm,sp804", "arm,primecell"; 123*f126890aSEmmanuel Vadot reg = <0x801000 0x1000>; 124*f126890aSEmmanuel Vadot /* timer10 & timer11 */ 125*f126890aSEmmanuel Vadot interrupts = <0 2 4>, <0 3 4>; 126*f126890aSEmmanuel Vadot clocks = <&clock HI3620_TIMER2_MUX>, 127*f126890aSEmmanuel Vadot <&clock HI3620_TIMER3_MUX>, 128*f126890aSEmmanuel Vadot <&clock HI3620_TIMER2_MUX>; 129*f126890aSEmmanuel Vadot clock-names = "timer0clk", "timer1clk", "apb_pclk"; 130*f126890aSEmmanuel Vadot status = "disabled"; 131*f126890aSEmmanuel Vadot }; 132*f126890aSEmmanuel Vadot 133*f126890aSEmmanuel Vadot dual_timer2: dual_timer@a01000 { 134*f126890aSEmmanuel Vadot compatible = "arm,sp804", "arm,primecell"; 135*f126890aSEmmanuel Vadot reg = <0xa01000 0x1000>; 136*f126890aSEmmanuel Vadot /* timer20 & timer21 */ 137*f126890aSEmmanuel Vadot interrupts = <0 4 4>, <0 5 4>; 138*f126890aSEmmanuel Vadot clocks = <&clock HI3620_TIMER4_MUX>, 139*f126890aSEmmanuel Vadot <&clock HI3620_TIMER5_MUX>, 140*f126890aSEmmanuel Vadot <&clock HI3620_TIMER4_MUX>; 141*f126890aSEmmanuel Vadot clock-names = "timer0lck", "timer1clk", "apb_pclk"; 142*f126890aSEmmanuel Vadot status = "disabled"; 143*f126890aSEmmanuel Vadot }; 144*f126890aSEmmanuel Vadot 145*f126890aSEmmanuel Vadot dual_timer3: dual_timer@a02000 { 146*f126890aSEmmanuel Vadot compatible = "arm,sp804", "arm,primecell"; 147*f126890aSEmmanuel Vadot reg = <0xa02000 0x1000>; 148*f126890aSEmmanuel Vadot /* timer30 & timer31 */ 149*f126890aSEmmanuel Vadot interrupts = <0 6 4>, <0 7 4>; 150*f126890aSEmmanuel Vadot clocks = <&clock HI3620_TIMER6_MUX>, 151*f126890aSEmmanuel Vadot <&clock HI3620_TIMER7_MUX>, 152*f126890aSEmmanuel Vadot <&clock HI3620_TIMER6_MUX>; 153*f126890aSEmmanuel Vadot clock-names = "timer0clk", "timer1clk", "apb_pclk"; 154*f126890aSEmmanuel Vadot status = "disabled"; 155*f126890aSEmmanuel Vadot }; 156*f126890aSEmmanuel Vadot 157*f126890aSEmmanuel Vadot dual_timer4: dual_timer@a03000 { 158*f126890aSEmmanuel Vadot compatible = "arm,sp804", "arm,primecell"; 159*f126890aSEmmanuel Vadot reg = <0xa03000 0x1000>; 160*f126890aSEmmanuel Vadot /* timer40 & timer41 */ 161*f126890aSEmmanuel Vadot interrupts = <0 96 4>, <0 97 4>; 162*f126890aSEmmanuel Vadot clocks = <&clock HI3620_TIMER8_MUX>, 163*f126890aSEmmanuel Vadot <&clock HI3620_TIMER9_MUX>, 164*f126890aSEmmanuel Vadot <&clock HI3620_TIMER8_MUX>; 165*f126890aSEmmanuel Vadot clock-names = "timer0clk", "timer1clk", "apb_pclk"; 166*f126890aSEmmanuel Vadot status = "disabled"; 167*f126890aSEmmanuel Vadot }; 168*f126890aSEmmanuel Vadot 169*f126890aSEmmanuel Vadot timer5: timer@600 { 170*f126890aSEmmanuel Vadot compatible = "arm,cortex-a9-twd-timer"; 171*f126890aSEmmanuel Vadot reg = <0x600 0x20>; 172*f126890aSEmmanuel Vadot interrupts = <1 13 0xf01>; 173*f126890aSEmmanuel Vadot }; 174*f126890aSEmmanuel Vadot 175*f126890aSEmmanuel Vadot uart0: serial@b00000 { 176*f126890aSEmmanuel Vadot compatible = "arm,pl011", "arm,primecell"; 177*f126890aSEmmanuel Vadot reg = <0xb00000 0x1000>; 178*f126890aSEmmanuel Vadot interrupts = <0 20 4>; 179*f126890aSEmmanuel Vadot clocks = <&clock HI3620_UARTCLK0>, <&clock HI3620_UARTCLK0>; 180*f126890aSEmmanuel Vadot clock-names = "uartclk", "apb_pclk"; 181*f126890aSEmmanuel Vadot status = "disabled"; 182*f126890aSEmmanuel Vadot }; 183*f126890aSEmmanuel Vadot 184*f126890aSEmmanuel Vadot uart1: serial@b01000 { 185*f126890aSEmmanuel Vadot compatible = "arm,pl011", "arm,primecell"; 186*f126890aSEmmanuel Vadot reg = <0xb01000 0x1000>; 187*f126890aSEmmanuel Vadot interrupts = <0 21 4>; 188*f126890aSEmmanuel Vadot clocks = <&clock HI3620_UARTCLK1>, <&clock HI3620_UARTCLK1>; 189*f126890aSEmmanuel Vadot clock-names = "uartclk", "apb_pclk"; 190*f126890aSEmmanuel Vadot status = "disabled"; 191*f126890aSEmmanuel Vadot }; 192*f126890aSEmmanuel Vadot 193*f126890aSEmmanuel Vadot uart2: serial@b02000 { 194*f126890aSEmmanuel Vadot compatible = "arm,pl011", "arm,primecell"; 195*f126890aSEmmanuel Vadot reg = <0xb02000 0x1000>; 196*f126890aSEmmanuel Vadot interrupts = <0 22 4>; 197*f126890aSEmmanuel Vadot clocks = <&clock HI3620_UARTCLK2>, <&clock HI3620_UARTCLK2>; 198*f126890aSEmmanuel Vadot clock-names = "uartclk", "apb_pclk"; 199*f126890aSEmmanuel Vadot status = "disabled"; 200*f126890aSEmmanuel Vadot }; 201*f126890aSEmmanuel Vadot 202*f126890aSEmmanuel Vadot uart3: serial@b03000 { 203*f126890aSEmmanuel Vadot compatible = "arm,pl011", "arm,primecell"; 204*f126890aSEmmanuel Vadot reg = <0xb03000 0x1000>; 205*f126890aSEmmanuel Vadot interrupts = <0 23 4>; 206*f126890aSEmmanuel Vadot clocks = <&clock HI3620_UARTCLK3>, <&clock HI3620_UARTCLK3>; 207*f126890aSEmmanuel Vadot clock-names = "uartclk", "apb_pclk"; 208*f126890aSEmmanuel Vadot status = "disabled"; 209*f126890aSEmmanuel Vadot }; 210*f126890aSEmmanuel Vadot 211*f126890aSEmmanuel Vadot uart4: serial@b04000 { 212*f126890aSEmmanuel Vadot compatible = "arm,pl011", "arm,primecell"; 213*f126890aSEmmanuel Vadot reg = <0xb04000 0x1000>; 214*f126890aSEmmanuel Vadot interrupts = <0 24 4>; 215*f126890aSEmmanuel Vadot clocks = <&clock HI3620_UARTCLK4>, <&clock HI3620_UARTCLK4>; 216*f126890aSEmmanuel Vadot clock-names = "uartclk", "apb_pclk"; 217*f126890aSEmmanuel Vadot status = "disabled"; 218*f126890aSEmmanuel Vadot }; 219*f126890aSEmmanuel Vadot 220*f126890aSEmmanuel Vadot gpio0: gpio@806000 { 221*f126890aSEmmanuel Vadot compatible = "arm,pl061", "arm,primecell"; 222*f126890aSEmmanuel Vadot reg = <0x806000 0x1000>; 223*f126890aSEmmanuel Vadot interrupts = <0 64 0x4>; 224*f126890aSEmmanuel Vadot gpio-controller; 225*f126890aSEmmanuel Vadot #gpio-cells = <2>; 226*f126890aSEmmanuel Vadot gpio-ranges = < &pmx0 2 0 1 &pmx0 3 0 1 &pmx0 4 0 1 227*f126890aSEmmanuel Vadot &pmx0 5 0 1 &pmx0 6 1 1 &pmx0 7 2 1>; 228*f126890aSEmmanuel Vadot interrupt-controller; 229*f126890aSEmmanuel Vadot #interrupt-cells = <2>; 230*f126890aSEmmanuel Vadot clocks = <&clock HI3620_GPIOCLK0>; 231*f126890aSEmmanuel Vadot clock-names = "apb_pclk"; 232*f126890aSEmmanuel Vadot }; 233*f126890aSEmmanuel Vadot 234*f126890aSEmmanuel Vadot gpio1: gpio@807000 { 235*f126890aSEmmanuel Vadot compatible = "arm,pl061", "arm,primecell"; 236*f126890aSEmmanuel Vadot reg = <0x807000 0x1000>; 237*f126890aSEmmanuel Vadot interrupts = <0 65 0x4>; 238*f126890aSEmmanuel Vadot gpio-controller; 239*f126890aSEmmanuel Vadot #gpio-cells = <2>; 240*f126890aSEmmanuel Vadot gpio-ranges = < &pmx0 0 3 1 &pmx0 1 3 1 &pmx0 2 3 1 241*f126890aSEmmanuel Vadot &pmx0 3 3 1 &pmx0 4 3 1 &pmx0 5 4 1 242*f126890aSEmmanuel Vadot &pmx0 6 5 1 &pmx0 7 6 1>; 243*f126890aSEmmanuel Vadot interrupt-controller; 244*f126890aSEmmanuel Vadot #interrupt-cells = <2>; 245*f126890aSEmmanuel Vadot clocks = <&clock HI3620_GPIOCLK1>; 246*f126890aSEmmanuel Vadot clock-names = "apb_pclk"; 247*f126890aSEmmanuel Vadot }; 248*f126890aSEmmanuel Vadot 249*f126890aSEmmanuel Vadot gpio2: gpio@808000 { 250*f126890aSEmmanuel Vadot compatible = "arm,pl061", "arm,primecell"; 251*f126890aSEmmanuel Vadot reg = <0x808000 0x1000>; 252*f126890aSEmmanuel Vadot interrupts = <0 66 0x4>; 253*f126890aSEmmanuel Vadot gpio-controller; 254*f126890aSEmmanuel Vadot #gpio-cells = <2>; 255*f126890aSEmmanuel Vadot gpio-ranges = < &pmx0 0 7 1 &pmx0 1 8 1 &pmx0 2 9 1 256*f126890aSEmmanuel Vadot &pmx0 3 10 1 &pmx0 4 3 1 &pmx0 5 3 1 257*f126890aSEmmanuel Vadot &pmx0 6 3 1 &pmx0 7 3 1>; 258*f126890aSEmmanuel Vadot interrupt-controller; 259*f126890aSEmmanuel Vadot #interrupt-cells = <2>; 260*f126890aSEmmanuel Vadot clocks = <&clock HI3620_GPIOCLK2>; 261*f126890aSEmmanuel Vadot clock-names = "apb_pclk"; 262*f126890aSEmmanuel Vadot }; 263*f126890aSEmmanuel Vadot 264*f126890aSEmmanuel Vadot gpio3: gpio@809000 { 265*f126890aSEmmanuel Vadot compatible = "arm,pl061", "arm,primecell"; 266*f126890aSEmmanuel Vadot reg = <0x809000 0x1000>; 267*f126890aSEmmanuel Vadot interrupts = <0 67 0x4>; 268*f126890aSEmmanuel Vadot gpio-controller; 269*f126890aSEmmanuel Vadot #gpio-cells = <2>; 270*f126890aSEmmanuel Vadot gpio-ranges = < &pmx0 0 3 1 &pmx0 1 3 1 &pmx0 2 3 1 271*f126890aSEmmanuel Vadot &pmx0 3 3 1 &pmx0 4 11 1 &pmx0 5 11 1 272*f126890aSEmmanuel Vadot &pmx0 6 11 1 &pmx0 7 11 1>; 273*f126890aSEmmanuel Vadot interrupt-controller; 274*f126890aSEmmanuel Vadot #interrupt-cells = <2>; 275*f126890aSEmmanuel Vadot clocks = <&clock HI3620_GPIOCLK3>; 276*f126890aSEmmanuel Vadot clock-names = "apb_pclk"; 277*f126890aSEmmanuel Vadot }; 278*f126890aSEmmanuel Vadot 279*f126890aSEmmanuel Vadot gpio4: gpio@80a000 { 280*f126890aSEmmanuel Vadot compatible = "arm,pl061", "arm,primecell"; 281*f126890aSEmmanuel Vadot reg = <0x80a000 0x1000>; 282*f126890aSEmmanuel Vadot interrupts = <0 68 0x4>; 283*f126890aSEmmanuel Vadot gpio-controller; 284*f126890aSEmmanuel Vadot #gpio-cells = <2>; 285*f126890aSEmmanuel Vadot gpio-ranges = < &pmx0 0 11 1 &pmx0 1 11 1 &pmx0 2 11 1 286*f126890aSEmmanuel Vadot &pmx0 3 11 1 &pmx0 4 12 1 &pmx0 5 12 1 287*f126890aSEmmanuel Vadot &pmx0 6 13 1 &pmx0 7 13 1>; 288*f126890aSEmmanuel Vadot interrupt-controller; 289*f126890aSEmmanuel Vadot #interrupt-cells = <2>; 290*f126890aSEmmanuel Vadot clocks = <&clock HI3620_GPIOCLK4>; 291*f126890aSEmmanuel Vadot clock-names = "apb_pclk"; 292*f126890aSEmmanuel Vadot }; 293*f126890aSEmmanuel Vadot 294*f126890aSEmmanuel Vadot gpio5: gpio@80b000 { 295*f126890aSEmmanuel Vadot compatible = "arm,pl061", "arm,primecell"; 296*f126890aSEmmanuel Vadot reg = <0x80b000 0x1000>; 297*f126890aSEmmanuel Vadot interrupts = <0 69 0x4>; 298*f126890aSEmmanuel Vadot gpio-controller; 299*f126890aSEmmanuel Vadot #gpio-cells = <2>; 300*f126890aSEmmanuel Vadot gpio-ranges = < &pmx0 0 14 1 &pmx0 1 15 1 &pmx0 2 16 1 301*f126890aSEmmanuel Vadot &pmx0 3 16 1 &pmx0 4 16 1 &pmx0 5 16 1 302*f126890aSEmmanuel Vadot &pmx0 6 16 1 &pmx0 7 16 1>; 303*f126890aSEmmanuel Vadot interrupt-controller; 304*f126890aSEmmanuel Vadot #interrupt-cells = <2>; 305*f126890aSEmmanuel Vadot clocks = <&clock HI3620_GPIOCLK5>; 306*f126890aSEmmanuel Vadot clock-names = "apb_pclk"; 307*f126890aSEmmanuel Vadot }; 308*f126890aSEmmanuel Vadot 309*f126890aSEmmanuel Vadot gpio6: gpio@80c000 { 310*f126890aSEmmanuel Vadot compatible = "arm,pl061", "arm,primecell"; 311*f126890aSEmmanuel Vadot reg = <0x80c000 0x1000>; 312*f126890aSEmmanuel Vadot interrupts = <0 70 0x4>; 313*f126890aSEmmanuel Vadot gpio-controller; 314*f126890aSEmmanuel Vadot #gpio-cells = <2>; 315*f126890aSEmmanuel Vadot gpio-ranges = < &pmx0 0 16 1 &pmx0 1 16 1 &pmx0 2 17 1 316*f126890aSEmmanuel Vadot &pmx0 3 17 1 &pmx0 4 18 1 &pmx0 5 18 1 317*f126890aSEmmanuel Vadot &pmx0 6 18 1 &pmx0 7 19 1>; 318*f126890aSEmmanuel Vadot interrupt-controller; 319*f126890aSEmmanuel Vadot #interrupt-cells = <2>; 320*f126890aSEmmanuel Vadot clocks = <&clock HI3620_GPIOCLK6>; 321*f126890aSEmmanuel Vadot clock-names = "apb_pclk"; 322*f126890aSEmmanuel Vadot }; 323*f126890aSEmmanuel Vadot 324*f126890aSEmmanuel Vadot gpio7: gpio@80d000 { 325*f126890aSEmmanuel Vadot compatible = "arm,pl061", "arm,primecell"; 326*f126890aSEmmanuel Vadot reg = <0x80d000 0x1000>; 327*f126890aSEmmanuel Vadot interrupts = <0 71 0x4>; 328*f126890aSEmmanuel Vadot gpio-controller; 329*f126890aSEmmanuel Vadot #gpio-cells = <2>; 330*f126890aSEmmanuel Vadot gpio-ranges = < &pmx0 0 19 1 &pmx0 1 20 1 &pmx0 2 21 1 331*f126890aSEmmanuel Vadot &pmx0 3 22 1 &pmx0 4 23 1 &pmx0 5 24 1 332*f126890aSEmmanuel Vadot &pmx0 6 25 1 &pmx0 7 26 1>; 333*f126890aSEmmanuel Vadot interrupt-controller; 334*f126890aSEmmanuel Vadot #interrupt-cells = <2>; 335*f126890aSEmmanuel Vadot clocks = <&clock HI3620_GPIOCLK7>; 336*f126890aSEmmanuel Vadot clock-names = "apb_pclk"; 337*f126890aSEmmanuel Vadot }; 338*f126890aSEmmanuel Vadot 339*f126890aSEmmanuel Vadot gpio8: gpio@80e000 { 340*f126890aSEmmanuel Vadot compatible = "arm,pl061", "arm,primecell"; 341*f126890aSEmmanuel Vadot reg = <0x80e000 0x1000>; 342*f126890aSEmmanuel Vadot interrupts = <0 72 0x4>; 343*f126890aSEmmanuel Vadot gpio-controller; 344*f126890aSEmmanuel Vadot #gpio-cells = <2>; 345*f126890aSEmmanuel Vadot gpio-ranges = < &pmx0 0 27 1 &pmx0 1 28 1 &pmx0 2 29 1 346*f126890aSEmmanuel Vadot &pmx0 3 30 1 &pmx0 4 31 1 &pmx0 5 32 1 347*f126890aSEmmanuel Vadot &pmx0 6 33 1 &pmx0 7 34 1>; 348*f126890aSEmmanuel Vadot interrupt-controller; 349*f126890aSEmmanuel Vadot #interrupt-cells = <2>; 350*f126890aSEmmanuel Vadot clocks = <&clock HI3620_GPIOCLK8>; 351*f126890aSEmmanuel Vadot clock-names = "apb_pclk"; 352*f126890aSEmmanuel Vadot }; 353*f126890aSEmmanuel Vadot 354*f126890aSEmmanuel Vadot gpio9: gpio@80f000 { 355*f126890aSEmmanuel Vadot compatible = "arm,pl061", "arm,primecell"; 356*f126890aSEmmanuel Vadot reg = <0x80f000 0x1000>; 357*f126890aSEmmanuel Vadot interrupts = <0 73 0x4>; 358*f126890aSEmmanuel Vadot gpio-controller; 359*f126890aSEmmanuel Vadot #gpio-cells = <2>; 360*f126890aSEmmanuel Vadot gpio-ranges = < &pmx0 0 35 1 &pmx0 1 36 1 &pmx0 2 37 1 361*f126890aSEmmanuel Vadot &pmx0 3 38 1 &pmx0 4 39 1 &pmx0 5 40 1 362*f126890aSEmmanuel Vadot &pmx0 6 41 1>; 363*f126890aSEmmanuel Vadot interrupt-controller; 364*f126890aSEmmanuel Vadot #interrupt-cells = <2>; 365*f126890aSEmmanuel Vadot clocks = <&clock HI3620_GPIOCLK9>; 366*f126890aSEmmanuel Vadot clock-names = "apb_pclk"; 367*f126890aSEmmanuel Vadot }; 368*f126890aSEmmanuel Vadot 369*f126890aSEmmanuel Vadot gpio10: gpio@810000 { 370*f126890aSEmmanuel Vadot compatible = "arm,pl061", "arm,primecell"; 371*f126890aSEmmanuel Vadot reg = <0x810000 0x1000>; 372*f126890aSEmmanuel Vadot interrupts = <0 74 0x4>; 373*f126890aSEmmanuel Vadot gpio-controller; 374*f126890aSEmmanuel Vadot #gpio-cells = <2>; 375*f126890aSEmmanuel Vadot gpio-ranges = < &pmx0 2 43 1 &pmx0 3 44 1 &pmx0 4 45 1 376*f126890aSEmmanuel Vadot &pmx0 5 45 1 &pmx0 6 46 1 &pmx0 7 46 1>; 377*f126890aSEmmanuel Vadot interrupt-controller; 378*f126890aSEmmanuel Vadot #interrupt-cells = <2>; 379*f126890aSEmmanuel Vadot clocks = <&clock HI3620_GPIOCLK10>; 380*f126890aSEmmanuel Vadot clock-names = "apb_pclk"; 381*f126890aSEmmanuel Vadot }; 382*f126890aSEmmanuel Vadot 383*f126890aSEmmanuel Vadot gpio11: gpio@811000 { 384*f126890aSEmmanuel Vadot compatible = "arm,pl061", "arm,primecell"; 385*f126890aSEmmanuel Vadot reg = <0x811000 0x1000>; 386*f126890aSEmmanuel Vadot interrupts = <0 75 0x4>; 387*f126890aSEmmanuel Vadot gpio-controller; 388*f126890aSEmmanuel Vadot #gpio-cells = <2>; 389*f126890aSEmmanuel Vadot gpio-ranges = < &pmx0 0 47 1 &pmx0 1 47 1 &pmx0 2 47 1 390*f126890aSEmmanuel Vadot &pmx0 3 47 1 &pmx0 4 47 1 &pmx0 5 48 1 391*f126890aSEmmanuel Vadot &pmx0 6 49 1 &pmx0 7 49 1>; 392*f126890aSEmmanuel Vadot interrupt-controller; 393*f126890aSEmmanuel Vadot #interrupt-cells = <2>; 394*f126890aSEmmanuel Vadot clocks = <&clock HI3620_GPIOCLK11>; 395*f126890aSEmmanuel Vadot clock-names = "apb_pclk"; 396*f126890aSEmmanuel Vadot }; 397*f126890aSEmmanuel Vadot 398*f126890aSEmmanuel Vadot gpio12: gpio@812000 { 399*f126890aSEmmanuel Vadot compatible = "arm,pl061", "arm,primecell"; 400*f126890aSEmmanuel Vadot reg = <0x812000 0x1000>; 401*f126890aSEmmanuel Vadot interrupts = <0 76 0x4>; 402*f126890aSEmmanuel Vadot gpio-controller; 403*f126890aSEmmanuel Vadot #gpio-cells = <2>; 404*f126890aSEmmanuel Vadot gpio-ranges = < &pmx0 0 49 1 &pmx0 1 50 1 &pmx0 2 49 1 405*f126890aSEmmanuel Vadot &pmx0 3 49 1 &pmx0 4 51 1 &pmx0 5 51 1 406*f126890aSEmmanuel Vadot &pmx0 6 51 1 &pmx0 7 52 1>; 407*f126890aSEmmanuel Vadot interrupt-controller; 408*f126890aSEmmanuel Vadot #interrupt-cells = <2>; 409*f126890aSEmmanuel Vadot clocks = <&clock HI3620_GPIOCLK12>; 410*f126890aSEmmanuel Vadot clock-names = "apb_pclk"; 411*f126890aSEmmanuel Vadot }; 412*f126890aSEmmanuel Vadot 413*f126890aSEmmanuel Vadot gpio13: gpio@813000 { 414*f126890aSEmmanuel Vadot compatible = "arm,pl061", "arm,primecell"; 415*f126890aSEmmanuel Vadot reg = <0x813000 0x1000>; 416*f126890aSEmmanuel Vadot interrupts = <0 77 0x4>; 417*f126890aSEmmanuel Vadot gpio-controller; 418*f126890aSEmmanuel Vadot #gpio-cells = <2>; 419*f126890aSEmmanuel Vadot gpio-ranges = < &pmx0 0 51 1 &pmx0 1 51 1 &pmx0 2 53 1 420*f126890aSEmmanuel Vadot &pmx0 3 53 1 &pmx0 4 53 1 &pmx0 5 54 1 421*f126890aSEmmanuel Vadot &pmx0 6 55 1 &pmx0 7 56 1>; 422*f126890aSEmmanuel Vadot interrupt-controller; 423*f126890aSEmmanuel Vadot #interrupt-cells = <2>; 424*f126890aSEmmanuel Vadot clocks = <&clock HI3620_GPIOCLK13>; 425*f126890aSEmmanuel Vadot clock-names = "apb_pclk"; 426*f126890aSEmmanuel Vadot }; 427*f126890aSEmmanuel Vadot 428*f126890aSEmmanuel Vadot gpio14: gpio@814000 { 429*f126890aSEmmanuel Vadot compatible = "arm,pl061", "arm,primecell"; 430*f126890aSEmmanuel Vadot reg = <0x814000 0x1000>; 431*f126890aSEmmanuel Vadot interrupts = <0 78 0x4>; 432*f126890aSEmmanuel Vadot gpio-controller; 433*f126890aSEmmanuel Vadot #gpio-cells = <2>; 434*f126890aSEmmanuel Vadot gpio-ranges = < &pmx0 0 57 1 &pmx0 1 97 1 &pmx0 2 97 1 435*f126890aSEmmanuel Vadot &pmx0 3 58 1 &pmx0 4 59 1 &pmx0 5 60 1 436*f126890aSEmmanuel Vadot &pmx0 6 60 1 &pmx0 7 61 1>; 437*f126890aSEmmanuel Vadot interrupt-controller; 438*f126890aSEmmanuel Vadot #interrupt-cells = <2>; 439*f126890aSEmmanuel Vadot clocks = <&clock HI3620_GPIOCLK14>; 440*f126890aSEmmanuel Vadot clock-names = "apb_pclk"; 441*f126890aSEmmanuel Vadot }; 442*f126890aSEmmanuel Vadot 443*f126890aSEmmanuel Vadot gpio15: gpio@815000 { 444*f126890aSEmmanuel Vadot compatible = "arm,pl061", "arm,primecell"; 445*f126890aSEmmanuel Vadot reg = <0x815000 0x1000>; 446*f126890aSEmmanuel Vadot interrupts = <0 79 0x4>; 447*f126890aSEmmanuel Vadot gpio-controller; 448*f126890aSEmmanuel Vadot #gpio-cells = <2>; 449*f126890aSEmmanuel Vadot gpio-ranges = < &pmx0 0 61 1 &pmx0 1 62 1 &pmx0 2 62 1 450*f126890aSEmmanuel Vadot &pmx0 3 63 1 &pmx0 4 63 1 &pmx0 5 64 1 451*f126890aSEmmanuel Vadot &pmx0 6 64 1 &pmx0 7 65 1>; 452*f126890aSEmmanuel Vadot interrupt-controller; 453*f126890aSEmmanuel Vadot #interrupt-cells = <2>; 454*f126890aSEmmanuel Vadot clocks = <&clock HI3620_GPIOCLK15>; 455*f126890aSEmmanuel Vadot clock-names = "apb_pclk"; 456*f126890aSEmmanuel Vadot }; 457*f126890aSEmmanuel Vadot 458*f126890aSEmmanuel Vadot gpio16: gpio@816000 { 459*f126890aSEmmanuel Vadot compatible = "arm,pl061", "arm,primecell"; 460*f126890aSEmmanuel Vadot reg = <0x816000 0x1000>; 461*f126890aSEmmanuel Vadot interrupts = <0 80 0x4>; 462*f126890aSEmmanuel Vadot gpio-controller; 463*f126890aSEmmanuel Vadot #gpio-cells = <2>; 464*f126890aSEmmanuel Vadot gpio-ranges = < &pmx0 0 66 1 &pmx0 1 67 1 &pmx0 2 68 1 465*f126890aSEmmanuel Vadot &pmx0 3 69 1 &pmx0 4 70 1 &pmx0 5 71 1 466*f126890aSEmmanuel Vadot &pmx0 6 72 1 &pmx0 7 73 1>; 467*f126890aSEmmanuel Vadot interrupt-controller; 468*f126890aSEmmanuel Vadot #interrupt-cells = <2>; 469*f126890aSEmmanuel Vadot clocks = <&clock HI3620_GPIOCLK16>; 470*f126890aSEmmanuel Vadot clock-names = "apb_pclk"; 471*f126890aSEmmanuel Vadot }; 472*f126890aSEmmanuel Vadot 473*f126890aSEmmanuel Vadot gpio17: gpio@817000 { 474*f126890aSEmmanuel Vadot compatible = "arm,pl061", "arm,primecell"; 475*f126890aSEmmanuel Vadot reg = <0x817000 0x1000>; 476*f126890aSEmmanuel Vadot interrupts = <0 81 0x4>; 477*f126890aSEmmanuel Vadot gpio-controller; 478*f126890aSEmmanuel Vadot #gpio-cells = <2>; 479*f126890aSEmmanuel Vadot gpio-ranges = < &pmx0 0 74 1 &pmx0 1 75 1 &pmx0 2 76 1 480*f126890aSEmmanuel Vadot &pmx0 3 77 1 &pmx0 4 78 1 &pmx0 5 79 1 481*f126890aSEmmanuel Vadot &pmx0 6 80 1 &pmx0 7 81 1>; 482*f126890aSEmmanuel Vadot interrupt-controller; 483*f126890aSEmmanuel Vadot #interrupt-cells = <2>; 484*f126890aSEmmanuel Vadot clocks = <&clock HI3620_GPIOCLK17>; 485*f126890aSEmmanuel Vadot clock-names = "apb_pclk"; 486*f126890aSEmmanuel Vadot }; 487*f126890aSEmmanuel Vadot 488*f126890aSEmmanuel Vadot gpio18: gpio@818000 { 489*f126890aSEmmanuel Vadot compatible = "arm,pl061", "arm,primecell"; 490*f126890aSEmmanuel Vadot reg = <0x818000 0x1000>; 491*f126890aSEmmanuel Vadot interrupts = <0 82 0x4>; 492*f126890aSEmmanuel Vadot gpio-controller; 493*f126890aSEmmanuel Vadot #gpio-cells = <2>; 494*f126890aSEmmanuel Vadot gpio-ranges = < &pmx0 0 82 1 &pmx0 1 83 1 &pmx0 2 83 1 495*f126890aSEmmanuel Vadot &pmx0 3 84 1 &pmx0 4 84 1 &pmx0 5 85 1 496*f126890aSEmmanuel Vadot &pmx0 6 86 1 &pmx0 7 87 1>; 497*f126890aSEmmanuel Vadot interrupt-controller; 498*f126890aSEmmanuel Vadot #interrupt-cells = <2>; 499*f126890aSEmmanuel Vadot clocks = <&clock HI3620_GPIOCLK18>; 500*f126890aSEmmanuel Vadot clock-names = "apb_pclk"; 501*f126890aSEmmanuel Vadot }; 502*f126890aSEmmanuel Vadot 503*f126890aSEmmanuel Vadot gpio19: gpio@819000 { 504*f126890aSEmmanuel Vadot compatible = "arm,pl061", "arm,primecell"; 505*f126890aSEmmanuel Vadot reg = <0x819000 0x1000>; 506*f126890aSEmmanuel Vadot interrupts = <0 83 0x4>; 507*f126890aSEmmanuel Vadot gpio-controller; 508*f126890aSEmmanuel Vadot #gpio-cells = <2>; 509*f126890aSEmmanuel Vadot gpio-ranges = < &pmx0 0 87 1 &pmx0 1 87 1 &pmx0 2 88 1 510*f126890aSEmmanuel Vadot &pmx0 3 88 1>; 511*f126890aSEmmanuel Vadot interrupt-controller; 512*f126890aSEmmanuel Vadot #interrupt-cells = <2>; 513*f126890aSEmmanuel Vadot clocks = <&clock HI3620_GPIOCLK19>; 514*f126890aSEmmanuel Vadot clock-names = "apb_pclk"; 515*f126890aSEmmanuel Vadot }; 516*f126890aSEmmanuel Vadot 517*f126890aSEmmanuel Vadot gpio20: gpio@81a000 { 518*f126890aSEmmanuel Vadot compatible = "arm,pl061", "arm,primecell"; 519*f126890aSEmmanuel Vadot reg = <0x81a000 0x1000>; 520*f126890aSEmmanuel Vadot interrupts = <0 84 0x4>; 521*f126890aSEmmanuel Vadot gpio-controller; 522*f126890aSEmmanuel Vadot #gpio-cells = <2>; 523*f126890aSEmmanuel Vadot gpio-ranges = < &pmx0 0 89 1 &pmx0 1 89 1 &pmx0 2 90 1 524*f126890aSEmmanuel Vadot &pmx0 3 90 1 &pmx0 4 91 1 &pmx0 5 92 1>; 525*f126890aSEmmanuel Vadot interrupt-controller; 526*f126890aSEmmanuel Vadot #interrupt-cells = <2>; 527*f126890aSEmmanuel Vadot clocks = <&clock HI3620_GPIOCLK20>; 528*f126890aSEmmanuel Vadot clock-names = "apb_pclk"; 529*f126890aSEmmanuel Vadot }; 530*f126890aSEmmanuel Vadot 531*f126890aSEmmanuel Vadot gpio21: gpio@81b000 { 532*f126890aSEmmanuel Vadot compatible = "arm,pl061", "arm,primecell"; 533*f126890aSEmmanuel Vadot reg = <0x81b000 0x1000>; 534*f126890aSEmmanuel Vadot interrupts = <0 85 0x4>; 535*f126890aSEmmanuel Vadot gpio-controller; 536*f126890aSEmmanuel Vadot #gpio-cells = <2>; 537*f126890aSEmmanuel Vadot gpio-ranges = < &pmx0 3 94 1 &pmx0 7 96 1>; 538*f126890aSEmmanuel Vadot interrupt-controller; 539*f126890aSEmmanuel Vadot #interrupt-cells = <2>; 540*f126890aSEmmanuel Vadot clocks = <&clock HI3620_GPIOCLK21>; 541*f126890aSEmmanuel Vadot clock-names = "apb_pclk"; 542*f126890aSEmmanuel Vadot }; 543*f126890aSEmmanuel Vadot 544*f126890aSEmmanuel Vadot pmx0: pinmux@803000 { 545*f126890aSEmmanuel Vadot compatible = "pinctrl-single"; 546*f126890aSEmmanuel Vadot reg = <0x803000 0x188>; 547*f126890aSEmmanuel Vadot #address-cells = <1>; 548*f126890aSEmmanuel Vadot #size-cells = <0>; 549*f126890aSEmmanuel Vadot #pinctrl-cells = <1>; 550*f126890aSEmmanuel Vadot #gpio-range-cells = <3>; 551*f126890aSEmmanuel Vadot 552*f126890aSEmmanuel Vadot pinctrl-single,register-width = <32>; 553*f126890aSEmmanuel Vadot pinctrl-single,function-mask = <7>; 554*f126890aSEmmanuel Vadot /* pin base, nr pins & gpio function */ 555*f126890aSEmmanuel Vadot pinctrl-single,gpio-range = <&range 0 3 0 &range 3 9 1 556*f126890aSEmmanuel Vadot &range 12 1 0 &range 13 29 1 557*f126890aSEmmanuel Vadot &range 43 1 0 &range 44 49 1 558*f126890aSEmmanuel Vadot &range 94 1 1 &range 96 2 1>; 559*f126890aSEmmanuel Vadot 560*f126890aSEmmanuel Vadot range: gpio-range { 561*f126890aSEmmanuel Vadot #pinctrl-single,gpio-range-cells = <3>; 562*f126890aSEmmanuel Vadot }; 563*f126890aSEmmanuel Vadot }; 564*f126890aSEmmanuel Vadot 565*f126890aSEmmanuel Vadot pmx1: pinmux@803800 { 566*f126890aSEmmanuel Vadot compatible = "pinconf-single"; 567*f126890aSEmmanuel Vadot reg = <0x803800 0x2dc>; 568*f126890aSEmmanuel Vadot #address-cells = <1>; 569*f126890aSEmmanuel Vadot #size-cells = <0>; 570*f126890aSEmmanuel Vadot #pinctrl-cells = <1>; 571*f126890aSEmmanuel Vadot 572*f126890aSEmmanuel Vadot pinctrl-single,register-width = <32>; 573*f126890aSEmmanuel Vadot }; 574*f126890aSEmmanuel Vadot }; 575*f126890aSEmmanuel Vadot}; 576