1*4882a593Smuzhiyun// SPDX-License-Identifier: GPL-2.0-only 2*4882a593Smuzhiyun/* 3*4882a593Smuzhiyun * Abilis Systems TB101 SOC device tree 4*4882a593Smuzhiyun * 5*4882a593Smuzhiyun * Copyright (C) Abilis Systems 2013 6*4882a593Smuzhiyun * 7*4882a593Smuzhiyun * Author: Christian Ruppert <christian.ruppert@abilis.com> 8*4882a593Smuzhiyun */ 9*4882a593Smuzhiyun 10*4882a593Smuzhiyun/include/ "abilis_tb10x.dtsi" 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun/ { 14*4882a593Smuzhiyun soc100 { 15*4882a593Smuzhiyun bus-frequency = <166666666>; 16*4882a593Smuzhiyun 17*4882a593Smuzhiyun pll0: oscillator { 18*4882a593Smuzhiyun clock-frequency = <1000000000>; 19*4882a593Smuzhiyun }; 20*4882a593Smuzhiyun cpu_clk: clkdiv_cpu { 21*4882a593Smuzhiyun clock-mult = <1>; 22*4882a593Smuzhiyun clock-div = <2>; 23*4882a593Smuzhiyun }; 24*4882a593Smuzhiyun ahb_clk: clkdiv_ahb { 25*4882a593Smuzhiyun clock-mult = <1>; 26*4882a593Smuzhiyun clock-div = <6>; 27*4882a593Smuzhiyun }; 28*4882a593Smuzhiyun 29*4882a593Smuzhiyun iomux: iomux@ff10601c { 30*4882a593Smuzhiyun /* Port 1 */ 31*4882a593Smuzhiyun pctl_tsin_s0: pctl-tsin-s0 { /* Serial TS-in 0 */ 32*4882a593Smuzhiyun abilis,function = "mis0"; 33*4882a593Smuzhiyun }; 34*4882a593Smuzhiyun pctl_tsin_s1: pctl-tsin-s1 { /* Serial TS-in 1 */ 35*4882a593Smuzhiyun abilis,function = "mis1"; 36*4882a593Smuzhiyun }; 37*4882a593Smuzhiyun pctl_gpio_a: pctl-gpio-a { /* GPIO bank A */ 38*4882a593Smuzhiyun abilis,function = "gpioa"; 39*4882a593Smuzhiyun }; 40*4882a593Smuzhiyun pctl_tsin_p1: pctl-tsin-p1 { /* Parallel TS-in 1 */ 41*4882a593Smuzhiyun abilis,function = "mip1"; 42*4882a593Smuzhiyun }; 43*4882a593Smuzhiyun /* Port 2 */ 44*4882a593Smuzhiyun pctl_tsin_s2: pctl-tsin-s2 { /* Serial TS-in 2 */ 45*4882a593Smuzhiyun abilis,function = "mis2"; 46*4882a593Smuzhiyun }; 47*4882a593Smuzhiyun pctl_tsin_s3: pctl-tsin-s3 { /* Serial TS-in 3 */ 48*4882a593Smuzhiyun abilis,function = "mis3"; 49*4882a593Smuzhiyun }; 50*4882a593Smuzhiyun pctl_gpio_c: pctl-gpio-c { /* GPIO bank C */ 51*4882a593Smuzhiyun abilis,function = "gpioc"; 52*4882a593Smuzhiyun }; 53*4882a593Smuzhiyun pctl_tsin_p3: pctl-tsin-p3 { /* Parallel TS-in 3 */ 54*4882a593Smuzhiyun abilis,function = "mip3"; 55*4882a593Smuzhiyun }; 56*4882a593Smuzhiyun /* Port 3 */ 57*4882a593Smuzhiyun pctl_tsin_s4: pctl-tsin-s4 { /* Serial TS-in 4 */ 58*4882a593Smuzhiyun abilis,function = "mis4"; 59*4882a593Smuzhiyun }; 60*4882a593Smuzhiyun pctl_tsin_s5: pctl-tsin-s5 { /* Serial TS-in 5 */ 61*4882a593Smuzhiyun abilis,function = "mis5"; 62*4882a593Smuzhiyun }; 63*4882a593Smuzhiyun pctl_gpio_e: pctl-gpio-e { /* GPIO bank E */ 64*4882a593Smuzhiyun abilis,function = "gpioe"; 65*4882a593Smuzhiyun }; 66*4882a593Smuzhiyun pctl_tsin_p5: pctl-tsin-p5 { /* Parallel TS-in 5 */ 67*4882a593Smuzhiyun abilis,function = "mip5"; 68*4882a593Smuzhiyun }; 69*4882a593Smuzhiyun /* Port 4 */ 70*4882a593Smuzhiyun pctl_tsin_s6: pctl-tsin-s6 { /* Serial TS-in 6 */ 71*4882a593Smuzhiyun abilis,function = "mis6"; 72*4882a593Smuzhiyun }; 73*4882a593Smuzhiyun pctl_tsin_s7: pctl-tsin-s7 { /* Serial TS-in 7 */ 74*4882a593Smuzhiyun abilis,function = "mis7"; 75*4882a593Smuzhiyun }; 76*4882a593Smuzhiyun pctl_gpio_g: pctl-gpio-g { /* GPIO bank G */ 77*4882a593Smuzhiyun abilis,function = "gpiog"; 78*4882a593Smuzhiyun }; 79*4882a593Smuzhiyun pctl_tsin_p7: pctl-tsin-p7 { /* Parallel TS-in 7 */ 80*4882a593Smuzhiyun abilis,function = "mip7"; 81*4882a593Smuzhiyun }; 82*4882a593Smuzhiyun /* Port 5 */ 83*4882a593Smuzhiyun pctl_gpio_j: pctl-gpio-j { /* GPIO bank J */ 84*4882a593Smuzhiyun abilis,function = "gpioj"; 85*4882a593Smuzhiyun }; 86*4882a593Smuzhiyun pctl_gpio_k: pctl-gpio-k { /* GPIO bank K */ 87*4882a593Smuzhiyun abilis,function = "gpiok"; 88*4882a593Smuzhiyun }; 89*4882a593Smuzhiyun pctl_ciplus: pctl-ciplus { /* CI+ interface */ 90*4882a593Smuzhiyun abilis,function = "ciplus"; 91*4882a593Smuzhiyun }; 92*4882a593Smuzhiyun pctl_mcard: pctl-mcard { /* M-Card interface */ 93*4882a593Smuzhiyun abilis,function = "mcard"; 94*4882a593Smuzhiyun }; 95*4882a593Smuzhiyun pctl_stc0: pctl-stc0 { /* Smart card I/F 0 */ 96*4882a593Smuzhiyun abilis,function = "stc0"; 97*4882a593Smuzhiyun }; 98*4882a593Smuzhiyun pctl_stc1: pctl-stc1 { /* Smart card I/F 1 */ 99*4882a593Smuzhiyun abilis,function = "stc1"; 100*4882a593Smuzhiyun }; 101*4882a593Smuzhiyun /* Port 6 */ 102*4882a593Smuzhiyun pctl_tsout_p: pctl-tsout-p { /* Parallel TS-out */ 103*4882a593Smuzhiyun abilis,function = "mop"; 104*4882a593Smuzhiyun }; 105*4882a593Smuzhiyun pctl_tsout_s0: pctl-tsout-s0 { /* Serial TS-out 0 */ 106*4882a593Smuzhiyun abilis,function = "mos0"; 107*4882a593Smuzhiyun }; 108*4882a593Smuzhiyun pctl_tsout_s1: pctl-tsout-s1 { /* Serial TS-out 1 */ 109*4882a593Smuzhiyun abilis,function = "mos1"; 110*4882a593Smuzhiyun }; 111*4882a593Smuzhiyun pctl_tsout_s2: pctl-tsout-s2 { /* Serial TS-out 2 */ 112*4882a593Smuzhiyun abilis,function = "mos2"; 113*4882a593Smuzhiyun }; 114*4882a593Smuzhiyun pctl_tsout_s3: pctl-tsout-s3 { /* Serial TS-out 3 */ 115*4882a593Smuzhiyun abilis,function = "mos3"; 116*4882a593Smuzhiyun }; 117*4882a593Smuzhiyun /* Port 7 */ 118*4882a593Smuzhiyun pctl_uart0: pctl-uart0 { /* UART 0 */ 119*4882a593Smuzhiyun abilis,function = "uart0"; 120*4882a593Smuzhiyun }; 121*4882a593Smuzhiyun pctl_uart1: pctl-uart1 { /* UART 1 */ 122*4882a593Smuzhiyun abilis,function = "uart1"; 123*4882a593Smuzhiyun }; 124*4882a593Smuzhiyun pctl_gpio_l: pctl-gpio-l { /* GPIO bank L */ 125*4882a593Smuzhiyun abilis,function = "gpiol"; 126*4882a593Smuzhiyun }; 127*4882a593Smuzhiyun pctl_gpio_m: pctl-gpio-m { /* GPIO bank M */ 128*4882a593Smuzhiyun abilis,function = "gpiom"; 129*4882a593Smuzhiyun }; 130*4882a593Smuzhiyun /* Port 8 */ 131*4882a593Smuzhiyun pctl_spi3: pctl-spi3 { 132*4882a593Smuzhiyun abilis,function = "spi3"; 133*4882a593Smuzhiyun }; 134*4882a593Smuzhiyun pctl_jtag: pctl-jtag { 135*4882a593Smuzhiyun abilis,function = "jtag"; 136*4882a593Smuzhiyun }; 137*4882a593Smuzhiyun /* Port 9 */ 138*4882a593Smuzhiyun pctl_spi1: pctl-spi1 { 139*4882a593Smuzhiyun abilis,function = "spi1"; 140*4882a593Smuzhiyun }; 141*4882a593Smuzhiyun pctl_gpio_n: pctl-gpio-n { 142*4882a593Smuzhiyun abilis,function = "gpion"; 143*4882a593Smuzhiyun }; 144*4882a593Smuzhiyun /* Unmuxed GPIOs */ 145*4882a593Smuzhiyun pctl_gpio_b: pctl-gpio-b { 146*4882a593Smuzhiyun abilis,function = "gpiob"; 147*4882a593Smuzhiyun }; 148*4882a593Smuzhiyun pctl_gpio_d: pctl-gpio-d { 149*4882a593Smuzhiyun abilis,function = "gpiod"; 150*4882a593Smuzhiyun }; 151*4882a593Smuzhiyun pctl_gpio_f: pctl-gpio-f { 152*4882a593Smuzhiyun abilis,function = "gpiof"; 153*4882a593Smuzhiyun }; 154*4882a593Smuzhiyun pctl_gpio_h: pctl-gpio-h { 155*4882a593Smuzhiyun abilis,function = "gpioh"; 156*4882a593Smuzhiyun }; 157*4882a593Smuzhiyun pctl_gpio_i: pctl-gpio-i { 158*4882a593Smuzhiyun abilis,function = "gpioi"; 159*4882a593Smuzhiyun }; 160*4882a593Smuzhiyun }; 161*4882a593Smuzhiyun 162*4882a593Smuzhiyun gpioa: gpio@ff140000 { 163*4882a593Smuzhiyun compatible = "abilis,tb10x-gpio"; 164*4882a593Smuzhiyun interrupt-controller; 165*4882a593Smuzhiyun #interrupt-cells = <1>; 166*4882a593Smuzhiyun interrupt-parent = <&tb10x_ictl>; 167*4882a593Smuzhiyun interrupts = <27 2>; 168*4882a593Smuzhiyun reg = <0xff140000 0x1000>; 169*4882a593Smuzhiyun gpio-controller; 170*4882a593Smuzhiyun #gpio-cells = <2>; 171*4882a593Smuzhiyun abilis,ngpio = <3>; 172*4882a593Smuzhiyun gpio-ranges = <&iomux 0 0 0>; 173*4882a593Smuzhiyun gpio-ranges-group-names = "gpioa"; 174*4882a593Smuzhiyun }; 175*4882a593Smuzhiyun gpiob: gpio@ff141000 { 176*4882a593Smuzhiyun compatible = "abilis,tb10x-gpio"; 177*4882a593Smuzhiyun interrupt-controller; 178*4882a593Smuzhiyun #interrupt-cells = <1>; 179*4882a593Smuzhiyun interrupt-parent = <&tb10x_ictl>; 180*4882a593Smuzhiyun interrupts = <27 2>; 181*4882a593Smuzhiyun reg = <0xff141000 0x1000>; 182*4882a593Smuzhiyun gpio-controller; 183*4882a593Smuzhiyun #gpio-cells = <2>; 184*4882a593Smuzhiyun abilis,ngpio = <2>; 185*4882a593Smuzhiyun gpio-ranges = <&iomux 0 0 0>; 186*4882a593Smuzhiyun gpio-ranges-group-names = "gpiob"; 187*4882a593Smuzhiyun }; 188*4882a593Smuzhiyun gpioc: gpio@ff142000 { 189*4882a593Smuzhiyun compatible = "abilis,tb10x-gpio"; 190*4882a593Smuzhiyun interrupt-controller; 191*4882a593Smuzhiyun #interrupt-cells = <1>; 192*4882a593Smuzhiyun interrupt-parent = <&tb10x_ictl>; 193*4882a593Smuzhiyun interrupts = <27 2>; 194*4882a593Smuzhiyun reg = <0xff142000 0x1000>; 195*4882a593Smuzhiyun gpio-controller; 196*4882a593Smuzhiyun #gpio-cells = <2>; 197*4882a593Smuzhiyun abilis,ngpio = <3>; 198*4882a593Smuzhiyun gpio-ranges = <&iomux 0 0 0>; 199*4882a593Smuzhiyun gpio-ranges-group-names = "gpioc"; 200*4882a593Smuzhiyun }; 201*4882a593Smuzhiyun gpiod: gpio@ff143000 { 202*4882a593Smuzhiyun compatible = "abilis,tb10x-gpio"; 203*4882a593Smuzhiyun interrupt-controller; 204*4882a593Smuzhiyun #interrupt-cells = <1>; 205*4882a593Smuzhiyun interrupt-parent = <&tb10x_ictl>; 206*4882a593Smuzhiyun interrupts = <27 2>; 207*4882a593Smuzhiyun reg = <0xff143000 0x1000>; 208*4882a593Smuzhiyun gpio-controller; 209*4882a593Smuzhiyun #gpio-cells = <2>; 210*4882a593Smuzhiyun abilis,ngpio = <2>; 211*4882a593Smuzhiyun gpio-ranges = <&iomux 0 0 0>; 212*4882a593Smuzhiyun gpio-ranges-group-names = "gpiod"; 213*4882a593Smuzhiyun }; 214*4882a593Smuzhiyun gpioe: gpio@ff144000 { 215*4882a593Smuzhiyun compatible = "abilis,tb10x-gpio"; 216*4882a593Smuzhiyun interrupt-controller; 217*4882a593Smuzhiyun #interrupt-cells = <1>; 218*4882a593Smuzhiyun interrupt-parent = <&tb10x_ictl>; 219*4882a593Smuzhiyun interrupts = <27 2>; 220*4882a593Smuzhiyun reg = <0xff144000 0x1000>; 221*4882a593Smuzhiyun gpio-controller; 222*4882a593Smuzhiyun #gpio-cells = <2>; 223*4882a593Smuzhiyun abilis,ngpio = <3>; 224*4882a593Smuzhiyun gpio-ranges = <&iomux 0 0 0>; 225*4882a593Smuzhiyun gpio-ranges-group-names = "gpioe"; 226*4882a593Smuzhiyun }; 227*4882a593Smuzhiyun gpiof: gpio@ff145000 { 228*4882a593Smuzhiyun compatible = "abilis,tb10x-gpio"; 229*4882a593Smuzhiyun interrupt-controller; 230*4882a593Smuzhiyun #interrupt-cells = <1>; 231*4882a593Smuzhiyun interrupt-parent = <&tb10x_ictl>; 232*4882a593Smuzhiyun interrupts = <27 2>; 233*4882a593Smuzhiyun reg = <0xff145000 0x1000>; 234*4882a593Smuzhiyun gpio-controller; 235*4882a593Smuzhiyun #gpio-cells = <2>; 236*4882a593Smuzhiyun abilis,ngpio = <2>; 237*4882a593Smuzhiyun gpio-ranges = <&iomux 0 0 0>; 238*4882a593Smuzhiyun gpio-ranges-group-names = "gpiof"; 239*4882a593Smuzhiyun }; 240*4882a593Smuzhiyun gpiog: gpio@ff146000 { 241*4882a593Smuzhiyun compatible = "abilis,tb10x-gpio"; 242*4882a593Smuzhiyun interrupt-controller; 243*4882a593Smuzhiyun #interrupt-cells = <1>; 244*4882a593Smuzhiyun interrupt-parent = <&tb10x_ictl>; 245*4882a593Smuzhiyun interrupts = <27 2>; 246*4882a593Smuzhiyun reg = <0xff146000 0x1000>; 247*4882a593Smuzhiyun gpio-controller; 248*4882a593Smuzhiyun #gpio-cells = <2>; 249*4882a593Smuzhiyun abilis,ngpio = <3>; 250*4882a593Smuzhiyun gpio-ranges = <&iomux 0 0 0>; 251*4882a593Smuzhiyun gpio-ranges-group-names = "gpiog"; 252*4882a593Smuzhiyun }; 253*4882a593Smuzhiyun gpioh: gpio@ff147000 { 254*4882a593Smuzhiyun compatible = "abilis,tb10x-gpio"; 255*4882a593Smuzhiyun interrupt-controller; 256*4882a593Smuzhiyun #interrupt-cells = <1>; 257*4882a593Smuzhiyun interrupt-parent = <&tb10x_ictl>; 258*4882a593Smuzhiyun interrupts = <27 2>; 259*4882a593Smuzhiyun reg = <0xff147000 0x1000>; 260*4882a593Smuzhiyun gpio-controller; 261*4882a593Smuzhiyun #gpio-cells = <2>; 262*4882a593Smuzhiyun abilis,ngpio = <2>; 263*4882a593Smuzhiyun gpio-ranges = <&iomux 0 0 0>; 264*4882a593Smuzhiyun gpio-ranges-group-names = "gpioh"; 265*4882a593Smuzhiyun }; 266*4882a593Smuzhiyun gpioi: gpio@ff148000 { 267*4882a593Smuzhiyun compatible = "abilis,tb10x-gpio"; 268*4882a593Smuzhiyun interrupt-controller; 269*4882a593Smuzhiyun #interrupt-cells = <1>; 270*4882a593Smuzhiyun interrupt-parent = <&tb10x_ictl>; 271*4882a593Smuzhiyun interrupts = <27 2>; 272*4882a593Smuzhiyun reg = <0xff148000 0x1000>; 273*4882a593Smuzhiyun gpio-controller; 274*4882a593Smuzhiyun #gpio-cells = <2>; 275*4882a593Smuzhiyun abilis,ngpio = <12>; 276*4882a593Smuzhiyun gpio-ranges = <&iomux 0 0 0>; 277*4882a593Smuzhiyun gpio-ranges-group-names = "gpioi"; 278*4882a593Smuzhiyun }; 279*4882a593Smuzhiyun gpioj: gpio@ff149000 { 280*4882a593Smuzhiyun compatible = "abilis,tb10x-gpio"; 281*4882a593Smuzhiyun interrupt-controller; 282*4882a593Smuzhiyun #interrupt-cells = <1>; 283*4882a593Smuzhiyun interrupt-parent = <&tb10x_ictl>; 284*4882a593Smuzhiyun interrupts = <27 2>; 285*4882a593Smuzhiyun reg = <0xff149000 0x1000>; 286*4882a593Smuzhiyun gpio-controller; 287*4882a593Smuzhiyun #gpio-cells = <2>; 288*4882a593Smuzhiyun abilis,ngpio = <32>; 289*4882a593Smuzhiyun gpio-ranges = <&iomux 0 0 0>; 290*4882a593Smuzhiyun gpio-ranges-group-names = "gpioj"; 291*4882a593Smuzhiyun }; 292*4882a593Smuzhiyun gpiok: gpio@ff14a000 { 293*4882a593Smuzhiyun compatible = "abilis,tb10x-gpio"; 294*4882a593Smuzhiyun interrupt-controller; 295*4882a593Smuzhiyun #interrupt-cells = <1>; 296*4882a593Smuzhiyun interrupt-parent = <&tb10x_ictl>; 297*4882a593Smuzhiyun interrupts = <27 2>; 298*4882a593Smuzhiyun reg = <0xff14a000 0x1000>; 299*4882a593Smuzhiyun gpio-controller; 300*4882a593Smuzhiyun #gpio-cells = <2>; 301*4882a593Smuzhiyun abilis,ngpio = <22>; 302*4882a593Smuzhiyun gpio-ranges = <&iomux 0 0 0>; 303*4882a593Smuzhiyun gpio-ranges-group-names = "gpiok"; 304*4882a593Smuzhiyun }; 305*4882a593Smuzhiyun gpiol: gpio@ff14b000 { 306*4882a593Smuzhiyun compatible = "abilis,tb10x-gpio"; 307*4882a593Smuzhiyun interrupt-controller; 308*4882a593Smuzhiyun #interrupt-cells = <1>; 309*4882a593Smuzhiyun interrupt-parent = <&tb10x_ictl>; 310*4882a593Smuzhiyun interrupts = <27 2>; 311*4882a593Smuzhiyun reg = <0xff14b000 0x1000>; 312*4882a593Smuzhiyun gpio-controller; 313*4882a593Smuzhiyun #gpio-cells = <2>; 314*4882a593Smuzhiyun abilis,ngpio = <4>; 315*4882a593Smuzhiyun gpio-ranges = <&iomux 0 0 0>; 316*4882a593Smuzhiyun gpio-ranges-group-names = "gpiol"; 317*4882a593Smuzhiyun }; 318*4882a593Smuzhiyun gpiom: gpio@ff14c000 { 319*4882a593Smuzhiyun compatible = "abilis,tb10x-gpio"; 320*4882a593Smuzhiyun interrupt-controller; 321*4882a593Smuzhiyun #interrupt-cells = <1>; 322*4882a593Smuzhiyun interrupt-parent = <&tb10x_ictl>; 323*4882a593Smuzhiyun interrupts = <27 2>; 324*4882a593Smuzhiyun reg = <0xff14c000 0x1000>; 325*4882a593Smuzhiyun gpio-controller; 326*4882a593Smuzhiyun #gpio-cells = <2>; 327*4882a593Smuzhiyun abilis,ngpio = <4>; 328*4882a593Smuzhiyun gpio-ranges = <&iomux 0 0 0>; 329*4882a593Smuzhiyun gpio-ranges-group-names = "gpiom"; 330*4882a593Smuzhiyun }; 331*4882a593Smuzhiyun gpion: gpio@ff14d000 { 332*4882a593Smuzhiyun compatible = "abilis,tb10x-gpio"; 333*4882a593Smuzhiyun interrupt-controller; 334*4882a593Smuzhiyun #interrupt-cells = <1>; 335*4882a593Smuzhiyun interrupt-parent = <&tb10x_ictl>; 336*4882a593Smuzhiyun interrupts = <27 2>; 337*4882a593Smuzhiyun reg = <0xff14d000 0x1000>; 338*4882a593Smuzhiyun gpio-controller; 339*4882a593Smuzhiyun #gpio-cells = <2>; 340*4882a593Smuzhiyun abilis,ngpio = <5>; 341*4882a593Smuzhiyun gpio-ranges = <&iomux 0 0 0>; 342*4882a593Smuzhiyun gpio-ranges-group-names = "gpion"; 343*4882a593Smuzhiyun }; 344*4882a593Smuzhiyun }; 345*4882a593Smuzhiyun}; 346