001-mtk-0006-mips-mtmips-add-two-reference-boards-for-mt7621.patch 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428
  1. From b1549087ecd1eb53f6173b17b473134fd6cca157 Mon Sep 17 00:00:00 2001
  2. From: Weijie Gao <[email protected]>
  3. Date: Fri, 20 May 2022 11:22:26 +0800
  4. Subject: [PATCH 06/25] mips: mtmips: add two reference boards for mt7621
  5. The mt7621_rfb board supports integrated giga PHYs plus one external
  6. giga PHYs. It also has up to 512MiB DDR3, 16MB SPI-NOR, 3 mini PCI-e x1
  7. slots, SDXC and USB.
  8. The mt7621_nand_rfb board is almost the same as mt7621_rfb board, but it
  9. uses NAND flash and SDXC is not available.
  10. Reviewed-by: Stefan Roese <[email protected]>
  11. Reviewed-by: Daniel Schwierzeck <[email protected]>
  12. Signed-off-by: Weijie Gao <[email protected]>
  13. ---
  14. arch/mips/dts/Makefile | 2 +
  15. arch/mips/dts/mediatek,mt7621-nand-rfb.dts | 67 +++++++++++++++++
  16. arch/mips/dts/mediatek,mt7621-rfb.dts | 82 +++++++++++++++++++++
  17. arch/mips/mach-mtmips/mt7621/Kconfig | 20 +++++
  18. board/mediatek/mt7621/MAINTAINERS | 8 ++
  19. board/mediatek/mt7621/Makefile | 3 +
  20. board/mediatek/mt7621/board.c | 6 ++
  21. configs/mt7621_nand_rfb_defconfig | 85 ++++++++++++++++++++++
  22. configs/mt7621_rfb_defconfig | 82 +++++++++++++++++++++
  23. 9 files changed, 355 insertions(+)
  24. create mode 100644 arch/mips/dts/mediatek,mt7621-nand-rfb.dts
  25. create mode 100644 arch/mips/dts/mediatek,mt7621-rfb.dts
  26. create mode 100644 board/mediatek/mt7621/MAINTAINERS
  27. create mode 100644 board/mediatek/mt7621/Makefile
  28. create mode 100644 board/mediatek/mt7621/board.c
  29. create mode 100644 configs/mt7621_nand_rfb_defconfig
  30. create mode 100644 configs/mt7621_rfb_defconfig
  31. --- a/arch/mips/dts/Makefile
  32. +++ b/arch/mips/dts/Makefile
  33. @@ -16,6 +16,8 @@ dtb-$(CONFIG_BOARD_COMTREND_WAP5813N) +=
  34. dtb-$(CONFIG_BOARD_HUAWEI_HG556A) += huawei,hg556a.dtb
  35. dtb-$(CONFIG_BOARD_MT7620_RFB) += mediatek,mt7620-rfb.dtb
  36. dtb-$(CONFIG_BOARD_MT7620_MT7530_RFB) += mediatek,mt7620-mt7530-rfb.dtb
  37. +dtb-$(CONFIG_BOARD_MT7621_RFB) += mediatek,mt7621-rfb.dtb
  38. +dtb-$(CONFIG_BOARD_MT7621_NAND_RFB) += mediatek,mt7621-nand-rfb.dtb
  39. dtb-$(CONFIG_BOARD_MT7628_RFB) += mediatek,mt7628-rfb.dtb
  40. dtb-$(CONFIG_BOARD_GARDENA_SMART_GATEWAY_MT7688) += gardena-smart-gateway-mt7688.dtb
  41. dtb-$(CONFIG_BOARD_LINKIT_SMART_7688) += linkit-smart-7688.dtb
  42. --- /dev/null
  43. +++ b/arch/mips/dts/mediatek,mt7621-nand-rfb.dts
  44. @@ -0,0 +1,67 @@
  45. +// SPDX-License-Identifier: GPL-2.0
  46. +/*
  47. + * Copyright (C) 2022 MediaTek Inc. All rights reserved.
  48. + *
  49. + * Author: Weijie Gao <[email protected]>
  50. + */
  51. +
  52. +/dts-v1/;
  53. +
  54. +#include "mt7621.dtsi"
  55. +
  56. +/ {
  57. + compatible = "mediatek,mt7621-nand-rfb", "mediatek,mt7621-soc";
  58. + model = "MediaTek MT7621 RFB (NAND)";
  59. +
  60. + aliases {
  61. + serial0 = &uart0;
  62. + };
  63. +
  64. + chosen {
  65. + stdout-path = &uart0;
  66. + };
  67. +};
  68. +
  69. +&pinctrl {
  70. + state_default: pin_state {
  71. + nand {
  72. + groups = "spi", "sdxc";
  73. + function = "nand";
  74. + };
  75. +
  76. + gpios {
  77. + groups = "i2c", "uart3", "pcie reset";
  78. + function = "gpio";
  79. + };
  80. +
  81. + wdt {
  82. + groups = "wdt";
  83. + function = "wdt rst";
  84. + };
  85. +
  86. + jtag {
  87. + groups = "jtag";
  88. + function = "jtag";
  89. + };
  90. + };
  91. +};
  92. +
  93. +&uart0 {
  94. + status = "okay";
  95. +};
  96. +
  97. +&gpio {
  98. + status = "okay";
  99. +};
  100. +
  101. +&eth {
  102. + status = "okay";
  103. +};
  104. +
  105. +&ssusb {
  106. + status = "okay";
  107. +};
  108. +
  109. +&u3phy {
  110. + status = "okay";
  111. +};
  112. --- /dev/null
  113. +++ b/arch/mips/dts/mediatek,mt7621-rfb.dts
  114. @@ -0,0 +1,82 @@
  115. +// SPDX-License-Identifier: GPL-2.0
  116. +/*
  117. + * Copyright (C) 2022 MediaTek Inc. All rights reserved.
  118. + *
  119. + * Author: Weijie Gao <[email protected]>
  120. + */
  121. +
  122. +/dts-v1/;
  123. +
  124. +#include "mt7621.dtsi"
  125. +
  126. +/ {
  127. + compatible = "mediatek,mt7621-rfb", "mediatek,mt7621-soc";
  128. + model = "MediaTek MT7621 RFB (SPI-NOR)";
  129. +
  130. + aliases {
  131. + serial0 = &uart0;
  132. + spi0 = &spi;
  133. + };
  134. +
  135. + chosen {
  136. + stdout-path = &uart0;
  137. + };
  138. +};
  139. +
  140. +&pinctrl {
  141. + state_default: pin_state {
  142. + gpios {
  143. + groups = "i2c", "uart3", "pcie reset";
  144. + function = "gpio";
  145. + };
  146. +
  147. + wdt {
  148. + groups = "wdt";
  149. + function = "wdt rst";
  150. + };
  151. +
  152. + jtag {
  153. + groups = "jtag";
  154. + function = "jtag";
  155. + };
  156. + };
  157. +};
  158. +
  159. +&uart0 {
  160. + status = "okay";
  161. +};
  162. +
  163. +&gpio {
  164. + status = "okay";
  165. +};
  166. +
  167. +&spi {
  168. + status = "okay";
  169. + num-cs = <2>;
  170. +
  171. + spi-flash@0 {
  172. + #address-cells = <1>;
  173. + #size-cells = <1>;
  174. + compatible = "jedec,spi-nor";
  175. + spi-max-frequency = <25000000>;
  176. + reg = <0>;
  177. + };
  178. +};
  179. +
  180. +&eth {
  181. + status = "okay";
  182. +};
  183. +
  184. +&mmc {
  185. + cap-sd-highspeed;
  186. +
  187. + status = "okay";
  188. +};
  189. +
  190. +&ssusb {
  191. + status = "okay";
  192. +};
  193. +
  194. +&u3phy {
  195. + status = "okay";
  196. +};
  197. --- a/arch/mips/mach-mtmips/mt7621/Kconfig
  198. +++ b/arch/mips/mach-mtmips/mt7621/Kconfig
  199. @@ -79,6 +79,26 @@ config MT7621_BOOT_FROM_NAND
  200. choice
  201. prompt "Board select"
  202. +config BOARD_MT7621_RFB
  203. + bool "MediaTek MT7621 RFB (SPI-NOR)"
  204. + help
  205. + The reference design of MT7621A (WS3010) booting from SPI-NOR flash.
  206. + The board can be configured with DDR2 (64MiB~256MiB) or DDR3
  207. + (128MiB~512MiB). The board has 16 MiB SPI-NOR flash, built-in MT7530
  208. + GbE switch, 1 UART, 1 USB 2.0 host, 1 USB 3.0 host, 1 SDXC, 3 PCIe
  209. + sockets, 1 RGMII to external GbE PHY, 2 audio jacks (in/out),
  210. + JTAG pins and expansion GPIO pins.
  211. +
  212. +config BOARD_MT7621_NAND_RFB
  213. + bool "MediaTek MT7621 RFB (NAND)"
  214. + help
  215. + The reference design of MT7621A (WS3010) booting from NAND flash.
  216. + The board can be configured with DDR2 (64MiB~256MiB) or DDR3
  217. + (128MiB~512MiB). The board has 128 MiB parallel NAND flash, built-in
  218. + MT7530 GbE switch, 1 UART, 1 USB 2.0 host, 1 USB 3.0 host, 3 PCIe
  219. + sockets, 1 RGMII to external GbE PHY, 2 audio jacks (in/out),
  220. + JTAG pins and expansion GPIO pins.
  221. +
  222. endchoice
  223. config SYS_CONFIG_NAME
  224. --- /dev/null
  225. +++ b/board/mediatek/mt7621/MAINTAINERS
  226. @@ -0,0 +1,8 @@
  227. +MT7621_RFB BOARD
  228. +M: Weijie Gao <[email protected]>
  229. +S: Maintained
  230. +F: board/mediatek/mt7621
  231. +F: configs/mt7621_rfb_defconfig
  232. +F: configs/mt7621_nand_rfb_defconfig
  233. +F: arch/mips/dts/mediatek,mt7621-rfb.dts
  234. +F: arch/mips/dts/mediatek,mt7621-nand-rfb.dts
  235. --- /dev/null
  236. +++ b/board/mediatek/mt7621/Makefile
  237. @@ -0,0 +1,3 @@
  238. +# SPDX-License-Identifier: GPL-2.0
  239. +
  240. +obj-y += board.o
  241. --- /dev/null
  242. +++ b/board/mediatek/mt7621/board.c
  243. @@ -0,0 +1,6 @@
  244. +// SPDX-License-Identifier: GPL-2.0
  245. +/*
  246. + * Copyright (C) 2022 MediaTek Inc. All rights reserved.
  247. + *
  248. + * Author: Weijie Gao <[email protected]>
  249. + */
  250. --- /dev/null
  251. +++ b/configs/mt7621_nand_rfb_defconfig
  252. @@ -0,0 +1,85 @@
  253. +CONFIG_MIPS=y
  254. +CONFIG_SYS_MALLOC_LEN=0x100000
  255. +CONFIG_SPL_LIBCOMMON_SUPPORT=y
  256. +CONFIG_SPL_LIBGENERIC_SUPPORT=y
  257. +CONFIG_NR_DRAM_BANKS=1
  258. +CONFIG_ENV_SIZE=0x1000
  259. +CONFIG_DEFAULT_DEVICE_TREE="mediatek,mt7621-nand-rfb"
  260. +CONFIG_SPL_SERIAL=y
  261. +CONFIG_SPL_SYS_MALLOC_F_LEN=0x100000
  262. +CONFIG_SPL=y
  263. +CONFIG_DEBUG_UART_BASE=0xbe000c00
  264. +CONFIG_DEBUG_UART_CLOCK=50000000
  265. +CONFIG_SYS_LOAD_ADDR=0x83000000
  266. +CONFIG_ARCH_MTMIPS=y
  267. +CONFIG_SOC_MT7621=y
  268. +CONFIG_MT7621_BOOT_FROM_NAND=y
  269. +CONFIG_BOARD_MT7621_NAND_RFB=y
  270. +# CONFIG_MIPS_CACHE_SETUP is not set
  271. +# CONFIG_MIPS_CACHE_DISABLE is not set
  272. +CONFIG_RESTORE_EXCEPTION_VECTOR_BASE=y
  273. +CONFIG_MIPS_BOOT_FDT=y
  274. +CONFIG_DEBUG_UART=y
  275. +CONFIG_FIT=y
  276. +# CONFIG_ARCH_FIXUP_FDT_MEMORY is not set
  277. +CONFIG_SYS_CONSOLE_INFO_QUIET=y
  278. +CONFIG_SPL_SYS_MALLOC_SIMPLE=y
  279. +CONFIG_SPL_NAND_SUPPORT=y
  280. +CONFIG_SPL_NAND_BASE=y
  281. +CONFIG_SPL_NAND_IDENT=y
  282. +# CONFIG_BOOTM_NETBSD is not set
  283. +# CONFIG_BOOTM_PLAN9 is not set
  284. +# CONFIG_BOOTM_RTEMS is not set
  285. +# CONFIG_BOOTM_VXWORKS is not set
  286. +# CONFIG_CMD_ELF is not set
  287. +# CONFIG_CMD_XIMG is not set
  288. +# CONFIG_CMD_CRC32 is not set
  289. +# CONFIG_CMD_DM is not set
  290. +# CONFIG_CMD_FLASH is not set
  291. +CONFIG_CMD_GPIO=y
  292. +# CONFIG_CMD_LOADS is not set
  293. +CONFIG_CMD_MMC=y
  294. +CONFIG_CMD_MTD=y
  295. +CONFIG_CMD_PART=y
  296. +# CONFIG_CMD_PINMUX is not set
  297. +CONFIG_CMD_USB=y
  298. +# CONFIG_CMD_NFS is not set
  299. +CONFIG_CMD_FAT=y
  300. +CONFIG_CMD_FS_GENERIC=y
  301. +# CONFIG_SPL_DOS_PARTITION is not set
  302. +# CONFIG_ISO_PARTITION is not set
  303. +CONFIG_EFI_PARTITION=y
  304. +# CONFIG_SPL_EFI_PARTITION is not set
  305. +CONFIG_PARTITION_TYPE_GUID=y
  306. +CONFIG_SYS_RELOC_GD_ENV_ADDR=y
  307. +CONFIG_NET_RANDOM_ETHADDR=y
  308. +# CONFIG_I2C is not set
  309. +# CONFIG_INPUT is not set
  310. +CONFIG_MMC=y
  311. +# CONFIG_MMC_QUIRKS is not set
  312. +# CONFIG_MMC_HW_PARTITIONING is not set
  313. +CONFIG_MMC_MTK=y
  314. +CONFIG_MTD=y
  315. +CONFIG_DM_MTD=y
  316. +CONFIG_MTD_RAW_NAND=y
  317. +CONFIG_NAND_MT7621=y
  318. +CONFIG_SYS_NAND_ONFI_DETECTION=y
  319. +CONFIG_SYS_NAND_U_BOOT_LOCATIONS=y
  320. +CONFIG_SYS_NAND_U_BOOT_OFFS=0x0
  321. +CONFIG_MEDIATEK_ETH=y
  322. +CONFIG_PHY=y
  323. +CONFIG_PHY_MTK_TPHY=y
  324. +CONFIG_DEBUG_UART_SHIFT=2
  325. +CONFIG_SYSRESET=y
  326. +CONFIG_SYSRESET_RESETCTL=y
  327. +CONFIG_USB=y
  328. +CONFIG_USB_XHCI_HCD=y
  329. +CONFIG_USB_XHCI_MTK=y
  330. +CONFIG_USB_STORAGE=y
  331. +CONFIG_WDT=y
  332. +CONFIG_WDT_MT7621=y
  333. +CONFIG_FAT_WRITE=y
  334. +# CONFIG_BINMAN_FDT is not set
  335. +CONFIG_LZMA=y
  336. +# CONFIG_GZIP is not set
  337. +CONFIG_SPL_LZMA=y
  338. --- /dev/null
  339. +++ b/configs/mt7621_rfb_defconfig
  340. @@ -0,0 +1,82 @@
  341. +CONFIG_MIPS=y
  342. +CONFIG_SYS_MALLOC_LEN=0x100000
  343. +CONFIG_SPL_LIBCOMMON_SUPPORT=y
  344. +CONFIG_SPL_LIBGENERIC_SUPPORT=y
  345. +CONFIG_NR_DRAM_BANKS=1
  346. +CONFIG_ENV_SIZE=0x1000
  347. +CONFIG_DEFAULT_DEVICE_TREE="mediatek,mt7621-rfb"
  348. +CONFIG_SPL_SERIAL=y
  349. +CONFIG_SPL_SYS_MALLOC_F_LEN=0x40000
  350. +CONFIG_SPL=y
  351. +CONFIG_DEBUG_UART_BASE=0xbe000c00
  352. +CONFIG_DEBUG_UART_CLOCK=50000000
  353. +CONFIG_SYS_LOAD_ADDR=0x83000000
  354. +CONFIG_ARCH_MTMIPS=y
  355. +CONFIG_SOC_MT7621=y
  356. +# CONFIG_MIPS_CACHE_SETUP is not set
  357. +# CONFIG_MIPS_CACHE_DISABLE is not set
  358. +CONFIG_RESTORE_EXCEPTION_VECTOR_BASE=y
  359. +CONFIG_MIPS_BOOT_FDT=y
  360. +CONFIG_DEBUG_UART=y
  361. +CONFIG_TPL_SYS_MALLOC_F_LEN=0x1000
  362. +CONFIG_FIT=y
  363. +# CONFIG_ARCH_FIXUP_FDT_MEMORY is not set
  364. +CONFIG_SYS_CONSOLE_INFO_QUIET=y
  365. +CONFIG_SPL_SYS_MALLOC_SIMPLE=y
  366. +CONFIG_SPL_NOR_SUPPORT=y
  367. +CONFIG_TPL=y
  368. +# CONFIG_TPL_FRAMEWORK is not set
  369. +# CONFIG_BOOTM_NETBSD is not set
  370. +# CONFIG_BOOTM_PLAN9 is not set
  371. +# CONFIG_BOOTM_RTEMS is not set
  372. +# CONFIG_BOOTM_VXWORKS is not set
  373. +# CONFIG_CMD_ELF is not set
  374. +# CONFIG_CMD_XIMG is not set
  375. +# CONFIG_CMD_CRC32 is not set
  376. +# CONFIG_CMD_DM is not set
  377. +CONFIG_CMD_GPIO=y
  378. +# CONFIG_CMD_LOADS is not set
  379. +CONFIG_CMD_MMC=y
  380. +CONFIG_CMD_PART=y
  381. +# CONFIG_CMD_PINMUX is not set
  382. +CONFIG_CMD_SPI=y
  383. +# CONFIG_CMD_NFS is not set
  384. +CONFIG_DOS_PARTITION=y
  385. +# CONFIG_SPL_DOS_PARTITION is not set
  386. +# CONFIG_ISO_PARTITION is not set
  387. +CONFIG_EFI_PARTITION=y
  388. +# CONFIG_SPL_EFI_PARTITION is not set
  389. +CONFIG_PARTITION_TYPE_GUID=y
  390. +CONFIG_SYS_RELOC_GD_ENV_ADDR=y
  391. +CONFIG_NET_RANDOM_ETHADDR=y
  392. +# CONFIG_I2C is not set
  393. +# CONFIG_INPUT is not set
  394. +CONFIG_MMC=y
  395. +# CONFIG_MMC_QUIRKS is not set
  396. +# CONFIG_MMC_HW_PARTITIONING is not set
  397. +CONFIG_MMC_MTK=y
  398. +CONFIG_SF_DEFAULT_SPEED=20000000
  399. +CONFIG_SPI_FLASH_BAR=y
  400. +CONFIG_SPI_FLASH_EON=y
  401. +CONFIG_SPI_FLASH_GIGADEVICE=y
  402. +CONFIG_SPI_FLASH_ISSI=y
  403. +CONFIG_SPI_FLASH_MACRONIX=y
  404. +CONFIG_SPI_FLASH_SPANSION=y
  405. +CONFIG_SPI_FLASH_STMICRO=y
  406. +CONFIG_SPI_FLASH_WINBOND=y
  407. +CONFIG_SPI_FLASH_XMC=y
  408. +CONFIG_SPI_FLASH_XTX=y
  409. +CONFIG_MEDIATEK_ETH=y
  410. +CONFIG_PHY=y
  411. +CONFIG_PHY_MTK_TPHY=y
  412. +CONFIG_DEBUG_UART_SHIFT=2
  413. +CONFIG_SPI=y
  414. +CONFIG_MT7621_SPI=y
  415. +CONFIG_SYSRESET=y
  416. +CONFIG_SYSRESET_RESETCTL=y
  417. +CONFIG_WDT=y
  418. +CONFIG_WDT_MT7621=y
  419. +# CONFIG_BINMAN_FDT is not set
  420. +CONFIG_LZMA=y
  421. +# CONFIG_GZIP is not set
  422. +CONFIG_SPL_LZMA=y