0001 // SPDX-License-Identifier: (GPL-2.0 OR MIT)
0002 /*
0003 * Device Tree file for SolidRun Clearfog Pro revision A1 rev 2.0 (88F6828)
0004 *
0005 * Copyright (C) 2015 Russell King
0006 */
0007
0008 /dts-v1/;
0009 #include "armada-388-clearfog.dtsi"
0010
0011 / {
0012 model = "SolidRun Clearfog A1";
0013 compatible = "solidrun,clearfog-a1", "marvell,armada388",
0014 "marvell,armada385", "marvell,armada380";
0015
0016 soc {
0017 internal-regs {
0018 usb3@f0000 {
0019 /* CON2, nearest CPU, USB2 only. */
0020 status = "okay";
0021 };
0022 };
0023
0024 pcie {
0025 pcie@3,0 {
0026 /* Port 2, Lane 0. CON2, nearest CPU. */
0027 reset-gpios = <&expander0 2 GPIO_ACTIVE_LOW>;
0028 status = "okay";
0029 };
0030 };
0031 };
0032
0033 gpio-keys {
0034 compatible = "gpio-keys";
0035 pinctrl-0 = <&rear_button_pins>;
0036 pinctrl-names = "default";
0037
0038 button-0 {
0039 /* The rear SW3 button */
0040 label = "Rear Button";
0041 gpios = <&gpio1 2 GPIO_ACTIVE_LOW>;
0042 linux,can-disable;
0043 linux,code = <BTN_0>;
0044 };
0045 };
0046 };
0047
0048 ð1 {
0049 /* ethernet@30000 */
0050 fixed-link {
0051 speed = <1000>;
0052 full-duplex;
0053 };
0054 };
0055
0056 &expander0 {
0057 /*
0058 * PCA9655 GPIO expander:
0059 * 0-CON3 CLKREQ#
0060 * 1-CON3 PERST#
0061 * 2-CON2 PERST#
0062 * 3-CON3 W_DISABLE
0063 * 4-CON2 CLKREQ#
0064 * 5-USB3 overcurrent
0065 * 6-USB3 power
0066 * 7-CON2 W_DISABLE
0067 * 8-JP4 P1
0068 * 9-JP4 P4
0069 * 10-JP4 P5
0070 * 11-m.2 DEVSLP
0071 * 12-SFP_LOS
0072 * 13-SFP_TX_FAULT
0073 * 14-SFP_TX_DISABLE
0074 * 15-SFP_MOD_DEF0
0075 */
0076 pcie2-0-clkreq-hog {
0077 gpio-hog;
0078 gpios = <4 GPIO_ACTIVE_LOW>;
0079 input;
0080 line-name = "pcie2.0-clkreq";
0081 };
0082 pcie2-0-w-disable-hog {
0083 gpio-hog;
0084 gpios = <7 GPIO_ACTIVE_LOW>;
0085 output-low;
0086 line-name = "pcie2.0-w-disable";
0087 };
0088 };
0089
0090 &mdio {
0091 status = "okay";
0092
0093 switch@4 {
0094 compatible = "marvell,mv88e6085";
0095 #address-cells = <1>;
0096 #size-cells = <0>;
0097 reg = <4>;
0098 pinctrl-0 = <&clearfog_dsa0_clk_pins &clearfog_dsa0_pins>;
0099 pinctrl-names = "default";
0100
0101 ports {
0102 #address-cells = <1>;
0103 #size-cells = <0>;
0104
0105 port@0 {
0106 reg = <0>;
0107 label = "lan5";
0108 };
0109
0110 port@1 {
0111 reg = <1>;
0112 label = "lan4";
0113 };
0114
0115 port@2 {
0116 reg = <2>;
0117 label = "lan3";
0118 };
0119
0120 port@3 {
0121 reg = <3>;
0122 label = "lan2";
0123 };
0124
0125 port@4 {
0126 reg = <4>;
0127 label = "lan1";
0128 };
0129
0130 port@5 {
0131 reg = <5>;
0132 label = "cpu";
0133 ethernet = <ð1>;
0134 fixed-link {
0135 speed = <1000>;
0136 full-duplex;
0137 };
0138 };
0139
0140 port@6 {
0141 /* 88E1512 external phy */
0142 reg = <6>;
0143 label = "lan6";
0144 fixed-link {
0145 speed = <1000>;
0146 full-duplex;
0147 };
0148 };
0149 };
0150 };
0151 };
0152
0153 &pinctrl {
0154 clearfog_dsa0_clk_pins: clearfog-dsa0-clk-pins {
0155 marvell,pins = "mpp46";
0156 marvell,function = "ref";
0157 };
0158 clearfog_dsa0_pins: clearfog-dsa0-pins {
0159 marvell,pins = "mpp23", "mpp41";
0160 marvell,function = "gpio";
0161 };
0162 clearfog_spi1_cs_pins: spi1-cs-pins {
0163 marvell,pins = "mpp55";
0164 marvell,function = "spi1";
0165 };
0166 rear_button_pins: rear-button-pins {
0167 marvell,pins = "mpp34";
0168 marvell,function = "gpio";
0169 };
0170 };
0171
0172 &spi1 {
0173 /*
0174 * Add SPI CS pins for clearfog:
0175 * CS0: W25Q32
0176 * CS1:
0177 * CS2: mikrobus
0178 */
0179 pinctrl-0 = <&spi1_pins &clearfog_spi1_cs_pins &mikro_spi_pins>;
0180 };