[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <2110802326.88645.1767873743162.JavaMail.zimbra@couthit.local>
Date: Thu, 8 Jan 2026 17:32:23 +0530 (IST)
From: Parvathi Pudi <parvathi@...thit.com>
To: Andrew Davis <afd@...com>
Cc: Parvathi Pudi <parvathi@...thit.com>, nm <nm@...com>,
Vignesh Raghavendra <vigneshr@...com>,
Kevin Hilman <khilman@...libre.com>, rogerq <rogerq@...nel.org>,
tony <tony@...mide.com>, robh <robh@...nel.org>,
krzk+dt <krzk+dt@...nel.org>, conor+dt <conor+dt@...nel.org>,
richardcochran <richardcochran@...il.com>,
aaro koskinen <aaro.koskinen@....fi>, andreas <andreas@...nade.info>,
Andrew Lunn <andrew@...n.ch>,
linux-omap <linux-omap@...r.kernel.org>,
devicetree <devicetree@...r.kernel.org>,
linux-kernel <linux-kernel@...r.kernel.org>,
netdev <netdev@...r.kernel.org>, danishanwar <danishanwar@...com>,
pratheesh <pratheesh@...com>, j-rameshbabu <j-rameshbabu@...com>,
praneeth <praneeth@...com>, srk <srk@...com>, rogerq <rogerq@...com>,
krishna <krishna@...thit.com>, mohan <mohan@...thit.com>,
pmohan <pmohan@...thit.com>, basharath <basharath@...thit.com>,
Murali Karicheri <m-karicheri2@...com>
Subject: Re: [PATCH v4 2/2] arm: dts: ti: Adds support for AM335x and AM437x
Hi,
> On 1/5/26 10:21 AM, Parvathi Pudi wrote:
>> From: Roger Quadros <rogerq@...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@...com>
>> Signed-off-by: Andrew F. Davis <afd@...com>
>> Signed-off-by: Murali Karicheri <m-karicheri2@...com>
>> Signed-off-by: Basharath Hussain Khaja <basharath@...thit.com>
>> Signed-off-by: Parvathi Pudi <parvathi@...thit.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.
> Also, this patch is a bit busy, might be easier to review if you split it
> into one for AM335x and one for AM437x changes.
>
We will split the changes into two patches, one for AM335x
and one for AM437x, and address this in the next version.
Thanks and Regards,
Parvathi.
Powered by blists - more mailing lists