layerscape: use MKUBIFS_OPTS for per-device ubi parameters
[openwrt/openwrt.git] / target / linux / layerscape / patches-4.14 / 201-config-support-layerscape.patch
1 From 0bafdb711c1a61fbe5bb5b4d4bb5e32425d95a72 Mon Sep 17 00:00:00 2001
2 From: Biwen Li <biwen.li@nxp.com>
3 Date: Fri, 16 Nov 2018 15:36:03 +0800
4 Subject: [PATCH] config: support layerscape
5 MIME-Version: 1.0
6 Content-Type: text/plain; charset=UTF-8
7 Content-Transfer-Encoding: 8bit
8
9 This is an integrated patch of config for layerscape
10
11 Signed-off-by: Alison Wang <alison.wang@nxp.com>
12 Signed-off-by: Bharat Bhushan <Bharat.Bhushan@nxp.com>
13 Signed-off-by: Bogdan Purcareata <bogdan.purcareata@nxp.com>
14 Signed-off-by: Calvin Johnson <calvin.johnson@nxp.com>
15 Signed-off-by: Camelia Groza <camelia.groza@nxp.com>
16 Signed-off-by: Chenhui Zhao <chenhui.zhao@nxp.com>
17 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
18 Signed-off-by: Horia Geantă <horia.geanta@nxp.com>
19 Signed-off-by: Ioana Ciornei <ioana.ciornei@nxp.com>
20 Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com>
21 Signed-off-by: Li Yang <leoyang.li@nxp.com>
22 Signed-off-by: Madalin Bucur <madalin.bucur@nxp.com>
23 Signed-off-by: Pankit Garg <pankit.garg@nxp.com>
24 Signed-off-by: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
25 Signed-off-by: Ran Wang <ran.wang_1@nxp.com>
26 Signed-off-by: Razvan Stefanescu <razvan.stefanescu@nxp.com>
27 Signed-off-by: Shengzhou Liu <Shengzhou.Liu@nxp.com>
28 Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
29 Signed-off-by: Zhang Ying-22455 <ying.zhang22455@nxp.com>
30 Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
31 Signed-off-by: Biwen Li <biwen.li@nxp.com>
32 ---
33 drivers/irqchip/Makefile | 1 +
34 drivers/net/ethernet/freescale/Kconfig | 14 ++++----
35 drivers/net/ethernet/freescale/Makefile | 3 ++
36 drivers/ptp/Kconfig | 29 +++++++++++++++++
37 drivers/soc/Kconfig | 1 +
38 drivers/soc/fsl/Kconfig | 11 +++++++
39 drivers/soc/fsl/Kconfig.arm | 16 +++++++++
40 drivers/soc/fsl/Makefile | 3 ++
41 drivers/soc/fsl/layerscape/Kconfig | 10 ++++++
42 drivers/soc/fsl/layerscape/Makefile | 1 +
43 drivers/staging/Kconfig | 4 +++
44 drivers/staging/Makefile | 2 ++
45 drivers/staging/fsl-dpaa2/Kconfig | 43 ++++++++++++++++++++++++-
46 drivers/staging/fsl-dpaa2/Makefile | 4 +++
47 14 files changed, 135 insertions(+), 7 deletions(-)
48 create mode 100644 drivers/soc/fsl/Kconfig.arm
49 create mode 100644 drivers/soc/fsl/layerscape/Kconfig
50 create mode 100644 drivers/soc/fsl/layerscape/Makefile
51
52 --- a/drivers/irqchip/Makefile
53 +++ b/drivers/irqchip/Makefile
54 @@ -80,3 +80,4 @@ obj-$(CONFIG_ARCH_ASPEED) += irq-aspeed
55 obj-$(CONFIG_STM32_EXTI) += irq-stm32-exti.o
56 obj-$(CONFIG_QCOM_IRQ_COMBINER) += qcom-irq-combiner.o
57 obj-$(CONFIG_IRQ_UNIPHIER_AIDET) += irq-uniphier-aidet.o
58 +obj-$(CONFIG_QUICC_ENGINE) += irq-qeic.o
59 --- a/drivers/net/ethernet/freescale/Kconfig
60 +++ b/drivers/net/ethernet/freescale/Kconfig
61 @@ -5,10 +5,11 @@
62 config NET_VENDOR_FREESCALE
63 bool "Freescale devices"
64 default y
65 - depends on FSL_SOC || QUICC_ENGINE || CPM1 || CPM2 || PPC_MPC512x || \
66 - M523x || M527x || M5272 || M528x || M520x || M532x || \
67 - ARCH_MXC || ARCH_MXS || (PPC_MPC52xx && PPC_BESTCOMM) || \
68 - ARCH_LAYERSCAPE || COMPILE_TEST
69 + depends on FSL_SOC || (QUICC_ENGINE && PPC32) || CPM1 || CPM2 || \
70 + PPC_MPC512x || M523x || M527x || M5272 || M528x || M520x || \
71 + M532x || ARCH_MXC || ARCH_MXS || \
72 + (PPC_MPC52xx && PPC_BESTCOMM) || ARCH_LAYERSCAPE || \
73 + COMPILE_TEST
74 ---help---
75 If you have a network (Ethernet) card belonging to this class, say Y.
76
77 @@ -73,7 +74,7 @@ config FSL_XGMAC_MDIO
78
79 config UCC_GETH
80 tristate "Freescale QE Gigabit Ethernet"
81 - depends on QUICC_ENGINE
82 + depends on QUICC_ENGINE && FSL_SOC && PPC32
83 select FSL_PQ_MDIO
84 select PHYLIB
85 ---help---
86 @@ -94,7 +95,8 @@ config GIANFAR
87 This driver supports the Gigabit TSEC on the MPC83xx, MPC85xx,
88 and MPC86xx family of chips, the eTSEC on LS1021A and the FEC
89 on the 8540.
90 -
91 +source "drivers/net/ethernet/freescale/sdk_fman/Kconfig"
92 +source "drivers/net/ethernet/freescale/sdk_dpaa/Kconfig"
93 source "drivers/net/ethernet/freescale/dpaa/Kconfig"
94
95 endif # NET_VENDOR_FREESCALE
96 --- a/drivers/net/ethernet/freescale/Makefile
97 +++ b/drivers/net/ethernet/freescale/Makefile
98 @@ -20,5 +20,8 @@ gianfar_driver-objs := gianfar.o \
99 obj-$(CONFIG_UCC_GETH) += ucc_geth_driver.o
100 ucc_geth_driver-objs := ucc_geth.o ucc_geth_ethtool.o
101
102 +obj-$(if $(CONFIG_FSL_SDK_FMAN),y) += sdk_fman/
103 +obj-$(if $(CONFIG_FSL_SDK_DPAA_ETH),y) += sdk_dpaa/
104 +
105 obj-$(CONFIG_FSL_FMAN) += fman/
106 obj-$(CONFIG_FSL_DPAA_ETH) += dpaa/
107 --- a/drivers/ptp/Kconfig
108 +++ b/drivers/ptp/Kconfig
109 @@ -55,6 +55,35 @@ config PTP_1588_CLOCK_GIANFAR
110 To compile this driver as a module, choose M here: the module
111 will be called gianfar_ptp.
112
113 +config PTP_1588_CLOCK_DPAA
114 + tristate "Freescale DPAA as PTP clock"
115 + depends on FSL_SDK_DPAA_ETH
116 + select PTP_1588_CLOCK
117 + select FSL_DPAA_TS
118 + default n
119 + help
120 + This driver adds support for using the DPAA 1588 timer module
121 + as a PTP clock. This clock is only useful if your PTP programs are
122 + getting hardware time stamps on the PTP Ethernet packets
123 + using the SO_TIMESTAMPING API.
124 +
125 + To compile this driver as a module, choose M here: the module
126 + will be called dpaa_ptp.
127 +
128 +config PTP_1588_CLOCK_DPAA2
129 + tristate "Freescale DPAA2 as PTP clock"
130 + depends on FSL_DPAA2_ETH
131 + select PTP_1588_CLOCK
132 + default y
133 + help
134 + This driver adds support for using the DPAA2 1588 timer module
135 + as a PTP clock. This clock is only useful if your PTP programs are
136 + getting hardware time stamps on the PTP Ethernet packets
137 + using the SO_TIMESTAMPING API.
138 +
139 + To compile this driver as a module, choose M here: the module
140 + will be called dpaa2-rtc.
141 +
142 config PTP_1588_CLOCK_IXP46X
143 tristate "Intel IXP46x as PTP clock"
144 depends on IXP4XX_ETH
145 --- a/drivers/soc/Kconfig
146 +++ b/drivers/soc/Kconfig
147 @@ -5,6 +5,7 @@ source "drivers/soc/amlogic/Kconfig"
148 source "drivers/soc/atmel/Kconfig"
149 source "drivers/soc/bcm/Kconfig"
150 source "drivers/soc/fsl/Kconfig"
151 +source "drivers/soc/fsl/ls2-console/Kconfig"
152 source "drivers/soc/imx/Kconfig"
153 source "drivers/soc/mediatek/Kconfig"
154 source "drivers/soc/qcom/Kconfig"
155 --- a/drivers/soc/fsl/Kconfig
156 +++ b/drivers/soc/fsl/Kconfig
157 @@ -16,3 +16,14 @@ config FSL_GUTS
158 Initially only reading SVR and registering soc device are supported.
159 Other guts accesses, such as reading RCW, should eventually be moved
160 into this driver as well.
161 +
162 +config FSL_SLEEP_FSM
163 + bool
164 + help
165 + This driver configures a hardware FSM (Finite State Machine) for deep sleep.
166 + The FSM is used to finish clean-ups at the last stage of system entering deep
167 + sleep, and also wakes up system when a wake up event happens.
168 +
169 +if ARM || ARM64
170 +source "drivers/soc/fsl/Kconfig.arm"
171 +endif
172 --- /dev/null
173 +++ b/drivers/soc/fsl/Kconfig.arm
174 @@ -0,0 +1,16 @@
175 +#
176 +# Freescale ARM SOC Drivers
177 +#
178 +
179 +config LS_SOC_DRIVERS
180 + bool "Layerscape Soc Drivers"
181 + depends on ARCH_LAYERSCAPE || SOC_LS1021A
182 + default n
183 + help
184 + Say y here to enable Freescale Layerscape Soc Device Drivers support.
185 + The Soc Drivers provides the device driver that is a specific block
186 + or feature on Layerscape platform.
187 +
188 +if LS_SOC_DRIVERS
189 + source "drivers/soc/fsl/layerscape/Kconfig"
190 +endif
191 --- a/drivers/soc/fsl/Makefile
192 +++ b/drivers/soc/fsl/Makefile
193 @@ -6,3 +6,6 @@ obj-$(CONFIG_FSL_DPAA) +
194 obj-$(CONFIG_QUICC_ENGINE) += qe/
195 obj-$(CONFIG_CPM) += qe/
196 obj-$(CONFIG_FSL_GUTS) += guts.o
197 +obj-$(CONFIG_FSL_LS2_CONSOLE) += ls2-console/
198 +obj-$(CONFIG_LS_SOC_DRIVERS) += layerscape/
199 +obj-$(CONFIG_FSL_SLEEP_FSM) += sleep_fsm.o
200 --- /dev/null
201 +++ b/drivers/soc/fsl/layerscape/Kconfig
202 @@ -0,0 +1,10 @@
203 +#
204 +# Layerscape Soc drivers
205 +#
206 +config FTM_ALARM
207 + bool "FTM alarm driver"
208 + default n
209 + help
210 + Say y here to enable FTM alarm support. The FTM alarm provides
211 + alarm functions for wakeup system from deep sleep. There is only
212 + one FTM can be used in ALARM(FTM 0).
213 --- /dev/null
214 +++ b/drivers/soc/fsl/layerscape/Makefile
215 @@ -0,0 +1 @@
216 +obj-$(CONFIG_FTM_ALARM) += ftm_alarm.o
217 --- a/drivers/staging/Kconfig
218 +++ b/drivers/staging/Kconfig
219 @@ -118,4 +118,8 @@ source "drivers/staging/vboxvideo/Kconfi
220
221 source "drivers/staging/pi433/Kconfig"
222
223 +source "drivers/staging/fsl_qbman/Kconfig"
224 +
225 +source "drivers/staging/fsl_ppfe/Kconfig"
226 +
227 endif # STAGING
228 --- a/drivers/staging/Makefile
229 +++ b/drivers/staging/Makefile
230 @@ -50,3 +50,5 @@ obj-$(CONFIG_BCM2835_VCHIQ) += vc04_serv
231 obj-$(CONFIG_CRYPTO_DEV_CCREE) += ccree/
232 obj-$(CONFIG_DRM_VBOXVIDEO) += vboxvideo/
233 obj-$(CONFIG_PI433) += pi433/
234 +obj-$(CONFIG_FSL_SDK_DPA) += fsl_qbman/
235 +obj-$(CONFIG_FSL_PPFE) += fsl_ppfe/
236 --- a/drivers/staging/fsl-dpaa2/Kconfig
237 +++ b/drivers/staging/fsl-dpaa2/Kconfig
238 @@ -4,7 +4,7 @@
239
240 config FSL_DPAA2
241 bool "Freescale DPAA2 devices"
242 - depends on FSL_MC_BUS && ARCH_LAYERSCAPE
243 + depends on FSL_MC_BUS
244 ---help---
245 Build drivers for Freescale DataPath Acceleration
246 Architecture (DPAA2) family of SoCs.
247 @@ -16,3 +16,44 @@ config FSL_DPAA2_ETH
248 ---help---
249 Ethernet driver for Freescale DPAA2 SoCs, using the
250 Freescale MC bus driver
251 +
252 +if FSL_DPAA2_ETH
253 +config FSL_DPAA2_ETH_USE_ERR_QUEUE
254 + bool "Enable Rx error queue"
255 + default n
256 + ---help---
257 + Allow Rx error frames to be enqueued on an error queue
258 + and processed by the driver (by default they are dropped
259 + in hardware).
260 + This may impact performance, recommended for debugging
261 + purposes only.
262 +
263 +# QBMAN_DEBUG requires some additional DPIO APIs
264 +config FSL_DPAA2_ETH_DEBUGFS
265 + depends on DEBUG_FS
266 + bool "Enable debugfs support"
267 + default y
268 + ---help---
269 + Enable advanced statistics through debugfs interface.
270 +
271 +config FSL_DPAA2_ETH_DCB
272 + bool "Data Center Bridging (DCB) Support"
273 + default n
274 + depends on DCB
275 + ---help---
276 + Say Y here if you want to use Data Center Bridging (DCB) features
277 + (PFC) in the driver.
278 +
279 + If unsure, say N.
280 +endif
281 +
282 +source "drivers/staging/fsl-dpaa2/mac/Kconfig"
283 +source "drivers/staging/fsl-dpaa2/evb/Kconfig"
284 +
285 +config FSL_DPAA2_ETHSW
286 + tristate "Freescale DPAA2 Ethernet Switch"
287 + depends on FSL_DPAA2
288 + depends on NET_SWITCHDEV
289 + ---help---
290 + Driver for Freescale DPAA2 Ethernet Switch. Select
291 + BRIDGE to have support for bridge tools.
292 --- a/drivers/staging/fsl-dpaa2/Makefile
293 +++ b/drivers/staging/fsl-dpaa2/Makefile
294 @@ -3,3 +3,7 @@
295 #
296
297 obj-$(CONFIG_FSL_DPAA2_ETH) += ethernet/
298 +obj-$(CONFIG_FSL_DPAA2_MAC) += mac/
299 +obj-$(CONFIG_FSL_DPAA2_EVB) += evb/
300 +obj-$(CONFIG_PTP_1588_CLOCK_DPAA2) += rtc/
301 +obj-$(CONFIG_FSL_DPAA2_ETHSW) += ethsw/