1*111f6dacSNishanth Menon// SPDX-License-Identifier: GPL-2.0-only OR MIT 27815b281SSiddharth Vadapalli/** 37815b281SSiddharth Vadapalli * DT Overlay for CPSW9G in RGMII mode using J7 GESI EXP BRD board with 47815b281SSiddharth Vadapalli * J721E board. 57815b281SSiddharth Vadapalli * 67815b281SSiddharth Vadapalli * GESI Board Product Link: https://www.ti.com/tool/J7EXPCXEVM 77815b281SSiddharth Vadapalli * 8*111f6dacSNishanth Menon * Copyright (C) 2023-2024 Texas Instruments Incorporated - https://www.ti.com/ 97815b281SSiddharth Vadapalli */ 107815b281SSiddharth Vadapalli 117815b281SSiddharth Vadapalli/dts-v1/; 127815b281SSiddharth Vadapalli/plugin/; 137815b281SSiddharth Vadapalli 147815b281SSiddharth Vadapalli#include <dt-bindings/gpio/gpio.h> 157815b281SSiddharth Vadapalli#include <dt-bindings/net/ti-dp83867.h> 167815b281SSiddharth Vadapalli 177815b281SSiddharth Vadapalli#include "k3-pinctrl.h" 187815b281SSiddharth Vadapalli 197815b281SSiddharth Vadapalli&{/} { 207815b281SSiddharth Vadapalli aliases { 217815b281SSiddharth Vadapalli ethernet1 = "/bus@100000/ethernet@c000000/ethernet-ports/port@1"; 227815b281SSiddharth Vadapalli ethernet2 = "/bus@100000/ethernet@c000000/ethernet-ports/port@2"; 237815b281SSiddharth Vadapalli ethernet3 = "/bus@100000/ethernet@c000000/ethernet-ports/port@3"; 247815b281SSiddharth Vadapalli ethernet4 = "/bus@100000/ethernet@c000000/ethernet-ports/port@4"; 257815b281SSiddharth Vadapalli }; 267815b281SSiddharth Vadapalli}; 277815b281SSiddharth Vadapalli 287815b281SSiddharth Vadapalli&cpsw0 { 297815b281SSiddharth Vadapalli status = "okay"; 307815b281SSiddharth Vadapalli pinctrl-names = "default"; 317815b281SSiddharth Vadapalli pinctrl-0 = <&rgmii1_default_pins 327815b281SSiddharth Vadapalli &rgmii2_default_pins 337815b281SSiddharth Vadapalli &rgmii3_default_pins 347815b281SSiddharth Vadapalli &rgmii4_default_pins>; 357815b281SSiddharth Vadapalli}; 367815b281SSiddharth Vadapalli 377815b281SSiddharth Vadapalli&cpsw0_port1 { 387815b281SSiddharth Vadapalli status = "okay"; 397815b281SSiddharth Vadapalli phy-handle = <&cpsw9g_phy12>; 407815b281SSiddharth Vadapalli phy-mode = "rgmii-rxid"; 417815b281SSiddharth Vadapalli mac-address = [00 00 00 00 00 00]; 427815b281SSiddharth Vadapalli phys = <&cpsw0_phy_gmii_sel 1>; 437815b281SSiddharth Vadapalli}; 447815b281SSiddharth Vadapalli 457815b281SSiddharth Vadapalli&cpsw0_port2 { 467815b281SSiddharth Vadapalli status = "okay"; 477815b281SSiddharth Vadapalli phy-handle = <&cpsw9g_phy15>; 487815b281SSiddharth Vadapalli phy-mode = "rgmii-rxid"; 497815b281SSiddharth Vadapalli mac-address = [00 00 00 00 00 00]; 507815b281SSiddharth Vadapalli phys = <&cpsw0_phy_gmii_sel 2>; 517815b281SSiddharth Vadapalli}; 527815b281SSiddharth Vadapalli 537815b281SSiddharth Vadapalli&cpsw0_port3 { 547815b281SSiddharth Vadapalli status = "okay"; 557815b281SSiddharth Vadapalli phy-handle = <&cpsw9g_phy0>; 567815b281SSiddharth Vadapalli phy-mode = "rgmii-rxid"; 577815b281SSiddharth Vadapalli mac-address = [00 00 00 00 00 00]; 587815b281SSiddharth Vadapalli phys = <&cpsw0_phy_gmii_sel 3>; 597815b281SSiddharth Vadapalli}; 607815b281SSiddharth Vadapalli 617815b281SSiddharth Vadapalli&cpsw0_port4 { 627815b281SSiddharth Vadapalli status = "okay"; 637815b281SSiddharth Vadapalli phy-handle = <&cpsw9g_phy3>; 647815b281SSiddharth Vadapalli phy-mode = "rgmii-rxid"; 657815b281SSiddharth Vadapalli mac-address = [00 00 00 00 00 00]; 667815b281SSiddharth Vadapalli phys = <&cpsw0_phy_gmii_sel 4>; 677815b281SSiddharth Vadapalli}; 687815b281SSiddharth Vadapalli 697815b281SSiddharth Vadapalli&cpsw9g_mdio { 707815b281SSiddharth Vadapalli status = "okay"; 717815b281SSiddharth Vadapalli pinctrl-names = "default"; 727815b281SSiddharth Vadapalli pinctrl-0 = <&mdio0_default_pins>; 737815b281SSiddharth Vadapalli bus_freq = <1000000>; 747815b281SSiddharth Vadapalli #address-cells = <1>; 757815b281SSiddharth Vadapalli #size-cells = <0>; 767815b281SSiddharth Vadapalli 777815b281SSiddharth Vadapalli cpsw9g_phy0: ethernet-phy@0 { 787815b281SSiddharth Vadapalli reg = <0>; 797815b281SSiddharth Vadapalli ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>; 807815b281SSiddharth Vadapalli ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>; 817815b281SSiddharth Vadapalli ti,min-output-impedance; 827815b281SSiddharth Vadapalli }; 837815b281SSiddharth Vadapalli cpsw9g_phy3: ethernet-phy@3 { 847815b281SSiddharth Vadapalli reg = <3>; 857815b281SSiddharth Vadapalli ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>; 867815b281SSiddharth Vadapalli ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>; 877815b281SSiddharth Vadapalli ti,min-output-impedance; 887815b281SSiddharth Vadapalli }; 897815b281SSiddharth Vadapalli cpsw9g_phy12: ethernet-phy@12 { 907815b281SSiddharth Vadapalli reg = <12>; 917815b281SSiddharth Vadapalli ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>; 927815b281SSiddharth Vadapalli ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>; 937815b281SSiddharth Vadapalli ti,min-output-impedance; 947815b281SSiddharth Vadapalli }; 957815b281SSiddharth Vadapalli cpsw9g_phy15: ethernet-phy@15 { 967815b281SSiddharth Vadapalli reg = <15>; 977815b281SSiddharth Vadapalli ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>; 987815b281SSiddharth Vadapalli ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>; 997815b281SSiddharth Vadapalli ti,min-output-impedance; 1007815b281SSiddharth Vadapalli }; 1017815b281SSiddharth Vadapalli}; 1027815b281SSiddharth Vadapalli 1037815b281SSiddharth Vadapalli&exp1 { 1047815b281SSiddharth Vadapalli p15-hog { 1057815b281SSiddharth Vadapalli /* P15 - EXP_MUX2 */ 1067815b281SSiddharth Vadapalli gpio-hog; 1077815b281SSiddharth Vadapalli gpios = <13 GPIO_ACTIVE_HIGH>; 1087815b281SSiddharth Vadapalli output-high; 1097815b281SSiddharth Vadapalli line-name = "EXP_MUX2"; 1107815b281SSiddharth Vadapalli }; 1117815b281SSiddharth Vadapalli 1127815b281SSiddharth Vadapalli p16-hog { 1137815b281SSiddharth Vadapalli /* P16 - EXP_MUX3 */ 1147815b281SSiddharth Vadapalli gpio-hog; 1157815b281SSiddharth Vadapalli gpios = <14 GPIO_ACTIVE_HIGH>; 1167815b281SSiddharth Vadapalli output-high; 1177815b281SSiddharth Vadapalli line-name = "EXP_MUX3"; 1187815b281SSiddharth Vadapalli }; 1197815b281SSiddharth Vadapalli}; 1207815b281SSiddharth Vadapalli 1217815b281SSiddharth Vadapalli&main_pmx0 { 1227815b281SSiddharth Vadapalli mdio0_default_pins: mdio0-default-pins { 1237815b281SSiddharth Vadapalli pinctrl-single,pins = < 1247815b281SSiddharth Vadapalli J721E_IOPAD(0x1bc, PIN_OUTPUT, 0) /* (V24) MDIO0_MDC */ 1257815b281SSiddharth Vadapalli J721E_IOPAD(0x1b8, PIN_INPUT, 0) /* (V26) MDIO0_MDIO */ 1267815b281SSiddharth Vadapalli >; 1277815b281SSiddharth Vadapalli }; 1287815b281SSiddharth Vadapalli 1297815b281SSiddharth Vadapalli rgmii1_default_pins: rgmii1-default-pins { 1307815b281SSiddharth Vadapalli pinctrl-single,pins = < 1317815b281SSiddharth Vadapalli J721E_IOPAD(0x4, PIN_INPUT, 4) /* (AC23) PRG1_PRU0_GPO0.RGMII1_RD0 */ 1327815b281SSiddharth Vadapalli J721E_IOPAD(0x8, PIN_INPUT, 4) /* (AG22) PRG1_PRU0_GPO1.RGMII1_RD1 */ 1337815b281SSiddharth Vadapalli J721E_IOPAD(0xc, PIN_INPUT, 4) /* (AF22) PRG1_PRU0_GPO2.RGMII1_RD2 */ 1347815b281SSiddharth Vadapalli J721E_IOPAD(0x10, PIN_INPUT, 4) /* (AJ23) PRG1_PRU0_GPO3.RGMII1_RD3 */ 1357815b281SSiddharth Vadapalli J721E_IOPAD(0x1c, PIN_INPUT, 4) /* (AD22) PRG1_PRU0_GPO6.RGMII1_RXC */ 1367815b281SSiddharth Vadapalli J721E_IOPAD(0x14, PIN_INPUT, 4) /* (AH23) PRG1_PRU0_GPO4.RGMII1_RX_CTL */ 1377815b281SSiddharth Vadapalli J721E_IOPAD(0x30, PIN_OUTPUT, 4) /* (AF24) PRG1_PRU0_GPO11.RGMII1_TD0 */ 1387815b281SSiddharth Vadapalli J721E_IOPAD(0x34, PIN_OUTPUT, 4) /* (AJ24) PRG1_PRU0_GPO12.RGMII1_TD1 */ 1397815b281SSiddharth Vadapalli J721E_IOPAD(0x38, PIN_OUTPUT, 4) /* (AG24) PRG1_PRU0_GPO13.RGMII1_TD2 */ 1407815b281SSiddharth Vadapalli J721E_IOPAD(0x3c, PIN_OUTPUT, 4) /* (AD24) PRG1_PRU0_GPO14.RGMII1_TD3 */ 1417815b281SSiddharth Vadapalli J721E_IOPAD(0x44, PIN_OUTPUT, 4) /* (AE24) PRG1_PRU0_GPO16.RGMII1_TXC */ 1427815b281SSiddharth Vadapalli J721E_IOPAD(0x40, PIN_OUTPUT, 4) /* (AC24) PRG1_PRU0_GPO15.RGMII1_TX_CTL */ 1437815b281SSiddharth Vadapalli >; 1447815b281SSiddharth Vadapalli }; 1457815b281SSiddharth Vadapalli 1467815b281SSiddharth Vadapalli rgmii2_default_pins: rgmii2-default-pins { 1477815b281SSiddharth Vadapalli pinctrl-single,pins = < 1487815b281SSiddharth Vadapalli J721E_IOPAD(0x58, PIN_INPUT, 4) /* (AE22) PRG1_PRU1_GPO0.RGMII2_RD0 */ 1497815b281SSiddharth Vadapalli J721E_IOPAD(0x5c, PIN_INPUT, 4) /* (AG23) PRG1_PRU1_GPO1.RGMII2_RD1 */ 1507815b281SSiddharth Vadapalli J721E_IOPAD(0x60, PIN_INPUT, 4) /* (AF23) PRG1_PRU1_GPO2.RGMII2_RD2 */ 1517815b281SSiddharth Vadapalli J721E_IOPAD(0x64, PIN_INPUT, 4) /* (AD23) PRG1_PRU1_GPO3.RGMII2_RD3 */ 1527815b281SSiddharth Vadapalli J721E_IOPAD(0x70, PIN_INPUT, 4) /* (AE23) PRG1_PRU1_GPO6.RGMII2_RXC */ 1537815b281SSiddharth Vadapalli J721E_IOPAD(0x68, PIN_INPUT, 4) /* (AH24) PRG1_PRU1_GPO4.RGMII2_RX_CTL */ 1547815b281SSiddharth Vadapalli J721E_IOPAD(0x84, PIN_OUTPUT, 4) /* (AJ25) PRG1_PRU1_GPO11.RGMII2_TD0 */ 1557815b281SSiddharth Vadapalli J721E_IOPAD(0x88, PIN_OUTPUT, 4) /* (AH25) PRG1_PRU1_GPO12.RGMII2_TD1 */ 1567815b281SSiddharth Vadapalli J721E_IOPAD(0x8c, PIN_OUTPUT, 4) /* (AG25) PRG1_PRU1_GPO13.RGMII2_TD2 */ 1577815b281SSiddharth Vadapalli J721E_IOPAD(0x90, PIN_OUTPUT, 4) /* (AH26) PRG1_PRU1_GPO14.RGMII2_TD3 */ 1587815b281SSiddharth Vadapalli J721E_IOPAD(0x98, PIN_OUTPUT, 4) /* (AJ26) PRG1_PRU1_GPO16.RGMII2_TXC */ 1597815b281SSiddharth Vadapalli J721E_IOPAD(0x94, PIN_OUTPUT, 4) /* (AJ27) PRG1_PRU1_GPO15.RGMII2_TX_CTL */ 1607815b281SSiddharth Vadapalli >; 1617815b281SSiddharth Vadapalli }; 1627815b281SSiddharth Vadapalli 1637815b281SSiddharth Vadapalli rgmii3_default_pins: rgmii3-default-pins { 1647815b281SSiddharth Vadapalli pinctrl-single,pins = < 1657815b281SSiddharth Vadapalli J721E_IOPAD(0xb0, PIN_INPUT, 4) /* (AF28) PRG0_PRU0_GPO0.RGMII3_RD0 */ 1667815b281SSiddharth Vadapalli J721E_IOPAD(0xb4, PIN_INPUT, 4) /* (AE28) PRG0_PRU0_GPO1.RGMII3_RD1 */ 1677815b281SSiddharth Vadapalli J721E_IOPAD(0xb8, PIN_INPUT, 4) /* (AE27) PRG0_PRU0_GPO2.RGMII3_RD2 */ 1687815b281SSiddharth Vadapalli J721E_IOPAD(0xbc, PIN_INPUT, 4) /* (AD26) PRG0_PRU0_GPO3.RGMII3_RD3 */ 1697815b281SSiddharth Vadapalli J721E_IOPAD(0xc8, PIN_INPUT, 4) /* (AE26) PRG0_PRU0_GPO6.RGMII3_RXC */ 1707815b281SSiddharth Vadapalli J721E_IOPAD(0xc0, PIN_INPUT, 4) /* (AD25) PRG0_PRU0_GPO4.RGMII3_RX_CTL */ 1717815b281SSiddharth Vadapalli J721E_IOPAD(0xdc, PIN_OUTPUT, 4) /* (AJ28) PRG0_PRU0_GPO11.RGMII3_TD0 */ 1727815b281SSiddharth Vadapalli J721E_IOPAD(0xe0, PIN_OUTPUT, 4) /* (AH27) PRG0_PRU0_GPO12.RGMII3_TD1 */ 1737815b281SSiddharth Vadapalli J721E_IOPAD(0xe4, PIN_OUTPUT, 4) /* (AH29) PRG0_PRU0_GPO13.RGMII3_TD2 */ 1747815b281SSiddharth Vadapalli J721E_IOPAD(0xe8, PIN_OUTPUT, 4) /* (AG28) PRG0_PRU0_GPO14.RGMII3_TD3 */ 1757815b281SSiddharth Vadapalli J721E_IOPAD(0xf0, PIN_OUTPUT, 4) /* (AH28) PRG0_PRU0_GPO16.RGMII3_TXC */ 1767815b281SSiddharth Vadapalli J721E_IOPAD(0xec, PIN_OUTPUT, 4) /* (AG27) PRG0_PRU0_GPO15.RGMII3_TX_CTL */ 1777815b281SSiddharth Vadapalli >; 1787815b281SSiddharth Vadapalli }; 1797815b281SSiddharth Vadapalli 1807815b281SSiddharth Vadapalli rgmii4_default_pins: rgmii4-default-pins { 1817815b281SSiddharth Vadapalli pinctrl-single,pins = < 1827815b281SSiddharth Vadapalli J721E_IOPAD(0x100, PIN_INPUT, 4) /* (AE29) PRG0_PRU1_GPO0.RGMII4_RD0 */ 1837815b281SSiddharth Vadapalli J721E_IOPAD(0x104, PIN_INPUT, 4) /* (AD28) PRG0_PRU1_GPO1.RGMII4_RD1 */ 1847815b281SSiddharth Vadapalli J721E_IOPAD(0x108, PIN_INPUT, 4) /* (AD27) PRG0_PRU1_GPO2.RGMII4_RD2 */ 1857815b281SSiddharth Vadapalli J721E_IOPAD(0x10c, PIN_INPUT, 4) /* (AC25) PRG0_PRU1_GPO3.RGMII4_RD3 */ 1867815b281SSiddharth Vadapalli J721E_IOPAD(0x118, PIN_INPUT, 4) /* (AC26) PRG0_PRU1_GPO6.RGMII4_RXC */ 1877815b281SSiddharth Vadapalli J721E_IOPAD(0x110, PIN_INPUT, 4) /* (AD29) PRG0_PRU1_GPO4.RGMII4_RX_CTL */ 1887815b281SSiddharth Vadapalli J721E_IOPAD(0x12c, PIN_OUTPUT, 4) /* (AG26) PRG0_PRU1_GPO11.RGMII4_TD0 */ 1897815b281SSiddharth Vadapalli J721E_IOPAD(0x130, PIN_OUTPUT, 4) /* (AF27) PRG0_PRU1_GPO12.RGMII4_TD1 */ 1907815b281SSiddharth Vadapalli J721E_IOPAD(0x134, PIN_OUTPUT, 4) /* (AF26) PRG0_PRU1_GPO13.RGMII4_TD2 */ 1917815b281SSiddharth Vadapalli J721E_IOPAD(0x138, PIN_OUTPUT, 4) /* (AE25) PRG0_PRU1_GPO14.RGMII4_TD3 */ 1927815b281SSiddharth Vadapalli J721E_IOPAD(0x140, PIN_OUTPUT, 4) /* (AG29) PRG0_PRU1_GPO16.RGMII4_TXC */ 1937815b281SSiddharth Vadapalli J721E_IOPAD(0x13c, PIN_OUTPUT, 4) /* (AF29) PRG0_PRU1_GPO15.RGMII4_TX_CTL */ 1947815b281SSiddharth Vadapalli >; 1957815b281SSiddharth Vadapalli }; 1967815b281SSiddharth Vadapalli}; 197