1418962eeSMathew McBride// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2418962eeSMathew McBride/* 3418962eeSMathew McBride * Device Tree file for Travese Ten64 (LS1088) board 4418962eeSMathew McBride * Based on fsl-ls1088a-rdb.dts 5418962eeSMathew McBride * Copyright 2017-2020 NXP 6418962eeSMathew McBride * Copyright 2019-2021 Traverse Technologies 7418962eeSMathew McBride * 8418962eeSMathew McBride * Author: Mathew McBride <matt@traverse.com.au> 9418962eeSMathew McBride */ 10418962eeSMathew McBride 11418962eeSMathew McBride/dts-v1/; 12418962eeSMathew McBride 13418962eeSMathew McBride#include "fsl-ls1088a.dtsi" 14418962eeSMathew McBride 15418962eeSMathew McBride#include <dt-bindings/gpio/gpio.h> 16418962eeSMathew McBride#include <dt-bindings/input/input.h> 17418962eeSMathew McBride 18418962eeSMathew McBride/ { 19418962eeSMathew McBride model = "Traverse Ten64"; 20418962eeSMathew McBride compatible = "traverse,ten64", "fsl,ls1088a"; 21418962eeSMathew McBride 22418962eeSMathew McBride aliases { 23418962eeSMathew McBride serial0 = &duart0; 24418962eeSMathew McBride serial1 = &duart1; 25418962eeSMathew McBride }; 26418962eeSMathew McBride 27418962eeSMathew McBride chosen { 28418962eeSMathew McBride stdout-path = "serial0:115200n8"; 29418962eeSMathew McBride }; 30418962eeSMathew McBride 31418962eeSMathew McBride buttons { 32418962eeSMathew McBride compatible = "gpio-keys"; 33418962eeSMathew McBride 34418962eeSMathew McBride /* Fired by system controller when 35418962eeSMathew McBride * external power off (e.g ATX Power Button) 36418962eeSMathew McBride * asserted 37418962eeSMathew McBride */ 38b803d15eSKrzysztof Kozlowski button-powerdn { 39418962eeSMathew McBride label = "External Power Down"; 40418962eeSMathew McBride gpios = <&gpio1 17 GPIO_ACTIVE_LOW>; 41418962eeSMathew McBride linux,code = <KEY_POWER>; 42418962eeSMathew McBride }; 43418962eeSMathew McBride 44418962eeSMathew McBride /* Rear Panel 'ADMIN' button (GPIO_H) */ 45b803d15eSKrzysztof Kozlowski button-admin { 46418962eeSMathew McBride label = "ADMIN button"; 47418962eeSMathew McBride gpios = <&gpio3 8 GPIO_ACTIVE_HIGH>; 48418962eeSMathew McBride linux,code = <KEY_WPS_BUTTON>; 49418962eeSMathew McBride }; 50418962eeSMathew McBride }; 51418962eeSMathew McBride 52418962eeSMathew McBride leds { 53418962eeSMathew McBride compatible = "gpio-leds"; 54418962eeSMathew McBride 5582cb8506SKrzysztof Kozlowski led-0 { 56418962eeSMathew McBride label = "ten64:green:sfp1:down"; 57418962eeSMathew McBride gpios = <&gpio3 11 GPIO_ACTIVE_HIGH>; 58418962eeSMathew McBride }; 59418962eeSMathew McBride 6082cb8506SKrzysztof Kozlowski led-1 { 61418962eeSMathew McBride label = "ten64:green:sfp2:up"; 62418962eeSMathew McBride gpios = <&gpio3 12 GPIO_ACTIVE_HIGH>; 63418962eeSMathew McBride }; 64418962eeSMathew McBride 6582cb8506SKrzysztof Kozlowski led-2 { 66418962eeSMathew McBride label = "ten64:admin"; 67418962eeSMathew McBride gpios = <&sfpgpio 12 GPIO_ACTIVE_HIGH>; 68418962eeSMathew McBride }; 69418962eeSMathew McBride }; 70418962eeSMathew McBride 71418962eeSMathew McBride sfp_xg0: dpmac2-sfp { 72418962eeSMathew McBride compatible = "sff,sfp"; 73418962eeSMathew McBride i2c-bus = <&sfplower_i2c>; 74418962eeSMathew McBride tx-fault-gpios = <&sfpgpio 0 GPIO_ACTIVE_HIGH>; 75418962eeSMathew McBride tx-disable-gpios = <&sfpgpio 1 GPIO_ACTIVE_HIGH>; 76418962eeSMathew McBride mod-def0-gpios = <&sfpgpio 2 GPIO_ACTIVE_LOW>; 77418962eeSMathew McBride los-gpios = <&sfpgpio 3 GPIO_ACTIVE_HIGH>; 78418962eeSMathew McBride maximum-power-milliwatt = <2000>; 79418962eeSMathew McBride }; 80418962eeSMathew McBride 81418962eeSMathew McBride sfp_xg1: dpmac1-sfp { 82418962eeSMathew McBride compatible = "sff,sfp"; 83418962eeSMathew McBride i2c-bus = <&sfpupper_i2c>; 84418962eeSMathew McBride tx-fault-gpios = <&sfpgpio 4 GPIO_ACTIVE_HIGH>; 85418962eeSMathew McBride tx-disable-gpios = <&sfpgpio 5 GPIO_ACTIVE_HIGH>; 86418962eeSMathew McBride mod-def0-gpios = <&sfpgpio 6 GPIO_ACTIVE_LOW>; 87418962eeSMathew McBride los-gpios = <&sfpgpio 7 GPIO_ACTIVE_HIGH>; 88418962eeSMathew McBride maximum-power-milliwatt = <2000>; 89418962eeSMathew McBride }; 90418962eeSMathew McBride}; 91418962eeSMathew McBride 92418962eeSMathew McBride/* XG1 - Upper SFP */ 93418962eeSMathew McBride&dpmac1 { 94418962eeSMathew McBride sfp = <&sfp_xg1>; 95418962eeSMathew McBride pcs-handle = <&pcs1>; 96418962eeSMathew McBride phy-connection-type = "10gbase-r"; 97418962eeSMathew McBride managed = "in-band-status"; 98418962eeSMathew McBride}; 99418962eeSMathew McBride 100418962eeSMathew McBride/* XG0 - Lower SFP */ 101418962eeSMathew McBride&dpmac2 { 102418962eeSMathew McBride sfp = <&sfp_xg0>; 103418962eeSMathew McBride pcs-handle = <&pcs2>; 104418962eeSMathew McBride phy-connection-type = "10gbase-r"; 105418962eeSMathew McBride managed = "in-band-status"; 106418962eeSMathew McBride}; 107418962eeSMathew McBride 108418962eeSMathew McBride/* DPMAC3..6 is GE4 to GE8 */ 109418962eeSMathew McBride&dpmac3 { 110418962eeSMathew McBride phy-handle = <&mdio1_phy5>; 111418962eeSMathew McBride phy-connection-type = "qsgmii"; 112418962eeSMathew McBride managed = "in-band-status"; 113418962eeSMathew McBride pcs-handle = <&pcs3_0>; 114418962eeSMathew McBride}; 115418962eeSMathew McBride 116418962eeSMathew McBride&dpmac4 { 117418962eeSMathew McBride phy-handle = <&mdio1_phy6>; 118418962eeSMathew McBride phy-connection-type = "qsgmii"; 119418962eeSMathew McBride managed = "in-band-status"; 120418962eeSMathew McBride pcs-handle = <&pcs3_1>; 121418962eeSMathew McBride}; 122418962eeSMathew McBride 123418962eeSMathew McBride&dpmac5 { 124418962eeSMathew McBride phy-handle = <&mdio1_phy7>; 125418962eeSMathew McBride phy-connection-type = "qsgmii"; 126418962eeSMathew McBride managed = "in-band-status"; 127418962eeSMathew McBride pcs-handle = <&pcs3_2>; 128418962eeSMathew McBride}; 129418962eeSMathew McBride 130418962eeSMathew McBride&dpmac6 { 131418962eeSMathew McBride phy-handle = <&mdio1_phy8>; 132418962eeSMathew McBride phy-connection-type = "qsgmii"; 133418962eeSMathew McBride managed = "in-band-status"; 134418962eeSMathew McBride pcs-handle = <&pcs3_3>; 135418962eeSMathew McBride}; 136418962eeSMathew McBride 137418962eeSMathew McBride/* DPMAC7..10 is GE0 to GE3 */ 138418962eeSMathew McBride&dpmac7 { 139418962eeSMathew McBride phy-handle = <&mdio1_phy1>; 140418962eeSMathew McBride phy-connection-type = "qsgmii"; 141418962eeSMathew McBride managed = "in-band-status"; 142418962eeSMathew McBride pcs-handle = <&pcs7_0>; 143418962eeSMathew McBride}; 144418962eeSMathew McBride 145418962eeSMathew McBride&dpmac8 { 146418962eeSMathew McBride phy-handle = <&mdio1_phy2>; 147418962eeSMathew McBride phy-connection-type = "qsgmii"; 148418962eeSMathew McBride managed = "in-band-status"; 149418962eeSMathew McBride pcs-handle = <&pcs7_1>; 150418962eeSMathew McBride}; 151418962eeSMathew McBride 152418962eeSMathew McBride&dpmac9 { 153418962eeSMathew McBride phy-handle = <&mdio1_phy3>; 154418962eeSMathew McBride phy-connection-type = "qsgmii"; 155418962eeSMathew McBride managed = "in-band-status"; 156418962eeSMathew McBride pcs-handle = <&pcs7_2>; 157418962eeSMathew McBride}; 158418962eeSMathew McBride 159418962eeSMathew McBride&dpmac10 { 160418962eeSMathew McBride phy-handle = <&mdio1_phy4>; 161418962eeSMathew McBride phy-connection-type = "qsgmii"; 162418962eeSMathew McBride managed = "in-band-status"; 163418962eeSMathew McBride pcs-handle = <&pcs7_3>; 164418962eeSMathew McBride}; 165418962eeSMathew McBride 166418962eeSMathew McBride&duart0 { 167418962eeSMathew McBride status = "okay"; 168418962eeSMathew McBride}; 169418962eeSMathew McBride 170418962eeSMathew McBride&duart1 { 171418962eeSMathew McBride status = "okay"; 172418962eeSMathew McBride}; 173418962eeSMathew McBride 174418962eeSMathew McBride&emdio1 { 175418962eeSMathew McBride status = "okay"; 176418962eeSMathew McBride 177418962eeSMathew McBride mdio1_phy5: ethernet-phy@c { 178418962eeSMathew McBride reg = <0xc>; 179418962eeSMathew McBride }; 180418962eeSMathew McBride 181418962eeSMathew McBride mdio1_phy6: ethernet-phy@d { 182418962eeSMathew McBride reg = <0xd>; 183418962eeSMathew McBride }; 184418962eeSMathew McBride 185418962eeSMathew McBride mdio1_phy7: ethernet-phy@e { 186418962eeSMathew McBride reg = <0xe>; 187418962eeSMathew McBride }; 188418962eeSMathew McBride 189418962eeSMathew McBride mdio1_phy8: ethernet-phy@f { 190418962eeSMathew McBride reg = <0xf>; 191418962eeSMathew McBride }; 192418962eeSMathew McBride 193418962eeSMathew McBride mdio1_phy1: ethernet-phy@1c { 194418962eeSMathew McBride reg = <0x1c>; 195418962eeSMathew McBride }; 196418962eeSMathew McBride 197418962eeSMathew McBride mdio1_phy2: ethernet-phy@1d { 198418962eeSMathew McBride reg = <0x1d>; 199418962eeSMathew McBride }; 200418962eeSMathew McBride 201418962eeSMathew McBride mdio1_phy3: ethernet-phy@1e { 202418962eeSMathew McBride reg = <0x1e>; 203418962eeSMathew McBride }; 204418962eeSMathew McBride 205418962eeSMathew McBride mdio1_phy4: ethernet-phy@1f { 206418962eeSMathew McBride reg = <0x1f>; 207418962eeSMathew McBride }; 208418962eeSMathew McBride}; 209418962eeSMathew McBride 210418962eeSMathew McBride&esdhc { 211418962eeSMathew McBride status = "okay"; 212418962eeSMathew McBride}; 213418962eeSMathew McBride 214418962eeSMathew McBride&i2c0 { 215418962eeSMathew McBride status = "okay"; 216418962eeSMathew McBride 217418962eeSMathew McBride sfpgpio: gpio@76 { 218418962eeSMathew McBride compatible = "ti,tca9539"; 219418962eeSMathew McBride reg = <0x76>; 220418962eeSMathew McBride #gpio-cells = <2>; 221418962eeSMathew McBride gpio-controller; 222418962eeSMathew McBride 223418962eeSMathew McBride admin_led_lower { 224418962eeSMathew McBride gpio-hog; 225418962eeSMathew McBride gpios = <13 GPIO_ACTIVE_HIGH>; 226418962eeSMathew McBride output-low; 227418962eeSMathew McBride }; 228418962eeSMathew McBride }; 229418962eeSMathew McBride 230418962eeSMathew McBride at97sc: tpm@29 { 231418962eeSMathew McBride compatible = "atmel,at97sc3204t"; 232418962eeSMathew McBride reg = <0x29>; 233418962eeSMathew McBride }; 234418962eeSMathew McBride}; 235418962eeSMathew McBride 236418962eeSMathew McBride&i2c2 { 237418962eeSMathew McBride status = "okay"; 238418962eeSMathew McBride 239418962eeSMathew McBride rx8035: rtc@32 { 240418962eeSMathew McBride compatible = "epson,rx8035"; 241418962eeSMathew McBride reg = <0x32>; 242418962eeSMathew McBride }; 243418962eeSMathew McBride}; 244418962eeSMathew McBride 245418962eeSMathew McBride&i2c3 { 246418962eeSMathew McBride status = "okay"; 247418962eeSMathew McBride 248*b025b4f5SGeert Uytterhoeven i2c-mux@70 { 249418962eeSMathew McBride compatible = "nxp,pca9540"; 250418962eeSMathew McBride #address-cells = <1>; 251418962eeSMathew McBride #size-cells = <0>; 252418962eeSMathew McBride reg = <0x70>; 253418962eeSMathew McBride 254418962eeSMathew McBride sfpupper_i2c: i2c@0 { 255418962eeSMathew McBride #address-cells = <1>; 256418962eeSMathew McBride #size-cells = <0>; 257418962eeSMathew McBride reg = <0>; 258418962eeSMathew McBride }; 259418962eeSMathew McBride 260418962eeSMathew McBride sfplower_i2c: i2c@1 { 261418962eeSMathew McBride #address-cells = <1>; 262418962eeSMathew McBride #size-cells = <0>; 263418962eeSMathew McBride reg = <1>; 264418962eeSMathew McBride }; 265418962eeSMathew McBride }; 266418962eeSMathew McBride}; 267418962eeSMathew McBride 268418962eeSMathew McBride&pcs_mdio1 { 269418962eeSMathew McBride status = "okay"; 270418962eeSMathew McBride}; 271418962eeSMathew McBride 272418962eeSMathew McBride&pcs_mdio2 { 273418962eeSMathew McBride status = "okay"; 274418962eeSMathew McBride}; 275418962eeSMathew McBride 276418962eeSMathew McBride&pcs_mdio3 { 277418962eeSMathew McBride status = "okay"; 278418962eeSMathew McBride}; 279418962eeSMathew McBride 280418962eeSMathew McBride&pcs_mdio7 { 281418962eeSMathew McBride status = "okay"; 282418962eeSMathew McBride}; 283418962eeSMathew McBride 284418962eeSMathew McBride&qspi { 285418962eeSMathew McBride status = "okay"; 286418962eeSMathew McBride 287418962eeSMathew McBride en25s64: flash@0 { 288418962eeSMathew McBride compatible = "jedec,spi-nor"; 289418962eeSMathew McBride #address-cells = <1>; 290418962eeSMathew McBride #size-cells = <1>; 291418962eeSMathew McBride reg = <0>; 292418962eeSMathew McBride spi-max-frequency = <20000000>; 293418962eeSMathew McBride spi-rx-bus-width = <4>; 294418962eeSMathew McBride spi-tx-bus-width = <4>; 295418962eeSMathew McBride 296418962eeSMathew McBride partitions { 297418962eeSMathew McBride compatible = "fixed-partitions"; 298418962eeSMathew McBride #address-cells = <1>; 299418962eeSMathew McBride #size-cells = <1>; 300418962eeSMathew McBride 301418962eeSMathew McBride partition@0 { 302418962eeSMathew McBride label = "bl2"; 303418962eeSMathew McBride reg = <0 0x100000>; 304418962eeSMathew McBride }; 305418962eeSMathew McBride 306418962eeSMathew McBride partition@100000 { 307418962eeSMathew McBride label = "bl3"; 308418962eeSMathew McBride reg = <0x100000 0x200000>; 309418962eeSMathew McBride }; 310418962eeSMathew McBride 311418962eeSMathew McBride partition@300000 { 312418962eeSMathew McBride label = "mcfirmware"; 313418962eeSMathew McBride reg = <0x300000 0x200000>; 314418962eeSMathew McBride }; 315418962eeSMathew McBride 316418962eeSMathew McBride partition@500000 { 317418962eeSMathew McBride label = "ubootenv"; 318418962eeSMathew McBride reg = <0x500000 0x80000>; 319418962eeSMathew McBride }; 320418962eeSMathew McBride 321418962eeSMathew McBride partition@580000 { 322418962eeSMathew McBride label = "dpl"; 323418962eeSMathew McBride reg = <0x580000 0x40000>; 324418962eeSMathew McBride }; 325418962eeSMathew McBride 326418962eeSMathew McBride partition@5C0000 { 327418962eeSMathew McBride label = "dpc"; 328418962eeSMathew McBride reg = <0x5C0000 0x40000>; 329418962eeSMathew McBride }; 330418962eeSMathew McBride 331418962eeSMathew McBride partition@600000 { 332418962eeSMathew McBride label = "devicetree"; 333418962eeSMathew McBride reg = <0x600000 0x40000>; 334418962eeSMathew McBride }; 335418962eeSMathew McBride }; 336418962eeSMathew McBride }; 337418962eeSMathew McBride 338418962eeSMathew McBride nand: flash@1 { 339418962eeSMathew McBride compatible = "spi-nand"; 340418962eeSMathew McBride #address-cells = <1>; 341418962eeSMathew McBride #size-cells = <1>; 342418962eeSMathew McBride reg = <1>; 343418962eeSMathew McBride spi-max-frequency = <20000000>; 344418962eeSMathew McBride spi-rx-bus-width = <4>; 345418962eeSMathew McBride spi-tx-bus-width = <4>; 346418962eeSMathew McBride 347418962eeSMathew McBride partitions { 348418962eeSMathew McBride compatible = "fixed-partitions"; 349418962eeSMathew McBride #address-cells = <1>; 350418962eeSMathew McBride #size-cells = <1>; 351418962eeSMathew McBride 352418962eeSMathew McBride /* reserved for future boot direct from NAND flash 353418962eeSMathew McBride * (this would use the same layout as the 8MiB NOR flash) 354418962eeSMathew McBride */ 355418962eeSMathew McBride partition@0 { 356418962eeSMathew McBride label = "nand-boot-reserved"; 357418962eeSMathew McBride reg = <0 0x800000>; 358418962eeSMathew McBride }; 359418962eeSMathew McBride 360418962eeSMathew McBride /* recovery / install environment */ 361418962eeSMathew McBride partition@800000 { 362418962eeSMathew McBride label = "recovery"; 363418962eeSMathew McBride reg = <0x800000 0x2000000>; 364418962eeSMathew McBride }; 365418962eeSMathew McBride 366418962eeSMathew McBride /* ubia (first OpenWrt) - a/b names to prevent confusion with ubi0/1/etc. */ 367418962eeSMathew McBride partition@2800000 { 368418962eeSMathew McBride label = "ubia"; 369418962eeSMathew McBride reg = <0x2800000 0x6C00000>; 370418962eeSMathew McBride }; 371418962eeSMathew McBride 372418962eeSMathew McBride /* ubib (second OpenWrt) */ 373418962eeSMathew McBride partition@9400000 { 374418962eeSMathew McBride label = "ubib"; 375418962eeSMathew McBride reg = <0x9400000 0x6C00000>; 376418962eeSMathew McBride }; 377418962eeSMathew McBride }; 378418962eeSMathew McBride }; 379418962eeSMathew McBride}; 380418962eeSMathew McBride 381418962eeSMathew McBride&usb0 { 382418962eeSMathew McBride status = "okay"; 383418962eeSMathew McBride}; 384418962eeSMathew McBride 385418962eeSMathew McBride&usb1 { 386418962eeSMathew McBride status = "okay"; 387418962eeSMathew McBride}; 388