162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0 262306a36Sopenharmony_ci/** 362306a36Sopenharmony_ci * DT Overlay for CPSW5G in QSGMII mode using J7 Quad Port ETH EXP Add-On Ethernet Card with 462306a36Sopenharmony_ci * J7200 board. 562306a36Sopenharmony_ci * 662306a36Sopenharmony_ci * Copyright (C) 2023 Texas Instruments Incorporated - https://www.ti.com/ 762306a36Sopenharmony_ci */ 862306a36Sopenharmony_ci 962306a36Sopenharmony_ci/dts-v1/; 1062306a36Sopenharmony_ci/plugin/; 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_ci#include <dt-bindings/gpio/gpio.h> 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_ci#include "k3-pinctrl.h" 1562306a36Sopenharmony_ci#include "k3-serdes.h" 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_ci&{/} { 1862306a36Sopenharmony_ci aliases { 1962306a36Sopenharmony_ci ethernet1 = "/bus@100000/ethernet@c000000/ethernet-ports/port@1"; 2062306a36Sopenharmony_ci ethernet2 = "/bus@100000/ethernet@c000000/ethernet-ports/port@2"; 2162306a36Sopenharmony_ci ethernet3 = "/bus@100000/ethernet@c000000/ethernet-ports/port@3"; 2262306a36Sopenharmony_ci ethernet4 = "/bus@100000/ethernet@c000000/ethernet-ports/port@4"; 2362306a36Sopenharmony_ci }; 2462306a36Sopenharmony_ci}; 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ci&cpsw0 { 2762306a36Sopenharmony_ci status = "okay"; 2862306a36Sopenharmony_ci}; 2962306a36Sopenharmony_ci 3062306a36Sopenharmony_ci&cpsw0_port1 { 3162306a36Sopenharmony_ci status = "okay"; 3262306a36Sopenharmony_ci phy-handle = <&cpsw5g_phy0>; 3362306a36Sopenharmony_ci phy-mode = "qsgmii"; 3462306a36Sopenharmony_ci mac-address = [00 00 00 00 00 00]; 3562306a36Sopenharmony_ci phys = <&cpsw0_phy_gmii_sel 1>; 3662306a36Sopenharmony_ci}; 3762306a36Sopenharmony_ci 3862306a36Sopenharmony_ci&cpsw0_port2 { 3962306a36Sopenharmony_ci status = "okay"; 4062306a36Sopenharmony_ci phy-handle = <&cpsw5g_phy1>; 4162306a36Sopenharmony_ci phy-mode = "qsgmii"; 4262306a36Sopenharmony_ci mac-address = [00 00 00 00 00 00]; 4362306a36Sopenharmony_ci phys = <&cpsw0_phy_gmii_sel 2>; 4462306a36Sopenharmony_ci}; 4562306a36Sopenharmony_ci 4662306a36Sopenharmony_ci&cpsw0_port3 { 4762306a36Sopenharmony_ci status = "okay"; 4862306a36Sopenharmony_ci phy-handle = <&cpsw5g_phy2>; 4962306a36Sopenharmony_ci phy-mode = "qsgmii"; 5062306a36Sopenharmony_ci mac-address = [00 00 00 00 00 00]; 5162306a36Sopenharmony_ci phys = <&cpsw0_phy_gmii_sel 3>; 5262306a36Sopenharmony_ci}; 5362306a36Sopenharmony_ci 5462306a36Sopenharmony_ci&cpsw0_port4 { 5562306a36Sopenharmony_ci status = "okay"; 5662306a36Sopenharmony_ci phy-handle = <&cpsw5g_phy3>; 5762306a36Sopenharmony_ci phy-mode = "qsgmii"; 5862306a36Sopenharmony_ci mac-address = [00 00 00 00 00 00]; 5962306a36Sopenharmony_ci phys = <&cpsw0_phy_gmii_sel 4>; 6062306a36Sopenharmony_ci}; 6162306a36Sopenharmony_ci 6262306a36Sopenharmony_ci&cpsw5g_mdio { 6362306a36Sopenharmony_ci status = "okay"; 6462306a36Sopenharmony_ci pinctrl-names = "default"; 6562306a36Sopenharmony_ci pinctrl-0 = <&mdio0_pins_default>; 6662306a36Sopenharmony_ci reset-gpios = <&exp2 17 GPIO_ACTIVE_LOW>; 6762306a36Sopenharmony_ci reset-post-delay-us = <120000>; 6862306a36Sopenharmony_ci #address-cells = <1>; 6962306a36Sopenharmony_ci #size-cells = <0>; 7062306a36Sopenharmony_ci 7162306a36Sopenharmony_ci cpsw5g_phy0: ethernet-phy@16 { 7262306a36Sopenharmony_ci reg = <16>; 7362306a36Sopenharmony_ci }; 7462306a36Sopenharmony_ci cpsw5g_phy1: ethernet-phy@17 { 7562306a36Sopenharmony_ci reg = <17>; 7662306a36Sopenharmony_ci }; 7762306a36Sopenharmony_ci cpsw5g_phy2: ethernet-phy@18 { 7862306a36Sopenharmony_ci reg = <18>; 7962306a36Sopenharmony_ci }; 8062306a36Sopenharmony_ci cpsw5g_phy3: ethernet-phy@19 { 8162306a36Sopenharmony_ci reg = <19>; 8262306a36Sopenharmony_ci }; 8362306a36Sopenharmony_ci}; 8462306a36Sopenharmony_ci 8562306a36Sopenharmony_ci&exp2 { 8662306a36Sopenharmony_ci qsgmii-line-hog { 8762306a36Sopenharmony_ci gpio-hog; 8862306a36Sopenharmony_ci gpios = <16 GPIO_ACTIVE_HIGH>; 8962306a36Sopenharmony_ci output-low; 9062306a36Sopenharmony_ci line-name = "qsgmii-pwrdn-line"; 9162306a36Sopenharmony_ci }; 9262306a36Sopenharmony_ci}; 9362306a36Sopenharmony_ci 9462306a36Sopenharmony_ci&main_pmx0 { 9562306a36Sopenharmony_ci mdio0_pins_default: mdio0-default-pins { 9662306a36Sopenharmony_ci pinctrl-single,pins = < 9762306a36Sopenharmony_ci J721E_IOPAD(0x00a8, PIN_OUTPUT, 5) /* (W19) UART8_TXD.MDIO0_MDC */ 9862306a36Sopenharmony_ci J721E_IOPAD(0x00a4, PIN_INPUT, 5) /* (W14) UART8_RXD.MDIO0_MDIO */ 9962306a36Sopenharmony_ci >; 10062306a36Sopenharmony_ci }; 10162306a36Sopenharmony_ci}; 102