mbox series

[v2,00/10] net: ti: icssg: Add prueth support

Message ID 20200218051004.32524-1-j-keerthy@ti.com
Headers show
Series net: ti: icssg: Add prueth support | expand

Message

Keerthy Feb. 18, 2020, 5:09 a.m. UTC
The series adds support for icssg_prueth functionality
on u-boot. This series is based on top of master branch.
rproc init needs to be done from uboot command prompt.
The pru/rtu firmware loading is done by prueth driver soon after
config paramters are setup.

Currently only slice0/1 of icssg2 instance on am6-evm
is supported. i.e Both slices of icssg2 instance are supported.

Prebuilt firmware can be obtained from AM65 procSDK [1] rootfs at /lib/firmware/ti-pruss/am65x*.elf

[1] http://software-dl.ti.com/processor-sdk-linux/esd/AM65X/latest/index_FDS.html

This tests tftp on prueth.

Note: Uboot ethernet driver architecture supports once
instance per probe. So only one of the ports are supported
per instance. So DT of prueth node should have either ethernet-mii0
or ethernet-mii1.

Changes in v2:

It has been a while since v1 was posted. Here are the changes:

  * Removed the usage of misc_init_by_ofnode instead used
    uclass_get_device_by_ofnode.
  * Introduced started variable to keep track of the status of the
    prueth device.
  * Build Tested on Travis: https://travis-ci.org/Keerthyj/u-boot/builds/651449684 

Keerthy (10):
  net: eth-uclass: eth_get_dev based on SEQ_ALIAS instead of probe order
  soc: ti: pruss: add a misc driver for PRUSS in TI  SoCs
  remoteproc: pruss: add PRU remoteproc driver
  net: ti: icssg-prueth: Add ICSSG ethernet driver
  arm: dts: k3-am65-main: Add msmc_ram node
  arm: dts: k3-am654-base-board-u-boot: Add icssg specific msmc_ram
    carveout nodes
  arm: dts: k3-am65-main: Add scm_conf node
  arm: dts: k3-am65-main: Add pruss nodes for ICSSG2
  arm64: dts: ti: am654-base-board: add ICSSG2 Ethernet support
  configs: am65x_evm_a53_defconfig: Enable CONFIG_TI_AM64_ICSSG_PRUETH

 arch/arm/dts/k3-am65-main.dtsi               | 191 ++++++
 arch/arm/dts/k3-am65.dtsi                    |   4 +-
 arch/arm/dts/k3-am654-base-board-u-boot.dtsi | 129 ++++
 configs/am65x_evm_a53_defconfig              |   3 +
 drivers/net/ti/Kconfig                       |   8 +
 drivers/net/ti/Makefile                      |   1 +
 drivers/net/ti/icssg-prueth.c                | 652 +++++++++++++++++++
 drivers/net/ti/icssg.h                       |  36 +
 drivers/net/ti/icssg_classifier.c            | 396 +++++++++++
 drivers/remoteproc/Kconfig                   |  11 +
 drivers/remoteproc/Makefile                  |   1 +
 drivers/remoteproc/pru_rproc.c               | 405 ++++++++++++
 drivers/soc/ti/Kconfig                       |  12 +
 drivers/soc/ti/Makefile                      |   1 +
 drivers/soc/ti/pruss.c                       | 152 +++++
 include/ti-pruss.h                           |  17 +
 net/eth-uclass.c                             |  12 +-
 17 files changed, 2027 insertions(+), 4 deletions(-)
 create mode 100644 drivers/net/ti/icssg-prueth.c
 create mode 100644 drivers/net/ti/icssg.h
 create mode 100644 drivers/net/ti/icssg_classifier.c
 create mode 100644 drivers/remoteproc/pru_rproc.c
 create mode 100644 drivers/soc/ti/pruss.c
 create mode 100644 include/ti-pruss.h

Comments

Keerthy Feb. 20, 2020, 9:18 a.m. UTC | #1
On 18/02/20 10:39 am, Keerthy wrote:
> The series adds support for icssg_prueth functionality
> on u-boot. This series is based on top of master branch.
> rproc init needs to be done from uboot command prompt.
> The pru/rtu firmware loading is done by prueth driver soon after
> config paramters are setup.

A quick update on this series. It seems newer version of this hardware
needs more modifications to this series. Hence please ignore v2.

Best Regards,
Keerthy

> 
> Currently only slice0/1 of icssg2 instance on am6-evm
> is supported. i.e Both slices of icssg2 instance are supported.
> 
> Prebuilt firmware can be obtained from AM65 procSDK [1] rootfs at /lib/firmware/ti-pruss/am65x*.elf
> 
> [1] http://software-dl.ti.com/processor-sdk-linux/esd/AM65X/latest/index_FDS.html
> 
> This tests tftp on prueth.
> 
> Note: Uboot ethernet driver architecture supports once
> instance per probe. So only one of the ports are supported
> per instance. So DT of prueth node should have either ethernet-mii0
> or ethernet-mii1.
> 
> Changes in v2:
> 
> It has been a while since v1 was posted. Here are the changes:
> 
>    * Removed the usage of misc_init_by_ofnode instead used
>      uclass_get_device_by_ofnode.
>    * Introduced started variable to keep track of the status of the
>      prueth device.
>    * Build Tested on Travis: https://travis-ci.org/Keerthyj/u-boot/builds/651449684
> 
> Keerthy (10):
>    net: eth-uclass: eth_get_dev based on SEQ_ALIAS instead of probe order
>    soc: ti: pruss: add a misc driver for PRUSS in TI  SoCs
>    remoteproc: pruss: add PRU remoteproc driver
>    net: ti: icssg-prueth: Add ICSSG ethernet driver
>    arm: dts: k3-am65-main: Add msmc_ram node
>    arm: dts: k3-am654-base-board-u-boot: Add icssg specific msmc_ram
>      carveout nodes
>    arm: dts: k3-am65-main: Add scm_conf node
>    arm: dts: k3-am65-main: Add pruss nodes for ICSSG2
>    arm64: dts: ti: am654-base-board: add ICSSG2 Ethernet support
>    configs: am65x_evm_a53_defconfig: Enable CONFIG_TI_AM64_ICSSG_PRUETH
> 
>   arch/arm/dts/k3-am65-main.dtsi               | 191 ++++++
>   arch/arm/dts/k3-am65.dtsi                    |   4 +-
>   arch/arm/dts/k3-am654-base-board-u-boot.dtsi | 129 ++++
>   configs/am65x_evm_a53_defconfig              |   3 +
>   drivers/net/ti/Kconfig                       |   8 +
>   drivers/net/ti/Makefile                      |   1 +
>   drivers/net/ti/icssg-prueth.c                | 652 +++++++++++++++++++
>   drivers/net/ti/icssg.h                       |  36 +
>   drivers/net/ti/icssg_classifier.c            | 396 +++++++++++
>   drivers/remoteproc/Kconfig                   |  11 +
>   drivers/remoteproc/Makefile                  |   1 +
>   drivers/remoteproc/pru_rproc.c               | 405 ++++++++++++
>   drivers/soc/ti/Kconfig                       |  12 +
>   drivers/soc/ti/Makefile                      |   1 +
>   drivers/soc/ti/pruss.c                       | 152 +++++
>   include/ti-pruss.h                           |  17 +
>   net/eth-uclass.c                             |  12 +-
>   17 files changed, 2027 insertions(+), 4 deletions(-)
>   create mode 100644 drivers/net/ti/icssg-prueth.c
>   create mode 100644 drivers/net/ti/icssg.h
>   create mode 100644 drivers/net/ti/icssg_classifier.c
>   create mode 100644 drivers/remoteproc/pru_rproc.c
>   create mode 100644 drivers/soc/ti/pruss.c
>   create mode 100644 include/ti-pruss.h
>
Christian Gmeiner Oct. 26, 2020, 12:37 p.m. UTC | #2
Hi all

Is there any update regarding this patch series?



Am Do., 20. Feb. 2020 um 10:19 Uhr schrieb Keerthy <j-keerthy@ti.com>:
>

>

>

> On 18/02/20 10:39 am, Keerthy wrote:

> > The series adds support for icssg_prueth functionality

> > on u-boot. This series is based on top of master branch.

> > rproc init needs to be done from uboot command prompt.

> > The pru/rtu firmware loading is done by prueth driver soon after

> > config paramters are setup.

>

> A quick update on this series. It seems newer version of this hardware

> needs more modifications to this series. Hence please ignore v2.

>

> Best Regards,

> Keerthy

>

> >

> > Currently only slice0/1 of icssg2 instance on am6-evm

> > is supported. i.e Both slices of icssg2 instance are supported.

> >

> > Prebuilt firmware can be obtained from AM65 procSDK [1] rootfs at /lib/firmware/ti-pruss/am65x*.elf

> >

> > [1] http://software-dl.ti.com/processor-sdk-linux/esd/AM65X/latest/index_FDS.html

> >

> > This tests tftp on prueth.

> >

> > Note: Uboot ethernet driver architecture supports once

> > instance per probe. So only one of the ports are supported

> > per instance. So DT of prueth node should have either ethernet-mii0

> > or ethernet-mii1.

> >

> > Changes in v2:

> >

> > It has been a while since v1 was posted. Here are the changes:

> >

> >    * Removed the usage of misc_init_by_ofnode instead used

> >      uclass_get_device_by_ofnode.

> >    * Introduced started variable to keep track of the status of the

> >      prueth device.

> >    * Build Tested on Travis: https://travis-ci.org/Keerthyj/u-boot/builds/651449684

> >

> > Keerthy (10):

> >    net: eth-uclass: eth_get_dev based on SEQ_ALIAS instead of probe order

> >    soc: ti: pruss: add a misc driver for PRUSS in TI  SoCs

> >    remoteproc: pruss: add PRU remoteproc driver

> >    net: ti: icssg-prueth: Add ICSSG ethernet driver

> >    arm: dts: k3-am65-main: Add msmc_ram node

> >    arm: dts: k3-am654-base-board-u-boot: Add icssg specific msmc_ram

> >      carveout nodes

> >    arm: dts: k3-am65-main: Add scm_conf node

> >    arm: dts: k3-am65-main: Add pruss nodes for ICSSG2

> >    arm64: dts: ti: am654-base-board: add ICSSG2 Ethernet support

> >    configs: am65x_evm_a53_defconfig: Enable CONFIG_TI_AM64_ICSSG_PRUETH

> >

> >   arch/arm/dts/k3-am65-main.dtsi               | 191 ++++++

> >   arch/arm/dts/k3-am65.dtsi                    |   4 +-

> >   arch/arm/dts/k3-am654-base-board-u-boot.dtsi | 129 ++++

> >   configs/am65x_evm_a53_defconfig              |   3 +

> >   drivers/net/ti/Kconfig                       |   8 +

> >   drivers/net/ti/Makefile                      |   1 +

> >   drivers/net/ti/icssg-prueth.c                | 652 +++++++++++++++++++

> >   drivers/net/ti/icssg.h                       |  36 +

> >   drivers/net/ti/icssg_classifier.c            | 396 +++++++++++

> >   drivers/remoteproc/Kconfig                   |  11 +

> >   drivers/remoteproc/Makefile                  |   1 +

> >   drivers/remoteproc/pru_rproc.c               | 405 ++++++++++++

> >   drivers/soc/ti/Kconfig                       |  12 +

> >   drivers/soc/ti/Makefile                      |   1 +

> >   drivers/soc/ti/pruss.c                       | 152 +++++

> >   include/ti-pruss.h                           |  17 +

> >   net/eth-uclass.c                             |  12 +-

> >   17 files changed, 2027 insertions(+), 4 deletions(-)

> >   create mode 100644 drivers/net/ti/icssg-prueth.c

> >   create mode 100644 drivers/net/ti/icssg.h

> >   create mode 100644 drivers/net/ti/icssg_classifier.c

> >   create mode 100644 drivers/remoteproc/pru_rproc.c

> >   create mode 100644 drivers/soc/ti/pruss.c

> >   create mode 100644 include/ti-pruss.h

> >




-- 
greets
--
Christian Gmeiner, MSc

https://christian-gmeiner.info/privacypolicy
Roger Quadros Oct. 26, 2020, 12:47 p.m. UTC | #3
Hi Christian,

On 26/10/2020 14:37, Christian Gmeiner wrote:
> Hi all

> 

> Is there any update regarding this patch series?


I am working on revising this driver. Once ready I will post the updated version upstream.

cheers,
-roger

> 

> 

> 

> Am Do., 20. Feb. 2020 um 10:19 Uhr schrieb Keerthy <j-keerthy@ti.com>:

>>

>>

>>

>> On 18/02/20 10:39 am, Keerthy wrote:

>>> The series adds support for icssg_prueth functionality

>>> on u-boot. This series is based on top of master branch.

>>> rproc init needs to be done from uboot command prompt.

>>> The pru/rtu firmware loading is done by prueth driver soon after

>>> config paramters are setup.

>>

>> A quick update on this series. It seems newer version of this hardware

>> needs more modifications to this series. Hence please ignore v2.

>>

>> Best Regards,

>> Keerthy

>>

>>>

>>> Currently only slice0/1 of icssg2 instance on am6-evm

>>> is supported. i.e Both slices of icssg2 instance are supported.

>>>

>>> Prebuilt firmware can be obtained from AM65 procSDK [1] rootfs at /lib/firmware/ti-pruss/am65x*.elf

>>>

>>> [1] http://software-dl.ti.com/processor-sdk-linux/esd/AM65X/latest/index_FDS.html

>>>

>>> This tests tftp on prueth.

>>>

>>> Note: Uboot ethernet driver architecture supports once

>>> instance per probe. So only one of the ports are supported

>>> per instance. So DT of prueth node should have either ethernet-mii0

>>> or ethernet-mii1.

>>>

>>> Changes in v2:

>>>

>>> It has been a while since v1 was posted. Here are the changes:

>>>

>>>     * Removed the usage of misc_init_by_ofnode instead used

>>>       uclass_get_device_by_ofnode.

>>>     * Introduced started variable to keep track of the status of the

>>>       prueth device.

>>>     * Build Tested on Travis: https://travis-ci.org/Keerthyj/u-boot/builds/651449684

>>>

>>> Keerthy (10):

>>>     net: eth-uclass: eth_get_dev based on SEQ_ALIAS instead of probe order

>>>     soc: ti: pruss: add a misc driver for PRUSS in TI  SoCs

>>>     remoteproc: pruss: add PRU remoteproc driver

>>>     net: ti: icssg-prueth: Add ICSSG ethernet driver

>>>     arm: dts: k3-am65-main: Add msmc_ram node

>>>     arm: dts: k3-am654-base-board-u-boot: Add icssg specific msmc_ram

>>>       carveout nodes

>>>     arm: dts: k3-am65-main: Add scm_conf node

>>>     arm: dts: k3-am65-main: Add pruss nodes for ICSSG2

>>>     arm64: dts: ti: am654-base-board: add ICSSG2 Ethernet support

>>>     configs: am65x_evm_a53_defconfig: Enable CONFIG_TI_AM64_ICSSG_PRUETH

>>>

>>>    arch/arm/dts/k3-am65-main.dtsi               | 191 ++++++

>>>    arch/arm/dts/k3-am65.dtsi                    |   4 +-

>>>    arch/arm/dts/k3-am654-base-board-u-boot.dtsi | 129 ++++

>>>    configs/am65x_evm_a53_defconfig              |   3 +

>>>    drivers/net/ti/Kconfig                       |   8 +

>>>    drivers/net/ti/Makefile                      |   1 +

>>>    drivers/net/ti/icssg-prueth.c                | 652 +++++++++++++++++++

>>>    drivers/net/ti/icssg.h                       |  36 +

>>>    drivers/net/ti/icssg_classifier.c            | 396 +++++++++++

>>>    drivers/remoteproc/Kconfig                   |  11 +

>>>    drivers/remoteproc/Makefile                  |   1 +

>>>    drivers/remoteproc/pru_rproc.c               | 405 ++++++++++++

>>>    drivers/soc/ti/Kconfig                       |  12 +

>>>    drivers/soc/ti/Makefile                      |   1 +

>>>    drivers/soc/ti/pruss.c                       | 152 +++++

>>>    include/ti-pruss.h                           |  17 +

>>>    net/eth-uclass.c                             |  12 +-

>>>    17 files changed, 2027 insertions(+), 4 deletions(-)

>>>    create mode 100644 drivers/net/ti/icssg-prueth.c

>>>    create mode 100644 drivers/net/ti/icssg.h

>>>    create mode 100644 drivers/net/ti/icssg_classifier.c

>>>    create mode 100644 drivers/remoteproc/pru_rproc.c

>>>    create mode 100644 drivers/soc/ti/pruss.c

>>>    create mode 100644 include/ti-pruss.h

>>>

> 

> 

> 


-- 
Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki