
This patch series introduces U-Boot support for NXP's LS1012A Packet Forwarding Engine (pfe_eth). LS1012A uses hardware packet forwarding engine to provide high performance Ethernet interfaces. The device includes two Ethernet ports.
Changes in v4: -Compile pfe driver conditionally with CONFIG_FSL_PFE -Compile pfe driver conditionally with CONFIG_FSL_PFE -Compile pfe driver conditionally with CONFIG_FSL_PFE -Fix typo "ppfe stop"
Changes in v3: -Update header location to include/net/pfe_eth -Replace EMACX_PHY_ADDR with CONFIG_PFE_EMACX_PHY_ADDR -Update header location to include/net/pfe_eth -Move pfe_eth header files to include/net/pfe_eth -Use BIT macro wherever applicable -Update Kconfig -Update header file location to include/net/pfe_eth -Cosmetic changes -Update Kconfig -Update header file location to include/net/pfe_eth -Prefix CONFIG_PFE_ to appropriate macros -Update Kconfig -Update header file location to include/net/pfe_eth -Update Kconfig -Update header file location to include/net/pfe_eth -Prefix CONFIG_PFE_ to appropriate macros -Indent properly -Use BIT macro wherever applicable -Cosmetic change -Move PFE macros to Kconfig -Remove unused UTIL_PE_DISABLED config
Changes in v2: -fix RGMII TX-delay issue -add pfe_rx_done to clear bd after packet processing -use writel/readl to access hw bds -cleanup typos and indent -remove unused code under CONFIG_UTIL_PE_DISABLED -Consolidate code in pfe_lib_init -Corrected typo receive -Magic numbers replaced with proper definitions -File names pfe.c renamed to pfe_hw.c to be more clear as it contains low level functions that directly access pfe hardware block. -MDIO related code is also moved from pfe_eth.c to a new file pfe_mdio.c. -remove unused code under CONFIG_UTIL_PE_DISABLED -remove unused code under CONFIG_PFE_WARN_WA -Add pfe_rx_done to clear bd after packet processing -remove unused code under CONFIG_UTIL_PE_DISABLED -Used BIT and GENMASK macros wherever applicable -Removed generic definitions that pollutes namespace -File names pfe.h renamed to pfe_hw.h to be more clear as it contains low level functions that directly access pfe hardware block -Added pfe_dm_eth.h for new driver model -split from original patch "board: freescale: ls1012a: enable network support on ls1012a platforms" -split from original patch "board: freescale: ls1012a: enable network support on ls1012a platforms" -split from original patch "board: freescale: ls1012a: enable network support on ls1012a platforms" -New patch added to series to enable ethernet support for ls1012a2g5rdb -Improved commit message to provide more description -Replaced magic numbers with proper definitions -Improved commit message to provide more description -Moved SYS_LS_PFE_FW_ADDR from pfe Kconfig to board Kconfigs -Add "pfe stop" to ls1012a rdb, frdm and 2g5rdb config files
Calvin Johnson (12): drivers: net: phy: Fix aquantia compilation with DM drivers: net: pfe_eth: LS1012A PFE driver introduction drivers: net: pfe_eth: provide pfe commands drivers: net: pfe_eth: LS1012A PFE headers board: freescale: ls1012aqds: enable network support on ls1012aqds board: freescale: ls1012afrdm: enable network support on ls1012afrdm board: freescale: ls1012ardb: enable network support on ls1012ardb board: freescale: ls1012a2g5rdb: enable network support on ls1012a2g5rdb armv8: fsl-lsch2: add pfe macros and update ccsr_scfg structure armv8: fsl-lsch2: configure pfe's DDR and HDBUS interfaces and ECC armv8: layerscape: csu: enable ns access to PFE registers configs: ls1012a: add pfe configuration for LS1012A
Prabhakar Kushwaha (1): armv8: fsl-layerscape: Add support of GPIO structure
arch/arm/cpu/armv8/fsl-layerscape/soc.c | 23 + .../include/asm/arch-fsl-layerscape/immap_lsch2.h | 63 +- .../include/asm/arch-fsl-layerscape/ns_access.h | 2 + arch/arm/include/asm/arch-fsl-layerscape/soc.h | 3 + board/freescale/ls1012afrdm/Kconfig | 29 + board/freescale/ls1012afrdm/Makefile | 1 + board/freescale/ls1012afrdm/eth.c | 124 +++ board/freescale/ls1012afrdm/ls1012afrdm.c | 5 - board/freescale/ls1012aqds/Kconfig | 45 + board/freescale/ls1012aqds/Makefile | 1 + board/freescale/ls1012aqds/eth.c | 309 +++++++ board/freescale/ls1012aqds/ls1012aqds.c | 97 +- board/freescale/ls1012aqds/ls1012aqds_pfe.h | 45 + board/freescale/ls1012aqds/ls1012aqds_qixis.h | 2 +- board/freescale/ls1012ardb/Kconfig | 59 ++ board/freescale/ls1012ardb/Makefile | 1 + board/freescale/ls1012ardb/eth.c | 135 +++ board/freescale/ls1012ardb/ls1012ardb.c | 4 - configs/ls1012a2g5rdb_qspi_defconfig | 2 + configs/ls1012afrdm_qspi_defconfig | 2 + configs/ls1012aqds_qspi_defconfig | 2 + configs/ls1012ardb_qspi_defconfig | 2 + drivers/net/Kconfig | 1 + drivers/net/Makefile | 1 + drivers/net/pfe_eth/Kconfig | 12 + drivers/net/pfe_eth/Makefile | 12 + drivers/net/pfe_eth/pfe_cmd.c | 497 ++++++++++ drivers/net/pfe_eth/pfe_driver.c | 643 +++++++++++++ drivers/net/pfe_eth/pfe_eth.c | 297 ++++++ drivers/net/pfe_eth/pfe_firmware.c | 230 +++++ drivers/net/pfe_eth/pfe_hw.c | 999 +++++++++++++++++++++ drivers/net/pfe_eth/pfe_mdio.c | 291 ++++++ drivers/net/phy/aquantia.c | 1 + include/configs/ls1012a2g5rdb.h | 11 +- include/configs/ls1012a_common.h | 6 +- include/configs/ls1012afrdm.h | 2 +- include/configs/ls1012ardb.h | 6 +- include/dm/platform_data/pfe_dm_eth.h | 21 + include/net/pfe_eth/pfe/cbus.h | 77 ++ include/net/pfe_eth/pfe/cbus/bmu.h | 40 + include/net/pfe_eth/pfe/cbus/class_csr.h | 180 ++++ include/net/pfe_eth/pfe/cbus/emac.h | 140 +++ include/net/pfe_eth/pfe/cbus/gpi.h | 62 ++ include/net/pfe_eth/pfe/cbus/hif.h | 68 ++ include/net/pfe_eth/pfe/cbus/hif_nocpy.h | 40 + include/net/pfe_eth/pfe/cbus/tmu_csr.h | 148 +++ include/net/pfe_eth/pfe/cbus/util_csr.h | 47 + include/net/pfe_eth/pfe/pfe_hw.h | 163 ++++ include/net/pfe_eth/pfe_driver.h | 59 ++ include/net/pfe_eth/pfe_eth.h | 104 +++ include/net/pfe_eth/pfe_firmware.h | 17 + include/net/pfe_eth/pfe_mdio.h | 13 + 52 files changed, 5111 insertions(+), 33 deletions(-) create mode 100644 board/freescale/ls1012afrdm/eth.c create mode 100644 board/freescale/ls1012aqds/eth.c create mode 100644 board/freescale/ls1012aqds/ls1012aqds_pfe.h create mode 100644 board/freescale/ls1012ardb/eth.c create mode 100644 drivers/net/pfe_eth/Kconfig create mode 100644 drivers/net/pfe_eth/Makefile create mode 100644 drivers/net/pfe_eth/pfe_cmd.c create mode 100644 drivers/net/pfe_eth/pfe_driver.c create mode 100644 drivers/net/pfe_eth/pfe_eth.c create mode 100644 drivers/net/pfe_eth/pfe_firmware.c create mode 100644 drivers/net/pfe_eth/pfe_hw.c create mode 100644 drivers/net/pfe_eth/pfe_mdio.c create mode 100644 include/dm/platform_data/pfe_dm_eth.h create mode 100644 include/net/pfe_eth/pfe/cbus.h create mode 100644 include/net/pfe_eth/pfe/cbus/bmu.h create mode 100644 include/net/pfe_eth/pfe/cbus/class_csr.h create mode 100644 include/net/pfe_eth/pfe/cbus/emac.h create mode 100644 include/net/pfe_eth/pfe/cbus/gpi.h create mode 100644 include/net/pfe_eth/pfe/cbus/hif.h create mode 100644 include/net/pfe_eth/pfe/cbus/hif_nocpy.h create mode 100644 include/net/pfe_eth/pfe/cbus/tmu_csr.h create mode 100644 include/net/pfe_eth/pfe/cbus/util_csr.h create mode 100644 include/net/pfe_eth/pfe/pfe_hw.h create mode 100644 include/net/pfe_eth/pfe_driver.h create mode 100644 include/net/pfe_eth/pfe_eth.h create mode 100644 include/net/pfe_eth/pfe_firmware.h create mode 100644 include/net/pfe_eth/pfe_mdio.h