1// SPDX-License-Identifier: (GPL-2.0 OR MIT) 2// 3// Device Tree file for LX2162A Clearfog 4// 5// Copyright 2023 Josua Mayer <josua@solid-run.com> 6 7/dts-v1/; 8 9#include "fsl-lx2160a.dtsi" 10#include "fsl-lx2162a-sr-som.dtsi" 11 12/ { 13 model = "SolidRun LX2162A Clearfog"; 14 compatible = "solidrun,lx2162a-clearfog", "solidrun,lx2162a-som", "fsl,lx2160a"; 15 16 aliases { 17 crypto = &crypto; 18 i2c0 = &i2c0; 19 i2c1 = &i2c2; 20 i2c2 = &i2c4; 21 i2c3 = &sfp_i2c0; 22 i2c4 = &sfp_i2c1; 23 i2c5 = &sfp_i2c2; 24 i2c6 = &sfp_i2c3; 25 i2c7 = &mpcie1_i2c; 26 i2c8 = &mpcie0_i2c; 27 i2c9 = &pcieclk_i2c; 28 mmc0 = &esdhc0; 29 mmc1 = &esdhc1; 30 serial0 = &uart0; 31 }; 32 33 chosen { 34 stdout-path = "serial0:115200n8"; 35 }; 36 37 leds { 38 compatible = "gpio-leds"; 39 40 led_sfp_at: led-sfp-at { 41 gpios = <&gpio2 5 GPIO_ACTIVE_HIGH>; /* PROC_IRQ5 */ 42 default-state = "off"; 43 }; 44 45 led_sfp_ab: led-sfp-ab { 46 gpios = <&gpio2 11 GPIO_ACTIVE_HIGH>; /* PROC_IRQ11 */ 47 default-state = "off"; 48 }; 49 50 led_sfp_bt: led-sfp-bt { 51 gpios = <&gpio2 13 GPIO_ACTIVE_HIGH>; /* EVT1_B */ 52 default-state = "off"; 53 }; 54 55 led_sfp_bb: led-sfp-bb { 56 gpios = <&gpio2 14 GPIO_ACTIVE_HIGH>; /* EVT2_B */ 57 default-state = "off"; 58 }; 59 }; 60 61 sfp_at: sfp-at { 62 compatible = "sff,sfp"; 63 i2c-bus = <&sfp_i2c0>; 64 mod-def0-gpios = <&gpio2 16 GPIO_ACTIVE_LOW>; /* EVT4_B */ 65 maximum-power-milliwatt = <2000>; 66 }; 67 68 sfp_ab: sfp-ab { 69 compatible = "sff,sfp"; 70 i2c-bus = <&sfp_i2c1>; 71 mod-def0-gpios = <&gpio2 1 GPIO_ACTIVE_LOW>; /* PROC_IRQ1 */ 72 maximum-power-milliwatt = <2000>; 73 }; 74 75 sfp_bt: sfp-bt { 76 compatible = "sff,sfp"; 77 i2c-bus = <&sfp_i2c2>; 78 mod-def0-gpios = <&gpio2 10 GPIO_ACTIVE_LOW>; /* PROC_IRQ10 */ 79 maximum-power-milliwatt = <2000>; 80 }; 81 82 sfp_bb: sfp-bb { 83 compatible = "sff,sfp"; 84 i2c-bus = <&sfp_i2c3>; 85 mod-def0-gpios = <&gpio2 15 GPIO_ACTIVE_LOW>; /* EVT3_B */ 86 maximum-power-milliwatt = <2000>; 87 }; 88}; 89 90&dpmac3 { 91 sfp = <&sfp_at>; 92 managed = "in-band-status"; 93 phys = <&serdes_1 7>; 94}; 95 96&dpmac4 { 97 sfp = <&sfp_ab>; 98 managed = "in-band-status"; 99 phys = <&serdes_1 6>; 100}; 101 102&dpmac5 { 103 sfp = <&sfp_bt>; 104 managed = "in-band-status"; 105 phys = <&serdes_1 5>; 106}; 107 108&dpmac6 { 109 sfp = <&sfp_bb>; 110 managed = "in-band-status"; 111 phys = <&serdes_1 4>; 112}; 113 114&dpmac11 { 115 phys = <&serdes_2 0>; 116 phy-handle = <ðernet_phy3>; 117 phy-connection-type = "sgmii"; 118 status = "okay"; 119}; 120 121&dpmac12 { 122 phys = <&serdes_2 1>; 123 phy-handle = <ðernet_phy1>; 124 phy-connection-type = "sgmii"; 125 status = "okay"; 126}; 127 128&dpmac13 { 129 phys = <&serdes_2 6>; 130 phy-handle = <ðernet_phy6>; 131 phy-connection-type = "sgmii"; 132 status = "okay"; 133}; 134 135&dpmac14 { 136 phys = <&serdes_2 7>; 137 phy-handle = <ðernet_phy8>; 138 phy-connection-type = "sgmii"; 139 status = "okay"; 140}; 141 142&dpmac15 { 143 phys = <&serdes_2 4>; 144 phy-handle = <ðernet_phy4>; 145 phy-connection-type = "sgmii"; 146 status = "okay"; 147}; 148 149&dpmac16 { 150 phys = <&serdes_2 5>; 151 phy-handle = <ðernet_phy2>; 152 phy-connection-type = "sgmii"; 153 status = "okay"; 154}; 155 156&dpmac17 { 157 /* override connection to on-SoM phy */ 158 /delete-property/ phy-handle; 159 /delete-property/ phy-connection-type; 160 161 phys = <&serdes_2 2>; 162 phy-handle = <ðernet_phy5>; 163 phy-connection-type = "sgmii"; 164 status = "okay"; 165}; 166 167&dpmac18 { 168 phys = <&serdes_2 3>; 169 phy-handle = <ðernet_phy7>; 170 phy-connection-type = "sgmii"; 171 status = "okay"; 172}; 173 174&emdio1 { 175 ethernet_phy1: ethernet-phy@8 { 176 compatible = "ethernet-phy-ieee802.3-c45"; 177 reg = <8>; 178 max-speed = <1000>; 179 }; 180 181 ethernet_phy2: ethernet-phy@9 { 182 compatible = "ethernet-phy-ieee802.3-c45"; 183 reg = <9>; 184 max-speed = <1000>; 185 }; 186 187 ethernet_phy3: ethernet-phy@10 { 188 compatible = "ethernet-phy-ieee802.3-c45"; 189 reg = <10>; 190 max-speed = <1000>; 191 }; 192 193 ethernet_phy4: ethernet-phy@11 { 194 compatible = "ethernet-phy-ieee802.3-c45"; 195 reg = <11>; 196 max-speed = <1000>; 197 }; 198 199 ethernet_phy5: ethernet-phy@12 { 200 compatible = "ethernet-phy-ieee802.3-c45"; 201 reg = <12>; 202 max-speed = <1000>; 203 }; 204 205 ethernet_phy6: ethernet-phy@13 { 206 compatible = "ethernet-phy-ieee802.3-c45"; 207 reg = <13>; 208 max-speed = <1000>; 209 }; 210 211 ethernet_phy7: ethernet-phy@14 { 212 compatible = "ethernet-phy-ieee802.3-c45"; 213 reg = <14>; 214 max-speed = <1000>; 215 }; 216 217 ethernet_phy8: ethernet-phy@15 { 218 compatible = "ethernet-phy-ieee802.3-c45"; 219 reg = <15>; 220 max-speed = <1000>; 221 }; 222}; 223 224&esdhc0 { 225 sd-uhs-sdr104; 226 sd-uhs-sdr50; 227 sd-uhs-sdr25; 228 sd-uhs-sdr12; 229 status = "okay"; 230}; 231 232ðernet_phy0 { 233 /* 234 * SoM has a phy at address 1 connected to SoC Ethernet Controller 1. 235 * It competes for WRIOP MAC17, and no connector has been wired. 236 */ 237 status = "disabled"; 238}; 239 240&i2c2 { 241 status = "okay"; 242 243 /* retimer@18 */ 244 245 i2c-mux@70 { 246 compatible = "nxp,pca9546"; 247 reg = <0x70>; 248 #address-cells = <1>; 249 #size-cells = <0>; 250 i2c-mux-idle-disconnect; 251 252 sfp_i2c0: i2c@0 { 253 #address-cells = <1>; 254 #size-cells = <0>; 255 reg = <0>; 256 }; 257 258 sfp_i2c1: i2c@1 { 259 #address-cells = <1>; 260 #size-cells = <0>; 261 reg = <1>; 262 }; 263 264 sfp_i2c2: i2c@2 { 265 #address-cells = <1>; 266 #size-cells = <0>; 267 reg = <2>; 268 }; 269 270 sfp_i2c3: i2c@3 { 271 #address-cells = <1>; 272 #size-cells = <0>; 273 reg = <3>; 274 }; 275 }; 276 277 i2c-mux@71 { 278 compatible = "nxp,pca9546"; 279 reg = <0x71>; 280 #address-cells = <1>; 281 #size-cells = <0>; 282 i2c-mux-idle-disconnect; 283 284 mpcie1_i2c: i2c@0 { 285 #address-cells = <1>; 286 #size-cells = <0>; 287 reg = <0>; 288 }; 289 290 mpcie0_i2c: i2c@1 { 291 #address-cells = <1>; 292 #size-cells = <0>; 293 reg = <1>; 294 }; 295 296 pcieclk_i2c: i2c@2 { 297 #address-cells = <1>; 298 #size-cells = <0>; 299 reg = <2>; 300 301 /* clock-controller@6b */ 302 }; 303 }; 304}; 305 306&pcie3 { 307 status = "disabled"; 308}; 309 310&pcie4 { 311 status = "disabled"; 312}; 313 314&pcs_mdio3 { 315 status = "okay"; 316}; 317 318&pcs_mdio4 { 319 status = "okay"; 320}; 321 322&pcs_mdio5 { 323 status = "okay"; 324}; 325 326&pcs_mdio6 { 327 status = "okay"; 328}; 329 330&pcs_mdio11 { 331 status = "okay"; 332}; 333 334&pcs_mdio12 { 335 status = "okay"; 336}; 337 338&pcs_mdio13 { 339 status = "okay"; 340}; 341 342&pcs_mdio14 { 343 status = "okay"; 344}; 345 346&pcs_mdio15 { 347 status = "okay"; 348}; 349 350&pcs_mdio16 { 351 status = "okay"; 352}; 353 354&pcs_mdio17 { 355 status = "okay"; 356}; 357 358&pcs_mdio18 { 359 status = "okay"; 360}; 361 362&serdes_1 { 363 status = "okay"; 364}; 365 366&serdes_2 { 367 status = "okay"; 368}; 369 370&uart0 { 371 status = "okay"; 372}; 373 374&usb0 { 375 status = "okay"; 376}; 377