1 From 2a1351617985ef47581de825ae1bbf1d42bf3200 Mon Sep 17 00:00:00 2001
2 From: Yangbo Lu <yangbo.lu@nxp.com>
3 Date: Mon, 6 May 2019 17:29:32 +0800
4 Subject: [PATCH] config: support layerscape
6 Content-Type: text/plain; charset=UTF-8
7 Content-Transfer-Encoding: 8bit
9 This is an integrated patch of config for layerscape
11 Signed-off-by: Alison Wang <alison.wang@nxp.com>
12 Signed-off-by: Bharat Bhushan <Bharat.Bhushan@nxp.com>
13 Signed-off-by: Biwen Li <biwen.li@nxp.com>
14 Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
15 Signed-off-by: Bogdan Purcareata <bogdan.purcareata@nxp.com>
16 Signed-off-by: Calvin Johnson <calvin.johnson@nxp.com>
17 Signed-off-by: Camelia Groza <camelia.groza@nxp.com>
18 Signed-off-by: Chenhui Zhao <chenhui.zhao@nxp.com>
19 Signed-off-by: Florin Chiculita <florinlaurentiu.chiculita@nxp.com>
20 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
21 Signed-off-by: Horia Geantă <horia.geanta@nxp.com>
22 Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
23 Signed-off-by: Ioana Ciornei <ioana.ciornei@nxp.com>
24 Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com>
25 Signed-off-by: Li Yang <leoyang.li@nxp.com>
26 Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
27 Signed-off-by: Madalin Bucur <madalin.bucur@nxp.com>
28 Signed-off-by: Pankaj Bansal <pankaj.bansal@nxp.com>
29 Signed-off-by: Pankit Garg <pankit.garg@nxp.com>
30 Signed-off-by: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
31 Signed-off-by: Ran Wang <ran.wang_1@nxp.com>
32 Signed-off-by: Razvan Stefanescu <razvan.stefanescu@nxp.com>
33 Signed-off-by: Shengzhou Liu <Shengzhou.Liu@nxp.com>
34 Signed-off-by: Subrahmanya Lingappa <l.subrahmanya@mobiveil.co.in>
35 Signed-off-by: Xiaowei Bao <xiaowei.bao@nxp.com>
36 Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
37 Signed-off-by: Yogesh Gaur <yogeshnarayan.gaur@nxp.com>
38 Signed-off-by: Zhang Ying-22455 <ying.zhang22455@nxp.com>
39 Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
41 drivers/Makefile | 2 ++
42 drivers/irqchip/Makefile | 1 +
43 drivers/net/ethernet/freescale/Kconfig | 14 +++++----
44 drivers/net/ethernet/freescale/Makefile | 3 ++
45 drivers/ptp/Kconfig | 16 +++++-----
46 drivers/soc/Kconfig | 1 +
47 drivers/soc/fsl/Kconfig | 22 +++++++++++++
48 drivers/soc/fsl/Kconfig.arm | 16 ++++++++++
49 drivers/soc/fsl/Makefile | 5 +++
50 drivers/soc/fsl/layerscape/Kconfig | 10 ++++++
51 drivers/soc/fsl/layerscape/Makefile | 1 +
52 drivers/staging/Kconfig | 4 +++
53 drivers/staging/Makefile | 2 ++
54 drivers/staging/fsl-dpaa2/Kconfig | 56 ++++++++++++++++++++++++++++++++-
55 drivers/staging/fsl-dpaa2/Makefile | 4 +++
56 15 files changed, 142 insertions(+), 15 deletions(-)
57 create mode 100644 drivers/soc/fsl/Kconfig.arm
58 create mode 100644 drivers/soc/fsl/layerscape/Kconfig
59 create mode 100644 drivers/soc/fsl/layerscape/Makefile
61 --- a/drivers/Makefile
62 +++ b/drivers/Makefile
63 @@ -20,6 +20,8 @@ obj-$(CONFIG_PCI) += pci/
64 obj-$(CONFIG_PCI_ENDPOINT) += pci/endpoint/
65 # PCI dwc controller drivers
67 +# PCI mobiveil controller drivers
68 +obj-y += pci/mobiveil/
70 obj-$(CONFIG_PARISC) += parisc/
71 obj-$(CONFIG_RAPIDIO) += rapidio/
72 --- a/drivers/irqchip/Makefile
73 +++ b/drivers/irqchip/Makefile
74 @@ -80,3 +80,4 @@ obj-$(CONFIG_ARCH_ASPEED) += irq-aspeed
75 obj-$(CONFIG_STM32_EXTI) += irq-stm32-exti.o
76 obj-$(CONFIG_QCOM_IRQ_COMBINER) += qcom-irq-combiner.o
77 obj-$(CONFIG_IRQ_UNIPHIER_AIDET) += irq-uniphier-aidet.o
78 +obj-$(CONFIG_QUICC_ENGINE) += irq-qeic.o
79 --- a/drivers/net/ethernet/freescale/Kconfig
80 +++ b/drivers/net/ethernet/freescale/Kconfig
82 config NET_VENDOR_FREESCALE
83 bool "Freescale devices"
85 - depends on FSL_SOC || QUICC_ENGINE || CPM1 || CPM2 || PPC_MPC512x || \
86 - M523x || M527x || M5272 || M528x || M520x || M532x || \
87 - ARCH_MXC || ARCH_MXS || (PPC_MPC52xx && PPC_BESTCOMM) || \
88 - ARCH_LAYERSCAPE || COMPILE_TEST
89 + depends on FSL_SOC || (QUICC_ENGINE && PPC32) || CPM1 || CPM2 || \
90 + PPC_MPC512x || M523x || M527x || M5272 || M528x || M520x || \
91 + M532x || ARCH_MXC || ARCH_MXS || \
92 + (PPC_MPC52xx && PPC_BESTCOMM) || ARCH_LAYERSCAPE || \
95 If you have a network (Ethernet) card belonging to this class, say Y.
97 @@ -73,7 +74,7 @@ config FSL_XGMAC_MDIO
100 tristate "Freescale QE Gigabit Ethernet"
101 - depends on QUICC_ENGINE
102 + depends on QUICC_ENGINE && FSL_SOC && PPC32
106 @@ -94,7 +95,8 @@ config GIANFAR
107 This driver supports the Gigabit TSEC on the MPC83xx, MPC85xx,
108 and MPC86xx family of chips, the eTSEC on LS1021A and the FEC
111 +source "drivers/net/ethernet/freescale/sdk_fman/Kconfig"
112 +source "drivers/net/ethernet/freescale/sdk_dpaa/Kconfig"
113 source "drivers/net/ethernet/freescale/dpaa/Kconfig"
115 endif # NET_VENDOR_FREESCALE
116 --- a/drivers/net/ethernet/freescale/Makefile
117 +++ b/drivers/net/ethernet/freescale/Makefile
118 @@ -20,5 +20,8 @@ gianfar_driver-objs := gianfar.o \
119 obj-$(CONFIG_UCC_GETH) += ucc_geth_driver.o
120 ucc_geth_driver-objs := ucc_geth.o ucc_geth_ethtool.o
122 +obj-$(if $(CONFIG_FSL_SDK_FMAN),y) += sdk_fman/
123 +obj-$(if $(CONFIG_FSL_SDK_DPAA_ETH),y) += sdk_dpaa/
125 obj-$(CONFIG_FSL_FMAN) += fman/
126 obj-$(CONFIG_FSL_DPAA_ETH) += dpaa/
127 --- a/drivers/ptp/Kconfig
128 +++ b/drivers/ptp/Kconfig
129 @@ -41,19 +41,19 @@ config PTP_1588_CLOCK_DTE
130 To compile this driver as a module, choose M here: the module
131 will be called ptp_dte.
133 -config PTP_1588_CLOCK_GIANFAR
134 - tristate "Freescale eTSEC as PTP clock"
136 +config PTP_1588_CLOCK_QORIQ
137 + tristate "Freescale QorIQ 1588 timer as PTP clock"
138 + depends on GIANFAR || FSL_DPAA_ETH || FSL_SDK_DPAA_ETH
139 depends on PTP_1588_CLOCK
142 - This driver adds support for using the eTSEC as a PTP
143 - clock. This clock is only useful if your PTP programs are
144 - getting hardware time stamps on the PTP Ethernet packets
145 - using the SO_TIMESTAMPING API.
146 + This driver adds support for using the Freescale QorIQ 1588
147 + timer as a PTP clock. This clock is only useful if your PTP
148 + programs are getting hardware time stamps on the PTP Ethernet
149 + packets using the SO_TIMESTAMPING API.
151 To compile this driver as a module, choose M here: the module
152 - will be called gianfar_ptp.
153 + will be called ptp_qoriq.
155 config PTP_1588_CLOCK_IXP46X
156 tristate "Intel IXP46x as PTP clock"
157 --- a/drivers/soc/Kconfig
158 +++ b/drivers/soc/Kconfig
159 @@ -5,6 +5,7 @@ source "drivers/soc/amlogic/Kconfig"
160 source "drivers/soc/atmel/Kconfig"
161 source "drivers/soc/bcm/Kconfig"
162 source "drivers/soc/fsl/Kconfig"
163 +source "drivers/soc/fsl/ls2-console/Kconfig"
164 source "drivers/soc/imx/Kconfig"
165 source "drivers/soc/mediatek/Kconfig"
166 source "drivers/soc/qcom/Kconfig"
167 --- a/drivers/soc/fsl/Kconfig
168 +++ b/drivers/soc/fsl/Kconfig
169 @@ -16,3 +16,25 @@ config FSL_GUTS
170 Initially only reading SVR and registering soc device are supported.
171 Other guts accesses, such as reading RCW, should eventually be moved
172 into this driver as well.
175 + tristate "QIXIS system controller driver"
182 + Say y here to enable QIXIS system controller api. The qixis driver
183 + provides FPGA functions to control system.
185 +config FSL_SLEEP_FSM
188 + This driver configures a hardware FSM (Finite State Machine) for deep sleep.
189 + The FSM is used to finish clean-ups at the last stage of system entering deep
190 + sleep, and also wakes up system when a wake up event happens.
193 +source "drivers/soc/fsl/Kconfig.arm"
196 +++ b/drivers/soc/fsl/Kconfig.arm
199 +# Freescale ARM SOC Drivers
202 +config LS_SOC_DRIVERS
203 + bool "Layerscape Soc Drivers"
204 + depends on ARCH_LAYERSCAPE || SOC_LS1021A
207 + Say y here to enable Freescale Layerscape Soc Device Drivers support.
208 + The Soc Drivers provides the device driver that is a specific block
209 + or feature on Layerscape platform.
212 + source "drivers/soc/fsl/layerscape/Kconfig"
214 --- a/drivers/soc/fsl/Makefile
215 +++ b/drivers/soc/fsl/Makefile
217 obj-$(CONFIG_FSL_DPAA) += qbman/
218 obj-$(CONFIG_QUICC_ENGINE) += qe/
219 obj-$(CONFIG_CPM) += qe/
220 +obj-$(CONFIG_FSL_QIXIS) += qixis_ctrl.o
221 obj-$(CONFIG_FSL_GUTS) += guts.o
222 +obj-$(CONFIG_FSL_LS2_CONSOLE) += ls2-console/
223 +obj-$(CONFIG_SUSPEND) += rcpm.o
224 +obj-$(CONFIG_LS_SOC_DRIVERS) += layerscape/
225 +obj-$(CONFIG_FSL_SLEEP_FSM) += sleep_fsm.o
227 +++ b/drivers/soc/fsl/layerscape/Kconfig
230 +# Layerscape Soc drivers
233 + bool "FTM alarm driver"
236 + Say y here to enable FTM alarm support. The FTM alarm provides
237 + alarm functions for wakeup system from deep sleep. There is only
238 + one FTM can be used in ALARM(FTM 0).
240 +++ b/drivers/soc/fsl/layerscape/Makefile
242 +obj-$(CONFIG_FTM_ALARM) += ftm_alarm.o
243 --- a/drivers/staging/Kconfig
244 +++ b/drivers/staging/Kconfig
245 @@ -118,4 +118,8 @@ source "drivers/staging/vboxvideo/Kconfi
247 source "drivers/staging/pi433/Kconfig"
249 +source "drivers/staging/fsl_qbman/Kconfig"
251 +source "drivers/staging/fsl_ppfe/Kconfig"
254 --- a/drivers/staging/Makefile
255 +++ b/drivers/staging/Makefile
256 @@ -50,3 +50,5 @@ obj-$(CONFIG_BCM2835_VCHIQ) += vc04_serv
257 obj-$(CONFIG_CRYPTO_DEV_CCREE) += ccree/
258 obj-$(CONFIG_DRM_VBOXVIDEO) += vboxvideo/
259 obj-$(CONFIG_PI433) += pi433/
260 +obj-$(CONFIG_FSL_SDK_DPA) += fsl_qbman/
261 +obj-$(CONFIG_FSL_PPFE) += fsl_ppfe/
262 --- a/drivers/staging/fsl-dpaa2/Kconfig
263 +++ b/drivers/staging/fsl-dpaa2/Kconfig
267 bool "Freescale DPAA2 devices"
268 - depends on FSL_MC_BUS && ARCH_LAYERSCAPE
269 + depends on FSL_MC_BUS
271 Build drivers for Freescale DataPath Acceleration
272 Architecture (DPAA2) family of SoCs.
273 @@ -16,3 +16,57 @@ config FSL_DPAA2_ETH
275 Ethernet driver for Freescale DPAA2 SoCs, using the
276 Freescale MC bus driver
279 +config FSL_DPAA2_ETH_USE_ERR_QUEUE
280 + bool "Enable Rx error queue"
283 + Allow Rx error frames to be enqueued on an error queue
284 + and processed by the driver (by default they are dropped
286 + This may impact performance, recommended for debugging
289 +# QBMAN_DEBUG requires some additional DPIO APIs
290 +config FSL_DPAA2_ETH_DEBUGFS
291 + depends on DEBUG_FS
292 + bool "Enable debugfs support"
295 + Enable advanced statistics through debugfs interface.
297 +config FSL_DPAA2_ETH_DCB
298 + bool "Data Center Bridging (DCB) Support"
302 + Say Y here if you want to use Data Center Bridging (DCB) features
303 + (PFC) in the driver.
307 +config FSL_DPAA2_PTP_CLOCK
308 + tristate "Freescale DPAA2 as PTP clock"
309 + select PTP_1588_CLOCK
312 + This driver adds support for using the DPAA2 1588 timer module
313 + as a PTP clock. This clock is only useful if your PTP programs are
314 + getting hardware time stamps on the PTP Ethernet packets
315 + using the SO_TIMESTAMPING API.
317 + To compile this driver as a module, choose M here: the module
318 + will be called dpaa2-rtc.
321 +source "drivers/staging/fsl-dpaa2/mac/Kconfig"
322 +source "drivers/staging/fsl-dpaa2/evb/Kconfig"
324 +config FSL_DPAA2_ETHSW
325 + tristate "Freescale DPAA2 Ethernet Switch"
326 + depends on FSL_DPAA2
327 + depends on NET_SWITCHDEV
329 + Driver for Freescale DPAA2 Ethernet Switch. Select
330 + BRIDGE to have support for bridge tools.
331 --- a/drivers/staging/fsl-dpaa2/Makefile
332 +++ b/drivers/staging/fsl-dpaa2/Makefile
336 obj-$(CONFIG_FSL_DPAA2_ETH) += ethernet/
337 +obj-$(CONFIG_FSL_DPAA2_MAC) += mac/
338 +obj-$(CONFIG_FSL_DPAA2_EVB) += evb/
339 +obj-$(CONFIG_FSL_DPAA2_PTP_CLOCK) += rtc/
340 +obj-$(CONFIG_FSL_DPAA2_ETHSW) += ethsw/