Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
0002 /*
0003  * Device Tree file for Travese Ten64 (LS1088) board
0004  * Based on fsl-ls1088a-rdb.dts
0005  * Copyright 2017-2020 NXP
0006  * Copyright 2019-2021 Traverse Technologies
0007  *
0008  * Author: Mathew McBride <matt@traverse.com.au>
0009  */
0010 
0011 /dts-v1/;
0012 
0013 #include "fsl-ls1088a.dtsi"
0014 
0015 #include <dt-bindings/gpio/gpio.h>
0016 #include <dt-bindings/input/input.h>
0017 
0018 / {
0019         model = "Traverse Ten64";
0020         compatible = "traverse,ten64", "fsl,ls1088a";
0021 
0022         aliases {
0023                 serial0 = &duart0;
0024                 serial1 = &duart1;
0025         };
0026 
0027         chosen {
0028                 stdout-path = "serial0:115200n8";
0029         };
0030 
0031         buttons {
0032                 compatible = "gpio-keys";
0033 
0034                 /* Fired by system controller when
0035                  * external power off (e.g ATX Power Button)
0036                  * asserted
0037                  */
0038                 button-powerdn {
0039                         label = "External Power Down";
0040                         gpios = <&gpio1 17 GPIO_ACTIVE_LOW>;
0041                         linux,code = <KEY_POWER>;
0042                 };
0043 
0044                 /* Rear Panel 'ADMIN' button (GPIO_H) */
0045                 button-admin {
0046                         label = "ADMIN button";
0047                         gpios = <&gpio3 8 GPIO_ACTIVE_HIGH>;
0048                         linux,code = <KEY_WPS_BUTTON>;
0049                 };
0050         };
0051 
0052         leds {
0053                 compatible = "gpio-leds";
0054 
0055                 led-0 {
0056                         label = "ten64:green:sfp1:down";
0057                         gpios = <&gpio3 11 GPIO_ACTIVE_HIGH>;
0058                 };
0059 
0060                 led-1 {
0061                         label = "ten64:green:sfp2:up";
0062                         gpios = <&gpio3 12 GPIO_ACTIVE_HIGH>;
0063                 };
0064 
0065                 led-2 {
0066                         label = "ten64:admin";
0067                         gpios = <&sfpgpio 12 GPIO_ACTIVE_HIGH>;
0068                 };
0069         };
0070 
0071         sfp_xg0: dpmac2-sfp {
0072                 compatible = "sff,sfp";
0073                 i2c-bus = <&sfplower_i2c>;
0074                 tx-fault-gpios = <&sfpgpio 0 GPIO_ACTIVE_HIGH>;
0075                 tx-disable-gpios = <&sfpgpio 1 GPIO_ACTIVE_HIGH>;
0076                 mod-def0-gpios = <&sfpgpio 2 GPIO_ACTIVE_LOW>;
0077                 los-gpios = <&sfpgpio 3 GPIO_ACTIVE_HIGH>;
0078                 maximum-power-milliwatt = <2000>;
0079         };
0080 
0081         sfp_xg1: dpmac1-sfp {
0082                 compatible = "sff,sfp";
0083                 i2c-bus = <&sfpupper_i2c>;
0084                 tx-fault-gpios = <&sfpgpio 4 GPIO_ACTIVE_HIGH>;
0085                 tx-disable-gpios = <&sfpgpio 5 GPIO_ACTIVE_HIGH>;
0086                 mod-def0-gpios = <&sfpgpio 6 GPIO_ACTIVE_LOW>;
0087                 los-gpios = <&sfpgpio 7 GPIO_ACTIVE_HIGH>;
0088                 maximum-power-milliwatt = <2000>;
0089         };
0090 };
0091 
0092 /* XG1 - Upper SFP */
0093 &dpmac1 {
0094         sfp = <&sfp_xg1>;
0095         pcs-handle = <&pcs1>;
0096         phy-connection-type = "10gbase-r";
0097         managed = "in-band-status";
0098 };
0099 
0100 /* XG0 - Lower SFP */
0101 &dpmac2 {
0102         sfp = <&sfp_xg0>;
0103         pcs-handle = <&pcs2>;
0104         phy-connection-type = "10gbase-r";
0105         managed = "in-band-status";
0106 };
0107 
0108 /* DPMAC3..6 is GE4 to GE8 */
0109 &dpmac3 {
0110         phy-handle = <&mdio1_phy5>;
0111         phy-connection-type = "qsgmii";
0112         managed = "in-band-status";
0113         pcs-handle = <&pcs3_0>;
0114 };
0115 
0116 &dpmac4 {
0117         phy-handle = <&mdio1_phy6>;
0118         phy-connection-type = "qsgmii";
0119         managed = "in-band-status";
0120         pcs-handle = <&pcs3_1>;
0121 };
0122 
0123 &dpmac5 {
0124         phy-handle = <&mdio1_phy7>;
0125         phy-connection-type = "qsgmii";
0126         managed = "in-band-status";
0127         pcs-handle = <&pcs3_2>;
0128 };
0129 
0130 &dpmac6 {
0131         phy-handle = <&mdio1_phy8>;
0132         phy-connection-type = "qsgmii";
0133         managed = "in-band-status";
0134         pcs-handle = <&pcs3_3>;
0135 };
0136 
0137 /* DPMAC7..10 is GE0 to GE3 */
0138 &dpmac7 {
0139         phy-handle = <&mdio1_phy1>;
0140         phy-connection-type = "qsgmii";
0141         managed = "in-band-status";
0142         pcs-handle = <&pcs7_0>;
0143 };
0144 
0145 &dpmac8 {
0146         phy-handle = <&mdio1_phy2>;
0147         phy-connection-type = "qsgmii";
0148         managed = "in-band-status";
0149         pcs-handle = <&pcs7_1>;
0150 };
0151 
0152 &dpmac9 {
0153         phy-handle = <&mdio1_phy3>;
0154         phy-connection-type = "qsgmii";
0155         managed = "in-band-status";
0156         pcs-handle = <&pcs7_2>;
0157 };
0158 
0159 &dpmac10 {
0160         phy-handle = <&mdio1_phy4>;
0161         phy-connection-type = "qsgmii";
0162         managed = "in-band-status";
0163         pcs-handle = <&pcs7_3>;
0164 };
0165 
0166 &duart0 {
0167         status = "okay";
0168 };
0169 
0170 &duart1 {
0171         status = "okay";
0172 };
0173 
0174 &emdio1 {
0175         status = "okay";
0176 
0177         mdio1_phy5: ethernet-phy@c {
0178                 reg = <0xc>;
0179         };
0180 
0181         mdio1_phy6: ethernet-phy@d {
0182                 reg = <0xd>;
0183         };
0184 
0185         mdio1_phy7: ethernet-phy@e {
0186                 reg = <0xe>;
0187         };
0188 
0189         mdio1_phy8: ethernet-phy@f {
0190                 reg = <0xf>;
0191         };
0192 
0193         mdio1_phy1: ethernet-phy@1c {
0194                 reg = <0x1c>;
0195         };
0196 
0197         mdio1_phy2: ethernet-phy@1d {
0198                 reg = <0x1d>;
0199         };
0200 
0201         mdio1_phy3: ethernet-phy@1e {
0202                 reg = <0x1e>;
0203         };
0204 
0205         mdio1_phy4: ethernet-phy@1f {
0206                 reg = <0x1f>;
0207         };
0208 };
0209 
0210 &esdhc {
0211         status = "okay";
0212 };
0213 
0214 &i2c0 {
0215         status = "okay";
0216 
0217         sfpgpio: gpio@76 {
0218                 compatible = "ti,tca9539";
0219                 reg = <0x76>;
0220                 #gpio-cells = <2>;
0221                 gpio-controller;
0222 
0223                 admin_led_lower {
0224                         gpio-hog;
0225                         gpios = <13 GPIO_ACTIVE_HIGH>;
0226                         output-low;
0227                 };
0228         };
0229 
0230         at97sc: tpm@29 {
0231                 compatible = "atmel,at97sc3204t";
0232                 reg = <0x29>;
0233         };
0234 };
0235 
0236 &i2c2 {
0237         status = "okay";
0238 
0239         rx8035: rtc@32 {
0240                 compatible = "epson,rx8035";
0241                 reg = <0x32>;
0242         };
0243 };
0244 
0245 &i2c3 {
0246         status = "okay";
0247 
0248         i2c-switch@70 {
0249                 compatible = "nxp,pca9540";
0250                 #address-cells = <1>;
0251                 #size-cells = <0>;
0252                 reg = <0x70>;
0253 
0254                 sfpupper_i2c: i2c@0 {
0255                         #address-cells = <1>;
0256                         #size-cells = <0>;
0257                         reg = <0>;
0258                 };
0259 
0260                 sfplower_i2c: i2c@1 {
0261                         #address-cells = <1>;
0262                         #size-cells = <0>;
0263                         reg = <1>;
0264                 };
0265         };
0266 };
0267 
0268 &pcs_mdio1 {
0269         status = "okay";
0270 };
0271 
0272 &pcs_mdio2 {
0273         status = "okay";
0274 };
0275 
0276 &pcs_mdio3 {
0277         status = "okay";
0278 };
0279 
0280 &pcs_mdio7 {
0281         status = "okay";
0282 };
0283 
0284 &qspi {
0285         status = "okay";
0286 
0287         en25s64: flash@0 {
0288                 compatible = "jedec,spi-nor";
0289                 #address-cells = <1>;
0290                 #size-cells = <1>;
0291                 reg = <0>;
0292                 spi-max-frequency = <20000000>;
0293                 spi-rx-bus-width = <4>;
0294                 spi-tx-bus-width = <4>;
0295 
0296                 partitions {
0297                         compatible = "fixed-partitions";
0298                         #address-cells = <1>;
0299                         #size-cells = <1>;
0300 
0301                         partition@0 {
0302                                 label = "bl2";
0303                                 reg = <0 0x100000>;
0304                         };
0305 
0306                         partition@100000 {
0307                                 label = "bl3";
0308                                 reg = <0x100000 0x200000>;
0309                         };
0310 
0311                         partition@300000 {
0312                                 label = "mcfirmware";
0313                                 reg = <0x300000 0x200000>;
0314                         };
0315 
0316                         partition@500000 {
0317                                 label = "ubootenv";
0318                                 reg = <0x500000 0x80000>;
0319                         };
0320 
0321                         partition@580000 {
0322                                 label = "dpl";
0323                                 reg = <0x580000 0x40000>;
0324                         };
0325 
0326                         partition@5C0000 {
0327                                 label = "dpc";
0328                                 reg = <0x5C0000 0x40000>;
0329                         };
0330 
0331                         partition@600000 {
0332                                 label = "devicetree";
0333                                 reg = <0x600000 0x40000>;
0334                         };
0335                 };
0336         };
0337 
0338         nand: flash@1 {
0339                 compatible = "spi-nand";
0340                 #address-cells = <1>;
0341                 #size-cells = <1>;
0342                 reg = <1>;
0343                 spi-max-frequency = <20000000>;
0344                 spi-rx-bus-width = <4>;
0345                 spi-tx-bus-width = <4>;
0346 
0347                 partitions {
0348                         compatible = "fixed-partitions";
0349                         #address-cells = <1>;
0350                         #size-cells = <1>;
0351 
0352                         /* reserved for future boot direct from NAND flash
0353                          * (this would use the same layout as the 8MiB NOR flash)
0354                          */
0355                         partition@0 {
0356                                 label = "nand-boot-reserved";
0357                                 reg = <0 0x800000>;
0358                         };
0359 
0360                         /* recovery / install environment */
0361                         partition@800000 {
0362                                 label = "recovery";
0363                                 reg = <0x800000 0x2000000>;
0364                         };
0365 
0366                         /* ubia (first OpenWrt) - a/b names to prevent confusion with ubi0/1/etc. */
0367                         partition@2800000 {
0368                                 label = "ubia";
0369                                 reg = <0x2800000 0x6C00000>;
0370                         };
0371 
0372                         /* ubib (second OpenWrt) */
0373                         partition@9400000 {
0374                                 label = "ubib";
0375                                 reg = <0x9400000 0x6C00000>;
0376                         };
0377                 };
0378         };
0379 };
0380 
0381 &usb0 {
0382         status = "okay";
0383 };
0384 
0385 &usb1 {
0386         status = "okay";
0387 };