201-config-support-layerscape.patch 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374
  1. From 0774b97305507af18f8c43efb69aa00e6c57ae90 Mon Sep 17 00:00:00 2001
  2. From: Yangbo Lu <[email protected]>
  3. Date: Fri, 6 Jul 2018 15:31:14 +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. This is an integrated patch for layerscape config/makefile support.
  9. Signed-off-by: Yuantian Tang <[email protected]>
  10. Signed-off-by: Zhang Ying-22455 <[email protected]>
  11. Signed-off-by: Zhao Qiang <[email protected]>
  12. Signed-off-by: Bogdan Purcareata <[email protected]>
  13. Signed-off-by: Zhao Qiang <[email protected]>
  14. Signed-off-by: Horia Geantă <[email protected]>
  15. Signed-off-by: Yangbo Lu <[email protected]>
  16. ---
  17. arch/arm/mach-imx/Kconfig | 1 +
  18. drivers/base/Kconfig | 1 +
  19. drivers/crypto/Makefile | 2 +-
  20. drivers/net/ethernet/freescale/Kconfig | 4 +-
  21. drivers/net/ethernet/freescale/Makefile | 2 +
  22. drivers/ptp/Kconfig | 29 +++++++++++
  23. drivers/rtc/Kconfig | 8 +++
  24. drivers/rtc/Makefile | 1 +
  25. drivers/soc/Kconfig | 3 +-
  26. drivers/soc/fsl/Kconfig | 30 ++++++++++++
  27. drivers/soc/fsl/Kconfig.arm | 16 ++++++
  28. drivers/soc/fsl/Makefile | 5 ++
  29. drivers/soc/fsl/layerscape/Kconfig | 10 ++++
  30. drivers/soc/fsl/layerscape/Makefile | 1 +
  31. drivers/staging/Kconfig | 6 +++
  32. drivers/staging/Makefile | 3 ++
  33. drivers/staging/fsl-dpaa2/Kconfig | 65 +++++++++++++++++++++++++
  34. drivers/staging/fsl-dpaa2/Makefile | 9 ++++
  35. 18 files changed, 192 insertions(+), 4 deletions(-)
  36. create mode 100644 drivers/soc/fsl/Kconfig
  37. create mode 100644 drivers/soc/fsl/Kconfig.arm
  38. create mode 100644 drivers/soc/fsl/layerscape/Kconfig
  39. create mode 100644 drivers/soc/fsl/layerscape/Makefile
  40. create mode 100644 drivers/staging/fsl-dpaa2/Kconfig
  41. create mode 100644 drivers/staging/fsl-dpaa2/Makefile
  42. --- a/arch/arm/mach-imx/Kconfig
  43. +++ b/arch/arm/mach-imx/Kconfig
  44. @@ -1,6 +1,7 @@
  45. menuconfig ARCH_MXC
  46. bool "Freescale i.MX family"
  47. depends on ARCH_MULTI_V4_V5 || ARCH_MULTI_V6_V7 || ARM_SINGLE_ARMV7M
  48. + select ARCH_DMA_ADDR_T_64BIT if ARM_LPAE
  49. select ARCH_SUPPORTS_BIG_ENDIAN
  50. select CLKSRC_IMX_GPT
  51. select GENERIC_IRQ_CHIP
  52. --- a/drivers/base/Kconfig
  53. +++ b/drivers/base/Kconfig
  54. @@ -240,6 +240,7 @@ config GENERIC_CPU_VULNERABILITIES
  55. config SOC_BUS
  56. bool
  57. + select GLOB
  58. source "drivers/base/regmap/Kconfig"
  59. --- a/drivers/crypto/Makefile
  60. +++ b/drivers/crypto/Makefile
  61. @@ -3,7 +3,7 @@ obj-$(CONFIG_CRYPTO_DEV_ATMEL_SHA) += at
  62. obj-$(CONFIG_CRYPTO_DEV_ATMEL_TDES) += atmel-tdes.o
  63. obj-$(CONFIG_CRYPTO_DEV_BFIN_CRC) += bfin_crc.o
  64. obj-$(CONFIG_CRYPTO_DEV_CCP) += ccp/
  65. -obj-$(CONFIG_CRYPTO_DEV_FSL_CAAM) += caam/
  66. +obj-$(CONFIG_CRYPTO_DEV_FSL_CAAM_COMMON) += caam/
  67. obj-$(CONFIG_CRYPTO_DEV_GEODE) += geode-aes.o
  68. obj-$(CONFIG_CRYPTO_DEV_HIFN_795X) += hifn_795x.o
  69. obj-$(CONFIG_CRYPTO_DEV_IMGTEC_HASH) += img-hash.o
  70. --- a/drivers/net/ethernet/freescale/Kconfig
  71. +++ b/drivers/net/ethernet/freescale/Kconfig
  72. @@ -5,7 +5,7 @@
  73. config NET_VENDOR_FREESCALE
  74. bool "Freescale devices"
  75. default y
  76. - depends on FSL_SOC || QUICC_ENGINE || CPM1 || CPM2 || PPC_MPC512x || \
  77. + depends on FSL_SOC || (QUICC_ENGINE && PPC32) || CPM1 || CPM2 || PPC_MPC512x || \
  78. M523x || M527x || M5272 || M528x || M520x || M532x || \
  79. ARCH_MXC || ARCH_MXS || (PPC_MPC52xx && PPC_BESTCOMM) || \
  80. ARCH_LAYERSCAPE
  81. @@ -93,4 +93,6 @@ config GIANFAR
  82. and MPC86xx family of chips, the eTSEC on LS1021A and the FEC
  83. on the 8540.
  84. +source "drivers/net/ethernet/freescale/sdk_fman/Kconfig"
  85. +source "drivers/net/ethernet/freescale/sdk_dpaa/Kconfig"
  86. endif # NET_VENDOR_FREESCALE
  87. --- a/drivers/net/ethernet/freescale/Makefile
  88. +++ b/drivers/net/ethernet/freescale/Makefile
  89. @@ -21,4 +21,6 @@ gianfar_driver-objs := gianfar.o \
  90. obj-$(CONFIG_UCC_GETH) += ucc_geth_driver.o
  91. ucc_geth_driver-objs := ucc_geth.o ucc_geth_ethtool.o
  92. +obj-$(if $(CONFIG_FSL_SDK_FMAN),y) += sdk_fman/
  93. +obj-$(if $(CONFIG_FSL_SDK_DPAA_ETH),y) += sdk_dpaa/
  94. obj-$(CONFIG_FSL_FMAN) += fman/
  95. --- a/drivers/ptp/Kconfig
  96. +++ b/drivers/ptp/Kconfig
  97. @@ -39,6 +39,35 @@ config PTP_1588_CLOCK_GIANFAR
  98. To compile this driver as a module, choose M here: the module
  99. will be called gianfar_ptp.
  100. +config PTP_1588_CLOCK_DPAA
  101. + tristate "Freescale DPAA as PTP clock"
  102. + depends on FSL_SDK_DPAA_ETH
  103. + select PTP_1588_CLOCK
  104. + select FSL_DPAA_TS
  105. + default n
  106. + help
  107. + This driver adds support for using the DPAA 1588 timer module
  108. + as a PTP clock. This clock is only useful if your PTP programs are
  109. + getting hardware time stamps on the PTP Ethernet packets
  110. + using the SO_TIMESTAMPING API.
  111. +
  112. + To compile this driver as a module, choose M here: the module
  113. + will be called dpaa_ptp.
  114. +
  115. +config PTP_1588_CLOCK_DPAA2
  116. + tristate "Freescale DPAA2 as PTP clock"
  117. + depends on FSL_DPAA2_ETH
  118. + select PTP_1588_CLOCK
  119. + default y
  120. + help
  121. + This driver adds support for using the DPAA2 1588 timer module
  122. + as a PTP clock. This clock is only useful if your PTP programs are
  123. + getting hardware time stamps on the PTP Ethernet packets
  124. + using the SO_TIMESTAMPING API.
  125. +
  126. + To compile this driver as a module, choose M here: the module
  127. + will be called dpaa2-rtc.
  128. +
  129. config PTP_1588_CLOCK_IXP46X
  130. tristate "Intel IXP46x as PTP clock"
  131. depends on IXP4XX_ETH
  132. --- a/drivers/rtc/Kconfig
  133. +++ b/drivers/rtc/Kconfig
  134. @@ -414,6 +414,14 @@ config RTC_DRV_PCF85063
  135. This driver can also be built as a module. If so, the module
  136. will be called rtc-pcf85063.
  137. +config RTC_DRV_PCF85263
  138. + tristate "NXP PCF85263"
  139. + help
  140. + If you say yes here you get support for the PCF85263 RTC chip
  141. +
  142. + This driver can also be built as a module. If so, the module
  143. + will be called rtc-pcf85263.
  144. +
  145. config RTC_DRV_PCF8563
  146. tristate "Philips PCF8563/Epson RTC8564"
  147. help
  148. --- a/drivers/rtc/Makefile
  149. +++ b/drivers/rtc/Makefile
  150. @@ -111,6 +111,7 @@ obj-$(CONFIG_RTC_DRV_PCF2127) += rtc-pcf
  151. obj-$(CONFIG_RTC_DRV_PCF50633) += rtc-pcf50633.o
  152. obj-$(CONFIG_RTC_DRV_PCF85063) += rtc-pcf85063.o
  153. obj-$(CONFIG_RTC_DRV_PCF8523) += rtc-pcf8523.o
  154. +obj-$(CONFIG_RTC_DRV_PCF85263) += rtc-pcf85263.o
  155. obj-$(CONFIG_RTC_DRV_PCF8563) += rtc-pcf8563.o
  156. obj-$(CONFIG_RTC_DRV_PCF8583) += rtc-pcf8583.o
  157. obj-$(CONFIG_RTC_DRV_PIC32) += rtc-pic32.o
  158. --- a/drivers/soc/Kconfig
  159. +++ b/drivers/soc/Kconfig
  160. @@ -1,8 +1,7 @@
  161. menu "SOC (System On Chip) specific Drivers"
  162. source "drivers/soc/bcm/Kconfig"
  163. -source "drivers/soc/fsl/qbman/Kconfig"
  164. -source "drivers/soc/fsl/qe/Kconfig"
  165. +source "drivers/soc/fsl/Kconfig"
  166. source "drivers/soc/mediatek/Kconfig"
  167. source "drivers/soc/qcom/Kconfig"
  168. source "drivers/soc/rockchip/Kconfig"
  169. --- /dev/null
  170. +++ b/drivers/soc/fsl/Kconfig
  171. @@ -0,0 +1,30 @@
  172. +#
  173. +# Freescale SOC drivers
  174. +#
  175. +
  176. +source "drivers/soc/fsl/qbman/Kconfig"
  177. +source "drivers/soc/fsl/qe/Kconfig"
  178. +source "drivers/soc/fsl/ls2-console/Kconfig"
  179. +
  180. +config FSL_GUTS
  181. + bool
  182. + select SOC_BUS
  183. + help
  184. + The global utilities block controls power management, I/O device
  185. + enabling, power-onreset(POR) configuration monitoring, alternate
  186. + function selection for multiplexed signals,and clock control.
  187. + This driver is to manage and access global utilities block.
  188. + Initially only reading SVR and registering soc device are supported.
  189. + Other guts accesses, such as reading RCW, should eventually be moved
  190. + into this driver as well.
  191. +
  192. +config FSL_SLEEP_FSM
  193. + bool
  194. + help
  195. + This driver configures a hardware FSM (Finite State Machine) for deep sleep.
  196. + The FSM is used to finish clean-ups at the last stage of system entering deep
  197. + sleep, and also wakes up system when a wake up event happens.
  198. +
  199. +if ARM || ARM64
  200. +source "drivers/soc/fsl/Kconfig.arm"
  201. +endif
  202. --- /dev/null
  203. +++ b/drivers/soc/fsl/Kconfig.arm
  204. @@ -0,0 +1,16 @@
  205. +#
  206. +# Freescale ARM SOC Drivers
  207. +#
  208. +
  209. +config LS_SOC_DRIVERS
  210. + bool "Layerscape Soc Drivers"
  211. + depends on ARCH_LAYERSCAPE || SOC_LS1021A
  212. + default n
  213. + help
  214. + Say y here to enable Freescale Layerscape Soc Device Drivers support.
  215. + The Soc Drivers provides the device driver that is a specific block
  216. + or feature on Layerscape platform.
  217. +
  218. +if LS_SOC_DRIVERS
  219. + source "drivers/soc/fsl/layerscape/Kconfig"
  220. +endif
  221. --- a/drivers/soc/fsl/Makefile
  222. +++ b/drivers/soc/fsl/Makefile
  223. @@ -5,3 +5,8 @@
  224. obj-$(CONFIG_FSL_DPAA) += qbman/
  225. obj-$(CONFIG_QUICC_ENGINE) += qe/
  226. obj-$(CONFIG_CPM) += qe/
  227. +obj-$(CONFIG_FSL_GUTS) += guts.o
  228. +obj-$(CONFIG_FSL_LS2_CONSOLE) += ls2-console/
  229. +obj-$(CONFIG_SUSPEND) += rcpm.o
  230. +obj-$(CONFIG_LS_SOC_DRIVERS) += layerscape/
  231. +obj-$(CONFIG_FSL_SLEEP_FSM) += sleep_fsm.o
  232. --- /dev/null
  233. +++ b/drivers/soc/fsl/layerscape/Kconfig
  234. @@ -0,0 +1,10 @@
  235. +#
  236. +# Layerscape Soc drivers
  237. +#
  238. +config FTM_ALARM
  239. + bool "FTM alarm driver"
  240. + default n
  241. + help
  242. + Say y here to enable FTM alarm support. The FTM alarm provides
  243. + alarm functions for wakeup system from deep sleep. There is only
  244. + one FTM can be used in ALARM(FTM 0).
  245. --- /dev/null
  246. +++ b/drivers/soc/fsl/layerscape/Makefile
  247. @@ -0,0 +1 @@
  248. +obj-$(CONFIG_FTM_ALARM) += ftm_alarm.o
  249. --- a/drivers/staging/Kconfig
  250. +++ b/drivers/staging/Kconfig
  251. @@ -94,6 +94,8 @@ source "drivers/staging/fbtft/Kconfig"
  252. source "drivers/staging/fsl-mc/Kconfig"
  253. +source "drivers/staging/fsl-dpaa2/Kconfig"
  254. +
  255. source "drivers/staging/wilc1000/Kconfig"
  256. source "drivers/staging/most/Kconfig"
  257. @@ -106,4 +108,8 @@ source "drivers/staging/greybus/Kconfig"
  258. source "drivers/staging/vc04_services/Kconfig"
  259. +source "drivers/staging/fsl_qbman/Kconfig"
  260. +
  261. +source "drivers/staging/fsl_ppfe/Kconfig"
  262. +
  263. endif # STAGING
  264. --- a/drivers/staging/Makefile
  265. +++ b/drivers/staging/Makefile
  266. @@ -36,9 +36,12 @@ obj-$(CONFIG_UNISYSSPAR) += unisys/
  267. obj-$(CONFIG_COMMON_CLK_XLNX_CLKWZRD) += clocking-wizard/
  268. obj-$(CONFIG_FB_TFT) += fbtft/
  269. obj-$(CONFIG_FSL_MC_BUS) += fsl-mc/
  270. +obj-$(CONFIG_FSL_DPAA2) += fsl-dpaa2/
  271. obj-$(CONFIG_WILC1000) += wilc1000/
  272. obj-$(CONFIG_MOST) += most/
  273. obj-$(CONFIG_ISDN_I4L) += i4l/
  274. obj-$(CONFIG_KS7010) += ks7010/
  275. obj-$(CONFIG_GREYBUS) += greybus/
  276. obj-$(CONFIG_BCM2708_VCHIQ) += vc04_services/
  277. +obj-$(CONFIG_FSL_SDK_DPA) += fsl_qbman/
  278. +obj-$(CONFIG_FSL_PPFE) += fsl_ppfe/
  279. --- /dev/null
  280. +++ b/drivers/staging/fsl-dpaa2/Kconfig
  281. @@ -0,0 +1,65 @@
  282. +#
  283. +# Freescale DataPath Acceleration Architecture Gen2 (DPAA2) drivers
  284. +#
  285. +
  286. +config FSL_DPAA2
  287. + bool "Freescale DPAA2 devices"
  288. + depends on FSL_MC_BUS
  289. + ---help---
  290. + Build drivers for Freescale DataPath Acceleration
  291. + Architecture (DPAA2) family of SoCs.
  292. +
  293. +config FSL_DPAA2_ETH
  294. + tristate "Freescale DPAA2 Ethernet"
  295. + depends on FSL_DPAA2 && FSL_MC_DPIO
  296. + ---help---
  297. + Ethernet driver for Freescale DPAA2 SoCs, using the
  298. + Freescale MC bus driver
  299. +
  300. +if FSL_DPAA2_ETH
  301. +config FSL_DPAA2_ETH_USE_ERR_QUEUE
  302. + bool "Enable Rx error queue"
  303. + default n
  304. + ---help---
  305. + Allow Rx error frames to be enqueued on an error queue
  306. + and processed by the driver (by default they are dropped
  307. + in hardware).
  308. + This may impact performance, recommended for debugging
  309. + purposes only.
  310. +
  311. +# QBMAN_DEBUG requires some additional DPIO APIs
  312. +config FSL_DPAA2_ETH_DEBUGFS
  313. + depends on DEBUG_FS
  314. + bool "Enable debugfs support"
  315. + default n
  316. + ---help---
  317. + Enable advanced statistics through debugfs interface.
  318. +
  319. +config FSL_DPAA2_ETH_DCB
  320. + bool "Data Center Bridging (DCB) Support"
  321. + default n
  322. + depends on DCB
  323. + ---help---
  324. + Say Y here if you want to use Data Center Bridging (DCB) features
  325. + (PFC) in the driver.
  326. +
  327. + If unsure, say N.
  328. +
  329. +config FSL_DPAA2_ETH_CEETM
  330. + depends on NET_SCHED
  331. + bool "DPAA2 Ethernet CEETM QoS"
  332. + default n
  333. + ---help---
  334. + Enable QoS offloading support through the CEETM hardware block.
  335. +endif
  336. +
  337. +source "drivers/staging/fsl-dpaa2/mac/Kconfig"
  338. +source "drivers/staging/fsl-dpaa2/evb/Kconfig"
  339. +
  340. +config FSL_DPAA2_ETHSW
  341. + tristate "Freescale DPAA2 Ethernet Switch"
  342. + depends on FSL_DPAA2
  343. + depends on NET_SWITCHDEV
  344. + ---help---
  345. + Driver for Freescale DPAA2 Ethernet Switch. Select
  346. + BRIDGE to have support for bridge tools.
  347. --- /dev/null
  348. +++ b/drivers/staging/fsl-dpaa2/Makefile
  349. @@ -0,0 +1,9 @@
  350. +#
  351. +# Freescale DataPath Acceleration Architecture Gen2 (DPAA2) drivers
  352. +#
  353. +
  354. +obj-$(CONFIG_FSL_DPAA2_ETH) += ethernet/
  355. +obj-$(CONFIG_FSL_DPAA2_MAC) += mac/
  356. +obj-$(CONFIG_FSL_DPAA2_EVB) += evb/
  357. +obj-$(CONFIG_PTP_1588_CLOCK_DPAA2) += rtc/
  358. +obj-$(CONFIG_FSL_DPAA2_ETHSW) += ethsw/