Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
0002 // Copyright 2021 Jonathan Neuschäfer
0003 
0004 #include <dt-bindings/interrupt-controller/irq.h>
0005 
0006 / {
0007         compatible = "nuvoton,wpcm450";
0008         #address-cells = <1>;
0009         #size-cells = <1>;
0010 
0011         aliases {
0012                 gpio0 = &gpio0;
0013                 gpio1 = &gpio1;
0014                 gpio2 = &gpio2;
0015                 gpio3 = &gpio3;
0016                 gpio4 = &gpio4;
0017                 gpio5 = &gpio5;
0018                 gpio6 = &gpio6;
0019                 gpio7 = &gpio7;
0020         };
0021 
0022         cpus {
0023                 #address-cells = <1>;
0024                 #size-cells = <0>;
0025 
0026                 cpu@0 {
0027                         compatible = "arm,arm926ej-s";
0028                         device_type = "cpu";
0029                         reg = <0>;
0030                 };
0031         };
0032 
0033         clk24m: clock-24mhz {
0034                 /* 24 MHz dummy clock */
0035                 compatible = "fixed-clock";
0036                 clock-frequency = <24000000>;
0037                 #clock-cells = <0>;
0038         };
0039 
0040         soc {
0041                 compatible = "simple-bus";
0042                 #address-cells = <1>;
0043                 #size-cells = <1>;
0044                 interrupt-parent = <&aic>;
0045                 ranges;
0046 
0047                 gcr: syscon@b0000000 {
0048                         compatible = "nuvoton,wpcm450-gcr", "syscon", "simple-mfd";
0049                         reg = <0xb0000000 0x200>;
0050                 };
0051 
0052                 serial0: serial@b8000000 {
0053                         compatible = "nuvoton,wpcm450-uart";
0054                         reg = <0xb8000000 0x20>;
0055                         reg-shift = <2>;
0056                         interrupts = <7 IRQ_TYPE_LEVEL_HIGH>;
0057                         clocks = <&clk24m>;
0058                         pinctrl-names = "default";
0059                         pinctrl-0 = <&bsp_pins>;
0060                         status = "disabled";
0061                 };
0062 
0063                 serial1: serial@b8000100 {
0064                         compatible = "nuvoton,wpcm450-uart";
0065                         reg = <0xb8000100 0x20>;
0066                         reg-shift = <2>;
0067                         interrupts = <8 IRQ_TYPE_LEVEL_HIGH>;
0068                         clocks = <&clk24m>;
0069                         status = "disabled";
0070                 };
0071 
0072                 timer0: timer@b8001000 {
0073                         compatible = "nuvoton,wpcm450-timer";
0074                         interrupts = <12 IRQ_TYPE_LEVEL_HIGH>;
0075                         reg = <0xb8001000 0x1c>;
0076                         clocks = <&clk24m>;
0077                 };
0078 
0079                 watchdog0: watchdog@b800101c {
0080                         compatible = "nuvoton,wpcm450-wdt";
0081                         interrupts = <1 IRQ_TYPE_LEVEL_HIGH>;
0082                         reg = <0xb800101c 0x4>;
0083                         clocks = <&clk24m>;
0084                         status = "disabled";
0085                 };
0086 
0087                 aic: interrupt-controller@b8002000 {
0088                         compatible = "nuvoton,wpcm450-aic";
0089                         reg = <0xb8002000 0x1000>;
0090                         interrupt-controller;
0091                         #interrupt-cells = <2>;
0092                 };
0093 
0094                 pinctrl: pinctrl@b8003000 {
0095                         compatible = "nuvoton,wpcm450-pinctrl";
0096                         reg = <0xb8003000 0x1000>;
0097                         #address-cells = <1>;
0098                         #size-cells = <0>;
0099 
0100                         gpio0: gpio@0 {
0101                                 reg = <0>;
0102                                 gpio-controller;
0103                                 #gpio-cells = <2>;
0104                                 interrupts = <2 IRQ_TYPE_LEVEL_HIGH>,
0105                                              <3 IRQ_TYPE_LEVEL_HIGH>,
0106                                              <4 IRQ_TYPE_LEVEL_HIGH>;
0107                                 interrupt-controller;
0108                         };
0109 
0110                         gpio1: gpio@1 {
0111                                 reg = <1>;
0112                                 gpio-controller;
0113                                 #gpio-cells = <2>;
0114                                 interrupts = <5 IRQ_TYPE_LEVEL_HIGH>;
0115                                 interrupt-controller;
0116                         };
0117 
0118                         gpio2: gpio@2 {
0119                                 reg = <2>;
0120                                 gpio-controller;
0121                                 #gpio-cells = <2>;
0122                         };
0123 
0124                         gpio3: gpio@3 {
0125                                 reg = <3>;
0126                                 gpio-controller;
0127                                 #gpio-cells = <2>;
0128                         };
0129 
0130                         gpio4: gpio@4 {
0131                                 reg = <4>;
0132                                 gpio-controller;
0133                                 #gpio-cells = <2>;
0134                         };
0135 
0136                         gpio5: gpio@5 {
0137                                 reg = <5>;
0138                                 gpio-controller;
0139                                 #gpio-cells = <2>;
0140                         };
0141 
0142                         gpio6: gpio@6 {
0143                                 reg = <6>;
0144                                 gpio-controller;
0145                                 #gpio-cells = <2>;
0146                         };
0147 
0148                         gpio7: gpio@7 {
0149                                 reg = <7>;
0150                                 gpio-controller;
0151                                 #gpio-cells = <2>;
0152                         };
0153 
0154                         smb3_pins: mux-smb3 {
0155                                 groups = "smb3";
0156                                 function = "smb3";
0157                         };
0158 
0159                         smb4_pins: mux-smb4 {
0160                                 groups = "smb4";
0161                                 function = "smb4";
0162                         };
0163 
0164                         smb5_pins: mux-smb5 {
0165                                 groups = "smb5";
0166                                 function = "smb5";
0167                         };
0168 
0169                         scs1_pins: mux-scs1 {
0170                                 groups = "scs1";
0171                                 function = "scs1";
0172                         };
0173 
0174                         scs2_pins: mux-scs2 {
0175                                 groups = "scs2";
0176                                 function = "scs2";
0177                         };
0178 
0179                         scs3_pins: mux-scs3 {
0180                                 groups = "scs3";
0181                                 function = "scs3";
0182                         };
0183 
0184                         smb0_pins: mux-smb0 {
0185                                 groups = "smb0";
0186                                 function = "smb0";
0187                         };
0188 
0189                         smb1_pins: mux-smb1 {
0190                                 groups = "smb1";
0191                                 function = "smb1";
0192                         };
0193 
0194                         smb2_pins: mux-smb2 {
0195                                 groups = "smb2";
0196                                 function = "smb2";
0197                         };
0198 
0199                         bsp_pins: mux-bsp {
0200                                 groups = "bsp";
0201                                 function = "bsp";
0202                         };
0203 
0204                         hsp1_pins: mux-hsp1 {
0205                                 groups = "hsp1";
0206                                 function = "hsp1";
0207                         };
0208 
0209                         hsp2_pins: mux-hsp2 {
0210                                 groups = "hsp2";
0211                                 function = "hsp2";
0212                         };
0213 
0214                         r1err_pins: mux-r1err {
0215                                 groups = "r1err";
0216                                 function = "r1err";
0217                         };
0218 
0219                         r1md_pins: mux-r1md {
0220                                 groups = "r1md";
0221                                 function = "r1md";
0222                         };
0223 
0224                         rmii2_pins: mux-rmii2 {
0225                                 groups = "rmii2";
0226                                 function = "rmii2";
0227                         };
0228 
0229                         r2err_pins: mux-r2err {
0230                                 groups = "r2err";
0231                                 function = "r2err";
0232                         };
0233 
0234                         r2md_pins: mux-r2md {
0235                                 groups = "r2md";
0236                                 function = "r2md";
0237                         };
0238 
0239                         kbcc_pins: mux-kbcc {
0240                                 groups = "kbcc";
0241                                 function = "kbcc";
0242                         };
0243 
0244                         dvo0_pins: mux-dvo0 {
0245                                 groups = "dvo";
0246                                 function = "dvo0";
0247                         };
0248 
0249                         dvo3_pins: mux-dvo3 {
0250                                 groups = "dvo";
0251                                 function = "dvo3";
0252                         };
0253 
0254                         clko_pins: mux-clko {
0255                                 groups = "clko";
0256                                 function = "clko";
0257                         };
0258 
0259                         smi_pins: mux-smi {
0260                                 groups = "smi";
0261                                 function = "smi";
0262                         };
0263 
0264                         uinc_pins: mux-uinc {
0265                                 groups = "uinc";
0266                                 function = "uinc";
0267                         };
0268 
0269                         gspi_pins: mux-gspi {
0270                                 groups = "gspi";
0271                                 function = "gspi";
0272                         };
0273 
0274                         mben_pins: mux-mben {
0275                                 groups = "mben";
0276                                 function = "mben";
0277                         };
0278 
0279                         xcs2_pins: mux-xcs2 {
0280                                 groups = "xcs2";
0281                                 function = "xcs2";
0282                         };
0283 
0284                         xcs1_pins: mux-xcs1 {
0285                                 groups = "xcs1";
0286                                 function = "xcs1";
0287                         };
0288 
0289                         sdio_pins: mux-sdio {
0290                                 groups = "sdio";
0291                                 function = "sdio";
0292                         };
0293 
0294                         sspi_pins: mux-sspi {
0295                                 groups = "sspi";
0296                                 function = "sspi";
0297                         };
0298 
0299                         fi0_pins: mux-fi0 {
0300                                 groups = "fi0";
0301                                 function = "fi0";
0302                         };
0303 
0304                         fi1_pins: mux-fi1 {
0305                                 groups = "fi1";
0306                                 function = "fi1";
0307                         };
0308 
0309                         fi2_pins: mux-fi2 {
0310                                 groups = "fi2";
0311                                 function = "fi2";
0312                         };
0313 
0314                         fi3_pins: mux-fi3 {
0315                                 groups = "fi3";
0316                                 function = "fi3";
0317                         };
0318 
0319                         fi4_pins: mux-fi4 {
0320                                 groups = "fi4";
0321                                 function = "fi4";
0322                         };
0323 
0324                         fi5_pins: mux-fi5 {
0325                                 groups = "fi5";
0326                                 function = "fi5";
0327                         };
0328 
0329                         fi6_pins: mux-fi6 {
0330                                 groups = "fi6";
0331                                 function = "fi6";
0332                         };
0333 
0334                         fi7_pins: mux-fi7 {
0335                                 groups = "fi7";
0336                                 function = "fi7";
0337                         };
0338 
0339                         fi8_pins: mux-fi8 {
0340                                 groups = "fi8";
0341                                 function = "fi8";
0342                         };
0343 
0344                         fi9_pins: mux-fi9 {
0345                                 groups = "fi9";
0346                                 function = "fi9";
0347                         };
0348 
0349                         fi10_pins: mux-fi10 {
0350                                 groups = "fi10";
0351                                 function = "fi10";
0352                         };
0353 
0354                         fi11_pins: mux-fi11 {
0355                                 groups = "fi11";
0356                                 function = "fi11";
0357                         };
0358 
0359                         fi12_pins: mux-fi12 {
0360                                 groups = "fi12";
0361                                 function = "fi12";
0362                         };
0363 
0364                         fi13_pins: mux-fi13 {
0365                                 groups = "fi13";
0366                                 function = "fi13";
0367                         };
0368 
0369                         fi14_pins: mux-fi14 {
0370                                 groups = "fi14";
0371                                 function = "fi14";
0372                         };
0373 
0374                         fi15_pins: mux-fi15 {
0375                                 groups = "fi15";
0376                                 function = "fi15";
0377                         };
0378 
0379                         pwm0_pins: mux-pwm0 {
0380                                 groups = "pwm0";
0381                                 function = "pwm0";
0382                         };
0383 
0384                         pwm1_pins: mux-pwm1 {
0385                                 groups = "pwm1";
0386                                 function = "pwm1";
0387                         };
0388 
0389                         pwm2_pins: mux-pwm2 {
0390                                 groups = "pwm2";
0391                                 function = "pwm2";
0392                         };
0393 
0394                         pwm3_pins: mux-pwm3 {
0395                                 groups = "pwm3";
0396                                 function = "pwm3";
0397                         };
0398 
0399                         pwm4_pins: mux-pwm4 {
0400                                 groups = "pwm4";
0401                                 function = "pwm4";
0402                         };
0403 
0404                         pwm5_pins: mux-pwm5 {
0405                                 groups = "pwm5";
0406                                 function = "pwm5";
0407                         };
0408 
0409                         pwm6_pins: mux-pwm6 {
0410                                 groups = "pwm6";
0411                                 function = "pwm6";
0412                         };
0413 
0414                         pwm7_pins: mux-pwm7 {
0415                                 groups = "pwm7";
0416                                 function = "pwm7";
0417                         };
0418 
0419                         hg0_pins: mux-hg0 {
0420                                 groups = "hg0";
0421                                 function = "hg0";
0422                         };
0423 
0424                         hg1_pins: mux-hg1 {
0425                                 groups = "hg1";
0426                                 function = "hg1";
0427                         };
0428 
0429                         hg2_pins: mux-hg2 {
0430                                 groups = "hg2";
0431                                 function = "hg2";
0432                         };
0433 
0434                         hg3_pins: mux-hg3 {
0435                                 groups = "hg3";
0436                                 function = "hg3";
0437                         };
0438 
0439                         hg4_pins: mux-hg4 {
0440                                 groups = "hg4";
0441                                 function = "hg4";
0442                         };
0443 
0444                         hg5_pins: mux-hg5 {
0445                                 groups = "hg5";
0446                                 function = "hg5";
0447                         };
0448 
0449                         hg6_pins: mux-hg6 {
0450                                 groups = "hg6";
0451                                 function = "hg6";
0452                         };
0453 
0454                         hg7_pins: mux-hg7 {
0455                                 groups = "hg7";
0456                                 function = "hg7";
0457                         };
0458                 };
0459         };
0460 };