0001 // SPDX-License-Identifier: GPL-2.0-only
0002 /*
0003 * Abilis Systems TB101 SOC device tree
0004 *
0005 * Copyright (C) Abilis Systems 2013
0006 *
0007 * Author: Christian Ruppert <christian.ruppert@abilis.com>
0008 */
0009
0010 /include/ "abilis_tb10x.dtsi"
0011
0012
0013 / {
0014 soc100 {
0015 bus-frequency = <166666666>;
0016
0017 pll0: oscillator {
0018 clock-frequency = <1000000000>;
0019 };
0020 cpu_clk: clkdiv_cpu {
0021 clock-mult = <1>;
0022 clock-div = <2>;
0023 };
0024 ahb_clk: clkdiv_ahb {
0025 clock-mult = <1>;
0026 clock-div = <6>;
0027 };
0028
0029 iomux: iomux@ff10601c {
0030 /* Port 1 */
0031 pctl_tsin_s0: pctl-tsin-s0 { /* Serial TS-in 0 */
0032 abilis,function = "mis0";
0033 };
0034 pctl_tsin_s1: pctl-tsin-s1 { /* Serial TS-in 1 */
0035 abilis,function = "mis1";
0036 };
0037 pctl_gpio_a: pctl-gpio-a { /* GPIO bank A */
0038 abilis,function = "gpioa";
0039 };
0040 pctl_tsin_p1: pctl-tsin-p1 { /* Parallel TS-in 1 */
0041 abilis,function = "mip1";
0042 };
0043 /* Port 2 */
0044 pctl_tsin_s2: pctl-tsin-s2 { /* Serial TS-in 2 */
0045 abilis,function = "mis2";
0046 };
0047 pctl_tsin_s3: pctl-tsin-s3 { /* Serial TS-in 3 */
0048 abilis,function = "mis3";
0049 };
0050 pctl_gpio_c: pctl-gpio-c { /* GPIO bank C */
0051 abilis,function = "gpioc";
0052 };
0053 pctl_tsin_p3: pctl-tsin-p3 { /* Parallel TS-in 3 */
0054 abilis,function = "mip3";
0055 };
0056 /* Port 3 */
0057 pctl_tsin_s4: pctl-tsin-s4 { /* Serial TS-in 4 */
0058 abilis,function = "mis4";
0059 };
0060 pctl_tsin_s5: pctl-tsin-s5 { /* Serial TS-in 5 */
0061 abilis,function = "mis5";
0062 };
0063 pctl_gpio_e: pctl-gpio-e { /* GPIO bank E */
0064 abilis,function = "gpioe";
0065 };
0066 pctl_tsin_p5: pctl-tsin-p5 { /* Parallel TS-in 5 */
0067 abilis,function = "mip5";
0068 };
0069 /* Port 4 */
0070 pctl_tsin_s6: pctl-tsin-s6 { /* Serial TS-in 6 */
0071 abilis,function = "mis6";
0072 };
0073 pctl_tsin_s7: pctl-tsin-s7 { /* Serial TS-in 7 */
0074 abilis,function = "mis7";
0075 };
0076 pctl_gpio_g: pctl-gpio-g { /* GPIO bank G */
0077 abilis,function = "gpiog";
0078 };
0079 pctl_tsin_p7: pctl-tsin-p7 { /* Parallel TS-in 7 */
0080 abilis,function = "mip7";
0081 };
0082 /* Port 5 */
0083 pctl_gpio_j: pctl-gpio-j { /* GPIO bank J */
0084 abilis,function = "gpioj";
0085 };
0086 pctl_gpio_k: pctl-gpio-k { /* GPIO bank K */
0087 abilis,function = "gpiok";
0088 };
0089 pctl_ciplus: pctl-ciplus { /* CI+ interface */
0090 abilis,function = "ciplus";
0091 };
0092 pctl_mcard: pctl-mcard { /* M-Card interface */
0093 abilis,function = "mcard";
0094 };
0095 pctl_stc0: pctl-stc0 { /* Smart card I/F 0 */
0096 abilis,function = "stc0";
0097 };
0098 pctl_stc1: pctl-stc1 { /* Smart card I/F 1 */
0099 abilis,function = "stc1";
0100 };
0101 /* Port 6 */
0102 pctl_tsout_p: pctl-tsout-p { /* Parallel TS-out */
0103 abilis,function = "mop";
0104 };
0105 pctl_tsout_s0: pctl-tsout-s0 { /* Serial TS-out 0 */
0106 abilis,function = "mos0";
0107 };
0108 pctl_tsout_s1: pctl-tsout-s1 { /* Serial TS-out 1 */
0109 abilis,function = "mos1";
0110 };
0111 pctl_tsout_s2: pctl-tsout-s2 { /* Serial TS-out 2 */
0112 abilis,function = "mos2";
0113 };
0114 pctl_tsout_s3: pctl-tsout-s3 { /* Serial TS-out 3 */
0115 abilis,function = "mos3";
0116 };
0117 /* Port 7 */
0118 pctl_uart0: pctl-uart0 { /* UART 0 */
0119 abilis,function = "uart0";
0120 };
0121 pctl_uart1: pctl-uart1 { /* UART 1 */
0122 abilis,function = "uart1";
0123 };
0124 pctl_gpio_l: pctl-gpio-l { /* GPIO bank L */
0125 abilis,function = "gpiol";
0126 };
0127 pctl_gpio_m: pctl-gpio-m { /* GPIO bank M */
0128 abilis,function = "gpiom";
0129 };
0130 /* Port 8 */
0131 pctl_spi3: pctl-spi3 {
0132 abilis,function = "spi3";
0133 };
0134 pctl_jtag: pctl-jtag {
0135 abilis,function = "jtag";
0136 };
0137 /* Port 9 */
0138 pctl_spi1: pctl-spi1 {
0139 abilis,function = "spi1";
0140 };
0141 pctl_gpio_n: pctl-gpio-n {
0142 abilis,function = "gpion";
0143 };
0144 /* Unmuxed GPIOs */
0145 pctl_gpio_b: pctl-gpio-b {
0146 abilis,function = "gpiob";
0147 };
0148 pctl_gpio_d: pctl-gpio-d {
0149 abilis,function = "gpiod";
0150 };
0151 pctl_gpio_f: pctl-gpio-f {
0152 abilis,function = "gpiof";
0153 };
0154 pctl_gpio_h: pctl-gpio-h {
0155 abilis,function = "gpioh";
0156 };
0157 pctl_gpio_i: pctl-gpio-i {
0158 abilis,function = "gpioi";
0159 };
0160 };
0161
0162 gpioa: gpio@ff140000 {
0163 compatible = "abilis,tb10x-gpio";
0164 interrupt-controller;
0165 #interrupt-cells = <1>;
0166 interrupt-parent = <&tb10x_ictl>;
0167 interrupts = <27 2>;
0168 reg = <0xff140000 0x1000>;
0169 gpio-controller;
0170 #gpio-cells = <2>;
0171 abilis,ngpio = <3>;
0172 gpio-ranges = <&iomux 0 0 0>;
0173 gpio-ranges-group-names = "gpioa";
0174 };
0175 gpiob: gpio@ff141000 {
0176 compatible = "abilis,tb10x-gpio";
0177 interrupt-controller;
0178 #interrupt-cells = <1>;
0179 interrupt-parent = <&tb10x_ictl>;
0180 interrupts = <27 2>;
0181 reg = <0xff141000 0x1000>;
0182 gpio-controller;
0183 #gpio-cells = <2>;
0184 abilis,ngpio = <2>;
0185 gpio-ranges = <&iomux 0 0 0>;
0186 gpio-ranges-group-names = "gpiob";
0187 };
0188 gpioc: gpio@ff142000 {
0189 compatible = "abilis,tb10x-gpio";
0190 interrupt-controller;
0191 #interrupt-cells = <1>;
0192 interrupt-parent = <&tb10x_ictl>;
0193 interrupts = <27 2>;
0194 reg = <0xff142000 0x1000>;
0195 gpio-controller;
0196 #gpio-cells = <2>;
0197 abilis,ngpio = <3>;
0198 gpio-ranges = <&iomux 0 0 0>;
0199 gpio-ranges-group-names = "gpioc";
0200 };
0201 gpiod: gpio@ff143000 {
0202 compatible = "abilis,tb10x-gpio";
0203 interrupt-controller;
0204 #interrupt-cells = <1>;
0205 interrupt-parent = <&tb10x_ictl>;
0206 interrupts = <27 2>;
0207 reg = <0xff143000 0x1000>;
0208 gpio-controller;
0209 #gpio-cells = <2>;
0210 abilis,ngpio = <2>;
0211 gpio-ranges = <&iomux 0 0 0>;
0212 gpio-ranges-group-names = "gpiod";
0213 };
0214 gpioe: gpio@ff144000 {
0215 compatible = "abilis,tb10x-gpio";
0216 interrupt-controller;
0217 #interrupt-cells = <1>;
0218 interrupt-parent = <&tb10x_ictl>;
0219 interrupts = <27 2>;
0220 reg = <0xff144000 0x1000>;
0221 gpio-controller;
0222 #gpio-cells = <2>;
0223 abilis,ngpio = <3>;
0224 gpio-ranges = <&iomux 0 0 0>;
0225 gpio-ranges-group-names = "gpioe";
0226 };
0227 gpiof: gpio@ff145000 {
0228 compatible = "abilis,tb10x-gpio";
0229 interrupt-controller;
0230 #interrupt-cells = <1>;
0231 interrupt-parent = <&tb10x_ictl>;
0232 interrupts = <27 2>;
0233 reg = <0xff145000 0x1000>;
0234 gpio-controller;
0235 #gpio-cells = <2>;
0236 abilis,ngpio = <2>;
0237 gpio-ranges = <&iomux 0 0 0>;
0238 gpio-ranges-group-names = "gpiof";
0239 };
0240 gpiog: gpio@ff146000 {
0241 compatible = "abilis,tb10x-gpio";
0242 interrupt-controller;
0243 #interrupt-cells = <1>;
0244 interrupt-parent = <&tb10x_ictl>;
0245 interrupts = <27 2>;
0246 reg = <0xff146000 0x1000>;
0247 gpio-controller;
0248 #gpio-cells = <2>;
0249 abilis,ngpio = <3>;
0250 gpio-ranges = <&iomux 0 0 0>;
0251 gpio-ranges-group-names = "gpiog";
0252 };
0253 gpioh: gpio@ff147000 {
0254 compatible = "abilis,tb10x-gpio";
0255 interrupt-controller;
0256 #interrupt-cells = <1>;
0257 interrupt-parent = <&tb10x_ictl>;
0258 interrupts = <27 2>;
0259 reg = <0xff147000 0x1000>;
0260 gpio-controller;
0261 #gpio-cells = <2>;
0262 abilis,ngpio = <2>;
0263 gpio-ranges = <&iomux 0 0 0>;
0264 gpio-ranges-group-names = "gpioh";
0265 };
0266 gpioi: gpio@ff148000 {
0267 compatible = "abilis,tb10x-gpio";
0268 interrupt-controller;
0269 #interrupt-cells = <1>;
0270 interrupt-parent = <&tb10x_ictl>;
0271 interrupts = <27 2>;
0272 reg = <0xff148000 0x1000>;
0273 gpio-controller;
0274 #gpio-cells = <2>;
0275 abilis,ngpio = <12>;
0276 gpio-ranges = <&iomux 0 0 0>;
0277 gpio-ranges-group-names = "gpioi";
0278 };
0279 gpioj: gpio@ff149000 {
0280 compatible = "abilis,tb10x-gpio";
0281 interrupt-controller;
0282 #interrupt-cells = <1>;
0283 interrupt-parent = <&tb10x_ictl>;
0284 interrupts = <27 2>;
0285 reg = <0xff149000 0x1000>;
0286 gpio-controller;
0287 #gpio-cells = <2>;
0288 abilis,ngpio = <32>;
0289 gpio-ranges = <&iomux 0 0 0>;
0290 gpio-ranges-group-names = "gpioj";
0291 };
0292 gpiok: gpio@ff14a000 {
0293 compatible = "abilis,tb10x-gpio";
0294 interrupt-controller;
0295 #interrupt-cells = <1>;
0296 interrupt-parent = <&tb10x_ictl>;
0297 interrupts = <27 2>;
0298 reg = <0xff14a000 0x1000>;
0299 gpio-controller;
0300 #gpio-cells = <2>;
0301 abilis,ngpio = <22>;
0302 gpio-ranges = <&iomux 0 0 0>;
0303 gpio-ranges-group-names = "gpiok";
0304 };
0305 gpiol: gpio@ff14b000 {
0306 compatible = "abilis,tb10x-gpio";
0307 interrupt-controller;
0308 #interrupt-cells = <1>;
0309 interrupt-parent = <&tb10x_ictl>;
0310 interrupts = <27 2>;
0311 reg = <0xff14b000 0x1000>;
0312 gpio-controller;
0313 #gpio-cells = <2>;
0314 abilis,ngpio = <4>;
0315 gpio-ranges = <&iomux 0 0 0>;
0316 gpio-ranges-group-names = "gpiol";
0317 };
0318 gpiom: gpio@ff14c000 {
0319 compatible = "abilis,tb10x-gpio";
0320 interrupt-controller;
0321 #interrupt-cells = <1>;
0322 interrupt-parent = <&tb10x_ictl>;
0323 interrupts = <27 2>;
0324 reg = <0xff14c000 0x1000>;
0325 gpio-controller;
0326 #gpio-cells = <2>;
0327 abilis,ngpio = <4>;
0328 gpio-ranges = <&iomux 0 0 0>;
0329 gpio-ranges-group-names = "gpiom";
0330 };
0331 gpion: gpio@ff14d000 {
0332 compatible = "abilis,tb10x-gpio";
0333 interrupt-controller;
0334 #interrupt-cells = <1>;
0335 interrupt-parent = <&tb10x_ictl>;
0336 interrupts = <27 2>;
0337 reg = <0xff14d000 0x1000>;
0338 gpio-controller;
0339 #gpio-cells = <2>;
0340 abilis,ngpio = <5>;
0341 gpio-ranges = <&iomux 0 0 0>;
0342 gpio-ranges-group-names = "gpion";
0343 };
0344 };
0345 };