1// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2/* 3 * Common part of the device tree for the Kontron KSwitch D10 MMT 4 */ 5 6/dts-v1/; 7#include "lan966x.dtsi" 8#include "dt-bindings/phy/phy-lan966x-serdes.h" 9 10/ { 11 aliases { 12 serial0 = &usart0; 13 }; 14 15 chosen { 16 stdout-path = "serial0:115200n8"; 17 }; 18 19 gpio-restart { 20 compatible = "gpio-restart"; 21 gpios = <&gpio 56 GPIO_ACTIVE_LOW>; 22 priority = <200>; 23 }; 24}; 25 26&flx0 { 27 atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>; 28 status = "okay"; 29 30 usart0: serial@200 { 31 pinctrl-0 = <&usart0_pins>; 32 pinctrl-names = "default"; 33 status = "okay"; 34 }; 35}; 36 37&flx3 { 38 atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_SPI>; 39 status = "okay"; 40 41 spi3: spi@400 { 42 pinctrl-0 = <&fc3_b_pins>; 43 pinctrl-names = "default"; 44 status = "okay"; 45 cs-gpios = <&gpio 46 GPIO_ACTIVE_LOW>; 46 }; 47}; 48 49&gpio { 50 fc3_b_pins: fc3-b-pins { 51 /* SCK, MISO, MOSI */ 52 pins = "GPIO_51", "GPIO_52", "GPIO_53"; 53 function = "fc3_b"; 54 }; 55 56 miim_c_pins: miim-c-pins { 57 /* MDC, MDIO */ 58 pins = "GPIO_59", "GPIO_60"; 59 function = "miim_c"; 60 }; 61 62 sgpio_a_pins: sgpio-a-pins { 63 /* SCK, D0, D1 */ 64 pins = "GPIO_32", "GPIO_33", "GPIO_34"; 65 function = "sgpio_a"; 66 }; 67 68 sgpio_b_pins: sgpio-b-pins { 69 /* LD */ 70 pins = "GPIO_64"; 71 function = "sgpio_b"; 72 }; 73 74 usart0_pins: usart0-pins { 75 /* RXD, TXD */ 76 pins = "GPIO_25", "GPIO_26"; 77 function = "fc0_b"; 78 }; 79 80 usbs_a_pins: usbs-a-pins { 81 /* VBUS_DET */ 82 pins = "GPIO_66"; 83 function = "gpio"; 84 }; 85}; 86 87&mdio0 { 88 pinctrl-0 = <&miim_c_pins>; 89 pinctrl-names = "default"; 90 reset-gpios = <&gpio 29 GPIO_ACTIVE_LOW>; 91 clock-frequency = <2500000>; 92 status = "okay"; 93 94 phy4: ethernet-phy@5 { 95 reg = <5>; 96 coma-mode-gpios = <&gpio 37 GPIO_OPEN_DRAIN>; 97 }; 98 99 phy5: ethernet-phy@6 { 100 reg = <6>; 101 coma-mode-gpios = <&gpio 37 GPIO_OPEN_DRAIN>; 102 }; 103 104 phy6: ethernet-phy@7 { 105 reg = <7>; 106 coma-mode-gpios = <&gpio 37 GPIO_OPEN_DRAIN>; 107 }; 108 109 phy7: ethernet-phy@8 { 110 reg = <8>; 111 coma-mode-gpios = <&gpio 37 GPIO_OPEN_DRAIN>; 112 }; 113}; 114 115&mdio1 { 116 status = "okay"; 117}; 118 119&phy0 { 120 status = "okay"; 121}; 122 123&phy1 { 124 status = "okay"; 125}; 126 127&port0 { 128 phys = <&serdes 0 CU(0)>; 129 phy-handle = <&phy0>; 130 phy-mode = "gmii"; 131 status = "okay"; 132}; 133 134&port1 { 135 phys = <&serdes 1 CU(1)>; 136 phy-handle = <&phy1>; 137 phy-mode = "gmii"; 138 status = "okay"; 139}; 140 141&port4 { 142 phys = <&serdes 4 SERDES6G(2)>; 143 phy-handle = <&phy4>; 144 phy-mode = "qsgmii"; 145 status = "okay"; 146}; 147 148&port5 { 149 phys = <&serdes 5 SERDES6G(2)>; 150 phy-handle = <&phy5>; 151 phy-mode = "qsgmii"; 152 status = "okay"; 153}; 154 155&port6 { 156 phys = <&serdes 6 SERDES6G(2)>; 157 phy-handle = <&phy6>; 158 phy-mode = "qsgmii"; 159 status = "okay"; 160}; 161 162&port7 { 163 phys = <&serdes 7 SERDES6G(2)>; 164 phy-handle = <&phy7>; 165 phy-mode = "qsgmii"; 166 status = "okay"; 167}; 168 169&serdes { 170 status = "okay"; 171}; 172 173&sgpio { 174 pinctrl-0 = <&sgpio_a_pins>, <&sgpio_b_pins>; 175 pinctrl-names = "default"; 176 bus-frequency = <8000000>; 177 /* arbitrary range because all GPIOs are in software mode */ 178 microchip,sgpio-port-ranges = <0 11>; 179 status = "okay"; 180 181 sgpio_in: gpio@0 { 182 ngpios = <128>; 183 }; 184 185 sgpio_out: gpio@1 { 186 ngpios = <128>; 187 }; 188}; 189 190&switch { 191 status = "okay"; 192}; 193 194&udc { 195 pinctrl-0 = <&usbs_a_pins>; 196 pinctrl-names = "default"; 197 atmel,vbus-gpio = <&gpio 66 GPIO_ACTIVE_HIGH>; 198 status = "okay"; 199}; 200 201&watchdog { 202 status = "okay"; 203}; 204