Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0-or-later
0002 /*
0003  * Device Tree Source for the MPC5121e based ac14xx board
0004  *
0005  * Copyright 2012 Anatolij Gustschin <agust@denx.de>
0006  */
0007 
0008 
0009 #include "mpc5121.dtsi"
0010 
0011 / {
0012         model = "ac14xx";
0013         compatible = "ifm,ac14xx", "fsl,mpc5121";
0014         #address-cells = <1>;
0015         #size-cells = <1>;
0016 
0017         aliases {
0018                 serial0 = &serial0;
0019                 serial1 = &serial7;
0020                 spi4 = &spi4;
0021                 spi5 = &spi5;
0022         };
0023 
0024         cpus {
0025                 PowerPC,5121@0 {
0026                         timebase-frequency = <40000000>;        /*  40 MHz (csb/4) */
0027                         bus-frequency = <160000000>;            /* 160 MHz csb bus */
0028                         clock-frequency = <400000000>;          /* 400 MHz ppc core */
0029                 };
0030         };
0031 
0032         memory {
0033                 reg = <0x00000000 0x10000000>;                  /* 256MB at 0 */
0034         };
0035 
0036         nfc@40000000 {
0037                 status = "disabled";
0038         };
0039 
0040         localbus@80000020 {
0041                 ranges = <0x0 0x0 0xfc000000 0x04000000 /* CS0: NOR flash */
0042                           0x1 0x0 0xe0000000 0x00010000 /* CS1: FRAM */
0043                           0x2 0x0 0xe0100000 0x00080000 /* CS2: asi1 */
0044                           0x3 0x0 0xe0300000 0x00020000 /* CS3: comm */
0045                           0x5 0x0 0xe0400000 0x00010000 /* CS5: safety */
0046                           0x6 0x0 0xe0200000 0x00080000>; /* CS6: asi2 */
0047 
0048                 flash@0,0 {
0049                         compatible = "cfi-flash";
0050                         reg = <0 0x00000000 0x04000000>;
0051                         #address-cells = <1>;
0052                         #size-cells = <1>;
0053                         bank-width = <2>;
0054                         device-width = <2>;
0055 
0056                         partition@0 {
0057                                 label = "dtb-kernel-production";
0058                                 reg = <0x00000000 0x00400000>;
0059                         };
0060                         partition@1 {
0061                                 label = "filesystem-production";
0062                                 reg = <0x00400000 0x03400000>;
0063                         };
0064 
0065                         partition@2 {
0066                                 label = "recovery";
0067                                 reg = <0x03800000 0x00700000>;
0068                         };
0069 
0070                         partition@3 {
0071                                 label = "uboot-code";
0072                                 reg = <0x03f00000 0x00040000>;
0073                         };
0074                         partition@4 {
0075                                 label = "uboot-env1";
0076                                 reg = <0x03f40000 0x00020000>;
0077                         };
0078                         partition@5 {
0079                                 label = "uboot-env2";
0080                                 reg = <0x03f60000 0x00020000>;
0081                         };
0082                 };
0083 
0084                 fram@1,0 {
0085                         compatible = "ifm,ac14xx-fram", "linux,uio-pdrv-genirq";
0086                         reg = <1 0x00000000 0x00010000>;
0087                 };
0088 
0089                 asi@2,0 {
0090                         /* masters mapping: CS, CS offset, size */
0091                         reg = <2 0x00000000 0x00080000
0092                                6 0x00000000 0x00080000>;
0093                         #address-cells = <1>;
0094                         #size-cells = <1>;
0095                         compatible = "ifm,ac14xx-asi-fpga";
0096                         gpios = <
0097                                 &gpio_pic 26 0  /* prog */
0098                                 &gpio_pic 27 0  /* done */
0099                                 &gpio_pic 10 0  /* reset */
0100                                 >;
0101 
0102                         master@1 {
0103                                 interrupts = <20 0x2>;
0104                                 interrupt-parent = <&gpio_pic>;
0105                                 chipselect = <2 0x00009000 0x00009100>;
0106                                 label = "AS-i master 1";
0107                         };
0108 
0109                         master@2 {
0110                                 interrupts = <21 0x2>;
0111                                 interrupt-parent = <&gpio_pic>;
0112                                 chipselect = <6 0x00009000 0x00009100>;
0113                                 label = "AS-i master 2";
0114                         };
0115                 };
0116 
0117                 netx@3,0 {
0118                         compatible = "ifm,netx";
0119                         reg = <0x3 0x00000000 0x00020000>;
0120                         chipselect = <3 0x00101140 0x00203100>;
0121                         interrupts = <17 0x8>;
0122                         gpios = <&gpio_pic 15 0>;
0123                 };
0124 
0125                 safety@5,0 {
0126                         compatible = "ifm,safety";
0127                         reg = <0x5 0x00000000 0x00010000>;
0128                         chipselect = <5 0x00009000 0x00009100>;
0129                         interrupts = <22 0x2>;
0130                         interrupt-parent = <&gpio_pic>;
0131                         gpios = <
0132                                 &gpio_pic 12 0  /* prog */
0133                                 &gpio_pic 11 0  /* done */
0134                                 >;
0135                 };
0136         };
0137 
0138         clocks {
0139                 osc {
0140                         clock-frequency = <25000000>;
0141                 };
0142         };
0143 
0144         soc@80000000 {
0145                 bus-frequency = <80000000>;     /* 80 MHz ips bus */
0146 
0147                 clock@f00 {
0148                         compatible = "fsl,mpc5121rev2-clock", "fsl,mpc5121-clock";
0149                 };
0150 
0151                 /*
0152                  * GPIO PIC:
0153                  * interrupts cell = <pin nr, sense>
0154                  * sense == 8: Level, low assertion
0155                  * sense == 2: Edge, high-to-low change
0156                  */
0157                 gpio_pic: gpio@1100 {
0158                         gpio-controller;
0159                         #gpio-cells = <2>;
0160                         interrupt-controller;
0161                         #interrupt-cells = <2>;
0162                 };
0163 
0164                 sdhc@1500 {
0165                         cd-gpios = <&gpio_pic 23 0>;    /* card detect */
0166                         wp-gpios = <&gpio_pic 24 0>;    /* write protect */
0167                         wp-inverted;                    /* WP active high */
0168                 };
0169 
0170                 i2c@1700 {
0171                         /* use Fast-mode */
0172                         clock-frequency = <400000>;
0173 
0174                         at24@30 {
0175                                 compatible = "atmel,24c01";
0176                                 reg = <0x30>;
0177                         };
0178 
0179                         at24@31 {
0180                                 compatible = "atmel,24c01";
0181                                 reg = <0x31>;
0182                         };
0183 
0184                         temp@48 {
0185                                 compatible = "ad,ad7414";
0186                                 reg = <0x48>;
0187                         };
0188 
0189                         at24@50 {
0190                                 compatible = "atmel,24c01";
0191                                 reg = <0x50>;
0192                         };
0193 
0194                         at24@51 {
0195                                 compatible = "atmel,24c01";
0196                                 reg = <0x51>;
0197                         };
0198 
0199                         at24@52 {
0200                                 compatible = "atmel,24c01";
0201                                 reg = <0x52>;
0202                         };
0203 
0204                         at24@53 {
0205                                 compatible = "atmel,24c01";
0206                                 reg = <0x53>;
0207                         };
0208 
0209                         at24@54 {
0210                                 compatible = "atmel,24c01";
0211                                 reg = <0x54>;
0212                         };
0213 
0214                         at24@55 {
0215                                 compatible = "atmel,24c01";
0216                                 reg = <0x55>;
0217                         };
0218 
0219                         at24@56 {
0220                                 compatible = "atmel,24c01";
0221                                 reg = <0x56>;
0222                         };
0223 
0224                         at24@57 {
0225                                 compatible = "atmel,24c01";
0226                                 reg = <0x57>;
0227                         };
0228 
0229                         rtc@68 {
0230                                 compatible = "st,m41t00";
0231                                 reg = <0x68>;
0232                         };
0233                 };
0234 
0235                 axe_pic: axe-base@2000 {
0236                         compatible = "fsl,mpc5121-axe-base";
0237                         reg = <0x2000 0x100>;
0238                         interrupts = <42 0x8>;
0239                         interrupt-controller;
0240                         #interrupt-cells = <2>;
0241                 };
0242 
0243                 axe-app {
0244                         compatible = "fsl,mpc5121-axe-app";
0245                         interrupt-parent = <&axe_pic>;
0246                         interrupts = <
0247                                         /* soft interrupts */
0248                                         0 0x0   1 0x0   2 0x0   3 0x0
0249                                         4 0x0   5 0x0   6 0x0   7 0x0
0250                                         /* fifo interrupts */
0251                                         8 0x0   9 0x0   10 0x0  11 0x0
0252                                 >;
0253                 };
0254 
0255                 display@2100 {
0256                         edid = [00 FF FF FF FF FF FF 00 14 94 00 00 00 00 00 00
0257                                 0A 12 01 03 80 1C 23 78 CA 88 FF 94 52 54 8E 27
0258                                 1E 4C 50 00 00 00 01 01 01 01 01 01 01 01 01 01
0259                                 01 01 01 01 01 01 FB 00 B0 14 00 DC 05 00 08 04
0260                                 21 00 1C 23 00 00 00 18 00 00 00 FD 00 38 3C 1F
0261                                 3C 01 0A 20 20 20 20 20 20 20 00 00 00 FC 00 45
0262                                 54 30 31 38 30 30 33 44 4D 55 0A 0A 00 00 00 10
0263                                 00 41 30 30 30 30 30 30 30 30 30 30 30 31 00 D5];
0264                 };
0265 
0266                 can@2300 {
0267                         status = "disabled";
0268                 };
0269 
0270                 can@2380 {
0271                         status = "disabled";
0272                 };
0273 
0274                 viu@2400 {
0275                         status = "disabled";
0276                 };
0277 
0278                 mdio@2800 {
0279                         phy0: ethernet-phy@1f {
0280                                 compatible = "smsc,lan8700";
0281                                 reg = <0x1f>;
0282                         };
0283                 };
0284 
0285                 enet: ethernet@2800 {
0286                         phy-handle = <&phy0>;
0287                 };
0288 
0289                 usb@3000 {
0290                         status = "disabled";
0291                 };
0292 
0293                 usb@4000 {
0294                         status = "disabled";
0295                 };
0296 
0297                 /* PSC3 serial port A, aka ttyPSC0 */
0298                 serial0: psc@11300 {
0299                         compatible = "fsl,mpc5121-psc-uart", "fsl,mpc5121-psc";
0300                         fsl,rx-fifo-size = <512>;
0301                         fsl,tx-fifo-size = <512>;
0302                 };
0303 
0304                 /* PSC4 in SPI mode */
0305                 spi4: psc@11400 {
0306                         compatible = "fsl,mpc5121-psc-spi", "fsl,mpc5121-psc";
0307                         fsl,rx-fifo-size = <768>;
0308                         fsl,tx-fifo-size = <768>;
0309                         #address-cells = <1>;
0310                         #size-cells = <0>;
0311                         num-cs = <1>;
0312                         cs-gpios = <&gpio_pic 25 0>;
0313 
0314                         flash: m25p128@0 {
0315                                 compatible = "st,m25p128";
0316                                 spi-max-frequency = <20000000>;
0317                                 reg = <0>;
0318                                 #address-cells = <1>;
0319                                 #size-cells = <1>;
0320 
0321                                 partition@0 {
0322                                         label = "spi-flash0";
0323                                         reg = <0x00000000 0x01000000>;
0324                                 };
0325                         };
0326                 };
0327 
0328                 /* PSC5 in SPI mode */
0329                 spi5: psc@11500 {
0330                         compatible = "fsl,mpc5121-psc-spi", "fsl,mpc5121-psc";
0331                         fsl,mode = "spi-master";
0332                         fsl,rx-fifo-size = <128>;
0333                         fsl,tx-fifo-size = <128>;
0334                         #address-cells = <1>;
0335                         #size-cells = <0>;
0336 
0337                         lcd@0 {
0338                                 compatible = "ilitek,ili922x";
0339                                 reg = <0>;
0340                                 spi-max-frequency = <100000>;
0341                                 spi-cpol;
0342                                 spi-cpha;
0343                         };
0344                 };
0345 
0346                 /* PSC7 serial port C, aka ttyPSC2 */
0347                 serial7: psc@11700 {
0348                         compatible = "fsl,mpc5121-psc-uart", "fsl,mpc5121-psc";
0349                         fsl,rx-fifo-size = <512>;
0350                         fsl,tx-fifo-size = <512>;
0351                 };
0352 
0353                 matrix_keypad@0 {
0354                         compatible = "gpio-matrix-keypad";
0355                         debounce-delay-ms = <5>;
0356                         col-scan-delay-us = <1>;
0357                         gpio-activelow;
0358                         col-gpios-binary;
0359                         col-switch-delay-ms = <200>;
0360 
0361                         col-gpios = <&gpio_pic 1 0>;    /* pin1 */
0362 
0363                         row-gpios = <&gpio_pic 2 0      /* pin2 */
0364                                      &gpio_pic 3 0      /* pin3 */
0365                                      &gpio_pic 4 0>;    /* pin4 */
0366 
0367                         linux,keymap = <0x0000006e      /* FN LEFT */
0368                                         0x01000067      /* UP */
0369                                         0x02000066      /* FN RIGHT */
0370                                         0x00010069      /* LEFT */
0371                                         0x0101006a      /* DOWN */
0372                                         0x0201006c>;    /* RIGHT */
0373                 };
0374         };
0375 
0376         leds {
0377                 compatible = "gpio-leds";
0378 
0379                 backlight {
0380                         label = "backlight";
0381                         gpios = <&gpio_pic 0 0>;
0382                         default-state = "keep";
0383                 };
0384                 green {
0385                         label = "green";
0386                         gpios = <&gpio_pic 18 0>;
0387                         default-state = "keep";
0388                 };
0389                 red {
0390                         label = "red";
0391                         gpios = <&gpio_pic 19 0>;
0392                         default-state = "keep";
0393                 };
0394         };
0395 };