123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387 |
- // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
- /*
- * Device Tree file for Travese Ten64 (LS1088) board
- * Based on fsl-ls1088a-rdb.dts
- * Copyright 2017-2020 NXP
- * Copyright 2019-2021 Traverse Technologies
- *
- * Author: Mathew McBride <[email protected]>
- */
- /dts-v1/;
- #include "fsl-ls1088a.dtsi"
- #include <dt-bindings/gpio/gpio.h>
- #include <dt-bindings/input/input.h>
- / {
- model = "Traverse Ten64";
- compatible = "traverse,ten64", "fsl,ls1088a";
- aliases {
- serial0 = &duart0;
- serial1 = &duart1;
- };
- chosen {
- stdout-path = "serial0:115200n8";
- };
- buttons {
- compatible = "gpio-keys";
- /* Fired by system controller when
- * external power off (e.g ATX Power Button)
- * asserted
- */
- button-powerdn {
- label = "External Power Down";
- gpios = <&gpio1 17 GPIO_ACTIVE_LOW>;
- linux,code = <KEY_POWER>;
- };
- /* Rear Panel 'ADMIN' button (GPIO_H) */
- button-admin {
- label = "ADMIN button";
- gpios = <&gpio3 8 GPIO_ACTIVE_HIGH>;
- linux,code = <KEY_WPS_BUTTON>;
- };
- };
- leds {
- compatible = "gpio-leds";
- led-0 {
- label = "ten64:green:sfp1:down";
- gpios = <&gpio3 11 GPIO_ACTIVE_HIGH>;
- };
- led-1 {
- label = "ten64:green:sfp2:up";
- gpios = <&gpio3 12 GPIO_ACTIVE_HIGH>;
- };
- led-2 {
- label = "ten64:admin";
- gpios = <&sfpgpio 12 GPIO_ACTIVE_HIGH>;
- };
- };
- sfp_xg0: dpmac2-sfp {
- compatible = "sff,sfp";
- i2c-bus = <&sfplower_i2c>;
- tx-fault-gpios = <&sfpgpio 0 GPIO_ACTIVE_HIGH>;
- tx-disable-gpios = <&sfpgpio 1 GPIO_ACTIVE_HIGH>;
- mod-def0-gpios = <&sfpgpio 2 GPIO_ACTIVE_LOW>;
- los-gpios = <&sfpgpio 3 GPIO_ACTIVE_HIGH>;
- maximum-power-milliwatt = <2000>;
- };
- sfp_xg1: dpmac1-sfp {
- compatible = "sff,sfp";
- i2c-bus = <&sfpupper_i2c>;
- tx-fault-gpios = <&sfpgpio 4 GPIO_ACTIVE_HIGH>;
- tx-disable-gpios = <&sfpgpio 5 GPIO_ACTIVE_HIGH>;
- mod-def0-gpios = <&sfpgpio 6 GPIO_ACTIVE_LOW>;
- los-gpios = <&sfpgpio 7 GPIO_ACTIVE_HIGH>;
- maximum-power-milliwatt = <2000>;
- };
- };
- /* XG1 - Upper SFP */
- &dpmac1 {
- sfp = <&sfp_xg1>;
- pcs-handle = <&pcs1>;
- phy-connection-type = "10gbase-r";
- managed = "in-band-status";
- };
- /* XG0 - Lower SFP */
- &dpmac2 {
- sfp = <&sfp_xg0>;
- pcs-handle = <&pcs2>;
- phy-connection-type = "10gbase-r";
- managed = "in-band-status";
- };
- /* DPMAC3..6 is GE4 to GE8 */
- &dpmac3 {
- phy-handle = <&mdio1_phy5>;
- phy-connection-type = "qsgmii";
- managed = "in-band-status";
- pcs-handle = <&pcs3_0>;
- };
- &dpmac4 {
- phy-handle = <&mdio1_phy6>;
- phy-connection-type = "qsgmii";
- managed = "in-band-status";
- pcs-handle = <&pcs3_1>;
- };
- &dpmac5 {
- phy-handle = <&mdio1_phy7>;
- phy-connection-type = "qsgmii";
- managed = "in-band-status";
- pcs-handle = <&pcs3_2>;
- };
- &dpmac6 {
- phy-handle = <&mdio1_phy8>;
- phy-connection-type = "qsgmii";
- managed = "in-band-status";
- pcs-handle = <&pcs3_3>;
- };
- /* DPMAC7..10 is GE0 to GE3 */
- &dpmac7 {
- phy-handle = <&mdio1_phy1>;
- phy-connection-type = "qsgmii";
- managed = "in-band-status";
- pcs-handle = <&pcs7_0>;
- };
- &dpmac8 {
- phy-handle = <&mdio1_phy2>;
- phy-connection-type = "qsgmii";
- managed = "in-band-status";
- pcs-handle = <&pcs7_1>;
- };
- &dpmac9 {
- phy-handle = <&mdio1_phy3>;
- phy-connection-type = "qsgmii";
- managed = "in-band-status";
- pcs-handle = <&pcs7_2>;
- };
- &dpmac10 {
- phy-handle = <&mdio1_phy4>;
- phy-connection-type = "qsgmii";
- managed = "in-band-status";
- pcs-handle = <&pcs7_3>;
- };
- &duart0 {
- status = "okay";
- };
- &duart1 {
- status = "okay";
- };
- &emdio1 {
- status = "okay";
- mdio1_phy5: ethernet-phy@c {
- reg = <0xc>;
- };
- mdio1_phy6: ethernet-phy@d {
- reg = <0xd>;
- };
- mdio1_phy7: ethernet-phy@e {
- reg = <0xe>;
- };
- mdio1_phy8: ethernet-phy@f {
- reg = <0xf>;
- };
- mdio1_phy1: ethernet-phy@1c {
- reg = <0x1c>;
- };
- mdio1_phy2: ethernet-phy@1d {
- reg = <0x1d>;
- };
- mdio1_phy3: ethernet-phy@1e {
- reg = <0x1e>;
- };
- mdio1_phy4: ethernet-phy@1f {
- reg = <0x1f>;
- };
- };
- &esdhc {
- status = "okay";
- };
- &i2c0 {
- status = "okay";
- sfpgpio: gpio@76 {
- compatible = "ti,tca9539";
- reg = <0x76>;
- #gpio-cells = <2>;
- gpio-controller;
- admin_led_lower {
- gpio-hog;
- gpios = <13 GPIO_ACTIVE_HIGH>;
- output-low;
- };
- };
- at97sc: tpm@29 {
- compatible = "atmel,at97sc3204t";
- reg = <0x29>;
- };
- };
- &i2c2 {
- status = "okay";
- rx8035: rtc@32 {
- compatible = "epson,rx8035";
- reg = <0x32>;
- };
- };
- &i2c3 {
- status = "okay";
- i2c-mux@70 {
- compatible = "nxp,pca9540";
- #address-cells = <1>;
- #size-cells = <0>;
- reg = <0x70>;
- sfpupper_i2c: i2c@0 {
- #address-cells = <1>;
- #size-cells = <0>;
- reg = <0>;
- };
- sfplower_i2c: i2c@1 {
- #address-cells = <1>;
- #size-cells = <0>;
- reg = <1>;
- };
- };
- };
- &pcs_mdio1 {
- status = "okay";
- };
- &pcs_mdio2 {
- status = "okay";
- };
- &pcs_mdio3 {
- status = "okay";
- };
- &pcs_mdio7 {
- status = "okay";
- };
- &qspi {
- status = "okay";
- en25s64: flash@0 {
- compatible = "jedec,spi-nor";
- #address-cells = <1>;
- #size-cells = <1>;
- reg = <0>;
- spi-max-frequency = <20000000>;
- spi-rx-bus-width = <4>;
- spi-tx-bus-width = <4>;
- partitions {
- compatible = "fixed-partitions";
- #address-cells = <1>;
- #size-cells = <1>;
- partition@0 {
- label = "bl2";
- reg = <0 0x100000>;
- };
- partition@100000 {
- label = "bl3";
- reg = <0x100000 0x200000>;
- };
- partition@300000 {
- label = "mcfirmware";
- reg = <0x300000 0x200000>;
- };
- partition@500000 {
- label = "ubootenv";
- reg = <0x500000 0x80000>;
- };
- partition@580000 {
- label = "dpl";
- reg = <0x580000 0x40000>;
- };
- partition@5C0000 {
- label = "dpc";
- reg = <0x5C0000 0x40000>;
- };
- partition@600000 {
- label = "devicetree";
- reg = <0x600000 0x40000>;
- };
- };
- };
- nand: flash@1 {
- compatible = "spi-nand";
- #address-cells = <1>;
- #size-cells = <1>;
- reg = <1>;
- spi-max-frequency = <20000000>;
- spi-rx-bus-width = <4>;
- spi-tx-bus-width = <4>;
- partitions {
- compatible = "fixed-partitions";
- #address-cells = <1>;
- #size-cells = <1>;
- /* reserved for future boot direct from NAND flash
- * (this would use the same layout as the 8MiB NOR flash)
- */
- partition@0 {
- label = "nand-boot-reserved";
- reg = <0 0x800000>;
- };
- /* recovery / install environment */
- partition@800000 {
- label = "recovery";
- reg = <0x800000 0x2000000>;
- };
- /* ubia (first OpenWrt) - a/b names to prevent confusion with ubi0/1/etc. */
- partition@2800000 {
- label = "ubia";
- reg = <0x2800000 0x6C00000>;
- };
- /* ubib (second OpenWrt) */
- partition@9400000 {
- label = "ubib";
- reg = <0x9400000 0x6C00000>;
- };
- };
- };
- };
- &usb0 {
- status = "okay";
- };
- &usb1 {
- status = "okay";
- };
|