0001 // SPDX-License-Identifier: GPL-2.0-only
0002 /*
0003 * Abilis Systems TB100 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 /* Port 6 */
0096 pctl_tsout_p: pctl-tsout-p { /* Parallel TS-out */
0097 abilis,function = "mop";
0098 };
0099 pctl_tsout_s0: pctl-tsout-s0 { /* Serial TS-out 0 */
0100 abilis,function = "mos0";
0101 };
0102 pctl_tsout_s1: pctl-tsout-s1 { /* Serial TS-out 1 */
0103 abilis,function = "mos1";
0104 };
0105 pctl_tsout_s2: pctl-tsout-s2 { /* Serial TS-out 2 */
0106 abilis,function = "mos2";
0107 };
0108 pctl_tsout_s3: pctl-tsout-s3 { /* Serial TS-out 3 */
0109 abilis,function = "mos3";
0110 };
0111 /* Port 7 */
0112 pctl_uart0: pctl-uart0 { /* UART 0 */
0113 abilis,function = "uart0";
0114 };
0115 pctl_uart1: pctl-uart1 { /* UART 1 */
0116 abilis,function = "uart1";
0117 };
0118 pctl_gpio_l: pctl-gpio-l { /* GPIO bank L */
0119 abilis,function = "gpiol";
0120 };
0121 pctl_gpio_m: pctl-gpio-m { /* GPIO bank M */
0122 abilis,function = "gpiom";
0123 };
0124 /* Port 8 */
0125 pctl_spi3: pctl-spi3 {
0126 abilis,function = "spi3";
0127 };
0128 /* Port 9 */
0129 pctl_spi1: pctl-spi1 {
0130 abilis,function = "spi1";
0131 };
0132 pctl_gpio_n: pctl-gpio-n {
0133 abilis,function = "gpion";
0134 };
0135 /* Unmuxed GPIOs */
0136 pctl_gpio_b: pctl-gpio-b {
0137 abilis,function = "gpiob";
0138 };
0139 pctl_gpio_d: pctl-gpio-d {
0140 abilis,function = "gpiod";
0141 };
0142 pctl_gpio_f: pctl-gpio-f {
0143 abilis,function = "gpiof";
0144 };
0145 pctl_gpio_h: pctl-gpio-h {
0146 abilis,function = "gpioh";
0147 };
0148 pctl_gpio_i: pctl-gpio-i {
0149 abilis,function = "gpioi";
0150 };
0151 };
0152
0153 gpioa: gpio@ff140000 {
0154 compatible = "abilis,tb10x-gpio";
0155 interrupt-controller;
0156 #interrupt-cells = <1>;
0157 interrupt-parent = <&tb10x_ictl>;
0158 interrupts = <27 2>;
0159 reg = <0xff140000 0x1000>;
0160 gpio-controller;
0161 #gpio-cells = <2>;
0162 abilis,ngpio = <3>;
0163 gpio-ranges = <&iomux 0 0 0>;
0164 gpio-ranges-group-names = "gpioa";
0165 };
0166 gpiob: gpio@ff141000 {
0167 compatible = "abilis,tb10x-gpio";
0168 interrupt-controller;
0169 #interrupt-cells = <1>;
0170 interrupt-parent = <&tb10x_ictl>;
0171 interrupts = <27 2>;
0172 reg = <0xff141000 0x1000>;
0173 gpio-controller;
0174 #gpio-cells = <2>;
0175 abilis,ngpio = <2>;
0176 gpio-ranges = <&iomux 0 0 0>;
0177 gpio-ranges-group-names = "gpiob";
0178 };
0179 gpioc: gpio@ff142000 {
0180 compatible = "abilis,tb10x-gpio";
0181 interrupt-controller;
0182 #interrupt-cells = <1>;
0183 interrupt-parent = <&tb10x_ictl>;
0184 interrupts = <27 2>;
0185 reg = <0xff142000 0x1000>;
0186 gpio-controller;
0187 #gpio-cells = <2>;
0188 abilis,ngpio = <3>;
0189 gpio-ranges = <&iomux 0 0 0>;
0190 gpio-ranges-group-names = "gpioc";
0191 };
0192 gpiod: gpio@ff143000 {
0193 compatible = "abilis,tb10x-gpio";
0194 interrupt-controller;
0195 #interrupt-cells = <1>;
0196 interrupt-parent = <&tb10x_ictl>;
0197 interrupts = <27 2>;
0198 reg = <0xff143000 0x1000>;
0199 gpio-controller;
0200 #gpio-cells = <2>;
0201 abilis,ngpio = <2>;
0202 gpio-ranges = <&iomux 0 0 0>;
0203 gpio-ranges-group-names = "gpiod";
0204 };
0205 gpioe: gpio@ff144000 {
0206 compatible = "abilis,tb10x-gpio";
0207 interrupt-controller;
0208 #interrupt-cells = <1>;
0209 interrupt-parent = <&tb10x_ictl>;
0210 interrupts = <27 2>;
0211 reg = <0xff144000 0x1000>;
0212 gpio-controller;
0213 #gpio-cells = <2>;
0214 abilis,ngpio = <3>;
0215 gpio-ranges = <&iomux 0 0 0>;
0216 gpio-ranges-group-names = "gpioe";
0217 };
0218 gpiof: gpio@ff145000 {
0219 compatible = "abilis,tb10x-gpio";
0220 interrupt-controller;
0221 #interrupt-cells = <1>;
0222 interrupt-parent = <&tb10x_ictl>;
0223 interrupts = <27 2>;
0224 reg = <0xff145000 0x1000>;
0225 gpio-controller;
0226 #gpio-cells = <2>;
0227 abilis,ngpio = <2>;
0228 gpio-ranges = <&iomux 0 0 0>;
0229 gpio-ranges-group-names = "gpiof";
0230 };
0231 gpiog: gpio@ff146000 {
0232 compatible = "abilis,tb10x-gpio";
0233 interrupt-controller;
0234 #interrupt-cells = <1>;
0235 interrupt-parent = <&tb10x_ictl>;
0236 interrupts = <27 2>;
0237 reg = <0xff146000 0x1000>;
0238 gpio-controller;
0239 #gpio-cells = <2>;
0240 abilis,ngpio = <3>;
0241 gpio-ranges = <&iomux 0 0 0>;
0242 gpio-ranges-group-names = "gpiog";
0243 };
0244 gpioh: gpio@ff147000 {
0245 compatible = "abilis,tb10x-gpio";
0246 interrupt-controller;
0247 #interrupt-cells = <1>;
0248 interrupt-parent = <&tb10x_ictl>;
0249 interrupts = <27 2>;
0250 reg = <0xff147000 0x1000>;
0251 gpio-controller;
0252 #gpio-cells = <2>;
0253 abilis,ngpio = <2>;
0254 gpio-ranges = <&iomux 0 0 0>;
0255 gpio-ranges-group-names = "gpioh";
0256 };
0257 gpioi: gpio@ff148000 {
0258 compatible = "abilis,tb10x-gpio";
0259 interrupt-controller;
0260 #interrupt-cells = <1>;
0261 interrupt-parent = <&tb10x_ictl>;
0262 interrupts = <27 2>;
0263 reg = <0xff148000 0x1000>;
0264 gpio-controller;
0265 #gpio-cells = <2>;
0266 abilis,ngpio = <12>;
0267 gpio-ranges = <&iomux 0 0 0>;
0268 gpio-ranges-group-names = "gpioi";
0269 };
0270 gpioj: gpio@ff149000 {
0271 compatible = "abilis,tb10x-gpio";
0272 interrupt-controller;
0273 #interrupt-cells = <1>;
0274 interrupt-parent = <&tb10x_ictl>;
0275 interrupts = <27 2>;
0276 reg = <0xff149000 0x1000>;
0277 gpio-controller;
0278 #gpio-cells = <2>;
0279 abilis,ngpio = <32>;
0280 gpio-ranges = <&iomux 0 0 0>;
0281 gpio-ranges-group-names = "gpioj";
0282 };
0283 gpiok: gpio@ff14a000 {
0284 compatible = "abilis,tb10x-gpio";
0285 interrupt-controller;
0286 #interrupt-cells = <1>;
0287 interrupt-parent = <&tb10x_ictl>;
0288 interrupts = <27 2>;
0289 reg = <0xff14a000 0x1000>;
0290 gpio-controller;
0291 #gpio-cells = <2>;
0292 abilis,ngpio = <22>;
0293 gpio-ranges = <&iomux 0 0 0>;
0294 gpio-ranges-group-names = "gpiok";
0295 };
0296 gpiol: gpio@ff14b000 {
0297 compatible = "abilis,tb10x-gpio";
0298 interrupt-controller;
0299 #interrupt-cells = <1>;
0300 interrupt-parent = <&tb10x_ictl>;
0301 interrupts = <27 2>;
0302 reg = <0xff14b000 0x1000>;
0303 gpio-controller;
0304 #gpio-cells = <2>;
0305 abilis,ngpio = <4>;
0306 gpio-ranges = <&iomux 0 0 0>;
0307 gpio-ranges-group-names = "gpiol";
0308 };
0309 gpiom: gpio@ff14c000 {
0310 compatible = "abilis,tb10x-gpio";
0311 interrupt-controller;
0312 #interrupt-cells = <1>;
0313 interrupt-parent = <&tb10x_ictl>;
0314 interrupts = <27 2>;
0315 reg = <0xff14c000 0x1000>;
0316 gpio-controller;
0317 #gpio-cells = <2>;
0318 abilis,ngpio = <4>;
0319 gpio-ranges = <&iomux 0 0 0>;
0320 gpio-ranges-group-names = "gpiom";
0321 };
0322 gpion: gpio@ff14d000 {
0323 compatible = "abilis,tb10x-gpio";
0324 interrupt-controller;
0325 #interrupt-cells = <1>;
0326 interrupt-parent = <&tb10x_ictl>;
0327 interrupts = <27 2>;
0328 reg = <0xff14d000 0x1000>;
0329 gpio-controller;
0330 #gpio-cells = <2>;
0331 abilis,ngpio = <5>;
0332 gpio-ranges = <&iomux 0 0 0>;
0333 gpio-ranges-group-names = "gpion";
0334 };
0335 };
0336 };