100-20-board-mt7981-add-reference-board-using-new-spi-nand-.patch 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223
  1. From d5841f8707dcb7a1f73607de67ab45dba93a56a4 Mon Sep 17 00:00:00 2001
  2. From: Weijie Gao <[email protected]>
  3. Date: Fri, 29 Jul 2022 17:04:12 +0800
  4. Subject: [PATCH 55/71] board: mt7981: add reference board using new spi-nand
  5. driver
  6. Add a new reference board using new spi-nand driver for SPI-NAND flash on
  7. SNFI interface
  8. Signed-off-by: Weijie Gao <[email protected]>
  9. ---
  10. arch/arm/dts/Makefile | 1 +
  11. arch/arm/dts/mt7981-snfi-nand-rfb.dts | 132 +++++++++++++++++++++++++
  12. configs/mt7981_snfi_nand_rfb_defconfig | 57 +++++++++++
  13. 3 files changed, 190 insertions(+)
  14. create mode 100644 arch/arm/dts/mt7981-snfi-nand-rfb.dts
  15. create mode 100644 configs/mt7981_snfi_nand_rfb_defconfig
  16. --- a/arch/arm/dts/Makefile
  17. +++ b/arch/arm/dts/Makefile
  18. @@ -1425,6 +1425,7 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += \
  19. mt7623n-bananapi-bpi-r2.dtb \
  20. mt7629-rfb.dtb \
  21. mt7981-rfb.dtb \
  22. + mt7981-snfi-nand-rfb.dtb \
  23. mt7981-emmc-rfb.dtb \
  24. mt7981-sd-rfb.dtb \
  25. mt7986a-bpi-r3-sd.dtb \
  26. --- /dev/null
  27. +++ b/arch/arm/dts/mt7981-snfi-nand-rfb.dts
  28. @@ -0,0 +1,132 @@
  29. +// SPDX-License-Identifier: GPL-2.0
  30. +/*
  31. + * Copyright (c) 2021 MediaTek Inc.
  32. + * Author: Sam Shih <[email protected]>
  33. + */
  34. +
  35. +/dts-v1/;
  36. +#include "mt7981.dtsi"
  37. +#include <dt-bindings/gpio/gpio.h>
  38. +
  39. +/ {
  40. + #address-cells = <1>;
  41. + #size-cells = <1>;
  42. + model = "mt7981-rfb";
  43. + compatible = "mediatek,mt7981", "mediatek,mt7981-rfb";
  44. + chosen {
  45. + stdout-path = &uart0;
  46. + tick-timer = &timer0;
  47. + };
  48. +};
  49. +
  50. +&uart0 {
  51. + status = "okay";
  52. +};
  53. +
  54. +&uart1 {
  55. + pinctrl-names = "default";
  56. + pinctrl-0 = <&uart1_pins>;
  57. + status = "disabled";
  58. +};
  59. +
  60. +&eth {
  61. + status = "okay";
  62. + mediatek,gmac-id = <0>;
  63. + phy-mode = "sgmii";
  64. + mediatek,switch = "mt7531";
  65. + reset-gpios = <&gpio 39 GPIO_ACTIVE_HIGH>;
  66. +
  67. + fixed-link {
  68. + speed = <1000>;
  69. + full-duplex;
  70. + };
  71. +};
  72. +
  73. +&pinctrl {
  74. + snfi_pins: snfi-pins-func-1 {
  75. + mux {
  76. + function = "flash";
  77. + groups = "snfi";
  78. + };
  79. +
  80. + clk {
  81. + pins = "SPI0_CLK";
  82. + drive-strength = <MTK_DRIVE_8mA>;
  83. + bias-pull-down = <MTK_PUPD_SET_R1R0_00>;
  84. + };
  85. +
  86. + conf-pu {
  87. + pins = "SPI0_CS", "SPI0_HOLD", "SPI0_WP";
  88. + drive-strength = <MTK_DRIVE_6mA>;
  89. + bias-pull-up = <MTK_PUPD_SET_R1R0_00>;
  90. + };
  91. +
  92. + conf-pd {
  93. + pins = "SPI0_MOSI", "SPI0_MISO";
  94. + drive-strength = <MTK_DRIVE_6mA>;
  95. + bias-pull-down = <MTK_PUPD_SET_R1R0_00>;
  96. + };
  97. + };
  98. +
  99. + spic_pins: spi1-pins-func-1 {
  100. + mux {
  101. + function = "spi";
  102. + groups = "spi1_1";
  103. + };
  104. + };
  105. +
  106. + uart1_pins: spi1-pins-func-3 {
  107. + mux {
  108. + function = "uart";
  109. + groups = "uart1_2";
  110. + };
  111. + };
  112. +
  113. + /* pin15 as pwm0 */
  114. + one_pwm_pins: one-pwm-pins {
  115. + mux {
  116. + function = "pwm";
  117. + groups = "pwm0_1";
  118. + };
  119. + };
  120. +
  121. + /* pin15 as pwm0 and pin14 as pwm1 */
  122. + two_pwm_pins: two-pwm-pins {
  123. + mux {
  124. + function = "pwm";
  125. + groups = "pwm0_1", "pwm1_0";
  126. + };
  127. + };
  128. +
  129. + /* pin15 as pwm0, pin14 as pwm1, pin7 as pwm2 */
  130. + three_pwm_pins: three-pwm-pins {
  131. + mux {
  132. + function = "pwm";
  133. + groups = "pwm0_1", "pwm1_0", "pwm2";
  134. + };
  135. + };
  136. +
  137. + mmc0_pins_default: mmc0default {
  138. + mux {
  139. + function = "flash";
  140. + groups = "emmc_45";
  141. + };
  142. + };
  143. +};
  144. +
  145. +&snand {
  146. + pinctrl-names = "default";
  147. + pinctrl-0 = <&snfi_pins>;
  148. + status = "okay";
  149. + quad-spi;
  150. +};
  151. +
  152. +&pwm {
  153. + pinctrl-names = "default";
  154. + pinctrl-0 = <&two_pwm_pins>;
  155. + status = "okay";
  156. +};
  157. +
  158. +&watchdog {
  159. + status = "disabled";
  160. +};
  161. --- /dev/null
  162. +++ b/configs/mt7981_snfi_nand_rfb_defconfig
  163. @@ -0,0 +1,57 @@
  164. +CONFIG_ARM=y
  165. +CONFIG_POSITION_INDEPENDENT=y
  166. +CONFIG_ARCH_MEDIATEK=y
  167. +CONFIG_TEXT_BASE=0x41e00000
  168. +CONFIG_SYS_MALLOC_F_LEN=0x4000
  169. +CONFIG_NR_DRAM_BANKS=1
  170. +CONFIG_ENV_SIZE=0x20000
  171. +CONFIG_DEFAULT_DEVICE_TREE="mt7981-snfi-nand-rfb"
  172. +CONFIG_TARGET_MT7981=y
  173. +CONFIG_DEBUG_UART_BASE=0x11002000
  174. +CONFIG_DEBUG_UART_CLOCK=40000000
  175. +CONFIG_SYS_LOAD_ADDR=0x46000000
  176. +CONFIG_DEBUG_UART=y
  177. +# CONFIG_AUTOBOOT is not set
  178. +CONFIG_DEFAULT_FDT_FILE="mt7981-snfi-nand-rfb"
  179. +CONFIG_LOGLEVEL=7
  180. +CONFIG_LOG=y
  181. +CONFIG_SYS_PROMPT="MT7981> "
  182. +CONFIG_SYS_CBSIZE=512
  183. +CONFIG_SYS_PBSIZE=1049
  184. +# CONFIG_BOOTM_NETBSD is not set
  185. +# CONFIG_BOOTM_PLAN9 is not set
  186. +# CONFIG_BOOTM_RTEMS is not set
  187. +# CONFIG_BOOTM_VXWORKS is not set
  188. +# CONFIG_CMD_ELF is not set
  189. +# CONFIG_CMD_UNLZ4 is not set
  190. +# CONFIG_CMD_UNZIP is not set
  191. +CONFIG_CMD_GPIO=y
  192. +CONFIG_CMD_MTD=y
  193. +CONFIG_CMD_PING=y
  194. +CONFIG_CMD_SMC=y
  195. +CONFIG_MTDIDS_DEFAULT="spi-nand0=spi-nand0"
  196. +CONFIG_MTDPARTS_DEFAULT="spi-nand0:1024k(bl2),512k(u-boot-env),2048k(factory),2048k(fip),65536k(ubi)"
  197. +CONFIG_CMD_UBI=y
  198. +CONFIG_CMD_UBI_RENAME=y
  199. +CONFIG_ENV_OVERWRITE=y
  200. +CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
  201. +CONFIG_NET_RANDOM_ETHADDR=y
  202. +CONFIG_REGMAP=y
  203. +CONFIG_SYSCON=y
  204. +CONFIG_CLK=y
  205. +# CONFIG_MMC is not set
  206. +CONFIG_MTD=y
  207. +CONFIG_DM_MTD=y
  208. +CONFIG_MTK_SPI_NAND=y
  209. +CONFIG_MTK_SPI_NAND_MTD=y
  210. +CONFIG_PHY_FIXED=y
  211. +CONFIG_DM_ETH=y
  212. +CONFIG_MEDIATEK_ETH=y
  213. +CONFIG_PINCTRL=y
  214. +CONFIG_PINCONF=y
  215. +CONFIG_PINCTRL_MT7981=y
  216. +CONFIG_POWER_DOMAIN=y
  217. +CONFIG_MTK_POWER_DOMAIN=y
  218. +CONFIG_DM_SERIAL=y
  219. +CONFIG_MTK_SERIAL=y
  220. +CONFIG_HEXDUMP=y