162306a36Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Device Tree file for Travese Ten64 (LS1088) board 462306a36Sopenharmony_ci * Based on fsl-ls1088a-rdb.dts 562306a36Sopenharmony_ci * Copyright 2017-2020 NXP 662306a36Sopenharmony_ci * Copyright 2019-2021 Traverse Technologies 762306a36Sopenharmony_ci * 862306a36Sopenharmony_ci * Author: Mathew McBride <matt@traverse.com.au> 962306a36Sopenharmony_ci */ 1062306a36Sopenharmony_ci 1162306a36Sopenharmony_ci/dts-v1/; 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_ci#include "fsl-ls1088a.dtsi" 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_ci#include <dt-bindings/gpio/gpio.h> 1662306a36Sopenharmony_ci#include <dt-bindings/input/input.h> 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_ci/ { 1962306a36Sopenharmony_ci model = "Traverse Ten64"; 2062306a36Sopenharmony_ci compatible = "traverse,ten64", "fsl,ls1088a"; 2162306a36Sopenharmony_ci 2262306a36Sopenharmony_ci aliases { 2362306a36Sopenharmony_ci serial0 = &duart0; 2462306a36Sopenharmony_ci serial1 = &duart1; 2562306a36Sopenharmony_ci }; 2662306a36Sopenharmony_ci 2762306a36Sopenharmony_ci chosen { 2862306a36Sopenharmony_ci stdout-path = "serial0:115200n8"; 2962306a36Sopenharmony_ci }; 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_ci buttons { 3262306a36Sopenharmony_ci compatible = "gpio-keys"; 3362306a36Sopenharmony_ci 3462306a36Sopenharmony_ci /* Fired by system controller when 3562306a36Sopenharmony_ci * external power off (e.g ATX Power Button) 3662306a36Sopenharmony_ci * asserted 3762306a36Sopenharmony_ci */ 3862306a36Sopenharmony_ci button-powerdn { 3962306a36Sopenharmony_ci label = "External Power Down"; 4062306a36Sopenharmony_ci gpios = <&gpio1 17 GPIO_ACTIVE_LOW>; 4162306a36Sopenharmony_ci linux,code = <KEY_POWER>; 4262306a36Sopenharmony_ci }; 4362306a36Sopenharmony_ci 4462306a36Sopenharmony_ci /* Rear Panel 'ADMIN' button (GPIO_H) */ 4562306a36Sopenharmony_ci button-admin { 4662306a36Sopenharmony_ci label = "ADMIN button"; 4762306a36Sopenharmony_ci gpios = <&gpio3 8 GPIO_ACTIVE_HIGH>; 4862306a36Sopenharmony_ci linux,code = <KEY_WPS_BUTTON>; 4962306a36Sopenharmony_ci }; 5062306a36Sopenharmony_ci }; 5162306a36Sopenharmony_ci 5262306a36Sopenharmony_ci leds { 5362306a36Sopenharmony_ci compatible = "gpio-leds"; 5462306a36Sopenharmony_ci 5562306a36Sopenharmony_ci led-0 { 5662306a36Sopenharmony_ci label = "ten64:green:sfp1:down"; 5762306a36Sopenharmony_ci gpios = <&gpio3 11 GPIO_ACTIVE_HIGH>; 5862306a36Sopenharmony_ci }; 5962306a36Sopenharmony_ci 6062306a36Sopenharmony_ci led-1 { 6162306a36Sopenharmony_ci label = "ten64:green:sfp2:up"; 6262306a36Sopenharmony_ci gpios = <&gpio3 12 GPIO_ACTIVE_HIGH>; 6362306a36Sopenharmony_ci }; 6462306a36Sopenharmony_ci 6562306a36Sopenharmony_ci led-2 { 6662306a36Sopenharmony_ci label = "ten64:admin"; 6762306a36Sopenharmony_ci gpios = <&sfpgpio 12 GPIO_ACTIVE_HIGH>; 6862306a36Sopenharmony_ci }; 6962306a36Sopenharmony_ci }; 7062306a36Sopenharmony_ci 7162306a36Sopenharmony_ci sfp_xg0: dpmac2-sfp { 7262306a36Sopenharmony_ci compatible = "sff,sfp"; 7362306a36Sopenharmony_ci i2c-bus = <&sfplower_i2c>; 7462306a36Sopenharmony_ci tx-fault-gpios = <&sfpgpio 0 GPIO_ACTIVE_HIGH>; 7562306a36Sopenharmony_ci tx-disable-gpios = <&sfpgpio 1 GPIO_ACTIVE_HIGH>; 7662306a36Sopenharmony_ci mod-def0-gpios = <&sfpgpio 2 GPIO_ACTIVE_LOW>; 7762306a36Sopenharmony_ci los-gpios = <&sfpgpio 3 GPIO_ACTIVE_HIGH>; 7862306a36Sopenharmony_ci maximum-power-milliwatt = <2000>; 7962306a36Sopenharmony_ci }; 8062306a36Sopenharmony_ci 8162306a36Sopenharmony_ci sfp_xg1: dpmac1-sfp { 8262306a36Sopenharmony_ci compatible = "sff,sfp"; 8362306a36Sopenharmony_ci i2c-bus = <&sfpupper_i2c>; 8462306a36Sopenharmony_ci tx-fault-gpios = <&sfpgpio 4 GPIO_ACTIVE_HIGH>; 8562306a36Sopenharmony_ci tx-disable-gpios = <&sfpgpio 5 GPIO_ACTIVE_HIGH>; 8662306a36Sopenharmony_ci mod-def0-gpios = <&sfpgpio 6 GPIO_ACTIVE_LOW>; 8762306a36Sopenharmony_ci los-gpios = <&sfpgpio 7 GPIO_ACTIVE_HIGH>; 8862306a36Sopenharmony_ci maximum-power-milliwatt = <2000>; 8962306a36Sopenharmony_ci }; 9062306a36Sopenharmony_ci}; 9162306a36Sopenharmony_ci 9262306a36Sopenharmony_ci/* XG1 - Upper SFP */ 9362306a36Sopenharmony_ci&dpmac1 { 9462306a36Sopenharmony_ci sfp = <&sfp_xg1>; 9562306a36Sopenharmony_ci pcs-handle = <&pcs1>; 9662306a36Sopenharmony_ci phy-connection-type = "10gbase-r"; 9762306a36Sopenharmony_ci managed = "in-band-status"; 9862306a36Sopenharmony_ci}; 9962306a36Sopenharmony_ci 10062306a36Sopenharmony_ci/* XG0 - Lower SFP */ 10162306a36Sopenharmony_ci&dpmac2 { 10262306a36Sopenharmony_ci sfp = <&sfp_xg0>; 10362306a36Sopenharmony_ci pcs-handle = <&pcs2>; 10462306a36Sopenharmony_ci phy-connection-type = "10gbase-r"; 10562306a36Sopenharmony_ci managed = "in-band-status"; 10662306a36Sopenharmony_ci}; 10762306a36Sopenharmony_ci 10862306a36Sopenharmony_ci/* DPMAC3..6 is GE4 to GE8 */ 10962306a36Sopenharmony_ci&dpmac3 { 11062306a36Sopenharmony_ci phy-handle = <&mdio1_phy5>; 11162306a36Sopenharmony_ci phy-connection-type = "qsgmii"; 11262306a36Sopenharmony_ci managed = "in-band-status"; 11362306a36Sopenharmony_ci pcs-handle = <&pcs3_0>; 11462306a36Sopenharmony_ci}; 11562306a36Sopenharmony_ci 11662306a36Sopenharmony_ci&dpmac4 { 11762306a36Sopenharmony_ci phy-handle = <&mdio1_phy6>; 11862306a36Sopenharmony_ci phy-connection-type = "qsgmii"; 11962306a36Sopenharmony_ci managed = "in-band-status"; 12062306a36Sopenharmony_ci pcs-handle = <&pcs3_1>; 12162306a36Sopenharmony_ci}; 12262306a36Sopenharmony_ci 12362306a36Sopenharmony_ci&dpmac5 { 12462306a36Sopenharmony_ci phy-handle = <&mdio1_phy7>; 12562306a36Sopenharmony_ci phy-connection-type = "qsgmii"; 12662306a36Sopenharmony_ci managed = "in-band-status"; 12762306a36Sopenharmony_ci pcs-handle = <&pcs3_2>; 12862306a36Sopenharmony_ci}; 12962306a36Sopenharmony_ci 13062306a36Sopenharmony_ci&dpmac6 { 13162306a36Sopenharmony_ci phy-handle = <&mdio1_phy8>; 13262306a36Sopenharmony_ci phy-connection-type = "qsgmii"; 13362306a36Sopenharmony_ci managed = "in-band-status"; 13462306a36Sopenharmony_ci pcs-handle = <&pcs3_3>; 13562306a36Sopenharmony_ci}; 13662306a36Sopenharmony_ci 13762306a36Sopenharmony_ci/* DPMAC7..10 is GE0 to GE3 */ 13862306a36Sopenharmony_ci&dpmac7 { 13962306a36Sopenharmony_ci phy-handle = <&mdio1_phy1>; 14062306a36Sopenharmony_ci phy-connection-type = "qsgmii"; 14162306a36Sopenharmony_ci managed = "in-band-status"; 14262306a36Sopenharmony_ci pcs-handle = <&pcs7_0>; 14362306a36Sopenharmony_ci}; 14462306a36Sopenharmony_ci 14562306a36Sopenharmony_ci&dpmac8 { 14662306a36Sopenharmony_ci phy-handle = <&mdio1_phy2>; 14762306a36Sopenharmony_ci phy-connection-type = "qsgmii"; 14862306a36Sopenharmony_ci managed = "in-band-status"; 14962306a36Sopenharmony_ci pcs-handle = <&pcs7_1>; 15062306a36Sopenharmony_ci}; 15162306a36Sopenharmony_ci 15262306a36Sopenharmony_ci&dpmac9 { 15362306a36Sopenharmony_ci phy-handle = <&mdio1_phy3>; 15462306a36Sopenharmony_ci phy-connection-type = "qsgmii"; 15562306a36Sopenharmony_ci managed = "in-band-status"; 15662306a36Sopenharmony_ci pcs-handle = <&pcs7_2>; 15762306a36Sopenharmony_ci}; 15862306a36Sopenharmony_ci 15962306a36Sopenharmony_ci&dpmac10 { 16062306a36Sopenharmony_ci phy-handle = <&mdio1_phy4>; 16162306a36Sopenharmony_ci phy-connection-type = "qsgmii"; 16262306a36Sopenharmony_ci managed = "in-band-status"; 16362306a36Sopenharmony_ci pcs-handle = <&pcs7_3>; 16462306a36Sopenharmony_ci}; 16562306a36Sopenharmony_ci 16662306a36Sopenharmony_ci&duart0 { 16762306a36Sopenharmony_ci status = "okay"; 16862306a36Sopenharmony_ci}; 16962306a36Sopenharmony_ci 17062306a36Sopenharmony_ci&duart1 { 17162306a36Sopenharmony_ci status = "okay"; 17262306a36Sopenharmony_ci}; 17362306a36Sopenharmony_ci 17462306a36Sopenharmony_ci&emdio1 { 17562306a36Sopenharmony_ci status = "okay"; 17662306a36Sopenharmony_ci 17762306a36Sopenharmony_ci mdio1_phy5: ethernet-phy@c { 17862306a36Sopenharmony_ci reg = <0xc>; 17962306a36Sopenharmony_ci }; 18062306a36Sopenharmony_ci 18162306a36Sopenharmony_ci mdio1_phy6: ethernet-phy@d { 18262306a36Sopenharmony_ci reg = <0xd>; 18362306a36Sopenharmony_ci }; 18462306a36Sopenharmony_ci 18562306a36Sopenharmony_ci mdio1_phy7: ethernet-phy@e { 18662306a36Sopenharmony_ci reg = <0xe>; 18762306a36Sopenharmony_ci }; 18862306a36Sopenharmony_ci 18962306a36Sopenharmony_ci mdio1_phy8: ethernet-phy@f { 19062306a36Sopenharmony_ci reg = <0xf>; 19162306a36Sopenharmony_ci }; 19262306a36Sopenharmony_ci 19362306a36Sopenharmony_ci mdio1_phy1: ethernet-phy@1c { 19462306a36Sopenharmony_ci reg = <0x1c>; 19562306a36Sopenharmony_ci }; 19662306a36Sopenharmony_ci 19762306a36Sopenharmony_ci mdio1_phy2: ethernet-phy@1d { 19862306a36Sopenharmony_ci reg = <0x1d>; 19962306a36Sopenharmony_ci }; 20062306a36Sopenharmony_ci 20162306a36Sopenharmony_ci mdio1_phy3: ethernet-phy@1e { 20262306a36Sopenharmony_ci reg = <0x1e>; 20362306a36Sopenharmony_ci }; 20462306a36Sopenharmony_ci 20562306a36Sopenharmony_ci mdio1_phy4: ethernet-phy@1f { 20662306a36Sopenharmony_ci reg = <0x1f>; 20762306a36Sopenharmony_ci }; 20862306a36Sopenharmony_ci}; 20962306a36Sopenharmony_ci 21062306a36Sopenharmony_ci&esdhc { 21162306a36Sopenharmony_ci status = "okay"; 21262306a36Sopenharmony_ci}; 21362306a36Sopenharmony_ci 21462306a36Sopenharmony_ci&i2c0 { 21562306a36Sopenharmony_ci status = "okay"; 21662306a36Sopenharmony_ci 21762306a36Sopenharmony_ci sfpgpio: gpio@76 { 21862306a36Sopenharmony_ci compatible = "ti,tca9539"; 21962306a36Sopenharmony_ci reg = <0x76>; 22062306a36Sopenharmony_ci #gpio-cells = <2>; 22162306a36Sopenharmony_ci gpio-controller; 22262306a36Sopenharmony_ci 22362306a36Sopenharmony_ci admin_led_lower { 22462306a36Sopenharmony_ci gpio-hog; 22562306a36Sopenharmony_ci gpios = <13 GPIO_ACTIVE_HIGH>; 22662306a36Sopenharmony_ci output-low; 22762306a36Sopenharmony_ci }; 22862306a36Sopenharmony_ci }; 22962306a36Sopenharmony_ci 23062306a36Sopenharmony_ci at97sc: tpm@29 { 23162306a36Sopenharmony_ci compatible = "atmel,at97sc3204t"; 23262306a36Sopenharmony_ci reg = <0x29>; 23362306a36Sopenharmony_ci }; 23462306a36Sopenharmony_ci}; 23562306a36Sopenharmony_ci 23662306a36Sopenharmony_ci&i2c2 { 23762306a36Sopenharmony_ci status = "okay"; 23862306a36Sopenharmony_ci 23962306a36Sopenharmony_ci rx8035: rtc@32 { 24062306a36Sopenharmony_ci compatible = "epson,rx8035"; 24162306a36Sopenharmony_ci reg = <0x32>; 24262306a36Sopenharmony_ci }; 24362306a36Sopenharmony_ci}; 24462306a36Sopenharmony_ci 24562306a36Sopenharmony_ci&i2c3 { 24662306a36Sopenharmony_ci status = "okay"; 24762306a36Sopenharmony_ci 24862306a36Sopenharmony_ci i2c-mux@70 { 24962306a36Sopenharmony_ci compatible = "nxp,pca9540"; 25062306a36Sopenharmony_ci #address-cells = <1>; 25162306a36Sopenharmony_ci #size-cells = <0>; 25262306a36Sopenharmony_ci reg = <0x70>; 25362306a36Sopenharmony_ci 25462306a36Sopenharmony_ci sfpupper_i2c: i2c@0 { 25562306a36Sopenharmony_ci #address-cells = <1>; 25662306a36Sopenharmony_ci #size-cells = <0>; 25762306a36Sopenharmony_ci reg = <0>; 25862306a36Sopenharmony_ci }; 25962306a36Sopenharmony_ci 26062306a36Sopenharmony_ci sfplower_i2c: i2c@1 { 26162306a36Sopenharmony_ci #address-cells = <1>; 26262306a36Sopenharmony_ci #size-cells = <0>; 26362306a36Sopenharmony_ci reg = <1>; 26462306a36Sopenharmony_ci }; 26562306a36Sopenharmony_ci }; 26662306a36Sopenharmony_ci}; 26762306a36Sopenharmony_ci 26862306a36Sopenharmony_ci&pcs_mdio1 { 26962306a36Sopenharmony_ci status = "okay"; 27062306a36Sopenharmony_ci}; 27162306a36Sopenharmony_ci 27262306a36Sopenharmony_ci&pcs_mdio2 { 27362306a36Sopenharmony_ci status = "okay"; 27462306a36Sopenharmony_ci}; 27562306a36Sopenharmony_ci 27662306a36Sopenharmony_ci&pcs_mdio3 { 27762306a36Sopenharmony_ci status = "okay"; 27862306a36Sopenharmony_ci}; 27962306a36Sopenharmony_ci 28062306a36Sopenharmony_ci&pcs_mdio7 { 28162306a36Sopenharmony_ci status = "okay"; 28262306a36Sopenharmony_ci}; 28362306a36Sopenharmony_ci 28462306a36Sopenharmony_ci&qspi { 28562306a36Sopenharmony_ci status = "okay"; 28662306a36Sopenharmony_ci 28762306a36Sopenharmony_ci en25s64: flash@0 { 28862306a36Sopenharmony_ci compatible = "jedec,spi-nor"; 28962306a36Sopenharmony_ci #address-cells = <1>; 29062306a36Sopenharmony_ci #size-cells = <1>; 29162306a36Sopenharmony_ci reg = <0>; 29262306a36Sopenharmony_ci spi-max-frequency = <20000000>; 29362306a36Sopenharmony_ci spi-rx-bus-width = <4>; 29462306a36Sopenharmony_ci spi-tx-bus-width = <4>; 29562306a36Sopenharmony_ci 29662306a36Sopenharmony_ci partitions { 29762306a36Sopenharmony_ci compatible = "fixed-partitions"; 29862306a36Sopenharmony_ci #address-cells = <1>; 29962306a36Sopenharmony_ci #size-cells = <1>; 30062306a36Sopenharmony_ci 30162306a36Sopenharmony_ci partition@0 { 30262306a36Sopenharmony_ci label = "bl2"; 30362306a36Sopenharmony_ci reg = <0 0x100000>; 30462306a36Sopenharmony_ci }; 30562306a36Sopenharmony_ci 30662306a36Sopenharmony_ci partition@100000 { 30762306a36Sopenharmony_ci label = "bl3"; 30862306a36Sopenharmony_ci reg = <0x100000 0x200000>; 30962306a36Sopenharmony_ci }; 31062306a36Sopenharmony_ci 31162306a36Sopenharmony_ci partition@300000 { 31262306a36Sopenharmony_ci label = "mcfirmware"; 31362306a36Sopenharmony_ci reg = <0x300000 0x200000>; 31462306a36Sopenharmony_ci }; 31562306a36Sopenharmony_ci 31662306a36Sopenharmony_ci partition@500000 { 31762306a36Sopenharmony_ci label = "ubootenv"; 31862306a36Sopenharmony_ci reg = <0x500000 0x80000>; 31962306a36Sopenharmony_ci }; 32062306a36Sopenharmony_ci 32162306a36Sopenharmony_ci partition@580000 { 32262306a36Sopenharmony_ci label = "dpl"; 32362306a36Sopenharmony_ci reg = <0x580000 0x40000>; 32462306a36Sopenharmony_ci }; 32562306a36Sopenharmony_ci 32662306a36Sopenharmony_ci partition@5C0000 { 32762306a36Sopenharmony_ci label = "dpc"; 32862306a36Sopenharmony_ci reg = <0x5C0000 0x40000>; 32962306a36Sopenharmony_ci }; 33062306a36Sopenharmony_ci 33162306a36Sopenharmony_ci partition@600000 { 33262306a36Sopenharmony_ci label = "devicetree"; 33362306a36Sopenharmony_ci reg = <0x600000 0x40000>; 33462306a36Sopenharmony_ci }; 33562306a36Sopenharmony_ci }; 33662306a36Sopenharmony_ci }; 33762306a36Sopenharmony_ci 33862306a36Sopenharmony_ci nand: flash@1 { 33962306a36Sopenharmony_ci compatible = "spi-nand"; 34062306a36Sopenharmony_ci #address-cells = <1>; 34162306a36Sopenharmony_ci #size-cells = <1>; 34262306a36Sopenharmony_ci reg = <1>; 34362306a36Sopenharmony_ci spi-max-frequency = <20000000>; 34462306a36Sopenharmony_ci spi-rx-bus-width = <4>; 34562306a36Sopenharmony_ci spi-tx-bus-width = <4>; 34662306a36Sopenharmony_ci 34762306a36Sopenharmony_ci partitions { 34862306a36Sopenharmony_ci compatible = "fixed-partitions"; 34962306a36Sopenharmony_ci #address-cells = <1>; 35062306a36Sopenharmony_ci #size-cells = <1>; 35162306a36Sopenharmony_ci 35262306a36Sopenharmony_ci /* reserved for future boot direct from NAND flash 35362306a36Sopenharmony_ci * (this would use the same layout as the 8MiB NOR flash) 35462306a36Sopenharmony_ci */ 35562306a36Sopenharmony_ci partition@0 { 35662306a36Sopenharmony_ci label = "nand-boot-reserved"; 35762306a36Sopenharmony_ci reg = <0 0x800000>; 35862306a36Sopenharmony_ci }; 35962306a36Sopenharmony_ci 36062306a36Sopenharmony_ci /* recovery / install environment */ 36162306a36Sopenharmony_ci partition@800000 { 36262306a36Sopenharmony_ci label = "recovery"; 36362306a36Sopenharmony_ci reg = <0x800000 0x2000000>; 36462306a36Sopenharmony_ci }; 36562306a36Sopenharmony_ci 36662306a36Sopenharmony_ci /* ubia (first OpenWrt) - a/b names to prevent confusion with ubi0/1/etc. */ 36762306a36Sopenharmony_ci partition@2800000 { 36862306a36Sopenharmony_ci label = "ubia"; 36962306a36Sopenharmony_ci reg = <0x2800000 0x6C00000>; 37062306a36Sopenharmony_ci }; 37162306a36Sopenharmony_ci 37262306a36Sopenharmony_ci /* ubib (second OpenWrt) */ 37362306a36Sopenharmony_ci partition@9400000 { 37462306a36Sopenharmony_ci label = "ubib"; 37562306a36Sopenharmony_ci reg = <0x9400000 0x6C00000>; 37662306a36Sopenharmony_ci }; 37762306a36Sopenharmony_ci }; 37862306a36Sopenharmony_ci }; 37962306a36Sopenharmony_ci}; 38062306a36Sopenharmony_ci 38162306a36Sopenharmony_ci&usb0 { 38262306a36Sopenharmony_ci status = "okay"; 38362306a36Sopenharmony_ci}; 38462306a36Sopenharmony_ci 38562306a36Sopenharmony_ci&usb1 { 38662306a36Sopenharmony_ci status = "okay"; 38762306a36Sopenharmony_ci}; 388