// SPDX-License-Identifier: (GPL-2.0 OR MIT) // // Device Tree file for LX2162A Clearfog // // Copyright 2023 Josua Mayer /dts-v1/; #include "fsl-lx2160a.dtsi" #include "fsl-lx2162a-sr-som.dtsi" / { model = "SolidRun LX2162A Clearfog"; compatible = "solidrun,lx2162a-clearfog", "solidrun,lx2162a-som", "fsl,lx2160a"; aliases { crypto = &crypto; i2c0 = &i2c0; i2c1 = &i2c2; i2c2 = &i2c4; i2c3 = &sfp_i2c0; i2c4 = &sfp_i2c1; i2c5 = &sfp_i2c2; i2c6 = &sfp_i2c3; i2c7 = &mpcie1_i2c; i2c8 = &mpcie0_i2c; i2c9 = &pcieclk_i2c; mmc0 = &esdhc0; mmc1 = &esdhc1; serial0 = &uart0; }; chosen { stdout-path = "serial0:115200n8"; }; leds { compatible = "gpio-leds"; led_sfp_at: led-sfp-at { gpios = <&gpio2 5 GPIO_ACTIVE_HIGH>; /* PROC_IRQ5 */ default-state = "off"; }; led_sfp_ab: led-sfp-ab { gpios = <&gpio2 11 GPIO_ACTIVE_HIGH>; /* PROC_IRQ11 */ default-state = "off"; }; led_sfp_bt: led-sfp-bt { gpios = <&gpio2 13 GPIO_ACTIVE_HIGH>; /* EVT1_B */ default-state = "off"; }; led_sfp_bb: led-sfp-bb { gpios = <&gpio2 14 GPIO_ACTIVE_HIGH>; /* EVT2_B */ default-state = "off"; }; }; sfp_at: sfp-at { compatible = "sff,sfp"; i2c-bus = <&sfp_i2c0>; mod-def0-gpios = <&gpio2 16 GPIO_ACTIVE_LOW>; /* EVT4_B */ maximum-power-milliwatt = <2000>; }; sfp_ab: sfp-ab { compatible = "sff,sfp"; i2c-bus = <&sfp_i2c1>; mod-def0-gpios = <&gpio2 1 GPIO_ACTIVE_LOW>; /* PROC_IRQ1 */ maximum-power-milliwatt = <2000>; }; sfp_bt: sfp-bt { compatible = "sff,sfp"; i2c-bus = <&sfp_i2c2>; mod-def0-gpios = <&gpio2 10 GPIO_ACTIVE_LOW>; /* PROC_IRQ10 */ maximum-power-milliwatt = <2000>; }; sfp_bb: sfp-bb { compatible = "sff,sfp"; i2c-bus = <&sfp_i2c3>; mod-def0-gpios = <&gpio2 15 GPIO_ACTIVE_LOW>; /* EVT3_B */ maximum-power-milliwatt = <2000>; }; }; &dpmac3 { sfp = <&sfp_at>; managed = "in-band-status"; phys = <&serdes_1 7>; }; &dpmac4 { sfp = <&sfp_ab>; managed = "in-band-status"; phys = <&serdes_1 6>; }; &dpmac5 { sfp = <&sfp_bt>; managed = "in-band-status"; phys = <&serdes_1 5>; }; &dpmac6 { sfp = <&sfp_bb>; managed = "in-band-status"; phys = <&serdes_1 4>; }; &dpmac11 { phys = <&serdes_2 0>; phy-handle = <ðernet_phy3>; phy-connection-type = "sgmii"; status = "okay"; }; &dpmac12 { phys = <&serdes_2 1>; phy-handle = <ðernet_phy1>; phy-connection-type = "sgmii"; status = "okay"; }; &dpmac13 { phys = <&serdes_2 6>; phy-handle = <ðernet_phy6>; phy-connection-type = "sgmii"; status = "okay"; }; &dpmac14 { phys = <&serdes_2 7>; phy-handle = <ðernet_phy8>; phy-connection-type = "sgmii"; status = "okay"; }; &dpmac15 { phys = <&serdes_2 4>; phy-handle = <ðernet_phy4>; phy-connection-type = "sgmii"; status = "okay"; }; &dpmac16 { phys = <&serdes_2 5>; phy-handle = <ðernet_phy2>; phy-connection-type = "sgmii"; status = "okay"; }; &dpmac17 { /* override connection to on-SoM phy */ /delete-property/ phy-handle; /delete-property/ phy-connection-type; phys = <&serdes_2 2>; phy-handle = <ðernet_phy5>; phy-connection-type = "sgmii"; status = "okay"; }; &dpmac18 { phys = <&serdes_2 3>; phy-handle = <ðernet_phy7>; phy-connection-type = "sgmii"; status = "okay"; }; &emdio1 { ethernet_phy1: ethernet-phy@8 { compatible = "ethernet-phy-ieee802.3-c45"; reg = <8>; max-speed = <1000>; }; ethernet_phy2: ethernet-phy@9 { compatible = "ethernet-phy-ieee802.3-c45"; reg = <9>; max-speed = <1000>; }; ethernet_phy3: ethernet-phy@10 { compatible = "ethernet-phy-ieee802.3-c45"; reg = <10>; max-speed = <1000>; }; ethernet_phy4: ethernet-phy@11 { compatible = "ethernet-phy-ieee802.3-c45"; reg = <11>; max-speed = <1000>; }; ethernet_phy5: ethernet-phy@12 { compatible = "ethernet-phy-ieee802.3-c45"; reg = <12>; max-speed = <1000>; }; ethernet_phy6: ethernet-phy@13 { compatible = "ethernet-phy-ieee802.3-c45"; reg = <13>; max-speed = <1000>; }; ethernet_phy7: ethernet-phy@14 { compatible = "ethernet-phy-ieee802.3-c45"; reg = <14>; max-speed = <1000>; }; ethernet_phy8: ethernet-phy@15 { compatible = "ethernet-phy-ieee802.3-c45"; reg = <15>; max-speed = <1000>; }; }; &esdhc0 { sd-uhs-sdr104; sd-uhs-sdr50; sd-uhs-sdr25; sd-uhs-sdr12; status = "okay"; }; ðernet_phy0 { /* * SoM has a phy at address 1 connected to SoC Ethernet Controller 1. * It competes for WRIOP MAC17, and no connector has been wired. */ status = "disabled"; }; &i2c2 { status = "okay"; /* retimer@18 */ i2c-mux@70 { compatible = "nxp,pca9546"; reg = <0x70>; #address-cells = <1>; #size-cells = <0>; i2c-mux-idle-disconnect; sfp_i2c0: i2c@0 { #address-cells = <1>; #size-cells = <0>; reg = <0>; }; sfp_i2c1: i2c@1 { #address-cells = <1>; #size-cells = <0>; reg = <1>; }; sfp_i2c2: i2c@2 { #address-cells = <1>; #size-cells = <0>; reg = <2>; }; sfp_i2c3: i2c@3 { #address-cells = <1>; #size-cells = <0>; reg = <3>; }; }; i2c-mux@71 { compatible = "nxp,pca9546"; reg = <0x71>; #address-cells = <1>; #size-cells = <0>; i2c-mux-idle-disconnect; mpcie1_i2c: i2c@0 { #address-cells = <1>; #size-cells = <0>; reg = <0>; }; mpcie0_i2c: i2c@1 { #address-cells = <1>; #size-cells = <0>; reg = <1>; }; pcieclk_i2c: i2c@2 { #address-cells = <1>; #size-cells = <0>; reg = <2>; /* clock-controller@6b */ }; }; }; &pcie3 { status = "disabled"; }; &pcie4 { status = "disabled"; }; &pcs_mdio3 { status = "okay"; }; &pcs_mdio4 { status = "okay"; }; &pcs_mdio5 { status = "okay"; }; &pcs_mdio6 { status = "okay"; }; &pcs_mdio11 { status = "okay"; }; &pcs_mdio12 { status = "okay"; }; &pcs_mdio13 { status = "okay"; }; &pcs_mdio14 { status = "okay"; }; &pcs_mdio15 { status = "okay"; }; &pcs_mdio16 { status = "okay"; }; &pcs_mdio17 { status = "okay"; }; &pcs_mdio18 { status = "okay"; }; &serdes_1 { status = "okay"; }; &serdes_2 { status = "okay"; }; &uart0 { status = "okay"; }; &usb0 { status = "okay"; };