162306a36Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0 OR MIT) 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Device Tree file for SolidRun Clearfog Pro revision A1 rev 2.0 (88F6828) 462306a36Sopenharmony_ci * 562306a36Sopenharmony_ci * Copyright (C) 2015 Russell King 662306a36Sopenharmony_ci */ 762306a36Sopenharmony_ci 862306a36Sopenharmony_ci/dts-v1/; 962306a36Sopenharmony_ci#include "armada-388-clearfog.dtsi" 1062306a36Sopenharmony_ci 1162306a36Sopenharmony_ci/ { 1262306a36Sopenharmony_ci model = "SolidRun Clearfog A1"; 1362306a36Sopenharmony_ci compatible = "solidrun,clearfog-a1", "marvell,armada388", 1462306a36Sopenharmony_ci "marvell,armada385", "marvell,armada380"; 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_ci soc { 1762306a36Sopenharmony_ci internal-regs { 1862306a36Sopenharmony_ci usb3@f0000 { 1962306a36Sopenharmony_ci /* CON2, nearest CPU, USB2 only. */ 2062306a36Sopenharmony_ci status = "okay"; 2162306a36Sopenharmony_ci }; 2262306a36Sopenharmony_ci }; 2362306a36Sopenharmony_ci 2462306a36Sopenharmony_ci pcie { 2562306a36Sopenharmony_ci pcie@3,0 { 2662306a36Sopenharmony_ci /* Port 2, Lane 0. CON2, nearest CPU. */ 2762306a36Sopenharmony_ci reset-gpios = <&expander0 2 GPIO_ACTIVE_LOW>; 2862306a36Sopenharmony_ci status = "okay"; 2962306a36Sopenharmony_ci }; 3062306a36Sopenharmony_ci }; 3162306a36Sopenharmony_ci }; 3262306a36Sopenharmony_ci 3362306a36Sopenharmony_ci gpio-keys { 3462306a36Sopenharmony_ci compatible = "gpio-keys"; 3562306a36Sopenharmony_ci pinctrl-0 = <&rear_button_pins>; 3662306a36Sopenharmony_ci pinctrl-names = "default"; 3762306a36Sopenharmony_ci 3862306a36Sopenharmony_ci button-0 { 3962306a36Sopenharmony_ci /* The rear SW3 button */ 4062306a36Sopenharmony_ci label = "Rear Button"; 4162306a36Sopenharmony_ci gpios = <&gpio1 2 GPIO_ACTIVE_LOW>; 4262306a36Sopenharmony_ci linux,can-disable; 4362306a36Sopenharmony_ci linux,code = <BTN_0>; 4462306a36Sopenharmony_ci }; 4562306a36Sopenharmony_ci }; 4662306a36Sopenharmony_ci}; 4762306a36Sopenharmony_ci 4862306a36Sopenharmony_cið1 { 4962306a36Sopenharmony_ci /* ethernet@30000 */ 5062306a36Sopenharmony_ci phy-mode = "1000base-x"; 5162306a36Sopenharmony_ci 5262306a36Sopenharmony_ci fixed-link { 5362306a36Sopenharmony_ci speed = <1000>; 5462306a36Sopenharmony_ci full-duplex; 5562306a36Sopenharmony_ci }; 5662306a36Sopenharmony_ci}; 5762306a36Sopenharmony_ci 5862306a36Sopenharmony_ci&expander0 { 5962306a36Sopenharmony_ci /* 6062306a36Sopenharmony_ci * PCA9655 GPIO expander: 6162306a36Sopenharmony_ci * 0-CON3 CLKREQ# 6262306a36Sopenharmony_ci * 1-CON3 PERST# 6362306a36Sopenharmony_ci * 2-CON2 PERST# 6462306a36Sopenharmony_ci * 3-CON3 W_DISABLE 6562306a36Sopenharmony_ci * 4-CON2 CLKREQ# 6662306a36Sopenharmony_ci * 5-USB3 overcurrent 6762306a36Sopenharmony_ci * 6-USB3 power 6862306a36Sopenharmony_ci * 7-CON2 W_DISABLE 6962306a36Sopenharmony_ci * 8-JP4 P1 7062306a36Sopenharmony_ci * 9-JP4 P4 7162306a36Sopenharmony_ci * 10-JP4 P5 7262306a36Sopenharmony_ci * 11-m.2 DEVSLP 7362306a36Sopenharmony_ci * 12-SFP_LOS 7462306a36Sopenharmony_ci * 13-SFP_TX_FAULT 7562306a36Sopenharmony_ci * 14-SFP_TX_DISABLE 7662306a36Sopenharmony_ci * 15-SFP_MOD_DEF0 7762306a36Sopenharmony_ci */ 7862306a36Sopenharmony_ci pcie2-0-clkreq-hog { 7962306a36Sopenharmony_ci gpio-hog; 8062306a36Sopenharmony_ci gpios = <4 GPIO_ACTIVE_LOW>; 8162306a36Sopenharmony_ci input; 8262306a36Sopenharmony_ci line-name = "pcie2.0-clkreq"; 8362306a36Sopenharmony_ci }; 8462306a36Sopenharmony_ci pcie2-0-w-disable-hog { 8562306a36Sopenharmony_ci gpio-hog; 8662306a36Sopenharmony_ci gpios = <7 GPIO_ACTIVE_LOW>; 8762306a36Sopenharmony_ci output-low; 8862306a36Sopenharmony_ci line-name = "pcie2.0-w-disable"; 8962306a36Sopenharmony_ci }; 9062306a36Sopenharmony_ci}; 9162306a36Sopenharmony_ci 9262306a36Sopenharmony_ci&mdio { 9362306a36Sopenharmony_ci status = "okay"; 9462306a36Sopenharmony_ci 9562306a36Sopenharmony_ci switch@4 { 9662306a36Sopenharmony_ci compatible = "marvell,mv88e6085"; 9762306a36Sopenharmony_ci #address-cells = <1>; 9862306a36Sopenharmony_ci #size-cells = <0>; 9962306a36Sopenharmony_ci reg = <4>; 10062306a36Sopenharmony_ci pinctrl-0 = <&clearfog_dsa0_clk_pins &clearfog_dsa0_pins>; 10162306a36Sopenharmony_ci pinctrl-names = "default"; 10262306a36Sopenharmony_ci 10362306a36Sopenharmony_ci ports { 10462306a36Sopenharmony_ci #address-cells = <1>; 10562306a36Sopenharmony_ci #size-cells = <0>; 10662306a36Sopenharmony_ci 10762306a36Sopenharmony_ci port@0 { 10862306a36Sopenharmony_ci reg = <0>; 10962306a36Sopenharmony_ci label = "lan5"; 11062306a36Sopenharmony_ci }; 11162306a36Sopenharmony_ci 11262306a36Sopenharmony_ci port@1 { 11362306a36Sopenharmony_ci reg = <1>; 11462306a36Sopenharmony_ci label = "lan4"; 11562306a36Sopenharmony_ci }; 11662306a36Sopenharmony_ci 11762306a36Sopenharmony_ci port@2 { 11862306a36Sopenharmony_ci reg = <2>; 11962306a36Sopenharmony_ci label = "lan3"; 12062306a36Sopenharmony_ci }; 12162306a36Sopenharmony_ci 12262306a36Sopenharmony_ci port@3 { 12362306a36Sopenharmony_ci reg = <3>; 12462306a36Sopenharmony_ci label = "lan2"; 12562306a36Sopenharmony_ci }; 12662306a36Sopenharmony_ci 12762306a36Sopenharmony_ci port@4 { 12862306a36Sopenharmony_ci reg = <4>; 12962306a36Sopenharmony_ci label = "lan1"; 13062306a36Sopenharmony_ci }; 13162306a36Sopenharmony_ci 13262306a36Sopenharmony_ci port@5 { 13362306a36Sopenharmony_ci reg = <5>; 13462306a36Sopenharmony_ci ethernet = <ð1>; 13562306a36Sopenharmony_ci phy-mode = "1000base-x"; 13662306a36Sopenharmony_ci 13762306a36Sopenharmony_ci fixed-link { 13862306a36Sopenharmony_ci speed = <1000>; 13962306a36Sopenharmony_ci full-duplex; 14062306a36Sopenharmony_ci }; 14162306a36Sopenharmony_ci }; 14262306a36Sopenharmony_ci 14362306a36Sopenharmony_ci port@6 { 14462306a36Sopenharmony_ci /* 88E1512 external phy */ 14562306a36Sopenharmony_ci reg = <6>; 14662306a36Sopenharmony_ci label = "lan6"; 14762306a36Sopenharmony_ci phy-mode = "rgmii-id"; 14862306a36Sopenharmony_ci 14962306a36Sopenharmony_ci fixed-link { 15062306a36Sopenharmony_ci speed = <1000>; 15162306a36Sopenharmony_ci full-duplex; 15262306a36Sopenharmony_ci }; 15362306a36Sopenharmony_ci }; 15462306a36Sopenharmony_ci }; 15562306a36Sopenharmony_ci }; 15662306a36Sopenharmony_ci}; 15762306a36Sopenharmony_ci 15862306a36Sopenharmony_ci&pinctrl { 15962306a36Sopenharmony_ci clearfog_dsa0_clk_pins: clearfog-dsa0-clk-pins { 16062306a36Sopenharmony_ci marvell,pins = "mpp46"; 16162306a36Sopenharmony_ci marvell,function = "ref"; 16262306a36Sopenharmony_ci }; 16362306a36Sopenharmony_ci clearfog_dsa0_pins: clearfog-dsa0-pins { 16462306a36Sopenharmony_ci marvell,pins = "mpp23", "mpp41"; 16562306a36Sopenharmony_ci marvell,function = "gpio"; 16662306a36Sopenharmony_ci }; 16762306a36Sopenharmony_ci clearfog_spi1_cs_pins: spi1-cs-pins { 16862306a36Sopenharmony_ci marvell,pins = "mpp55"; 16962306a36Sopenharmony_ci marvell,function = "spi1"; 17062306a36Sopenharmony_ci }; 17162306a36Sopenharmony_ci rear_button_pins: rear-button-pins { 17262306a36Sopenharmony_ci marvell,pins = "mpp34"; 17362306a36Sopenharmony_ci marvell,function = "gpio"; 17462306a36Sopenharmony_ci }; 17562306a36Sopenharmony_ci}; 17662306a36Sopenharmony_ci 17762306a36Sopenharmony_ci&spi1 { 17862306a36Sopenharmony_ci /* 17962306a36Sopenharmony_ci * Add SPI CS pins for clearfog: 18062306a36Sopenharmony_ci * CS0: W25Q32 18162306a36Sopenharmony_ci * CS1: 18262306a36Sopenharmony_ci * CS2: mikrobus 18362306a36Sopenharmony_ci */ 18462306a36Sopenharmony_ci pinctrl-0 = <&spi1_pins &clearfog_spi1_cs_pins &mikro_spi_pins>; 18562306a36Sopenharmony_ci}; 186