Message ID | 20230817114527.1585631-1-danishanwar@ti.com (mailing list archive) |
---|---|
Headers | show |
Series | Introduce IEP driver and packet timestamping support | expand |
On Thu, Aug 17, 2023 at 05:15:22PM +0530, MD Danish Anwar wrote: > This series introduces Industrial Ethernet Peripheral (IEP) driver to > support timestamping of ethernet packets and thus support PTP and PPS > for PRU ICSSG ethernet ports. > > This series also adds 10M full duplex support for ICSSG ethernet driver. > > There are two IEP instances. IEP0 is used for packet timestamping while IEP1 > is used for 10M full duplex support. > > This is v5 of the series [v1]. It addresses comments made on [v4]. > This series is based on linux-next(#next-20230817). > > Changes from v4 to v5: > *) Added comments on why we are using readl / writel instead of regmap_read() > / write() in icss_iep_gettime() / settime() APIs as asked by Roger. > > Change from v3 to v4: > *) Changed compatible in iep dt bindings. Now each SoC has their own compatible > in the binding with "ti,am654-icss-iep" as a fallback as asked by Conor. > *) Addressed Andew's comments and removed helper APIs icss_iep_readl() / > writel(). Now the settime/gettime APIs directly use readl() / writel(). > *) Moved selecting TI_ICSS_IEP in Kconfig from patch 3 to patch 4. > *) Removed forward declaration of icss_iep_of_match in patch 3. > *) Replaced use of of_device_get_match_data() to device_get_match_data() in > patch 3. > *) Removed of_match_ptr() from patch 3 as it is not needed. > > Changes from v2 to v3: > *) Addressed Roger's comment and moved IEP1 related changes in patch 5. > *) Addressed Roger's comment and moved icss_iep.c / .h changes from patch 4 > to patch 3. > *) Added support for multiple timestamping in patch 4 as asked by Roger. > *) Addressed Andrew's comment and added comment in case SPEED_10 in > icssg_config_ipg() API. > *) Kept compatible as "ti,am654-icss-iep" for all TI K3 SoCs > > Changes from v1 to v2: > *) Addressed Simon's comment to fix reverse xmas tree declaration. Some APIs > in patch 3 and 4 were not following reverse xmas tree variable declaration. > Fixed it in this version. > *) Addressed Conor's comments and removed unsupported SoCs from compatible > comment in patch 1. > *) Addded patch 2 which was not part of v1. Patch 2, adds IEP node to dt > bindings for ICSSG. > > [v1] https://lore.kernel.org/all/20230803110153.3309577-1-danishanwar@ti.com/ > [v2] https://lore.kernel.org/all/20230807110048.2611456-1-danishanwar@ti.com/ > [v3] https://lore.kernel.org/all/20230809114906.21866-1-danishanwar@ti.com/ > [v4] https://lore.kernel.org/all/20230814100847.3531480-1-danishanwar@ti.com/ > > Thanks and Regards, > Md Danish Anwar > > Grygorii Strashko (1): > net: ti: icssg-prueth: am65x SR2.0 add 10M full duplex support > > MD Danish Anwar (2): > dt-bindings: net: Add ICSS IEP > dt-bindings: net: Add IEP property in ICSSG DT binding > > Roger Quadros (2): > net: ti: icss-iep: Add IEP driver > net: ti: icssg-prueth: add packet timestamping and ptp support For series, Reviewed-by: Simon Horman <horms@kernel.org>
On 17/08/2023 14:45, MD Danish Anwar wrote: > This series introduces Industrial Ethernet Peripheral (IEP) driver to > support timestamping of ethernet packets and thus support PTP and PPS > for PRU ICSSG ethernet ports. > > This series also adds 10M full duplex support for ICSSG ethernet driver. > > There are two IEP instances. IEP0 is used for packet timestamping while IEP1 > is used for 10M full duplex support. > > This is v5 of the series [v1]. It addresses comments made on [v4]. > This series is based on linux-next(#next-20230817). > > Changes from v4 to v5: > *) Added comments on why we are using readl / writel instead of regmap_read() > / write() in icss_iep_gettime() / settime() APIs as asked by Roger. > > Change from v3 to v4: > *) Changed compatible in iep dt bindings. Now each SoC has their own compatible > in the binding with "ti,am654-icss-iep" as a fallback as asked by Conor. > *) Addressed Andew's comments and removed helper APIs icss_iep_readl() / > writel(). Now the settime/gettime APIs directly use readl() / writel(). > *) Moved selecting TI_ICSS_IEP in Kconfig from patch 3 to patch 4. > *) Removed forward declaration of icss_iep_of_match in patch 3. > *) Replaced use of of_device_get_match_data() to device_get_match_data() in > patch 3. > *) Removed of_match_ptr() from patch 3 as it is not needed. > > Changes from v2 to v3: > *) Addressed Roger's comment and moved IEP1 related changes in patch 5. > *) Addressed Roger's comment and moved icss_iep.c / .h changes from patch 4 > to patch 3. > *) Added support for multiple timestamping in patch 4 as asked by Roger. > *) Addressed Andrew's comment and added comment in case SPEED_10 in > icssg_config_ipg() API. > *) Kept compatible as "ti,am654-icss-iep" for all TI K3 SoCs > > Changes from v1 to v2: > *) Addressed Simon's comment to fix reverse xmas tree declaration. Some APIs > in patch 3 and 4 were not following reverse xmas tree variable declaration. > Fixed it in this version. > *) Addressed Conor's comments and removed unsupported SoCs from compatible > comment in patch 1. > *) Addded patch 2 which was not part of v1. Patch 2, adds IEP node to dt > bindings for ICSSG. > > [v1] https://lore.kernel.org/all/20230803110153.3309577-1-danishanwar@ti.com/ > [v2] https://lore.kernel.org/all/20230807110048.2611456-1-danishanwar@ti.com/ > [v3] https://lore.kernel.org/all/20230809114906.21866-1-danishanwar@ti.com/ > [v4] https://lore.kernel.org/all/20230814100847.3531480-1-danishanwar@ti.com/ > > Thanks and Regards, > Md Danish Anwar > > Grygorii Strashko (1): > net: ti: icssg-prueth: am65x SR2.0 add 10M full duplex support > > MD Danish Anwar (2): > dt-bindings: net: Add ICSS IEP > dt-bindings: net: Add IEP property in ICSSG DT binding > > Roger Quadros (2): > net: ti: icss-iep: Add IEP driver > net: ti: icssg-prueth: add packet timestamping and ptp support > > .../devicetree/bindings/net/ti,icss-iep.yaml | 61 ++ > .../bindings/net/ti,icssg-prueth.yaml | 7 + > drivers/net/ethernet/ti/Kconfig | 12 + > drivers/net/ethernet/ti/Makefile | 1 + > drivers/net/ethernet/ti/icssg/icss_iep.c | 965 ++++++++++++++++++ > drivers/net/ethernet/ti/icssg/icss_iep.h | 41 + > drivers/net/ethernet/ti/icssg/icssg_config.c | 7 + > drivers/net/ethernet/ti/icssg/icssg_ethtool.c | 21 + > drivers/net/ethernet/ti/icssg/icssg_prueth.c | 451 +++++++- > drivers/net/ethernet/ti/icssg/icssg_prueth.h | 28 +- > 10 files changed, 1586 insertions(+), 8 deletions(-) > create mode 100644 Documentation/devicetree/bindings/net/ti,icss-iep.yaml > create mode 100644 drivers/net/ethernet/ti/icssg/icss_iep.c > create mode 100644 drivers/net/ethernet/ti/icssg/icss_iep.h > For this series: Reviewed-by: Roger Quadros <rogerq@kernel.org>
On Thu, 17 Aug 2023 17:15:22 +0530 MD Danish Anwar wrote: > This series introduces Industrial Ethernet Peripheral (IEP) driver to > support timestamping of ethernet packets and thus support PTP and PPS > for PRU ICSSG ethernet ports. Richard, let us know if you'd like to TAL or we're good to apply.
On Mon, Aug 21, 2023 at 07:07:32PM -0700, Jakub Kicinski wrote: > On Thu, 17 Aug 2023 17:15:22 +0530 MD Danish Anwar wrote: > > This series introduces Industrial Ethernet Peripheral (IEP) driver to > > support timestamping of ethernet packets and thus support PTP and PPS > > for PRU ICSSG ethernet ports. > > Richard, let us know if you'd like to TAL or we're good to apply. Sorry, I was at the thermal spa last week and not reading email! LGTM Thanks, Richard