From: Parvathi Pudi <parvathi@couthit.com>
To: Andrew Davis <afd@ti.com>
Cc: nm <nm@ti.com>, Vignesh Raghavendra <vigneshr@ti.com>,
Kevin Hilman <khilman@baylibre.com>, rogerq <rogerq@kernel.org>,
tony <tony@atomide.com>, robh <robh@kernel.org>,
krzk+dt <krzk+dt@kernel.org>, conor+dt <conor+dt@kernel.org>,
richardcochran <richardcochran@gmail.com>,
aaro koskinen <aaro.koskinen@iki.fi>,
andreas <andreas@kemnade.info>, Andrew Lunn <andrew@lunn.ch>,
linux-omap <linux-omap@vger.kernel.org>,
devicetree <devicetree@vger.kernel.org>,
linux-kernel <linux-kernel@vger.kernel.org>,
netdev <netdev@vger.kernel.org>,
danishanwar <danishanwar@ti.com>, pratheesh <pratheesh@ti.com>,
j-rameshbabu <j-rameshbabu@ti.com>, praneeth <praneeth@ti.com>,
srk <srk@ti.com>, rogerq <rogerq@ti.com>,
krishna <krishna@couthit.com>, mohan <mohan@couthit.com>,
pmohan <pmohan@couthit.com>, basharath <basharath@couthit.com>,
Murali Karicheri <m-karicheri2@ti.com>,
parvathi <parvathi@couthit.com>
Subject: Re: [PATCH v4 2/2] arm: dts: ti: Adds support for AM335x and AM437x
Date: Fri, 16 Jan 2026 18:17:39 +0530 (IST) [thread overview]
Message-ID: <180076068.145887.1768567659299.JavaMail.zimbra@couthit.local> (raw)
In-Reply-To: <2110802326.88645.1767873743162.JavaMail.zimbra@couthit.local>
Hi,
> Hi,
>
>> On 1/5/26 10:21 AM, Parvathi Pudi wrote:
>>> From: Roger Quadros <rogerq@ti.com>
>>>
>>> PRU-ICSS instance consists of two PRU cores along with various
>>> peripherals such as the Interrupt Controller (PRU_INTC), the Industrial
>>> Ethernet Peripheral(IEP), the Real Time Media Independent Interface
>>> controller (MII_RT), and the Enhanced Capture (eCAP) event module.
>>>
>>> The TI Sitara AM335x ICE-V2 consists of single PRU-ICSS instance,
>>> This patch adds the new device tree overlay file in-order to enable
>>> PRU-ICSS instance, along with makefile changes.
>>>
>>> The TI Sitara AM437x series of devices consists of 2 PRU-ICSS instances
>>> (PRU-ICSS0 and PRU-ICSS1). This patch adds the device tree nodes for the
>>> PRU-ICSS1 instance to support DUAL-MAC mode of operation. Support for
>>> Ethernet over PRU is available only for ICSS1 instance.
>>>
>>> am33xx-l4.dtsi, am4372.dtsi - Adds IEP and eCAP peripheral as child nodes
>>> of the PRUSS subsystem node.
>>>
>>> am335x-icev2-prueth.dtso, am437x-idk-evm.dts - Adds PRU-ICSS
>>> instance node along with PRU eth port information and corresponding
>>> port configuration. It includes interrupt mapping for packet reception,
>>> HW timestamp collection, and PRU Ethernet ports in MII mode,
>>>
>>> GPIO configuration, boot strapping along with delay configuration for
>>> individual PRU Ethernet port and other required nodes.
>>>
>>> Signed-off-by: Roger Quadros <rogerq@ti.com>
>>> Signed-off-by: Andrew F. Davis <afd@ti.com>
>>> Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
>>> Signed-off-by: Basharath Hussain Khaja <basharath@couthit.com>
>>> Signed-off-by: Parvathi Pudi <parvathi@couthit.com>
>>> ---
>>> arch/arm/boot/dts/ti/omap/Makefile | 5 +
>>> .../ti/omap/am335x-icev2-prueth-overlay.dtso | 190 ++++++++++++++++++
>>> arch/arm/boot/dts/ti/omap/am33xx-l4.dtsi | 11 +
>>> arch/arm/boot/dts/ti/omap/am4372.dtsi | 11 +
>>> arch/arm/boot/dts/ti/omap/am437x-idk-evm.dts | 137 ++++++++++++-
>>> 5 files changed, 353 insertions(+), 1 deletion(-)
>>> create mode 100644 arch/arm/boot/dts/ti/omap/am335x-icev2-prueth-overlay.dtso
>>>
>>> diff --git a/arch/arm/boot/dts/ti/omap/Makefile
>>> b/arch/arm/boot/dts/ti/omap/Makefile
>>> index 14e500846875..c68948035eca 100644
>>> --- a/arch/arm/boot/dts/ti/omap/Makefile
>>> +++ b/arch/arm/boot/dts/ti/omap/Makefile
>>> @@ -82,6 +82,10 @@ dtb-$(CONFIG_ARCH_OMAP4) += \
>>> omap4-var-stk-om44.dtb \
>>> omap4-xyboard-mz609.dtb \
>>> omap4-xyboard-mz617.dtb
>>> +
>>> +am335x-icev2-prueth-dtbs := am335x-icev2.dtb \
>>> + am335x-icev2-prueth-overlay.dtbo
>>> +
>>> dtb-$(CONFIG_SOC_AM33XX) += \
>>> am335x-baltos-ir2110.dtb \
>>> am335x-baltos-ir3220.dtb \
>>> @@ -100,6 +104,7 @@ dtb-$(CONFIG_SOC_AM33XX) += \
>>> am335x-evmsk.dtb \
>>> am335x-guardian.dtb \
>>> am335x-icev2.dtb \
>>> + am335x-icev2-prueth.dtb \
>>> am335x-lxm.dtb \
>>> am335x-mba335x.dtb \
>>> am335x-moxa-uc-2101.dtb \
>>> diff --git a/arch/arm/boot/dts/ti/omap/am335x-icev2-prueth-overlay.dtso
>>> b/arch/arm/boot/dts/ti/omap/am335x-icev2-prueth-overlay.dtso
>>> new file mode 100644
>>> index 000000000000..abde5119875f
>>> --- /dev/null
>>> +++ b/arch/arm/boot/dts/ti/omap/am335x-icev2-prueth-overlay.dtso
>>> @@ -0,0 +1,190 @@
>>> +// SPDX-License-Identifier: GPL-2.0
>>> +/*
>>> + * DT overlay for IDK AM335x
>>> + *
>>> + * Copyright (C) 2018 Texas Instruments Incorporated - http://www.ti.com/
>>> + */
>>> +
>>> +/*
>>> + * AM335x ICE V2 board
>>> + * http://www.ti.com/tool/tmdsice3359
>>> + */
>>> +
>>> +/dts-v1/;
>>> +/plugin/;
>>> +
>>> +#include <dt-bindings/bus/ti-sysc.h>
>>> +#include <dt-bindings/gpio/gpio.h>
>>> +#include <dt-bindings/pinctrl/am33xx.h>
>>> +#include <dt-bindings/clock/am3.h>
>>> +
>>> +&{/} {
>>> + /* Dual-MAC Ethernet application node on PRU-ICSS */
>>> + pruss_eth: pruss-eth {
>>> + compatible = "ti,am3359-prueth";
>>> + ti,prus = <&pru0>, <&pru1>;
>>> + sram = <&ocmcram>;
>>> + ti,mii-rt = <&pruss_mii_rt>;
>>> + ti,iep = <&pruss_iep>;
>>> + ti,ecap = <&pruss_ecap>;
>>> + interrupts = <20 2 2>, <21 3 3>;
>>> + interrupt-names = "rx_hp", "rx_lp";
>>> + interrupt-parent = <&pruss_intc>;
>>> +
>>> + pinctrl-0 = <&pruss_eth_default>;
>>> + pinctrl-names = "default";
>>> +
>>> + ethernet-ports {
>>> + #address-cells = <1>;
>>> + #size-cells = <0>;
>>> + pruss_emac0: ethernet-port@0 {
>>> + reg = <0>;
>>> + phy-handle = <&pruss_eth0_phy>;
>>> + phy-mode = "mii";
>>> + interrupts = <20 2 2>, <26 6 6>, <23 6 6>;
>>> + interrupt-names = "rx", "emac_ptp_tx",
>>> + "hsr_ptp_tx";
>>> + /* Filled in by bootloader */
>>> + local-mac-address = [00 00 00 00 00 00];
>>> + };
>>> +
>>> + pruss_emac1: ethernet-port@1 {
>>> + reg = <1>;
>>> + phy-handle = <&pruss_eth1_phy>;
>>> + phy-mode = "mii";
>>> + interrupts = <21 3 3>, <27 9 7>, <24 9 7>;
>>> + interrupt-names = "rx", "emac_ptp_tx",
>>> + "hsr_ptp_tx";
>>> + /* Filled in by bootloader */
>>> + local-mac-address = [00 00 00 00 00 00];
>>> + };
>>> + };
>>> + };
>>> +};
>>> +
>>> +&am33xx_pinmux {
>>> + /* MDIO node for PRU-ICSS */
>>> + pruss_mdio_default: pruss_mdio_default {
>>> + pinctrl-single,pins = <
>>> + /* gpmc_clk.pr1_mdio_mdclk */
>>> + AM33XX_PADCONF(0x88c, PIN_OUTPUT, MUX_MODE5)
>>> + /* gpmc_csn3.pr1_mdio_data */
>>> + AM33XX_PADCONF(0x888, PIN_INPUT, MUX_MODE5)
>>
>> Have you regenerated this list lately? The pinmux tool usually puts the
>> comment after the PADCONF entry. It also now also shows the pin number
>> in the comment which is nice:
>>
>> AM33XX_IOPAD(0x88c, PIN_OUTPUT, MUX_MODE5) /* (V12) gpmc_clk.pr1_mdio_mdclk */
>> AM33XX_IOPAD(0x888, PIN_INPUT, MUX_MODE5) /* (T13) gpmc_csn3.pr1_mdio_data */
>>
>> I'd recommend regenerating these nodes to match the latest pinmux tool output.
>>
>
> Sure, we will check and regenerate these nodes using the pinmux tool and
> update accordingly.
>
>>> + /* gpmc_ben0_cle.gpio2_5 */
>>> + AM33XX_PADCONF(0x89c, PIN_INPUT_PULLUP, MUX_MODE7)
>>> + /* disable CPSW MDIO */
>>
>> Is this needed? If you disable the CPSW MDIO node the pinmux should be unset,
>> so not sure why you are muxing these to GPIO pins.
>>
>
> We will review and get back with more details on this.
>
On the AM335x board, the CPSW MDIO and PRUSS MDIO signals are routed to the same physical
pins (as shown in the schematic, see page 10 “MII_MUX” in tmdxice3359_sch_3h0013_v2_1a.pdf
from https://www.ti.com/lit/zip/TIDR336 ). Because of this shared routing, the pinmux
configuration applied by U-Boot for CPSW MDIO remains active even if the CPSW MDIO node is
later disabled in Linux, and Linux does not automatically revert the pins to their reset state.
To prevent signal contention and ensure correct PRUSS MDIO operation, we explicitly re-mux
the CPSW MDIO pins to GPIO in the PRUSS pinctrl. Without this explicit reconfiguration, we
observed PHY connection issues during startup.
Thanks and Regards,
Parvathi.
next prev parent reply other threads:[~2026-01-16 12:48 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-05 16:21 [PATCH v4 0/2] Add support for ICSSM Ethernet on AM57x, AM437x, and AM335x Parvathi Pudi
2026-01-05 16:21 ` [PATCH v4 1/2] arm: dts: ti: Adds device tree nodes for PRU Cores, IEP and eCAP modules of PRU-ICSS2 Instance Parvathi Pudi
2026-01-05 16:21 ` [PATCH v4 2/2] arm: dts: ti: Adds support for AM335x and AM437x Parvathi Pudi
2026-01-05 19:22 ` Andrew Davis
2026-01-08 12:02 ` Parvathi Pudi
2026-01-16 12:47 ` Parvathi Pudi [this message]
2026-01-16 13:55 ` Andrew Lunn
2026-02-24 8:09 ` Parvathi Pudi
2026-02-24 8:48 ` H. Nikolaus Schaller
2026-02-26 8:28 ` Parvathi Pudi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=180076068.145887.1768567659299.JavaMail.zimbra@couthit.local \
--to=parvathi@couthit.com \
--cc=aaro.koskinen@iki.fi \
--cc=afd@ti.com \
--cc=andreas@kemnade.info \
--cc=andrew@lunn.ch \
--cc=basharath@couthit.com \
--cc=conor+dt@kernel.org \
--cc=danishanwar@ti.com \
--cc=devicetree@vger.kernel.org \
--cc=j-rameshbabu@ti.com \
--cc=khilman@baylibre.com \
--cc=krishna@couthit.com \
--cc=krzk+dt@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=m-karicheri2@ti.com \
--cc=mohan@couthit.com \
--cc=netdev@vger.kernel.org \
--cc=nm@ti.com \
--cc=pmohan@couthit.com \
--cc=praneeth@ti.com \
--cc=pratheesh@ti.com \
--cc=richardcochran@gmail.com \
--cc=robh@kernel.org \
--cc=rogerq@kernel.org \
--cc=rogerq@ti.com \
--cc=srk@ti.com \
--cc=tony@atomide.com \
--cc=vigneshr@ti.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox