1*4882a593Smuzhiyun// SPDX-License-Identifier: (GPL-2.0 OR MIT) 2*4882a593Smuzhiyun/* 3*4882a593Smuzhiyun * Device Tree file for Clearfog GTR machines rev 1.0 (88F6825) 4*4882a593Smuzhiyun * 5*4882a593Smuzhiyun * Rabeeh Khoury <rabeeh@solid-run.com>, based on Russell King clearfog work 6*4882a593Smuzhiyun */ 7*4882a593Smuzhiyun 8*4882a593Smuzhiyun/* 9*4882a593Smuzhiyun SERDES mapping - 10*4882a593Smuzhiyun 0. SATA1 on CON18, or optionally mini PCIe CON3 - PCIe0 11*4882a593Smuzhiyun 1. 6141 switch (2.5Gbps capable) 12*4882a593Smuzhiyun 2. SATA0 on CON17, or optionally mini PCIe CON4 - PCIe1 13*4882a593Smuzhiyun 3. USB 3.0 Host 14*4882a593Smuzhiyun 4. mini PCIe CON2 - PCIe2 15*4882a593Smuzhiyun 5. SFP connector, or optionally SGMII Ethernet 1512 PHY 16*4882a593Smuzhiyun 17*4882a593Smuzhiyun USB 2.0 mapping - 18*4882a593Smuzhiyun 0. USB 2.0 - 0 USB pins header CON12 19*4882a593Smuzhiyun 1. USB 2.0 - 1 mini PCIe CON2 20*4882a593Smuzhiyun 2. USB 2.0 - 2 to USB 3.0 connector (used with SERDES #3) 21*4882a593Smuzhiyun 22*4882a593Smuzhiyun Pin mapping - 23*4882a593Smuzhiyun 0,1 - console UART 24*4882a593Smuzhiyun 2,3 - I2C0 - connected to I2C EEPROM, two temperature sensors, 25*4882a593Smuzhiyun front panel and PSE controller 26*4882a593Smuzhiyun 4,5 - MDC/MDIO 27*4882a593Smuzhiyun 6..17 - RGMII 28*4882a593Smuzhiyun 18 - Topaz switch reset (active low) 29*4882a593Smuzhiyun 19 - 1512 phy reset 30*4882a593Smuzhiyun 20 - 1512 phy reset (eth2, optional) 31*4882a593Smuzhiyun 21,28,37,38,39,40 - SD0 32*4882a593Smuzhiyun 22 - USB 3.0 current limiter enable (active high) 33*4882a593Smuzhiyun 24 - SFP TX fault (input active high) 34*4882a593Smuzhiyun 25 - SFP present (input active low) 35*4882a593Smuzhiyun 26,27 - I2C1 - connected to SFP 36*4882a593Smuzhiyun 29 - Fan PWM 37*4882a593Smuzhiyun 30 - CON4 mini PCIe wifi disable 38*4882a593Smuzhiyun 31 - CON3 mini PCIe wifi disable 39*4882a593Smuzhiyun 32 - Fuse programming power toggle (1.8v) 40*4882a593Smuzhiyun 33 - CON4 mini PCIe reset 41*4882a593Smuzhiyun 34 - CON2 mini PCIe wifi disable 42*4882a593Smuzhiyun 35 - CON3 mini PCIe reset 43*4882a593Smuzhiyun 36 - Rear button (GPIO active low) 44*4882a593Smuzhiyun 41 - CON1 front panel connector 45*4882a593Smuzhiyun 42 - Front LED1, or front panel CON1 46*4882a593Smuzhiyun 43 - Micron L-PBGA 24 ball SPI (1Gb) CS, or TPM SPI CS 47*4882a593Smuzhiyun 44 - CON2 mini PCIe reset 48*4882a593Smuzhiyun 45 - TPM PIRQ signal, or front panel CON1 49*4882a593Smuzhiyun 46 - SFP TX disable 50*4882a593Smuzhiyun 47 - Control isolation of boot sensitive SAR signals 51*4882a593Smuzhiyun 48 - PSE reset 52*4882a593Smuzhiyun 49 - PSE OSS signal 53*4882a593Smuzhiyun 50 - PSE interrupt 54*4882a593Smuzhiyun 52 - Front LED2, or front panel 55*4882a593Smuzhiyun 53 - Front button 56*4882a593Smuzhiyun 54 - SFP LOS (input active high) 57*4882a593Smuzhiyun 55 - Fan sense 58*4882a593Smuzhiyun 56(mosi),57(clk),58(miso) - SPI interface - 32Mb SPI, 1Gb SPI and TPM 59*4882a593Smuzhiyun 59 - SPI 32Mb W25Q32BVZPIG CS0 chip select (bootable) 60*4882a593Smuzhiyun*/ 61*4882a593Smuzhiyun 62*4882a593Smuzhiyun/dts-v1/; 63*4882a593Smuzhiyun#include <dt-bindings/input/input.h> 64*4882a593Smuzhiyun#include <dt-bindings/gpio/gpio.h> 65*4882a593Smuzhiyun#include <dt-bindings/leds/common.h> 66*4882a593Smuzhiyun#include "armada-385.dtsi" 67*4882a593Smuzhiyun 68*4882a593Smuzhiyun/ { 69*4882a593Smuzhiyun compatible = "marvell,armada385", "marvell,armada380"; 70*4882a593Smuzhiyun 71*4882a593Smuzhiyun aliases { 72*4882a593Smuzhiyun /* So that mvebu u-boot can update the MAC addresses */ 73*4882a593Smuzhiyun ethernet1 = ð0; 74*4882a593Smuzhiyun ethernet2 = ð1; 75*4882a593Smuzhiyun ethernet3 = ð2; 76*4882a593Smuzhiyun i2c0 = &i2c0; 77*4882a593Smuzhiyun i2c1 = &i2c1; 78*4882a593Smuzhiyun }; 79*4882a593Smuzhiyun 80*4882a593Smuzhiyun chosen { 81*4882a593Smuzhiyun stdout-path = "serial0:115200n8"; 82*4882a593Smuzhiyun }; 83*4882a593Smuzhiyun 84*4882a593Smuzhiyun memory { 85*4882a593Smuzhiyun device_type = "memory"; 86*4882a593Smuzhiyun reg = <0x00000000 0x10000000>; /* 256 MB */ 87*4882a593Smuzhiyun }; 88*4882a593Smuzhiyun 89*4882a593Smuzhiyun reg_3p3v: regulator-3p3v { 90*4882a593Smuzhiyun compatible = "regulator-fixed"; 91*4882a593Smuzhiyun regulator-name = "3P3V"; 92*4882a593Smuzhiyun regulator-min-microvolt = <3300000>; 93*4882a593Smuzhiyun regulator-max-microvolt = <3300000>; 94*4882a593Smuzhiyun regulator-always-on; 95*4882a593Smuzhiyun }; 96*4882a593Smuzhiyun 97*4882a593Smuzhiyun reg_5p0v: regulator-5p0v { 98*4882a593Smuzhiyun compatible = "regulator-fixed"; 99*4882a593Smuzhiyun regulator-name = "5P0V"; 100*4882a593Smuzhiyun regulator-min-microvolt = <5000000>; 101*4882a593Smuzhiyun regulator-max-microvolt = <5000000>; 102*4882a593Smuzhiyun regulator-always-on; 103*4882a593Smuzhiyun }; 104*4882a593Smuzhiyun 105*4882a593Smuzhiyun v_usb3_con: regulator-v-usb3-con { 106*4882a593Smuzhiyun compatible = "regulator-fixed"; 107*4882a593Smuzhiyun gpio = <&gpio0 22 GPIO_ACTIVE_LOW>; 108*4882a593Smuzhiyun pinctrl-names = "default"; 109*4882a593Smuzhiyun pinctrl-0 = <&cf_gtr_usb3_con_vbus>; 110*4882a593Smuzhiyun regulator-max-microvolt = <5000000>; 111*4882a593Smuzhiyun regulator-min-microvolt = <5000000>; 112*4882a593Smuzhiyun regulator-name = "v_usb3_con"; 113*4882a593Smuzhiyun vin-supply = <®_5p0v>; 114*4882a593Smuzhiyun regulator-boot-on; 115*4882a593Smuzhiyun regulator-always-on; 116*4882a593Smuzhiyun }; 117*4882a593Smuzhiyun 118*4882a593Smuzhiyun soc { 119*4882a593Smuzhiyun ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000 120*4882a593Smuzhiyun MBUS_ID(0x01, 0x1d) 0 0xfff00000 0x100000 121*4882a593Smuzhiyun MBUS_ID(0x09, 0x19) 0 0xf1100000 0x10000 122*4882a593Smuzhiyun MBUS_ID(0x09, 0x15) 0 0xf1110000 0x10000 123*4882a593Smuzhiyun MBUS_ID(0x0c, 0x04) 0 0xf1200000 0x100000>; 124*4882a593Smuzhiyun 125*4882a593Smuzhiyun internal-regs { 126*4882a593Smuzhiyun 127*4882a593Smuzhiyun rtc@a3800 { 128*4882a593Smuzhiyun status = "okay"; 129*4882a593Smuzhiyun }; 130*4882a593Smuzhiyun 131*4882a593Smuzhiyun i2c@11000 { /* ROM, temp sensor and front panel */ 132*4882a593Smuzhiyun pinctrl-0 = <&i2c0_pins>; 133*4882a593Smuzhiyun pinctrl-names = "default"; 134*4882a593Smuzhiyun status = "okay"; 135*4882a593Smuzhiyun }; 136*4882a593Smuzhiyun 137*4882a593Smuzhiyun i2c@11100 { /* SFP (CON5/CON6) */ 138*4882a593Smuzhiyun pinctrl-0 = <&cf_gtr_i2c1_pins>; 139*4882a593Smuzhiyun pinctrl-names = "default"; 140*4882a593Smuzhiyun status = "okay"; 141*4882a593Smuzhiyun }; 142*4882a593Smuzhiyun 143*4882a593Smuzhiyun pinctrl@18000 { 144*4882a593Smuzhiyun cf_gtr_switch_reset_pins: cf-gtr-switch-reset-pins { 145*4882a593Smuzhiyun marvell,pins = "mpp18"; 146*4882a593Smuzhiyun marvell,function = "gpio"; 147*4882a593Smuzhiyun }; 148*4882a593Smuzhiyun 149*4882a593Smuzhiyun cf_gtr_usb3_con_vbus: cf-gtr-usb3-con-vbus { 150*4882a593Smuzhiyun marvell,pins = "mpp22"; 151*4882a593Smuzhiyun marvell,function = "gpio"; 152*4882a593Smuzhiyun }; 153*4882a593Smuzhiyun 154*4882a593Smuzhiyun cf_gtr_fan_pwm: cf-gtr-fan-pwm { 155*4882a593Smuzhiyun marvell,pins = "mpp23"; 156*4882a593Smuzhiyun marvell,function = "gpio"; 157*4882a593Smuzhiyun }; 158*4882a593Smuzhiyun 159*4882a593Smuzhiyun cf_gtr_i2c1_pins: i2c1-pins { 160*4882a593Smuzhiyun /* SFP */ 161*4882a593Smuzhiyun marvell,pins = "mpp26", "mpp27"; 162*4882a593Smuzhiyun marvell,function = "i2c1"; 163*4882a593Smuzhiyun }; 164*4882a593Smuzhiyun 165*4882a593Smuzhiyun cf_gtr_sdhci_pins: cf-gtr-sdhci-pins { 166*4882a593Smuzhiyun marvell,pins = "mpp21", "mpp28", 167*4882a593Smuzhiyun "mpp37", "mpp38", 168*4882a593Smuzhiyun "mpp39", "mpp40"; 169*4882a593Smuzhiyun marvell,function = "sd0"; 170*4882a593Smuzhiyun }; 171*4882a593Smuzhiyun 172*4882a593Smuzhiyun cf_gtr_isolation_pins: cf-gtr-isolation-pins { 173*4882a593Smuzhiyun marvell,pins = "mpp47"; 174*4882a593Smuzhiyun marvell,function = "gpio"; 175*4882a593Smuzhiyun }; 176*4882a593Smuzhiyun 177*4882a593Smuzhiyun cf_gtr_poe_reset_pins: cf-gtr-poe-reset-pins { 178*4882a593Smuzhiyun marvell,pins = "mpp48"; 179*4882a593Smuzhiyun marvell,function = "gpio"; 180*4882a593Smuzhiyun }; 181*4882a593Smuzhiyun 182*4882a593Smuzhiyun cf_gtr_spi1_cs_pins: spi1-cs-pins { 183*4882a593Smuzhiyun marvell,pins = "mpp59"; 184*4882a593Smuzhiyun marvell,function = "spi1"; 185*4882a593Smuzhiyun }; 186*4882a593Smuzhiyun 187*4882a593Smuzhiyun cf_gtr_front_button_pins: cf-gtr-front-button-pins { 188*4882a593Smuzhiyun marvell,pins = "mpp53"; 189*4882a593Smuzhiyun marvell,function = "gpio"; 190*4882a593Smuzhiyun }; 191*4882a593Smuzhiyun 192*4882a593Smuzhiyun cf_gtr_rear_button_pins: cf-gtr-rear-button-pins { 193*4882a593Smuzhiyun marvell,pins = "mpp36"; 194*4882a593Smuzhiyun marvell,function = "gpio"; 195*4882a593Smuzhiyun }; 196*4882a593Smuzhiyun }; 197*4882a593Smuzhiyun 198*4882a593Smuzhiyun sdhci@d8000 { 199*4882a593Smuzhiyun bus-width = <4>; 200*4882a593Smuzhiyun no-1-8-v; 201*4882a593Smuzhiyun non-removable; 202*4882a593Smuzhiyun pinctrl-0 = <&cf_gtr_sdhci_pins>; 203*4882a593Smuzhiyun pinctrl-names = "default"; 204*4882a593Smuzhiyun status = "okay"; 205*4882a593Smuzhiyun vmmc = <®_3p3v>; 206*4882a593Smuzhiyun wp-inverted; 207*4882a593Smuzhiyun }; 208*4882a593Smuzhiyun 209*4882a593Smuzhiyun usb@58000 { 210*4882a593Smuzhiyun status = "okay"; 211*4882a593Smuzhiyun }; 212*4882a593Smuzhiyun 213*4882a593Smuzhiyun usb3@f0000 { 214*4882a593Smuzhiyun status = "okay"; 215*4882a593Smuzhiyun }; 216*4882a593Smuzhiyun 217*4882a593Smuzhiyun usb3@f8000 { 218*4882a593Smuzhiyun vbus-supply = <&v_usb3_con>; 219*4882a593Smuzhiyun status = "okay"; 220*4882a593Smuzhiyun }; 221*4882a593Smuzhiyun }; 222*4882a593Smuzhiyun 223*4882a593Smuzhiyun pcie { 224*4882a593Smuzhiyun status = "okay"; 225*4882a593Smuzhiyun /* 226*4882a593Smuzhiyun * The PCIe units are accessible through 227*4882a593Smuzhiyun * the mini-PCIe connectors on the board. 228*4882a593Smuzhiyun */ 229*4882a593Smuzhiyun pcie@1,0 { 230*4882a593Smuzhiyun reset-gpios = <&gpio1 3 GPIO_ACTIVE_LOW>; 231*4882a593Smuzhiyun status = "okay"; 232*4882a593Smuzhiyun }; 233*4882a593Smuzhiyun 234*4882a593Smuzhiyun pcie@2,0 { 235*4882a593Smuzhiyun reset-gpios = <&gpio1 1 GPIO_ACTIVE_LOW>; 236*4882a593Smuzhiyun status = "okay"; 237*4882a593Smuzhiyun }; 238*4882a593Smuzhiyun 239*4882a593Smuzhiyun pcie@3,0 { 240*4882a593Smuzhiyun reset-gpios = <&gpio1 12 GPIO_ACTIVE_LOW>; 241*4882a593Smuzhiyun status = "okay"; 242*4882a593Smuzhiyun }; 243*4882a593Smuzhiyun }; 244*4882a593Smuzhiyun }; 245*4882a593Smuzhiyun 246*4882a593Smuzhiyun sfp0: sfp { 247*4882a593Smuzhiyun compatible = "sff,sfp"; 248*4882a593Smuzhiyun i2c-bus = <&i2c1>; 249*4882a593Smuzhiyun los-gpio = <&gpio1 22 GPIO_ACTIVE_HIGH>; 250*4882a593Smuzhiyun mod-def0-gpio = <&gpio0 25 GPIO_ACTIVE_LOW>; 251*4882a593Smuzhiyun tx-disable-gpio = <&gpio1 14 GPIO_ACTIVE_HIGH>; 252*4882a593Smuzhiyun }; 253*4882a593Smuzhiyun 254*4882a593Smuzhiyun gpio-keys { 255*4882a593Smuzhiyun compatible = "gpio-keys"; 256*4882a593Smuzhiyun pinctrl-0 = <&cf_gtr_rear_button_pins &cf_gtr_front_button_pins>; 257*4882a593Smuzhiyun pinctrl-names = "default"; 258*4882a593Smuzhiyun 259*4882a593Smuzhiyun button_0 { 260*4882a593Smuzhiyun label = "Rear Button"; 261*4882a593Smuzhiyun gpios = <&gpio1 4 GPIO_ACTIVE_LOW>; 262*4882a593Smuzhiyun linux,can-disable; 263*4882a593Smuzhiyun linux,code = <BTN_0>; 264*4882a593Smuzhiyun }; 265*4882a593Smuzhiyun 266*4882a593Smuzhiyun button_1 { 267*4882a593Smuzhiyun label = "Front Button"; 268*4882a593Smuzhiyun gpios = <&gpio1 21 GPIO_ACTIVE_LOW>; 269*4882a593Smuzhiyun linux,can-disable; 270*4882a593Smuzhiyun linux,code = <BTN_1>; 271*4882a593Smuzhiyun }; 272*4882a593Smuzhiyun }; 273*4882a593Smuzhiyun 274*4882a593Smuzhiyun gpio-leds { 275*4882a593Smuzhiyun compatible = "gpio-leds"; 276*4882a593Smuzhiyun 277*4882a593Smuzhiyun led1 { 278*4882a593Smuzhiyun function = LED_FUNCTION_CPU; 279*4882a593Smuzhiyun color = <LED_COLOR_ID_GREEN>; 280*4882a593Smuzhiyun gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>; 281*4882a593Smuzhiyun }; 282*4882a593Smuzhiyun 283*4882a593Smuzhiyun led2 { 284*4882a593Smuzhiyun function = LED_FUNCTION_HEARTBEAT; 285*4882a593Smuzhiyun color = <LED_COLOR_ID_GREEN>; 286*4882a593Smuzhiyun gpios = <&gpio1 20 GPIO_ACTIVE_HIGH>; 287*4882a593Smuzhiyun }; 288*4882a593Smuzhiyun }; 289*4882a593Smuzhiyun}; 290*4882a593Smuzhiyun 291*4882a593Smuzhiyun&bm { 292*4882a593Smuzhiyun status = "okay"; 293*4882a593Smuzhiyun}; 294*4882a593Smuzhiyun 295*4882a593Smuzhiyun&bm_bppi { 296*4882a593Smuzhiyun status = "okay"; 297*4882a593Smuzhiyun}; 298*4882a593Smuzhiyun 299*4882a593Smuzhiyunð0 { 300*4882a593Smuzhiyun /* ethernet@70000 */ 301*4882a593Smuzhiyun pinctrl-0 = <&ge0_rgmii_pins>; 302*4882a593Smuzhiyun pinctrl-names = "default"; 303*4882a593Smuzhiyun phy = <&phy_dedicated>; 304*4882a593Smuzhiyun phy-mode = "rgmii-id"; 305*4882a593Smuzhiyun buffer-manager = <&bm>; 306*4882a593Smuzhiyun bm,pool-long = <0>; 307*4882a593Smuzhiyun bm,pool-short = <1>; 308*4882a593Smuzhiyun status = "okay"; 309*4882a593Smuzhiyun}; 310*4882a593Smuzhiyun 311*4882a593Smuzhiyunð1 { 312*4882a593Smuzhiyun /* ethernet@30000 */ 313*4882a593Smuzhiyun bm,pool-long = <2>; 314*4882a593Smuzhiyun bm,pool-short = <1>; 315*4882a593Smuzhiyun buffer-manager = <&bm>; 316*4882a593Smuzhiyun phys = <&comphy1 1>; 317*4882a593Smuzhiyun phy-mode = "2500base-x"; 318*4882a593Smuzhiyun status = "okay"; 319*4882a593Smuzhiyun 320*4882a593Smuzhiyun fixed-link { 321*4882a593Smuzhiyun speed = <2500>; 322*4882a593Smuzhiyun full-duplex; 323*4882a593Smuzhiyun }; 324*4882a593Smuzhiyun}; 325*4882a593Smuzhiyun 326*4882a593Smuzhiyunð2 { 327*4882a593Smuzhiyun /* ethernet@34000 */ 328*4882a593Smuzhiyun bm,pool-long = <3>; 329*4882a593Smuzhiyun bm,pool-short = <1>; 330*4882a593Smuzhiyun buffer-manager = <&bm>; 331*4882a593Smuzhiyun managed = "in-band-status"; 332*4882a593Smuzhiyun phys = <&comphy5 1>; 333*4882a593Smuzhiyun phy-mode = "sgmii"; 334*4882a593Smuzhiyun sfp = <&sfp0>; 335*4882a593Smuzhiyun status = "okay"; 336*4882a593Smuzhiyun}; 337*4882a593Smuzhiyun 338*4882a593Smuzhiyun&mdio { 339*4882a593Smuzhiyun pinctrl-names = "default"; 340*4882a593Smuzhiyun pinctrl-0 = <&mdio_pins>; 341*4882a593Smuzhiyun status = "okay"; 342*4882a593Smuzhiyun 343*4882a593Smuzhiyun phy_dedicated: ethernet-phy@0 { 344*4882a593Smuzhiyun /* 345*4882a593Smuzhiyun * Annoyingly, the marvell phy driver configures the LED 346*4882a593Smuzhiyun * register, rather than preserving reset-loaded setting. 347*4882a593Smuzhiyun * We undo that rubbish here. 348*4882a593Smuzhiyun */ 349*4882a593Smuzhiyun marvell,reg-init = <3 16 0 0x1017>; 350*4882a593Smuzhiyun reg = <0>; 351*4882a593Smuzhiyun }; 352*4882a593Smuzhiyun}; 353*4882a593Smuzhiyun 354*4882a593Smuzhiyun&uart0 { 355*4882a593Smuzhiyun pinctrl-0 = <&uart0_pins>; 356*4882a593Smuzhiyun pinctrl-names = "default"; 357*4882a593Smuzhiyun status = "okay"; 358*4882a593Smuzhiyun}; 359*4882a593Smuzhiyun 360*4882a593Smuzhiyun&spi1 { 361*4882a593Smuzhiyun /* 362*4882a593Smuzhiyun * CS0: W25Q32 flash 363*4882a593Smuzhiyun */ 364*4882a593Smuzhiyun pinctrl-0 = <&spi1_pins &cf_gtr_spi1_cs_pins>; 365*4882a593Smuzhiyun pinctrl-names = "default"; 366*4882a593Smuzhiyun status = "okay"; 367*4882a593Smuzhiyun 368*4882a593Smuzhiyun spi-flash@0 { 369*4882a593Smuzhiyun #address-cells = <1>; 370*4882a593Smuzhiyun #size-cells = <0>; 371*4882a593Smuzhiyun compatible = "w25q32", "jedec,spi-nor"; 372*4882a593Smuzhiyun reg = <0>; /* Chip select 0 */ 373*4882a593Smuzhiyun spi-max-frequency = <3000000>; 374*4882a593Smuzhiyun status = "okay"; 375*4882a593Smuzhiyun }; 376*4882a593Smuzhiyun}; 377*4882a593Smuzhiyun 378*4882a593Smuzhiyun&i2c0 { 379*4882a593Smuzhiyun pinctrl-0 = <&i2c0_pins>; 380*4882a593Smuzhiyun pinctrl-names = "default"; 381*4882a593Smuzhiyun status = "okay"; 382*4882a593Smuzhiyun 383*4882a593Smuzhiyun /* U26 temperature sensor placed near SoC */ 384*4882a593Smuzhiyun temp1: nct75@4c { 385*4882a593Smuzhiyun compatible = "lm75"; 386*4882a593Smuzhiyun reg = <0x4c>; 387*4882a593Smuzhiyun }; 388*4882a593Smuzhiyun 389*4882a593Smuzhiyun /* U27 temperature sensor placed near RTC battery */ 390*4882a593Smuzhiyun temp2: nct75@4d { 391*4882a593Smuzhiyun compatible = "lm75"; 392*4882a593Smuzhiyun reg = <0x4d>; 393*4882a593Smuzhiyun }; 394*4882a593Smuzhiyun 395*4882a593Smuzhiyun /* 2Kb eeprom */ 396*4882a593Smuzhiyun eeprom@53 { 397*4882a593Smuzhiyun compatible = "atmel,24c02"; 398*4882a593Smuzhiyun reg = <0x53>; 399*4882a593Smuzhiyun }; 400*4882a593Smuzhiyun}; 401*4882a593Smuzhiyun 402*4882a593Smuzhiyun&ahci0 { 403*4882a593Smuzhiyun status = "okay"; 404*4882a593Smuzhiyun}; 405*4882a593Smuzhiyun 406*4882a593Smuzhiyun&ahci1 { 407*4882a593Smuzhiyun status = "okay"; 408*4882a593Smuzhiyun}; 409*4882a593Smuzhiyun 410*4882a593Smuzhiyun&gpio0 { 411*4882a593Smuzhiyun pinctrl-0 = <&cf_gtr_fan_pwm>; 412*4882a593Smuzhiyun pinctrl-names = "default"; 413*4882a593Smuzhiyun 414*4882a593Smuzhiyun wifi-disable { 415*4882a593Smuzhiyun gpio-hog; 416*4882a593Smuzhiyun gpios = <30 GPIO_ACTIVE_LOW>, <31 GPIO_ACTIVE_LOW>; 417*4882a593Smuzhiyun output-low; 418*4882a593Smuzhiyun line-name = "wifi-disable"; 419*4882a593Smuzhiyun }; 420*4882a593Smuzhiyun}; 421*4882a593Smuzhiyun 422*4882a593Smuzhiyun&gpio1 { 423*4882a593Smuzhiyun pinctrl-0 = <&cf_gtr_isolation_pins &cf_gtr_poe_reset_pins>; 424*4882a593Smuzhiyun pinctrl-names = "default"; 425*4882a593Smuzhiyun 426*4882a593Smuzhiyun lte-disable { 427*4882a593Smuzhiyun gpio-hog; 428*4882a593Smuzhiyun gpios = <2 GPIO_ACTIVE_LOW>; 429*4882a593Smuzhiyun output-low; 430*4882a593Smuzhiyun line-name = "lte-disable"; 431*4882a593Smuzhiyun }; 432*4882a593Smuzhiyun 433*4882a593Smuzhiyun /* 434*4882a593Smuzhiyun * This signal, when asserted, isolates Armada 38x sample at reset pins 435*4882a593Smuzhiyun * from control of external devices. Should be de-asserted after reset. 436*4882a593Smuzhiyun */ 437*4882a593Smuzhiyun sar-isolation { 438*4882a593Smuzhiyun gpio-hog; 439*4882a593Smuzhiyun gpios = <15 GPIO_ACTIVE_LOW>; 440*4882a593Smuzhiyun output-low; 441*4882a593Smuzhiyun line-name = "sar-isolation"; 442*4882a593Smuzhiyun }; 443*4882a593Smuzhiyun 444*4882a593Smuzhiyun poe-reset { 445*4882a593Smuzhiyun gpio-hog; 446*4882a593Smuzhiyun gpios = <16 GPIO_ACTIVE_LOW>; 447*4882a593Smuzhiyun output-low; 448*4882a593Smuzhiyun line-name = "poe-reset"; 449*4882a593Smuzhiyun }; 450*4882a593Smuzhiyun}; 451