487 lines
		
	
	
		
			14 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			487 lines
		
	
	
		
			14 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| From 11edf9c88acea13d1a02901289060263b4027a77 Mon Sep 17 00:00:00 2001
 | |
| From: Yangbo Lu <yangbo.lu@nxp.com>
 | |
| Date: Mon, 25 Sep 2017 09:52:26 +0800
 | |
| Subject: [PATCH] config: support layerscape
 | |
| MIME-Version: 1.0
 | |
| Content-Type: text/plain; charset=UTF-8
 | |
| Content-Transfer-Encoding: 8bit
 | |
| 
 | |
| This is a integrated patch for layerscape config/makefile support.
 | |
| 
 | |
| Signed-off-by: Yuantian Tang <andy.tang@nxp.com>
 | |
| Signed-off-by: Zhang Ying-22455 <ying.zhang22455@nxp.com>
 | |
| Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
 | |
| Signed-off-by: Bogdan Purcareata <bogdan.purcareata@nxp.com>
 | |
| Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
 | |
| Signed-off-by: Horia Geantă <horia.geanta@nxp.com>
 | |
| Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 | |
| ---
 | |
|  drivers/base/Kconfig                    |   1 +
 | |
|  drivers/crypto/Makefile                 |   2 +-
 | |
|  drivers/net/ethernet/freescale/Kconfig  |   4 +-
 | |
|  drivers/net/ethernet/freescale/Makefile |   2 +
 | |
|  drivers/ptp/Kconfig                     |  29 ++++++
 | |
|  drivers/rtc/Kconfig                     |   8 ++
 | |
|  drivers/rtc/Makefile                    |   1 +
 | |
|  drivers/soc/Kconfig                     |   3 +-
 | |
|  drivers/soc/fsl/Kconfig                 |  22 +++++
 | |
|  drivers/soc/fsl/Kconfig.arm             |  16 ++++
 | |
|  drivers/soc/fsl/Makefile                |   4 +
 | |
|  drivers/soc/fsl/layerscape/Kconfig      |  10 +++
 | |
|  drivers/soc/fsl/layerscape/Makefile     |   1 +
 | |
|  drivers/soc/fsl/rcpm.c                  | 154 ++++++++++++++++++++++++++++++++
 | |
|  drivers/staging/Kconfig                 |   4 +
 | |
|  drivers/staging/Makefile                |   2 +
 | |
|  drivers/staging/fsl-dpaa2/Kconfig       |  41 +++++++++
 | |
|  drivers/staging/fsl-dpaa2/Makefile      |   9 ++
 | |
|  18 files changed, 309 insertions(+), 4 deletions(-)
 | |
|  create mode 100644 drivers/soc/fsl/Kconfig
 | |
|  create mode 100644 drivers/soc/fsl/Kconfig.arm
 | |
|  create mode 100644 drivers/soc/fsl/layerscape/Kconfig
 | |
|  create mode 100644 drivers/soc/fsl/layerscape/Makefile
 | |
|  create mode 100644 drivers/soc/fsl/rcpm.c
 | |
|  create mode 100644 drivers/staging/fsl-dpaa2/Kconfig
 | |
|  create mode 100644 drivers/staging/fsl-dpaa2/Makefile
 | |
| 
 | |
| --- a/drivers/base/Kconfig
 | |
| +++ b/drivers/base/Kconfig
 | |
| @@ -237,6 +237,7 @@ config GENERIC_CPU_AUTOPROBE
 | |
|  
 | |
|  config SOC_BUS
 | |
|  	bool
 | |
| +	select GLOB
 | |
|  
 | |
|  source "drivers/base/regmap/Kconfig"
 | |
|  
 | |
| --- a/drivers/crypto/Makefile
 | |
| +++ b/drivers/crypto/Makefile
 | |
| @@ -3,7 +3,7 @@ obj-$(CONFIG_CRYPTO_DEV_ATMEL_SHA) += at
 | |
|  obj-$(CONFIG_CRYPTO_DEV_ATMEL_TDES) += atmel-tdes.o
 | |
|  obj-$(CONFIG_CRYPTO_DEV_BFIN_CRC) += bfin_crc.o
 | |
|  obj-$(CONFIG_CRYPTO_DEV_CCP) += ccp/
 | |
| -obj-$(CONFIG_CRYPTO_DEV_FSL_CAAM) += caam/
 | |
| +obj-$(CONFIG_CRYPTO_DEV_FSL_CAAM_COMMON) += caam/
 | |
|  obj-$(CONFIG_CRYPTO_DEV_GEODE) += geode-aes.o
 | |
|  obj-$(CONFIG_CRYPTO_DEV_HIFN_795X) += hifn_795x.o
 | |
|  obj-$(CONFIG_CRYPTO_DEV_IMGTEC_HASH) += img-hash.o
 | |
| --- a/drivers/net/ethernet/freescale/Kconfig
 | |
| +++ b/drivers/net/ethernet/freescale/Kconfig
 | |
| @@ -5,7 +5,7 @@
 | |
|  config NET_VENDOR_FREESCALE
 | |
|  	bool "Freescale devices"
 | |
|  	default y
 | |
| -	depends on FSL_SOC || QUICC_ENGINE || CPM1 || CPM2 || PPC_MPC512x || \
 | |
| +	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
 | |
| @@ -93,4 +93,6 @@ config GIANFAR
 | |
|  	  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"
 | |
|  endif # NET_VENDOR_FREESCALE
 | |
| --- a/drivers/net/ethernet/freescale/Makefile
 | |
| +++ b/drivers/net/ethernet/freescale/Makefile
 | |
| @@ -21,4 +21,6 @@ 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/
 | |
| --- a/drivers/ptp/Kconfig
 | |
| +++ b/drivers/ptp/Kconfig
 | |
| @@ -39,6 +39,35 @@ config PTP_1588_CLOCK_GIANFAR
 | |
|  	  To compile this driver as a module, choose M here: the module
 | |
|  	  will be called gianfar_ptp.
 | |
|  
 | |
| +config PTP_1588_CLOCK_DPAA
 | |
| +	tristate "Freescale DPAA as PTP clock"
 | |
| +	depends on FSL_SDK_DPAA_ETH
 | |
| +	select PTP_1588_CLOCK
 | |
| +        select FSL_DPAA_TS
 | |
| +        default n
 | |
| +	help
 | |
| +	  This driver adds support for using the DPAA 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 dpaa_ptp.
 | |
| +
 | |
| +config PTP_1588_CLOCK_DPAA2
 | |
| +	tristate "Freescale DPAA2 as PTP clock"
 | |
| +	depends on FSL_DPAA2_ETH
 | |
| +	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.
 | |
| +
 | |
|  config PTP_1588_CLOCK_IXP46X
 | |
|  	tristate "Intel IXP46x as PTP clock"
 | |
|  	depends on IXP4XX_ETH
 | |
| --- a/drivers/rtc/Kconfig
 | |
| +++ b/drivers/rtc/Kconfig
 | |
| @@ -414,6 +414,14 @@ config RTC_DRV_PCF85063
 | |
|  	  This driver can also be built as a module. If so, the module
 | |
|  	  will be called rtc-pcf85063.
 | |
|  
 | |
| +config RTC_DRV_PCF85263
 | |
| +	tristate "NXP PCF85263"
 | |
| +	help
 | |
| +	  If you say yes here you get support for the PCF85263 RTC chip
 | |
| +
 | |
| +	  This driver can also be built as a module. If so, the module
 | |
| +	  will be called rtc-pcf85263.
 | |
| +
 | |
|  config RTC_DRV_PCF8563
 | |
|  	tristate "Philips PCF8563/Epson RTC8564"
 | |
|  	help
 | |
| --- a/drivers/rtc/Makefile
 | |
| +++ b/drivers/rtc/Makefile
 | |
| @@ -111,6 +111,7 @@ obj-$(CONFIG_RTC_DRV_PCF2127)	+= rtc-pcf
 | |
|  obj-$(CONFIG_RTC_DRV_PCF50633)	+= rtc-pcf50633.o
 | |
|  obj-$(CONFIG_RTC_DRV_PCF85063)	+= rtc-pcf85063.o
 | |
|  obj-$(CONFIG_RTC_DRV_PCF8523)	+= rtc-pcf8523.o
 | |
| +obj-$(CONFIG_RTC_DRV_PCF85263)	+= rtc-pcf85263.o
 | |
|  obj-$(CONFIG_RTC_DRV_PCF8563)	+= rtc-pcf8563.o
 | |
|  obj-$(CONFIG_RTC_DRV_PCF8583)	+= rtc-pcf8583.o
 | |
|  obj-$(CONFIG_RTC_DRV_PIC32)	+= rtc-pic32.o
 | |
| --- a/drivers/soc/Kconfig
 | |
| +++ b/drivers/soc/Kconfig
 | |
| @@ -1,8 +1,7 @@
 | |
|  menu "SOC (System On Chip) specific Drivers"
 | |
|  
 | |
|  source "drivers/soc/bcm/Kconfig"
 | |
| -source "drivers/soc/fsl/qbman/Kconfig"
 | |
| -source "drivers/soc/fsl/qe/Kconfig"
 | |
| +source "drivers/soc/fsl/Kconfig"
 | |
|  source "drivers/soc/mediatek/Kconfig"
 | |
|  source "drivers/soc/qcom/Kconfig"
 | |
|  source "drivers/soc/rockchip/Kconfig"
 | |
| --- /dev/null
 | |
| +++ b/drivers/soc/fsl/Kconfig
 | |
| @@ -0,0 +1,22 @@
 | |
| +#
 | |
| +# Freescale SOC drivers
 | |
| +#
 | |
| +
 | |
| +source "drivers/soc/fsl/qbman/Kconfig"
 | |
| +source "drivers/soc/fsl/qe/Kconfig"
 | |
| +source "drivers/soc/fsl/ls2-console/Kconfig"
 | |
| +
 | |
| +config FSL_GUTS
 | |
| +	bool
 | |
| +	select SOC_BUS
 | |
| +	help
 | |
| +	  The global utilities block controls power management, I/O device
 | |
| +	  enabling, power-onreset(POR) configuration monitoring, alternate
 | |
| +	  function selection for multiplexed signals,and clock control.
 | |
| +	  This driver is to manage and access global utilities block.
 | |
| +	  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.
 | |
| +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,3 +5,7 @@
 | |
|  obj-$(CONFIG_FSL_DPAA)                 += qbman/
 | |
|  obj-$(CONFIG_QUICC_ENGINE)		+= qe/
 | |
|  obj-$(CONFIG_CPM)			+= qe/
 | |
| +obj-$(CONFIG_FSL_GUTS)			+= guts.o
 | |
| +obj-$(CONFIG_FSL_LS2_CONSOLE)		+= ls2-console/
 | |
| +obj-$(CONFIG_SUSPEND)			+= rcpm.o
 | |
| +obj-$(CONFIG_LS_SOC_DRIVERS)		+= layerscape/
 | |
| --- /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
 | |
| --- /dev/null
 | |
| +++ b/drivers/soc/fsl/rcpm.c
 | |
| @@ -0,0 +1,154 @@
 | |
| +/*
 | |
| + * Run Control and Power Management (RCPM) driver
 | |
| + *
 | |
| + * Copyright 2016 NXP
 | |
| + *
 | |
| + * This program is free software; you can redistribute it and/or modify
 | |
| + * it under the terms of the GNU General Public License as published by
 | |
| + * the Free Software Foundation; either version 2 of the License, or
 | |
| + * (at your option) any later version.
 | |
| + *
 | |
| + * This program is distributed in the hope that it will be useful,
 | |
| + * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | |
| + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | |
| + * GNU General Public License for more details.
 | |
| + *
 | |
| + */
 | |
| +#define pr_fmt(fmt) "RCPM: %s: " fmt, __func__
 | |
| +
 | |
| +#include <linux/kernel.h>
 | |
| +#include <linux/io.h>
 | |
| +#include <linux/of_platform.h>
 | |
| +#include <linux/of_address.h>
 | |
| +#include <linux/suspend.h>
 | |
| +
 | |
| +/* RCPM register offset */
 | |
| +#define RCPM_IPPDEXPCR0			0x140
 | |
| +
 | |
| +#define RCPM_WAKEUP_CELL_SIZE	2
 | |
| +
 | |
| +struct rcpm_config {
 | |
| +	int ipp_num;
 | |
| +	int ippdexpcr_offset;
 | |
| +	u32 ippdexpcr[2];
 | |
| +	void *rcpm_reg_base;
 | |
| +};
 | |
| +
 | |
| +static struct rcpm_config *rcpm;
 | |
| +
 | |
| +static inline void rcpm_reg_write(u32 offset, u32 value)
 | |
| +{
 | |
| +	iowrite32be(value, rcpm->rcpm_reg_base + offset);
 | |
| +}
 | |
| +
 | |
| +static inline u32 rcpm_reg_read(u32 offset)
 | |
| +{
 | |
| +	return ioread32be(rcpm->rcpm_reg_base + offset);
 | |
| +}
 | |
| +
 | |
| +static void rcpm_wakeup_fixup(struct device *dev, void *data)
 | |
| +{
 | |
| +	struct device_node *node = dev ? dev->of_node : NULL;
 | |
| +	u32 value[RCPM_WAKEUP_CELL_SIZE];
 | |
| +	int ret, i;
 | |
| +
 | |
| +	if (!dev || !node || !device_may_wakeup(dev))
 | |
| +		return;
 | |
| +
 | |
| +	/*
 | |
| +	 * Get the values in the "rcpm-wakeup" property.
 | |
| +	 * Three values are:
 | |
| +	 * The first is a pointer to the RCPM node.
 | |
| +	 * The second is the value of the ippdexpcr0 register.
 | |
| +	 * The third is the value of the ippdexpcr1 register.
 | |
| +	 */
 | |
| +	ret = of_property_read_u32_array(node, "fsl,rcpm-wakeup",
 | |
| +					 value, RCPM_WAKEUP_CELL_SIZE);
 | |
| +	if (ret)
 | |
| +		return;
 | |
| +
 | |
| +	pr_debug("wakeup source: the device %s\n", node->full_name);
 | |
| +
 | |
| +	for (i = 0; i < rcpm->ipp_num; i++)
 | |
| +		rcpm->ippdexpcr[i] |= value[i + 1];
 | |
| +}
 | |
| +
 | |
| +static int rcpm_suspend_prepare(void)
 | |
| +{
 | |
| +	int i;
 | |
| +
 | |
| +	BUG_ON(!rcpm);
 | |
| +
 | |
| +	for (i = 0; i < rcpm->ipp_num; i++)
 | |
| +		rcpm->ippdexpcr[i] = 0;
 | |
| +
 | |
| +	dpm_for_each_dev(NULL, rcpm_wakeup_fixup);
 | |
| +
 | |
| +	for (i = 0; i < rcpm->ipp_num; i++) {
 | |
| +		rcpm_reg_write(rcpm->ippdexpcr_offset + 4 * i,
 | |
| +			       rcpm->ippdexpcr[i]);
 | |
| +		pr_debug("ippdexpcr%d = 0x%x\n", i, rcpm->ippdexpcr[i]);
 | |
| +	}
 | |
| +
 | |
| +	return 0;
 | |
| +}
 | |
| +
 | |
| +static int rcpm_suspend_notifier_call(struct notifier_block *bl,
 | |
| +				      unsigned long state,
 | |
| +				      void *unused)
 | |
| +{
 | |
| +	switch (state) {
 | |
| +	case PM_SUSPEND_PREPARE:
 | |
| +		rcpm_suspend_prepare();
 | |
| +		break;
 | |
| +	}
 | |
| +
 | |
| +	return NOTIFY_DONE;
 | |
| +}
 | |
| +
 | |
| +static struct rcpm_config rcpm_default_config = {
 | |
| +	.ipp_num = 1,
 | |
| +	.ippdexpcr_offset = RCPM_IPPDEXPCR0,
 | |
| +};
 | |
| +
 | |
| +static const struct of_device_id rcpm_matches[] = {
 | |
| +	{
 | |
| +		.compatible = "fsl,qoriq-rcpm-2.1",
 | |
| +		.data = &rcpm_default_config,
 | |
| +	},
 | |
| +	{}
 | |
| +};
 | |
| +
 | |
| +static struct notifier_block rcpm_suspend_notifier = {
 | |
| +	.notifier_call = rcpm_suspend_notifier_call,
 | |
| +};
 | |
| +
 | |
| +static int __init layerscape_rcpm_init(void)
 | |
| +{
 | |
| +	const struct of_device_id *match;
 | |
| +	struct device_node *np;
 | |
| +
 | |
| +	np = of_find_matching_node_and_match(NULL, rcpm_matches, &match);
 | |
| +	if (!np) {
 | |
| +		pr_err("Can't find the RCPM node.\n");
 | |
| +		return -EINVAL;
 | |
| +	}
 | |
| +
 | |
| +	if (match->data)
 | |
| +		rcpm = (struct rcpm_config *)match->data;
 | |
| +	else
 | |
| +		return -EINVAL;
 | |
| +
 | |
| +	rcpm->rcpm_reg_base = of_iomap(np, 0);
 | |
| +	of_node_put(np);
 | |
| +	if (!rcpm->rcpm_reg_base)
 | |
| +		return -ENOMEM;
 | |
| +
 | |
| +	register_pm_notifier(&rcpm_suspend_notifier);
 | |
| +
 | |
| +	pr_info("The RCPM driver initialized.\n");
 | |
| +
 | |
| +	return 0;
 | |
| +}
 | |
| +
 | |
| +subsys_initcall(layerscape_rcpm_init);
 | |
| --- a/drivers/staging/Kconfig
 | |
| +++ b/drivers/staging/Kconfig
 | |
| @@ -94,6 +94,8 @@ source "drivers/staging/fbtft/Kconfig"
 | |
|  
 | |
|  source "drivers/staging/fsl-mc/Kconfig"
 | |
|  
 | |
| +source "drivers/staging/fsl-dpaa2/Kconfig"
 | |
| +
 | |
|  source "drivers/staging/wilc1000/Kconfig"
 | |
|  
 | |
|  source "drivers/staging/most/Kconfig"
 | |
| @@ -106,4 +108,6 @@ source "drivers/staging/greybus/Kconfig"
 | |
|  
 | |
|  source "drivers/staging/vc04_services/Kconfig"
 | |
|  
 | |
| +source "drivers/staging/fsl_qbman/Kconfig"
 | |
| +
 | |
|  endif # STAGING
 | |
| --- a/drivers/staging/Makefile
 | |
| +++ b/drivers/staging/Makefile
 | |
| @@ -36,9 +36,11 @@ obj-$(CONFIG_UNISYSSPAR)	+= unisys/
 | |
|  obj-$(CONFIG_COMMON_CLK_XLNX_CLKWZRD)	+= clocking-wizard/
 | |
|  obj-$(CONFIG_FB_TFT)		+= fbtft/
 | |
|  obj-$(CONFIG_FSL_MC_BUS)	+= fsl-mc/
 | |
| +obj-$(CONFIG_FSL_DPAA2)		+= fsl-dpaa2/
 | |
|  obj-$(CONFIG_WILC1000)		+= wilc1000/
 | |
|  obj-$(CONFIG_MOST)		+= most/
 | |
|  obj-$(CONFIG_ISDN_I4L)		+= i4l/
 | |
|  obj-$(CONFIG_KS7010)		+= ks7010/
 | |
|  obj-$(CONFIG_GREYBUS)		+= greybus/
 | |
|  obj-$(CONFIG_BCM2708_VCHIQ)	+= vc04_services/
 | |
| +obj-$(CONFIG_FSL_SDK_DPA)	+= fsl_qbman/
 | |
| --- /dev/null
 | |
| +++ b/drivers/staging/fsl-dpaa2/Kconfig
 | |
| @@ -0,0 +1,41 @@
 | |
| +#
 | |
| +# Freescale DataPath Acceleration Architecture Gen2 (DPAA2) drivers
 | |
| +#
 | |
| +
 | |
| +config FSL_DPAA2
 | |
| +	bool "Freescale DPAA2 devices"
 | |
| +	depends on FSL_MC_BUS
 | |
| +	---help---
 | |
| +	  Build drivers for Freescale DataPath Acceleration
 | |
| +	  Architecture (DPAA2) family of SoCs.
 | |
| +
 | |
| +config FSL_DPAA2_ETH
 | |
| +	tristate "Freescale DPAA2 Ethernet"
 | |
| +	depends on FSL_DPAA2 && FSL_MC_DPIO
 | |
| +	---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 && FSL_QBMAN_DEBUG
 | |
| +	bool "Enable debugfs support"
 | |
| +	default n
 | |
| +	---help---
 | |
| +	  Enable advanced statistics through debugfs interface.
 | |
| +endif
 | |
| +
 | |
| +source "drivers/staging/fsl-dpaa2/mac/Kconfig"
 | |
| +source "drivers/staging/fsl-dpaa2/evb/Kconfig"
 | |
| +source "drivers/staging/fsl-dpaa2/ethsw/Kconfig"
 | |
| --- /dev/null
 | |
| +++ b/drivers/staging/fsl-dpaa2/Makefile
 | |
| @@ -0,0 +1,9 @@
 | |
| +#
 | |
| +# Freescale DataPath Acceleration Architecture Gen2 (DPAA2) drivers
 | |
| +#
 | |
| +
 | |
| +obj-$(CONFIG_FSL_DPAA2_ETH)	+= ethernet/
 | |
| +obj-$(CONFIG_FSL_DPAA2_MAC)	+= mac/
 | |
| +obj-$(CONFIG_FSL_DPAA2_EVB)	+= evb/
 | |
| +obj-$(CONFIG_FSL_DPAA2_ETHSW)	+= ethsw/
 | |
| +obj-$(CONFIG_PTP_1588_CLOCK_DPAA2) += rtc/
 | 
