From 2a1351617985ef47581de825ae1bbf1d42bf3200 Mon Sep 17 00:00:00 2001 From: Yangbo Lu Date: Mon, 6 May 2019 17:29:32 +0800 Subject: [PATCH] config: support layerscape MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This is an integrated patch of config for layerscape Signed-off-by: Alison Wang Signed-off-by: Bharat Bhushan Signed-off-by: Biwen Li Signed-off-by: Bjorn Helgaas Signed-off-by: Bogdan Purcareata Signed-off-by: Calvin Johnson Signed-off-by: Camelia Groza Signed-off-by: Chenhui Zhao Signed-off-by: Florin Chiculita Signed-off-by: Greg Kroah-Hartman Signed-off-by: Horia Geantă Signed-off-by: Hou Zhiqiang Signed-off-by: Ioana Ciornei Signed-off-by: Ioana Radulescu Signed-off-by: Li Yang Signed-off-by: Lorenzo Pieralisi Signed-off-by: Madalin Bucur Signed-off-by: Pankaj Bansal Signed-off-by: Pankit Garg Signed-off-by: Prabhakar Kushwaha Signed-off-by: Ran Wang Signed-off-by: Razvan Stefanescu Signed-off-by: Shengzhou Liu Signed-off-by: Subrahmanya Lingappa Signed-off-by: Xiaowei Bao Signed-off-by: Yangbo Lu Signed-off-by: Yogesh Gaur Signed-off-by: Zhang Ying-22455 Signed-off-by: Zhao Qiang --- drivers/Makefile | 2 ++ drivers/irqchip/Makefile | 1 + drivers/net/ethernet/freescale/Kconfig | 14 +++++---- drivers/net/ethernet/freescale/Makefile | 3 ++ drivers/ptp/Kconfig | 16 +++++----- drivers/soc/Kconfig | 1 + drivers/soc/fsl/Kconfig | 22 +++++++++++++ drivers/soc/fsl/Kconfig.arm | 16 ++++++++++ drivers/soc/fsl/Makefile | 5 +++ drivers/soc/fsl/layerscape/Kconfig | 10 ++++++ drivers/soc/fsl/layerscape/Makefile | 1 + drivers/staging/Kconfig | 4 +++ drivers/staging/Makefile | 2 ++ drivers/staging/fsl-dpaa2/Kconfig | 56 ++++++++++++++++++++++++++++++++- drivers/staging/fsl-dpaa2/Makefile | 4 +++ 15 files changed, 142 insertions(+), 15 deletions(-) create mode 100644 drivers/soc/fsl/Kconfig.arm create mode 100644 drivers/soc/fsl/layerscape/Kconfig create mode 100644 drivers/soc/fsl/layerscape/Makefile --- a/drivers/Makefile +++ b/drivers/Makefile @@ -20,6 +20,8 @@ obj-$(CONFIG_PCI) += pci/ obj-$(CONFIG_PCI_ENDPOINT) += pci/endpoint/ # PCI dwc controller drivers obj-y += pci/dwc/ +# PCI mobiveil controller drivers +obj-y += pci/mobiveil/ obj-$(CONFIG_PARISC) += parisc/ obj-$(CONFIG_RAPIDIO) += rapidio/ --- a/drivers/irqchip/Makefile +++ b/drivers/irqchip/Makefile @@ -80,3 +80,4 @@ obj-$(CONFIG_ARCH_ASPEED) += irq-aspeed obj-$(CONFIG_STM32_EXTI) += irq-stm32-exti.o obj-$(CONFIG_QCOM_IRQ_COMBINER) += qcom-irq-combiner.o obj-$(CONFIG_IRQ_UNIPHIER_AIDET) += irq-uniphier-aidet.o +obj-$(CONFIG_QUICC_ENGINE) += irq-qeic.o --- a/drivers/net/ethernet/freescale/Kconfig +++ b/drivers/net/ethernet/freescale/Kconfig @@ -5,10 +5,11 @@ config NET_VENDOR_FREESCALE bool "Freescale devices" default y - depends on FSL_SOC || QUICC_ENGINE || CPM1 || CPM2 || PPC_MPC512x || \ - M523x || M527x || M5272 || M528x || M520x || M532x || \ - ARCH_MXC || ARCH_MXS || (PPC_MPC52xx && PPC_BESTCOMM) || \ - ARCH_LAYERSCAPE || COMPILE_TEST + depends on FSL_SOC || (QUICC_ENGINE && PPC32) || CPM1 || CPM2 || \ + PPC_MPC512x || M523x || M527x || M5272 || M528x || M520x || \ + M532x || ARCH_MXC || ARCH_MXS || \ + (PPC_MPC52xx && PPC_BESTCOMM) || ARCH_LAYERSCAPE || \ + COMPILE_TEST ---help--- If you have a network (Ethernet) card belonging to this class, say Y. @@ -73,7 +74,7 @@ config FSL_XGMAC_MDIO config UCC_GETH tristate "Freescale QE Gigabit Ethernet" - depends on QUICC_ENGINE + depends on QUICC_ENGINE && FSL_SOC && PPC32 select FSL_PQ_MDIO select PHYLIB select FIXED_PHY @@ -96,7 +97,8 @@ config GIANFAR This driver supports the Gigabit TSEC on the MPC83xx, MPC85xx, and MPC86xx family of chips, the eTSEC on LS1021A and the FEC on the 8540. - +source "drivers/net/ethernet/freescale/sdk_fman/Kconfig" +source "drivers/net/ethernet/freescale/sdk_dpaa/Kconfig" source "drivers/net/ethernet/freescale/dpaa/Kconfig" endif # NET_VENDOR_FREESCALE --- a/drivers/net/ethernet/freescale/Makefile +++ b/drivers/net/ethernet/freescale/Makefile @@ -20,5 +20,8 @@ gianfar_driver-objs := gianfar.o \ obj-$(CONFIG_UCC_GETH) += ucc_geth_driver.o ucc_geth_driver-objs := ucc_geth.o ucc_geth_ethtool.o +obj-$(if $(CONFIG_FSL_SDK_FMAN),y) += sdk_fman/ +obj-$(if $(CONFIG_FSL_SDK_DPAA_ETH),y) += sdk_dpaa/ + obj-$(CONFIG_FSL_FMAN) += fman/ obj-$(CONFIG_FSL_DPAA_ETH) += dpaa/ --- a/drivers/ptp/Kconfig +++ b/drivers/ptp/Kconfig @@ -41,19 +41,19 @@ config PTP_1588_CLOCK_DTE To compile this driver as a module, choose M here: the module will be called ptp_dte. -config PTP_1588_CLOCK_GIANFAR - tristate "Freescale eTSEC as PTP clock" - depends on GIANFAR +config PTP_1588_CLOCK_QORIQ + tristate "Freescale QorIQ 1588 timer as PTP clock" + depends on GIANFAR || FSL_DPAA_ETH || FSL_SDK_DPAA_ETH depends on PTP_1588_CLOCK default y help - This driver adds support for using the eTSEC as a PTP - clock. This clock is only useful if your PTP programs are - getting hardware time stamps on the PTP Ethernet packets - using the SO_TIMESTAMPING API. + This driver adds support for using the Freescale QorIQ 1588 + timer as a PTP clock. This clock is only useful if your PTP + programs are getting hardware time stamps on the PTP Ethernet + packets using the SO_TIMESTAMPING API. To compile this driver as a module, choose M here: the module - will be called gianfar_ptp. + will be called ptp_qoriq. config PTP_1588_CLOCK_IXP46X tristate "Intel IXP46x as PTP clock" --- a/drivers/soc/Kconfig +++ b/drivers/soc/Kconfig @@ -5,6 +5,7 @@ source "drivers/soc/amlogic/Kconfig" source "drivers/soc/atmel/Kconfig" source "drivers/soc/bcm/Kconfig" source "drivers/soc/fsl/Kconfig" +source "drivers/soc/fsl/ls2-console/Kconfig" source "drivers/soc/imx/Kconfig" source "drivers/soc/mediatek/Kconfig" source "drivers/soc/qcom/Kconfig" --- a/drivers/soc/fsl/Kconfig +++ b/drivers/soc/fsl/Kconfig @@ -16,3 +16,25 @@ config FSL_GUTS Initially only reading SVR and registering soc device are supported. Other guts accesses, such as reading RCW, should eventually be moved into this driver as well. + +config FSL_QIXIS + tristate "QIXIS system controller driver" + depends on OF + select REGMAP_I2C + select REGMAP_MMIO + select MFD_CORE + default n + help + Say y here to enable QIXIS system controller api. The qixis driver + provides FPGA functions to control system. + +config FSL_SLEEP_FSM + bool + help + This driver configures a hardware FSM (Finite State Machine) for deep sleep. + The FSM is used to finish clean-ups at the last stage of system entering deep + sleep, and also wakes up system when a wake up event happens. + +if ARM || ARM64 +source "drivers/soc/fsl/Kconfig.arm" +endif --- /dev/null +++ b/drivers/soc/fsl/Kconfig.arm @@ -0,0 +1,16 @@ +# +# Freescale ARM SOC Drivers +# + +config LS_SOC_DRIVERS + bool "Layerscape Soc Drivers" + depends on ARCH_LAYERSCAPE || SOC_LS1021A + default n + help + Say y here to enable Freescale Layerscape Soc Device Drivers support. + The Soc Drivers provides the device driver that is a specific block + or feature on Layerscape platform. + +if LS_SOC_DRIVERS + source "drivers/soc/fsl/layerscape/Kconfig" +endif --- a/drivers/soc/fsl/Makefile +++ b/drivers/soc/fsl/Makefile @@ -5,4 +5,9 @@ obj-$(CONFIG_FSL_DPAA) += qbman/ obj-$(CONFIG_QUICC_ENGINE) += qe/ obj-$(CONFIG_CPM) += qe/ +obj-$(CONFIG_FSL_QIXIS) += qixis_ctrl.o obj-$(CONFIG_FSL_GUTS) += guts.o +obj-$(CONFIG_FSL_LS2_CONSOLE) += ls2-console/ +obj-$(CONFIG_SUSPEND) += rcpm.o +obj-$(CONFIG_LS_SOC_DRIVERS) += layerscape/ +obj-$(CONFIG_FSL_SLEEP_FSM) += sleep_fsm.o --- /dev/null +++ b/drivers/soc/fsl/layerscape/Kconfig @@ -0,0 +1,10 @@ +# +# Layerscape Soc drivers +# +config FTM_ALARM + bool "FTM alarm driver" + default n + help + Say y here to enable FTM alarm support. The FTM alarm provides + alarm functions for wakeup system from deep sleep. There is only + one FTM can be used in ALARM(FTM 0). --- /dev/null +++ b/drivers/soc/fsl/layerscape/Makefile @@ -0,0 +1 @@ +obj-$(CONFIG_FTM_ALARM) += ftm_alarm.o --- a/drivers/staging/Kconfig +++ b/drivers/staging/Kconfig @@ -118,4 +118,8 @@ source "drivers/staging/vboxvideo/Kconfi source "drivers/staging/pi433/Kconfig" +source "drivers/staging/fsl_qbman/Kconfig" + +source "drivers/staging/fsl_ppfe/Kconfig" + endif # STAGING --- a/drivers/staging/Makefile +++ b/drivers/staging/Makefile @@ -50,3 +50,5 @@ obj-$(CONFIG_BCM2835_VCHIQ) += vc04_serv obj-$(CONFIG_CRYPTO_DEV_CCREE) += ccree/ obj-$(CONFIG_DRM_VBOXVIDEO) += vboxvideo/ obj-$(CONFIG_PI433) += pi433/ +obj-$(CONFIG_FSL_SDK_DPA) += fsl_qbman/ +obj-$(CONFIG_FSL_PPFE) += fsl_ppfe/ --- a/drivers/staging/fsl-dpaa2/Kconfig +++ b/drivers/staging/fsl-dpaa2/Kconfig @@ -4,7 +4,7 @@ config FSL_DPAA2 bool "Freescale DPAA2 devices" - depends on FSL_MC_BUS && ARCH_LAYERSCAPE + depends on FSL_MC_BUS ---help--- Build drivers for Freescale DataPath Acceleration Architecture (DPAA2) family of SoCs. @@ -16,3 +16,57 @@ config FSL_DPAA2_ETH ---help--- Ethernet driver for Freescale DPAA2 SoCs, using the Freescale MC bus driver + +if FSL_DPAA2_ETH +config FSL_DPAA2_ETH_USE_ERR_QUEUE + bool "Enable Rx error queue" + default n + ---help--- + Allow Rx error frames to be enqueued on an error queue + and processed by the driver (by default they are dropped + in hardware). + This may impact performance, recommended for debugging + purposes only. + +# QBMAN_DEBUG requires some additional DPIO APIs +config FSL_DPAA2_ETH_DEBUGFS + depends on DEBUG_FS + bool "Enable debugfs support" + default y + ---help--- + Enable advanced statistics through debugfs interface. + +config FSL_DPAA2_ETH_DCB + bool "Data Center Bridging (DCB) Support" + default n + depends on DCB + ---help--- + Say Y here if you want to use Data Center Bridging (DCB) features + (PFC) in the driver. + + If unsure, say N. + +config FSL_DPAA2_PTP_CLOCK + tristate "Freescale DPAA2 as PTP clock" + select PTP_1588_CLOCK + default y + help + This driver adds support for using the DPAA2 1588 timer module + as a PTP clock. This clock is only useful if your PTP programs are + getting hardware time stamps on the PTP Ethernet packets + using the SO_TIMESTAMPING API. + + To compile this driver as a module, choose M here: the module + will be called dpaa2-rtc. +endif + +source "drivers/staging/fsl-dpaa2/mac/Kconfig" +source "drivers/staging/fsl-dpaa2/evb/Kconfig" + +config FSL_DPAA2_ETHSW + tristate "Freescale DPAA2 Ethernet Switch" + depends on FSL_DPAA2 + depends on NET_SWITCHDEV + ---help--- + Driver for Freescale DPAA2 Ethernet Switch. Select + BRIDGE to have support for bridge tools. --- a/drivers/staging/fsl-dpaa2/Makefile +++ b/drivers/staging/fsl-dpaa2/Makefile @@ -3,3 +3,7 @@ # obj-$(CONFIG_FSL_DPAA2_ETH) += ethernet/ +obj-$(CONFIG_FSL_DPAA2_MAC) += mac/ +obj-$(CONFIG_FSL_DPAA2_EVB) += evb/ +obj-$(CONFIG_FSL_DPAA2_PTP_CLOCK) += rtc/ +obj-$(CONFIG_FSL_DPAA2_ETHSW) += ethsw/