1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 /* 2 /* 3 * lan966x_pcb8309.dts - Device Tree file for 3 * lan966x_pcb8309.dts - Device Tree file for PCB8309 4 */ 4 */ 5 /dts-v1/; 5 /dts-v1/; 6 #include "lan966x.dtsi" 6 #include "lan966x.dtsi" 7 #include "dt-bindings/phy/phy-lan966x-serdes.h 7 #include "dt-bindings/phy/phy-lan966x-serdes.h" 8 8 9 / { 9 / { 10 model = "Microchip EVB - LAN9662"; 10 model = "Microchip EVB - LAN9662"; 11 compatible = "microchip,lan9662-pcb830 11 compatible = "microchip,lan9662-pcb8309", "microchip,lan9662", "microchip,lan966"; 12 12 13 aliases { 13 aliases { 14 serial0 = &usart3; 14 serial0 = &usart3; 15 i2c102 = &i2c102; 15 i2c102 = &i2c102; 16 i2c103 = &i2c103; 16 i2c103 = &i2c103; 17 }; 17 }; 18 18 19 chosen { 19 chosen { 20 stdout-path = "serial0:115200n 20 stdout-path = "serial0:115200n8"; 21 }; 21 }; 22 22 23 gpio-restart { 23 gpio-restart { 24 compatible = "gpio-restart"; 24 compatible = "gpio-restart"; 25 gpios = <&gpio 56 GPIO_ACTIVE_ 25 gpios = <&gpio 56 GPIO_ACTIVE_LOW>; 26 priority = <200>; 26 priority = <200>; 27 }; 27 }; 28 28 29 i2c-mux { 29 i2c-mux { 30 compatible = "i2c-mux"; 30 compatible = "i2c-mux"; 31 #address-cells = <1>; 31 #address-cells = <1>; 32 #size-cells = <0>; 32 #size-cells = <0>; 33 mux-controls = <&mux>; 33 mux-controls = <&mux>; 34 i2c-parent = <&i2c4>; 34 i2c-parent = <&i2c4>; 35 35 36 i2c102: i2c-sfp@1 { 36 i2c102: i2c-sfp@1 { 37 reg = <1>; 37 reg = <1>; 38 }; 38 }; 39 39 40 i2c103: i2c-sfp@2 { 40 i2c103: i2c-sfp@2 { 41 reg = <2>; 41 reg = <2>; 42 }; 42 }; 43 }; 43 }; 44 44 45 leds { 45 leds { 46 compatible = "gpio-leds"; 46 compatible = "gpio-leds"; 47 47 48 led-s0-green { 48 led-s0-green { 49 label = "s0:green"; 49 label = "s0:green"; 50 gpios = <&sgpio_out 2 50 gpios = <&sgpio_out 2 0 GPIO_ACTIVE_LOW>; 51 default-state = "off"; 51 default-state = "off"; 52 }; 52 }; 53 53 54 led-s0-red { 54 led-s0-red { 55 label = "s0:red"; 55 label = "s0:red"; 56 gpios = <&sgpio_out 2 56 gpios = <&sgpio_out 2 1 GPIO_ACTIVE_LOW>; 57 default-state = "off"; 57 default-state = "off"; 58 }; 58 }; 59 59 60 led-s1-green { 60 led-s1-green { 61 label = "s1:green"; 61 label = "s1:green"; 62 gpios = <&sgpio_out 3 62 gpios = <&sgpio_out 3 0 GPIO_ACTIVE_LOW>; 63 default-state = "off"; 63 default-state = "off"; 64 }; 64 }; 65 65 66 led-s1-red { 66 led-s1-red { 67 label = "s1:red"; 67 label = "s1:red"; 68 gpios = <&sgpio_out 3 68 gpios = <&sgpio_out 3 1 GPIO_ACTIVE_LOW>; 69 default-state = "off"; 69 default-state = "off"; 70 }; 70 }; 71 }; 71 }; 72 72 73 mux: mux-controller { 73 mux: mux-controller { 74 compatible = "gpio-mux"; 74 compatible = "gpio-mux"; 75 #mux-control-cells = <0>; 75 #mux-control-cells = <0>; 76 76 77 mux-gpios = <&sgpio_out 11 0 G 77 mux-gpios = <&sgpio_out 11 0 GPIO_ACTIVE_HIGH>, /* p11b0 */ 78 <&sgpio_out 11 1 G 78 <&sgpio_out 11 1 GPIO_ACTIVE_HIGH>; /* p11b1 */ 79 }; 79 }; 80 80 81 sfp2: sfp2 { 81 sfp2: sfp2 { 82 compatible = "sff,sfp"; 82 compatible = "sff,sfp"; 83 i2c-bus = <&i2c102>; 83 i2c-bus = <&i2c102>; 84 tx-disable-gpios = <&sgpio_out 84 tx-disable-gpios = <&sgpio_out 10 0 GPIO_ACTIVE_LOW>; 85 los-gpios = <&sgpio_in 2 0 GP 85 los-gpios = <&sgpio_in 2 0 GPIO_ACTIVE_HIGH>; 86 mod-def0-gpios = <&sgpio_in 2 86 mod-def0-gpios = <&sgpio_in 2 1 GPIO_ACTIVE_LOW>; 87 tx-fault-gpios = <&sgpio_in 1 87 tx-fault-gpios = <&sgpio_in 1 0 GPIO_ACTIVE_HIGH>; 88 }; 88 }; 89 89 90 sfp3: sfp3 { 90 sfp3: sfp3 { 91 compatible = "sff,sfp"; 91 compatible = "sff,sfp"; 92 i2c-bus = <&i2c103>; 92 i2c-bus = <&i2c103>; 93 tx-disable-gpios = <&sgpio_out 93 tx-disable-gpios = <&sgpio_out 10 1 GPIO_ACTIVE_LOW>; 94 los-gpios = <&sgpio_in 3 0 GP 94 los-gpios = <&sgpio_in 3 0 GPIO_ACTIVE_HIGH>; 95 mod-def0-gpios = <&sgpio_in 3 95 mod-def0-gpios = <&sgpio_in 3 1 GPIO_ACTIVE_LOW>; 96 tx-fault-gpios = <&sgpio_in 1 96 tx-fault-gpios = <&sgpio_in 1 1 GPIO_ACTIVE_HIGH>; 97 }; 97 }; 98 }; 98 }; 99 99 100 &aes { 100 &aes { 101 status = "disabled"; /* Reserved by se 101 status = "disabled"; /* Reserved by secure OS */ 102 }; 102 }; 103 103 104 &flx3 { 104 &flx3 { 105 atmel,flexcom-mode = <ATMEL_FLEXCOM_MO 105 atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>; 106 status = "okay"; 106 status = "okay"; 107 107 108 usart3: serial@200 { 108 usart3: serial@200 { 109 pinctrl-0 = <&fc3_b_pins>; 109 pinctrl-0 = <&fc3_b_pins>; 110 pinctrl-names = "default"; 110 pinctrl-names = "default"; 111 status = "okay"; 111 status = "okay"; 112 }; 112 }; 113 }; 113 }; 114 114 115 &flx4 { 115 &flx4 { 116 atmel,flexcom-mode = <ATMEL_FLEXCOM_MO 116 atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>; 117 status = "okay"; 117 status = "okay"; 118 118 119 i2c4: i2c@600 { 119 i2c4: i2c@600 { 120 compatible = "microchip,sam9x6 120 compatible = "microchip,sam9x60-i2c"; 121 reg = <0x600 0x200>; 121 reg = <0x600 0x200>; 122 interrupts = <GIC_SPI 52 IRQ_T 122 interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>; 123 clocks = <&nic_clk>; 123 clocks = <&nic_clk>; 124 pinctrl-0 = <&fc4_b_pins>; 124 pinctrl-0 = <&fc4_b_pins>; 125 pinctrl-names = "default"; 125 pinctrl-names = "default"; 126 i2c-analog-filter; 126 i2c-analog-filter; 127 i2c-digital-filter; 127 i2c-digital-filter; 128 i2c-digital-filter-width-ns = 128 i2c-digital-filter-width-ns = <35>; 129 i2c-sda-hold-time-ns = <1500>; 129 i2c-sda-hold-time-ns = <1500>; 130 status = "okay"; 130 status = "okay"; 131 }; 131 }; 132 }; 132 }; 133 133 134 &gpio { 134 &gpio { 135 fc3_b_pins: fc3-b-pins { 135 fc3_b_pins: fc3-b-pins { 136 /* RXD, TXD */ 136 /* RXD, TXD */ 137 pins = "GPIO_52", "GPIO_53"; 137 pins = "GPIO_52", "GPIO_53"; 138 function = "fc3_b"; 138 function = "fc3_b"; 139 }; 139 }; 140 140 141 fc4_b_pins: fc4-b-pins { 141 fc4_b_pins: fc4-b-pins { 142 /* SCL, SDA */ 142 /* SCL, SDA */ 143 pins = "GPIO_57", "GPIO_58"; 143 pins = "GPIO_57", "GPIO_58"; 144 function = "fc4_b"; 144 function = "fc4_b"; 145 }; 145 }; 146 146 147 pps_out_pins: pps-out-pins { 147 pps_out_pins: pps-out-pins { 148 /* 1pps output */ 148 /* 1pps output */ 149 pins = "GPIO_38"; 149 pins = "GPIO_38"; 150 function = "ptpsync_3"; 150 function = "ptpsync_3"; 151 }; 151 }; 152 152 153 ptp_ext_pins: ptp-ext-pins { 153 ptp_ext_pins: ptp-ext-pins { 154 /* 1pps input */ 154 /* 1pps input */ 155 pins = "GPIO_39"; 155 pins = "GPIO_39"; 156 function = "ptpsync_4"; 156 function = "ptpsync_4"; 157 }; 157 }; 158 158 159 sgpio_a_pins: sgpio-a-pins { 159 sgpio_a_pins: sgpio-a-pins { 160 /* SCK, D0, D1, LD */ 160 /* SCK, D0, D1, LD */ 161 pins = "GPIO_32", "GPIO_33", " 161 pins = "GPIO_32", "GPIO_33", "GPIO_34", "GPIO_35"; 162 function = "sgpio_a"; 162 function = "sgpio_a"; 163 }; 163 }; 164 }; 164 }; 165 165 166 &mdio1 { 166 &mdio1 { 167 status = "okay"; 167 status = "okay"; 168 }; 168 }; 169 169 170 &phy0 { 170 &phy0 { 171 status = "okay"; 171 status = "okay"; 172 }; 172 }; 173 173 174 &phy1 { 174 &phy1 { 175 status = "okay"; 175 status = "okay"; 176 }; 176 }; 177 177 178 &port0 { 178 &port0 { 179 phy-handle = <&phy0>; 179 phy-handle = <&phy0>; 180 phy-mode = "gmii"; 180 phy-mode = "gmii"; 181 phys = <&serdes 0 CU(0)>; 181 phys = <&serdes 0 CU(0)>; 182 status = "okay"; 182 status = "okay"; 183 }; 183 }; 184 184 185 &port1 { 185 &port1 { 186 phy-handle = <&phy1>; 186 phy-handle = <&phy1>; 187 phy-mode = "gmii"; 187 phy-mode = "gmii"; 188 phys = <&serdes 1 CU(1)>; 188 phys = <&serdes 1 CU(1)>; 189 status = "okay"; 189 status = "okay"; 190 }; 190 }; 191 191 192 &port2 { 192 &port2 { 193 sfp = <&sfp2>; 193 sfp = <&sfp2>; 194 managed = "in-band-status"; 194 managed = "in-band-status"; 195 phy-mode = "sgmii"; 195 phy-mode = "sgmii"; 196 phys = <&serdes 2 SERDES6G(0)>; 196 phys = <&serdes 2 SERDES6G(0)>; 197 status = "okay"; 197 status = "okay"; 198 }; 198 }; 199 199 200 &port3 { 200 &port3 { 201 sfp = <&sfp3>; 201 sfp = <&sfp3>; 202 managed = "in-band-status"; 202 managed = "in-band-status"; 203 phy-mode = "sgmii"; 203 phy-mode = "sgmii"; 204 phys = <&serdes 3 SERDES6G(1)>; 204 phys = <&serdes 3 SERDES6G(1)>; 205 status = "okay"; 205 status = "okay"; 206 }; 206 }; 207 207 208 &serdes { 208 &serdes { 209 status = "okay"; 209 status = "okay"; 210 }; 210 }; 211 211 212 &sgpio { 212 &sgpio { 213 pinctrl-0 = <&sgpio_a_pins>; 213 pinctrl-0 = <&sgpio_a_pins>; 214 pinctrl-names = "default"; 214 pinctrl-names = "default"; 215 microchip,sgpio-port-ranges = <0 3>, < 215 microchip,sgpio-port-ranges = <0 3>, <8 11>; 216 status = "okay"; 216 status = "okay"; 217 217 218 gpio@0 { 218 gpio@0 { 219 ngpios = <64>; 219 ngpios = <64>; 220 }; 220 }; 221 gpio@1 { 221 gpio@1 { 222 ngpios = <64>; 222 ngpios = <64>; 223 }; 223 }; 224 }; 224 }; 225 225 226 &switch { 226 &switch { 227 pinctrl-0 = <&pps_out_pins>, <&ptp_ext 227 pinctrl-0 = <&pps_out_pins>, <&ptp_ext_pins>; 228 pinctrl-names = "default"; 228 pinctrl-names = "default"; 229 status = "okay"; 229 status = "okay"; 230 }; 230 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.