002-0003-board-mediatek-add-MT7986-reference-boards.patch 24 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148
  1. From ab3f81920b4e47bd2894388540363700d5b1e59c Mon Sep 17 00:00:00 2001
  2. From: Weijie Gao <[email protected]>
  3. Date: Fri, 29 Jul 2022 15:26:31 +0800
  4. Subject: [PATCH 03/31] board: mediatek: add MT7986 reference boards
  5. Add general board files based on MT7986 SoCs.
  6. MT7986 uses one mmc controller for booting from both SD and eMMC.
  7. Both MT7986A and MT7986B use the same pins for spi controller.
  8. Configs for various boot types:
  9. 1. mt7986_rfb_defconfig - SPI-NOR and SPI-NAND for MT7986A/B
  10. 2. mt7986a_bpir3_emmc_defconfig - eMMC for MT7986A only
  11. 3. mt7986a_bpir3_sd_defconfig - SD for MT7986A only
  12. Reviewed-by: Simon Glass <[email protected]>
  13. Signed-off-by: Weijie Gao <[email protected]>
  14. ---
  15. arch/arm/dts/Makefile | 6 +
  16. arch/arm/dts/mt7986a-emmc-rfb.dts | 16 ++
  17. arch/arm/dts/mt7986a-rfb.dts | 218 +++++++++++++++++++++++++++
  18. arch/arm/dts/mt7986a-sd-rfb.dts | 177 ++++++++++++++++++++++
  19. arch/arm/dts/mt7986b-emmc-rfb.dts | 16 ++
  20. arch/arm/dts/mt7986b-rfb.dts | 204 +++++++++++++++++++++++++
  21. arch/arm/dts/mt7986b-sd-rfb.dts | 173 +++++++++++++++++++++
  22. board/mediatek/mt7986/MAINTAINERS | 10 ++
  23. board/mediatek/mt7986/Makefile | 3 +
  24. board/mediatek/mt7986/mt7986_rfb.c | 10 ++
  25. configs/mt7986_rfb_defconfig | 66 ++++++++
  26. configs/mt7986a_bpir3_emmc_defconfig | 64 ++++++++
  27. configs/mt7986a_bpir3_sd_defconfig | 64 ++++++++
  28. include/configs/mt7986.h | 26 ++++
  29. 14 files changed, 1053 insertions(+)
  30. create mode 100644 arch/arm/dts/mt7986a-emmc-rfb.dts
  31. create mode 100644 arch/arm/dts/mt7986a-rfb.dts
  32. create mode 100644 arch/arm/dts/mt7986a-sd-rfb.dts
  33. create mode 100644 arch/arm/dts/mt7986b-emmc-rfb.dts
  34. create mode 100644 arch/arm/dts/mt7986b-rfb.dts
  35. create mode 100644 arch/arm/dts/mt7986b-sd-rfb.dts
  36. create mode 100644 board/mediatek/mt7986/MAINTAINERS
  37. create mode 100644 board/mediatek/mt7986/Makefile
  38. create mode 100644 board/mediatek/mt7986/mt7986_rfb.c
  39. create mode 100644 configs/mt7986_rfb_defconfig
  40. create mode 100644 configs/mt7986a_bpir3_emmc_defconfig
  41. create mode 100644 configs/mt7986a_bpir3_sd_defconfig
  42. create mode 100644 include/configs/mt7986.h
  43. --- a/arch/arm/dts/Makefile
  44. +++ b/arch/arm/dts/Makefile
  45. @@ -1205,6 +1205,12 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += \
  46. mt7622-bananapi-bpi-r64.dtb \
  47. mt7623n-bananapi-bpi-r2.dtb \
  48. mt7629-rfb.dtb \
  49. + mt7986a-rfb.dtb \
  50. + mt7986b-rfb.dtb \
  51. + mt7986a-sd-rfb.dtb \
  52. + mt7986b-sd-rfb.dtb \
  53. + mt7986a-emmc-rfb.dtb \
  54. + mt7986b-emmc-rfb.dtb \
  55. mt8183-pumpkin.dtb \
  56. mt8512-bm1-emmc.dtb \
  57. mt8516-pumpkin.dtb \
  58. --- /dev/null
  59. +++ b/arch/arm/dts/mt7986a-emmc-rfb.dts
  60. @@ -0,0 +1,16 @@
  61. +// SPDX-License-Identifier: GPL-2.0
  62. +/*
  63. + * Copyright (c) 2022 MediaTek Inc.
  64. + * Author: Sam Shih <[email protected]>
  65. + */
  66. +
  67. +/dts-v1/;
  68. +#include "mt7986a-rfb.dts"
  69. +
  70. +/ {
  71. + compatible = "mediatek,mt7986", "mediatek,mt7986-rfb",
  72. + "mediatek,mt7986-emmc-rfb";
  73. + bl2_verify {
  74. + bl2_compatible = "emmc";
  75. + };
  76. +};
  77. --- /dev/null
  78. +++ b/arch/arm/dts/mt7986a-rfb.dts
  79. @@ -0,0 +1,218 @@
  80. +// SPDX-License-Identifier: GPL-2.0
  81. +/*
  82. + * Copyright (c) 2022 MediaTek Inc.
  83. + * Author: Sam Shih <[email protected]>
  84. + */
  85. +
  86. +/dts-v1/;
  87. +#include "mt7986.dtsi"
  88. +#include <dt-bindings/gpio/gpio.h>
  89. +
  90. +/ {
  91. + #address-cells = <1>;
  92. + #size-cells = <1>;
  93. + model = "mt7986-rfb";
  94. + compatible = "mediatek,mt7986", "mediatek,mt7986-rfb";
  95. + chosen {
  96. + stdout-path = &uart0;
  97. + tick-timer = &timer0;
  98. + };
  99. +
  100. + reg_1p8v: regulator-1p8v {
  101. + compatible = "regulator-fixed";
  102. + regulator-name = "fixed-1.8V";
  103. + regulator-min-microvolt = <1800000>;
  104. + regulator-max-microvolt = <1800000>;
  105. + regulator-boot-on;
  106. + regulator-always-on;
  107. + };
  108. +
  109. + reg_3p3v: regulator-3p3v {
  110. + compatible = "regulator-fixed";
  111. + regulator-name = "fixed-3.3V";
  112. + regulator-min-microvolt = <3300000>;
  113. + regulator-max-microvolt = <3300000>;
  114. + regulator-boot-on;
  115. + regulator-always-on;
  116. + };
  117. +};
  118. +
  119. +&uart0 {
  120. + status = "okay";
  121. +};
  122. +
  123. +&uart1 {
  124. + pinctrl-names = "default";
  125. + pinctrl-0 = <&uart1_pins>;
  126. + status = "disabled";
  127. +};
  128. +
  129. +&eth {
  130. + status = "okay";
  131. + mediatek,gmac-id = <0>;
  132. + phy-mode = "sgmii";
  133. + mediatek,switch = "mt7531";
  134. + reset-gpios = <&gpio 5 GPIO_ACTIVE_HIGH>;
  135. +
  136. + fixed-link {
  137. + speed = <1000>;
  138. + full-duplex;
  139. + };
  140. +};
  141. +
  142. +&pinctrl {
  143. + spi_flash_pins: spi0-pins-func-1 {
  144. + mux {
  145. + function = "flash";
  146. + groups = "spi0", "spi0_wp_hold";
  147. + };
  148. +
  149. + conf-pu {
  150. + pins = "SPI2_CS", "SPI2_HOLD", "SPI2_WP";
  151. + drive-strength = <MTK_DRIVE_8mA>;
  152. + bias-pull-up = <MTK_PUPD_SET_R1R0_11>;
  153. + };
  154. +
  155. + conf-pd {
  156. + pins = "SPI2_CLK", "SPI2_MOSI", "SPI2_MISO";
  157. + drive-strength = <MTK_DRIVE_8mA>;
  158. + bias-pull-down = <MTK_PUPD_SET_R1R0_11>;
  159. + };
  160. + };
  161. +
  162. + snfi_pins: snfi-pins-func-1 {
  163. + mux {
  164. + function = "flash";
  165. + groups = "snfi";
  166. + };
  167. +
  168. + clk {
  169. + pins = "SPI0_CLK";
  170. + drive-strength = <MTK_DRIVE_8mA>;
  171. + bias-pull-down = <MTK_PUPD_SET_R1R0_00>;
  172. + };
  173. +
  174. + conf-pu {
  175. + pins = "SPI0_CS", "SPI0_HOLD", "SPI0_WP";
  176. + drive-strength = <MTK_DRIVE_6mA>;
  177. + bias-pull-up = <MTK_PUPD_SET_R1R0_00>;
  178. + };
  179. +
  180. + conf-pd {
  181. + pins = "SPI0_MOSI", "SPI0_MISO";
  182. + drive-strength = <MTK_DRIVE_6mA>;
  183. + bias-pull-down = <MTK_PUPD_SET_R1R0_00>;
  184. + };
  185. + };
  186. +
  187. + spic_pins: spi1-pins-func-1 {
  188. + mux {
  189. + function = "spi";
  190. + groups = "spi1_2";
  191. + };
  192. + };
  193. +
  194. + uart1_pins: spi1-pins-func-3 {
  195. + mux {
  196. + function = "uart";
  197. + groups = "uart1_2";
  198. + };
  199. + };
  200. +
  201. + pwm_pins: pwm0-pins-func-1 {
  202. + mux {
  203. + function = "pwm";
  204. + groups = "pwm0";
  205. + };
  206. + };
  207. +
  208. + mmc0_pins_default: mmc0default {
  209. + mux {
  210. + function = "flash";
  211. + groups = "emmc_51";
  212. + };
  213. +
  214. + conf-cmd-dat {
  215. + pins = "EMMC_DATA_0", "EMMC_DATA_1", "EMMC_DATA_2",
  216. + "EMMC_DATA_3", "EMMC_DATA_4", "EMMC_DATA_5",
  217. + "EMMC_DATA_6", "EMMC_DATA_7", "EMMC_CMD";
  218. + input-enable;
  219. + drive-strength = <MTK_DRIVE_4mA>;
  220. + bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
  221. + };
  222. +
  223. + conf-clk {
  224. + pins = "EMMC_CK";
  225. + drive-strength = <MTK_DRIVE_6mA>;
  226. + bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
  227. + };
  228. +
  229. + conf-dsl {
  230. + pins = "EMMC_DSL";
  231. + bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
  232. + };
  233. +
  234. + conf-rst {
  235. + pins = "EMMC_RSTB";
  236. + drive-strength = <MTK_DRIVE_4mA>;
  237. + bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
  238. + };
  239. + };
  240. +};
  241. +
  242. +&snand {
  243. + pinctrl-names = "default";
  244. + pinctrl-0 = <&snfi_pins>;
  245. + status = "okay";
  246. + quad-spi;
  247. +};
  248. +
  249. +&spi0 {
  250. + #address-cells = <1>;
  251. + #size-cells = <0>;
  252. + pinctrl-names = "default";
  253. + pinctrl-0 = <&spi_flash_pins>;
  254. + status = "okay";
  255. + must_tx;
  256. + enhance_timing;
  257. + dma_ext;
  258. + ipm_design;
  259. + support_quad;
  260. + tick_dly = <2>;
  261. + sample_sel = <0>;
  262. +
  263. + spi_nor@0 {
  264. + compatible = "jedec,spi-nor";
  265. + reg = <0>;
  266. + spi-max-frequency = <52000000>;
  267. + };
  268. +
  269. + spi_nand@1 {
  270. + compatible = "spi-nand";
  271. + reg = <1>;
  272. + spi-max-frequency = <52000000>;
  273. + };
  274. +};
  275. +
  276. +&pwm {
  277. + pinctrl-names = "default";
  278. + pinctrl-0 = <&pwm_pins>;
  279. + status = "okay";
  280. +};
  281. +
  282. +&watchdog {
  283. + status = "disabled";
  284. +};
  285. +
  286. +&mmc0 {
  287. + pinctrl-names = "default";
  288. + pinctrl-0 = <&mmc0_pins_default>;
  289. + bus-width = <8>;
  290. + max-frequency = <52000000>;
  291. + cap-mmc-highspeed;
  292. + cap-mmc-hw-reset;
  293. + vmmc-supply = <&reg_3p3v>;
  294. + vqmmc-supply = <&reg_1p8v>;
  295. + non-removable;
  296. + status = "okay";
  297. +};
  298. --- /dev/null
  299. +++ b/arch/arm/dts/mt7986a-sd-rfb.dts
  300. @@ -0,0 +1,177 @@
  301. +// SPDX-License-Identifier: GPL-2.0
  302. +/*
  303. + * Copyright (c) 2022 MediaTek Inc.
  304. + * Author: Sam Shih <[email protected]>
  305. + */
  306. +
  307. +/dts-v1/;
  308. +#include "mt7986.dtsi"
  309. +#include <dt-bindings/gpio/gpio.h>
  310. +
  311. +/ {
  312. + #address-cells = <1>;
  313. + #size-cells = <1>;
  314. + model = "mt7986-rfb";
  315. + compatible = "mediatek,mt7986", "mediatek,mt7986-rfb",
  316. + "mediatek,mt7986-sd-rfb";
  317. + chosen {
  318. + stdout-path = &uart0;
  319. + tick-timer = &timer0;
  320. + };
  321. +
  322. + reg_3p3v: regulator-3p3v {
  323. + compatible = "regulator-fixed";
  324. + regulator-name = "fixed-3.3V";
  325. + regulator-min-microvolt = <3300000>;
  326. + regulator-max-microvolt = <3300000>;
  327. + regulator-boot-on;
  328. + regulator-always-on;
  329. + };
  330. +};
  331. +
  332. +&uart0 {
  333. + status = "okay";
  334. +};
  335. +
  336. +&uart1 {
  337. + pinctrl-names = "default";
  338. + pinctrl-0 = <&uart1_pins>;
  339. + status = "disabled";
  340. +};
  341. +
  342. +&eth {
  343. + status = "okay";
  344. + mediatek,gmac-id = <0>;
  345. + phy-mode = "sgmii";
  346. + mediatek,switch = "mt7531";
  347. + reset-gpios = <&gpio 5 GPIO_ACTIVE_HIGH>;
  348. +
  349. + fixed-link {
  350. + speed = <1000>;
  351. + full-duplex;
  352. + };
  353. +};
  354. +
  355. +&pinctrl {
  356. + spi_flash_pins: spi0-pins-func-1 {
  357. + mux {
  358. + function = "flash";
  359. + groups = "spi0", "spi0_wp_hold";
  360. + };
  361. +
  362. + conf-pu {
  363. + pins = "SPI2_CS", "SPI2_HOLD", "SPI2_WP";
  364. + drive-strength = <MTK_DRIVE_8mA>;
  365. + bias-pull-up = <MTK_PUPD_SET_R1R0_11>;
  366. + };
  367. +
  368. + conf-pd {
  369. + pins = "SPI2_CLK", "SPI2_MOSI", "SPI2_MISO";
  370. + drive-strength = <MTK_DRIVE_8mA>;
  371. + bias-pull-down = <MTK_PUPD_SET_R1R0_11>;
  372. + };
  373. + };
  374. +
  375. + spic_pins: spi1-pins-func-1 {
  376. + mux {
  377. + function = "spi";
  378. + groups = "spi1_2";
  379. + };
  380. + };
  381. +
  382. + uart1_pins: spi1-pins-func-3 {
  383. + mux {
  384. + function = "uart";
  385. + groups = "uart1_2";
  386. + };
  387. + };
  388. +
  389. + pwm_pins: pwm0-pins-func-1 {
  390. + mux {
  391. + function = "pwm";
  392. + groups = "pwm0";
  393. + };
  394. + };
  395. +
  396. + mmc0_pins_default: mmc0default {
  397. + mux {
  398. + function = "flash";
  399. + groups = "emmc_51";
  400. + };
  401. +
  402. + conf-cmd-dat {
  403. + pins = "EMMC_DATA_0", "EMMC_DATA_1", "EMMC_DATA_2",
  404. + "EMMC_DATA_3", "EMMC_DATA_4", "EMMC_DATA_5",
  405. + "EMMC_DATA_6", "EMMC_DATA_7", "EMMC_CMD";
  406. + input-enable;
  407. + drive-strength = <MTK_DRIVE_4mA>;
  408. + bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
  409. + };
  410. +
  411. + conf-clk {
  412. + pins = "EMMC_CK";
  413. + drive-strength = <MTK_DRIVE_6mA>;
  414. + bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
  415. + };
  416. +
  417. + conf-dsl {
  418. + pins = "EMMC_DSL";
  419. + bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
  420. + };
  421. +
  422. + conf-rst {
  423. + pins = "EMMC_RSTB";
  424. + drive-strength = <MTK_DRIVE_4mA>;
  425. + bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
  426. + };
  427. + };
  428. +};
  429. +
  430. +&spi0 {
  431. + #address-cells = <1>;
  432. + #size-cells = <0>;
  433. + pinctrl-names = "default";
  434. + pinctrl-0 = <&spi_flash_pins>;
  435. + status = "okay";
  436. + must_tx;
  437. + enhance_timing;
  438. + dma_ext;
  439. + ipm_design;
  440. + support_quad;
  441. + tick_dly = <2>;
  442. + sample_sel = <0>;
  443. +
  444. + spi_nor@0 {
  445. + compatible = "jedec,spi-nor";
  446. + reg = <0>;
  447. + spi-max-frequency = <52000000>;
  448. + };
  449. +
  450. + spi_nand@1 {
  451. + compatible = "spi-nand";
  452. + reg = <1>;
  453. + spi-max-frequency = <52000000>;
  454. + };
  455. +};
  456. +
  457. +&pwm {
  458. + pinctrl-names = "default";
  459. + pinctrl-0 = <&pwm_pins>;
  460. + status = "okay";
  461. +};
  462. +
  463. +&watchdog {
  464. + status = "disabled";
  465. +};
  466. +
  467. +&mmc0 {
  468. + pinctrl-names = "default";
  469. + pinctrl-0 = <&mmc0_pins_default>;
  470. + bus-width = <4>;
  471. + max-frequency = <52000000>;
  472. + cap-sd-highspeed;
  473. + r_smpl = <1>;
  474. + vmmc-supply = <&reg_3p3v>;
  475. + vqmmc-supply = <&reg_3p3v>;
  476. + status = "okay";
  477. +};
  478. --- /dev/null
  479. +++ b/arch/arm/dts/mt7986b-emmc-rfb.dts
  480. @@ -0,0 +1,16 @@
  481. +// SPDX-License-Identifier: GPL-2.0
  482. +/*
  483. + * Copyright (c) 2022 MediaTek Inc.
  484. + * Author: Sam Shih <[email protected]>
  485. + */
  486. +
  487. +/dts-v1/;
  488. +#include "mt7986a-rfb.dts"
  489. +
  490. +/ {
  491. + compatible = "mediatek,mt7986", "mediatek,mt7986-rfb",
  492. + "mediatek,mt7986-emmc-rfb";
  493. + bl2_verify {
  494. + bl2_compatible = "emmc";
  495. + };
  496. +};
  497. --- /dev/null
  498. +++ b/arch/arm/dts/mt7986b-rfb.dts
  499. @@ -0,0 +1,204 @@
  500. +// SPDX-License-Identifier: GPL-2.0
  501. +/*
  502. + * Copyright (c) 2022 MediaTek Inc.
  503. + * Author: Sam Shih <[email protected]>
  504. + */
  505. +
  506. +/dts-v1/;
  507. +#include "mt7986.dtsi"
  508. +#include <dt-bindings/gpio/gpio.h>
  509. +
  510. +/ {
  511. + #address-cells = <1>;
  512. + #size-cells = <1>;
  513. + model = "mt7986-rfb";
  514. + compatible = "mediatek,mt7986", "mediatek,mt7986-rfb";
  515. + chosen {
  516. + stdout-path = &uart0;
  517. + tick-timer = &timer0;
  518. + };
  519. +
  520. + reg_3p3v: regulator-3p3v {
  521. + compatible = "regulator-fixed";
  522. + regulator-name = "fixed-3.3V";
  523. + regulator-min-microvolt = <3300000>;
  524. + regulator-max-microvolt = <3300000>;
  525. + regulator-boot-on;
  526. + regulator-always-on;
  527. + };
  528. +};
  529. +
  530. +&uart0 {
  531. + status = "okay";
  532. +};
  533. +
  534. +&uart1 {
  535. + pinctrl-names = "default";
  536. + pinctrl-0 = <&uart1_pins>;
  537. + status = "disabled";
  538. +};
  539. +
  540. +&eth {
  541. + status = "okay";
  542. + mediatek,gmac-id = <0>;
  543. + phy-mode = "sgmii";
  544. + mediatek,switch = "mt7531";
  545. + reset-gpios = <&gpio 5 GPIO_ACTIVE_HIGH>;
  546. +
  547. + fixed-link {
  548. + speed = <1000>;
  549. + full-duplex;
  550. + };
  551. +};
  552. +
  553. +&pinctrl {
  554. + spi_flash_pins: spi0-pins-func-1 {
  555. + mux {
  556. + function = "flash";
  557. + groups = "spi0", "spi0_wp_hold";
  558. + };
  559. +
  560. + conf-pu {
  561. + pins = "SPI2_CS", "SPI2_HOLD", "SPI2_WP";
  562. + drive-strength = <MTK_DRIVE_8mA>;
  563. + bias-pull-up = <MTK_PUPD_SET_R1R0_11>;
  564. + };
  565. +
  566. + conf-pd {
  567. + pins = "SPI2_CLK", "SPI2_MOSI", "SPI2_MISO";
  568. + drive-strength = <MTK_DRIVE_8mA>;
  569. + bias-pull-down = <MTK_PUPD_SET_R1R0_11>;
  570. + };
  571. + };
  572. +
  573. + snfi_pins: snfi-pins-func-1 {
  574. + mux {
  575. + function = "flash";
  576. + groups = "snfi";
  577. + };
  578. +
  579. + clk {
  580. + pins = "SPI0_CLK";
  581. + drive-strength = <MTK_DRIVE_8mA>;
  582. + bias-pull-down = <MTK_PUPD_SET_R1R0_00>;
  583. + };
  584. +
  585. + conf-pu {
  586. + pins = "SPI0_CS", "SPI0_HOLD", "SPI0_WP";
  587. + drive-strength = <MTK_DRIVE_6mA>;
  588. + bias-pull-up = <MTK_PUPD_SET_R1R0_00>;
  589. + };
  590. +
  591. + conf-pd {
  592. + pins = "SPI0_MOSI", "SPI0_MISO";
  593. + drive-strength = <MTK_DRIVE_6mA>;
  594. + bias-pull-down = <MTK_PUPD_SET_R1R0_00>;
  595. + };
  596. + };
  597. +
  598. + spic_pins: spi1-pins-func-1 {
  599. + mux {
  600. + function = "spi";
  601. + groups = "spi1_2";
  602. + };
  603. + };
  604. +
  605. + uart1_pins: spi1-pins-func-3 {
  606. + mux {
  607. + function = "uart";
  608. + groups = "uart1_2";
  609. + };
  610. + };
  611. +
  612. + pwm_pins: pwm0-pins-func-1 {
  613. + mux {
  614. + function = "pwm";
  615. + groups = "pwm0";
  616. + };
  617. + };
  618. +
  619. + mmc0_pins_default: mmc0default {
  620. + mux {
  621. + function = "flash";
  622. + groups = "emmc_45";
  623. + input-schmitt-enable;
  624. + };
  625. +
  626. + conf-cmd-dat {
  627. + pins = "SPI0_CLK", "SPI0_MOSI", "SPI0_MISO",
  628. + "SPI0_CS", "SPI0_HOLD", "SPI0_WP",
  629. + "SPI1_CLK", "SPI1_MOSI", "SPI1_MISO";
  630. + input-enable;
  631. + drive-strength = <MTK_DRIVE_4mA>;
  632. + bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
  633. + };
  634. +
  635. + conf-clk {
  636. + pins = "SPI1_CS";
  637. + drive-strength = <MTK_DRIVE_6mA>;
  638. + bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
  639. + };
  640. +
  641. + conf-rst {
  642. + pins = "PWM1";
  643. + drive-strength = <MTK_DRIVE_4mA>;
  644. + bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
  645. + };
  646. + };
  647. +};
  648. +
  649. +&snand {
  650. + pinctrl-names = "default";
  651. + pinctrl-0 = <&snfi_pins>;
  652. + status = "okay";
  653. + quad-spi;
  654. +};
  655. +
  656. +&spi0 {
  657. + #address-cells = <1>;
  658. + #size-cells = <0>;
  659. + pinctrl-names = "default";
  660. + pinctrl-0 = <&spi_flash_pins>;
  661. + status = "okay";
  662. + must_tx;
  663. + enhance_timing;
  664. + dma_ext;
  665. + ipm_design;
  666. + support_quad;
  667. + tick_dly = <2>;
  668. + sample_sel = <0>;
  669. +
  670. + spi_nor@0 {
  671. + compatible = "jedec,spi-nor";
  672. + reg = <0>;
  673. + spi-max-frequency = <52000000>;
  674. + };
  675. +
  676. + spi_nand@1 {
  677. + compatible = "spi-nand";
  678. + reg = <1>;
  679. + spi-max-frequency = <52000000>;
  680. + };
  681. +};
  682. +
  683. +&pwm {
  684. + pinctrl-names = "default";
  685. + pinctrl-0 = <&pwm_pins>;
  686. + status = "okay";
  687. +};
  688. +
  689. +&watchdog {
  690. + status = "disabled";
  691. +};
  692. +
  693. +&mmc0 {
  694. + pinctrl-names = "default";
  695. + pinctrl-0 = <&mmc0_pins_default>;
  696. + bus-width = <8>;
  697. + max-frequency = <52000000>;
  698. + cap-mmc-highspeed;
  699. + cap-mmc-hw-reset;
  700. + vmmc-supply = <&reg_3p3v>;
  701. + non-removable;
  702. + status = "okay";
  703. +};
  704. --- /dev/null
  705. +++ b/arch/arm/dts/mt7986b-sd-rfb.dts
  706. @@ -0,0 +1,173 @@
  707. +// SPDX-License-Identifier: GPL-2.0
  708. +/*
  709. + * Copyright (c) 2022 MediaTek Inc.
  710. + * Author: Sam Shih <[email protected]>
  711. + */
  712. +
  713. +/dts-v1/;
  714. +#include "mt7986.dtsi"
  715. +#include <dt-bindings/gpio/gpio.h>
  716. +
  717. +/ {
  718. + #address-cells = <1>;
  719. + #size-cells = <1>;
  720. + model = "mt7986-rfb";
  721. + compatible = "mediatek,mt7986", "mediatek,mt7986-rfb",
  722. + "mediatek,mt7986-sd-rfb";
  723. + chosen {
  724. + stdout-path = &uart0;
  725. + tick-timer = &timer0;
  726. + };
  727. +
  728. + reg_3p3v: regulator-3p3v {
  729. + compatible = "regulator-fixed";
  730. + regulator-name = "fixed-3.3V";
  731. + regulator-min-microvolt = <3300000>;
  732. + regulator-max-microvolt = <3300000>;
  733. + regulator-boot-on;
  734. + regulator-always-on;
  735. + };
  736. +};
  737. +
  738. +&uart0 {
  739. + status = "okay";
  740. +};
  741. +
  742. +&uart1 {
  743. + pinctrl-names = "default";
  744. + pinctrl-0 = <&uart1_pins>;
  745. + status = "disabled";
  746. +};
  747. +
  748. +&eth {
  749. + status = "okay";
  750. + mediatek,gmac-id = <0>;
  751. + phy-mode = "sgmii";
  752. + mediatek,switch = "mt7531";
  753. + reset-gpios = <&gpio 5 GPIO_ACTIVE_HIGH>;
  754. +
  755. + fixed-link {
  756. + speed = <1000>;
  757. + full-duplex;
  758. + };
  759. +};
  760. +
  761. +&pinctrl {
  762. + spi_flash_pins: spi0-pins-func-1 {
  763. + mux {
  764. + function = "flash";
  765. + groups = "spi0", "spi0_wp_hold";
  766. + };
  767. +
  768. + conf-pu {
  769. + pins = "SPI2_CS", "SPI2_HOLD", "SPI2_WP";
  770. + drive-strength = <MTK_DRIVE_8mA>;
  771. + bias-pull-up = <MTK_PUPD_SET_R1R0_11>;
  772. + };
  773. +
  774. + conf-pd {
  775. + pins = "SPI2_CLK", "SPI2_MOSI", "SPI2_MISO";
  776. + drive-strength = <MTK_DRIVE_8mA>;
  777. + bias-pull-down = <MTK_PUPD_SET_R1R0_11>;
  778. + };
  779. + };
  780. +
  781. + spic_pins: spi1-pins-func-1 {
  782. + mux {
  783. + function = "spi";
  784. + groups = "spi1_2";
  785. + };
  786. + };
  787. +
  788. + uart1_pins: spi1-pins-func-3 {
  789. + mux {
  790. + function = "uart";
  791. + groups = "uart1_2";
  792. + };
  793. + };
  794. +
  795. + pwm_pins: pwm0-pins-func-1 {
  796. + mux {
  797. + function = "pwm";
  798. + groups = "pwm0";
  799. + };
  800. + };
  801. +
  802. + mmc0_pins_default: mmc0default {
  803. + mux {
  804. + function = "flash";
  805. + groups = "emmc_45";
  806. + input-schmitt-enable;
  807. + };
  808. +
  809. + conf-cmd-dat {
  810. + pins = "SPI0_CLK", "SPI0_MOSI", "SPI0_MISO",
  811. + "SPI0_CS", "SPI0_HOLD", "SPI0_WP",
  812. + "SPI1_CLK", "SPI1_MOSI", "SPI1_MISO";
  813. + input-enable;
  814. + drive-strength = <MTK_DRIVE_4mA>;
  815. + bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
  816. + };
  817. +
  818. + conf-clk {
  819. + pins = "SPI1_CS";
  820. + drive-strength = <MTK_DRIVE_6mA>;
  821. + bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
  822. + };
  823. +
  824. + conf-rst {
  825. + pins = "PWM1";
  826. + drive-strength = <MTK_DRIVE_4mA>;
  827. + bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
  828. + };
  829. + };
  830. +};
  831. +
  832. +&spi0 {
  833. + #address-cells = <1>;
  834. + #size-cells = <0>;
  835. + pinctrl-names = "default";
  836. + pinctrl-0 = <&spi_flash_pins>;
  837. + status = "okay";
  838. + must_tx;
  839. + enhance_timing;
  840. + dma_ext;
  841. + ipm_design;
  842. + support_quad;
  843. + tick_dly = <2>;
  844. + sample_sel = <0>;
  845. +
  846. + spi_nor@0 {
  847. + compatible = "jedec,spi-nor";
  848. + reg = <0>;
  849. + spi-max-frequency = <52000000>;
  850. + };
  851. +
  852. + spi_nand@1 {
  853. + compatible = "spi-nand";
  854. + reg = <1>;
  855. + spi-max-frequency = <52000000>;
  856. + };
  857. +};
  858. +
  859. +&pwm {
  860. + pinctrl-names = "default";
  861. + pinctrl-0 = <&pwm_pins>;
  862. + status = "okay";
  863. +};
  864. +
  865. +&watchdog {
  866. + status = "disabled";
  867. +};
  868. +
  869. +&mmc0 {
  870. + pinctrl-names = "default";
  871. + pinctrl-0 = <&mmc0_pins_default>;
  872. + bus-width = <4>;
  873. + max-frequency = <52000000>;
  874. + cap-sd-highspeed;
  875. + r_smpl = <1>;
  876. + vmmc-supply = <&reg_3p3v>;
  877. + vqmmc-supply = <&reg_3p3v>;
  878. + status = "okay";
  879. +};
  880. --- /dev/null
  881. +++ b/board/mediatek/mt7986/MAINTAINERS
  882. @@ -0,0 +1,10 @@
  883. +MT7986
  884. +M: Sam Shih <[email protected]>
  885. +S: Maintained
  886. +F: board/mediatek/mt7986
  887. +F: include/configs/mt7986.h
  888. +F: configs/mt7986_rfb_defconfig
  889. +F: configs/mt7986a_emmc_rfb_defconfig
  890. +F: configs/mt7986a_sd_rfb_defconfig
  891. +F: configs/mt7986b_emmc_rfb_defconfig
  892. +F: configs/mt7986b_sd_rfb_defconfig
  893. --- /dev/null
  894. +++ b/board/mediatek/mt7986/Makefile
  895. @@ -0,0 +1,3 @@
  896. +# SPDX-License-Identifier: GPL-2.0
  897. +
  898. +obj-y += mt7986_rfb.o
  899. --- /dev/null
  900. +++ b/board/mediatek/mt7986/mt7986_rfb.c
  901. @@ -0,0 +1,10 @@
  902. +// SPDX-License-Identifier: GPL-2.0
  903. +/*
  904. + * Copyright (C) 2022 MediaTek Inc.
  905. + * Author: Sam Shih <[email protected]>
  906. + */
  907. +
  908. +int board_init(void)
  909. +{
  910. + return 0;
  911. +}
  912. --- /dev/null
  913. +++ b/configs/mt7986_rfb_defconfig
  914. @@ -0,0 +1,66 @@
  915. +CONFIG_ARM=y
  916. +CONFIG_POSITION_INDEPENDENT=y
  917. +CONFIG_ARCH_MEDIATEK=y
  918. +CONFIG_SYS_TEXT_BASE=0x41e00000
  919. +CONFIG_SYS_MALLOC_F_LEN=0x4000
  920. +CONFIG_NR_DRAM_BANKS=1
  921. +CONFIG_DEFAULT_DEVICE_TREE="mt7986a-rfb"
  922. +CONFIG_TARGET_MT7986=y
  923. +CONFIG_DEBUG_UART_BASE=0x11002000
  924. +CONFIG_DEBUG_UART_CLOCK=40000000
  925. +CONFIG_SYS_LOAD_ADDR=0x46000000
  926. +CONFIG_DEBUG_UART=y
  927. +# CONFIG_AUTOBOOT is not set
  928. +CONFIG_DEFAULT_FDT_FILE="mt7986a-rfb"
  929. +CONFIG_LOGLEVEL=7
  930. +CONFIG_LOG=y
  931. +CONFIG_SYS_PROMPT="MT7986> "
  932. +CONFIG_SYS_CBSIZE=512
  933. +CONFIG_SYS_PBSIZE=1049
  934. +# CONFIG_BOOTM_NETBSD is not set
  935. +# CONFIG_BOOTM_PLAN9 is not set
  936. +# CONFIG_BOOTM_RTEMS is not set
  937. +# CONFIG_BOOTM_VXWORKS is not set
  938. +# CONFIG_CMD_ELF is not set
  939. +# CONFIG_CMD_UNLZ4 is not set
  940. +# CONFIG_CMD_UNZIP is not set
  941. +CONFIG_CMD_GPIO=y
  942. +CONFIG_CMD_MTD=y
  943. +CONFIG_CMD_SF_TEST=y
  944. +CONFIG_CMD_PING=y
  945. +CONFIG_CMD_SMC=y
  946. +CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
  947. +CONFIG_NET_RANDOM_ETHADDR=y
  948. +CONFIG_REGMAP=y
  949. +CONFIG_SYSCON=y
  950. +CONFIG_CLK=y
  951. +# CONFIG_MMC is not set
  952. +CONFIG_MTD=y
  953. +CONFIG_DM_MTD=y
  954. +CONFIG_MTD_SPI_NAND=y
  955. +CONFIG_DM_SPI_FLASH=y
  956. +CONFIG_SPI_FLASH_SFDP_SUPPORT=y
  957. +CONFIG_SPI_FLASH_EON=y
  958. +CONFIG_SPI_FLASH_GIGADEVICE=y
  959. +CONFIG_SPI_FLASH_ISSI=y
  960. +CONFIG_SPI_FLASH_MACRONIX=y
  961. +CONFIG_SPI_FLASH_SPANSION=y
  962. +CONFIG_SPI_FLASH_STMICRO=y
  963. +CONFIG_SPI_FLASH_WINBOND=y
  964. +CONFIG_SPI_FLASH_XMC=y
  965. +CONFIG_SPI_FLASH_XTX=y
  966. +CONFIG_SPI_FLASH_MTD=y
  967. +CONFIG_PHY_FIXED=y
  968. +CONFIG_DM_ETH=y
  969. +CONFIG_MEDIATEK_ETH=y
  970. +CONFIG_PINCTRL=y
  971. +CONFIG_PINCONF=y
  972. +CONFIG_PINCTRL_MT7986=y
  973. +CONFIG_POWER_DOMAIN=y
  974. +CONFIG_MTK_POWER_DOMAIN=y
  975. +CONFIG_DM_SERIAL=y
  976. +CONFIG_MTK_SERIAL=y
  977. +CONFIG_SPI=y
  978. +CONFIG_DM_SPI=y
  979. +CONFIG_MTK_SPIM=y
  980. +CONFIG_HEXDUMP=y
  981. --- /dev/null
  982. +++ b/configs/mt7986a_bpir3_emmc_defconfig
  983. @@ -0,0 +1,64 @@
  984. +CONFIG_ARM=y
  985. +CONFIG_POSITION_INDEPENDENT=y
  986. +CONFIG_ARCH_MEDIATEK=y
  987. +CONFIG_SYS_TEXT_BASE=0x41e00000
  988. +CONFIG_SYS_MALLOC_F_LEN=0x4000
  989. +CONFIG_NR_DRAM_BANKS=1
  990. +CONFIG_ENV_SIZE=0x80000
  991. +CONFIG_ENV_OFFSET=0x300000
  992. +CONFIG_DEFAULT_DEVICE_TREE="mt7986a-emmc-rfb"
  993. +CONFIG_TARGET_MT7986=y
  994. +CONFIG_DEBUG_UART_BASE=0x11002000
  995. +CONFIG_DEBUG_UART_CLOCK=40000000
  996. +CONFIG_SYS_LOAD_ADDR=0x46000000
  997. +CONFIG_DEBUG_UART=y
  998. +# CONFIG_AUTOBOOT is not set
  999. +CONFIG_DEFAULT_FDT_FILE="mt7986a-emmc-rfb"
  1000. +CONFIG_LOGLEVEL=7
  1001. +CONFIG_LOG=y
  1002. +CONFIG_SYS_PROMPT="MT7986> "
  1003. +CONFIG_SYS_CBSIZE=512
  1004. +CONFIG_SYS_PBSIZE=1049
  1005. +# CONFIG_BOOTM_NETBSD is not set
  1006. +# CONFIG_BOOTM_PLAN9 is not set
  1007. +# CONFIG_BOOTM_RTEMS is not set
  1008. +# CONFIG_BOOTM_VXWORKS is not set
  1009. +# CONFIG_CMD_ELF is not set
  1010. +# CONFIG_CMD_UNLZ4 is not set
  1011. +# CONFIG_CMD_UNZIP is not set
  1012. +CONFIG_CMD_GPIO=y
  1013. +CONFIG_CMD_GPT=y
  1014. +CONFIG_CMD_GPT_RENAME=y
  1015. +CONFIG_CMD_LSBLK=y
  1016. +CONFIG_CMD_MMC=y
  1017. +CONFIG_CMD_PART=y
  1018. +CONFIG_CMD_READ=y
  1019. +CONFIG_CMD_PING=y
  1020. +CONFIG_CMD_SMC=y
  1021. +CONFIG_CMD_FAT=y
  1022. +CONFIG_CMD_FS_GENERIC=y
  1023. +CONFIG_PARTITION_TYPE_GUID=y
  1024. +CONFIG_ENV_OVERWRITE=y
  1025. +CONFIG_ENV_IS_IN_MMC=y
  1026. +CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
  1027. +CONFIG_NET_RANDOM_ETHADDR=y
  1028. +CONFIG_REGMAP=y
  1029. +CONFIG_SYSCON=y
  1030. +CONFIG_CLK=y
  1031. +CONFIG_MMC_HS200_SUPPORT=y
  1032. +CONFIG_MMC_MTK=y
  1033. +CONFIG_PHY_FIXED=y
  1034. +CONFIG_DM_ETH=y
  1035. +CONFIG_MEDIATEK_ETH=y
  1036. +CONFIG_PINCTRL=y
  1037. +CONFIG_PINCONF=y
  1038. +CONFIG_PINCTRL_MT7986=y
  1039. +CONFIG_POWER_DOMAIN=y
  1040. +CONFIG_MTK_POWER_DOMAIN=y
  1041. +CONFIG_DM_REGULATOR=y
  1042. +CONFIG_DM_REGULATOR_FIXED=y
  1043. +CONFIG_DM_SERIAL=y
  1044. +CONFIG_MTK_SERIAL=y
  1045. +CONFIG_FAT_WRITE=y
  1046. +CONFIG_HEXDUMP=y
  1047. +# CONFIG_EFI_LOADER is not set
  1048. --- /dev/null
  1049. +++ b/configs/mt7986a_bpir3_sd_defconfig
  1050. @@ -0,0 +1,64 @@
  1051. +CONFIG_ARM=y
  1052. +CONFIG_POSITION_INDEPENDENT=y
  1053. +CONFIG_ARCH_MEDIATEK=y
  1054. +CONFIG_SYS_TEXT_BASE=0x41e00000
  1055. +CONFIG_SYS_MALLOC_F_LEN=0x4000
  1056. +CONFIG_NR_DRAM_BANKS=1
  1057. +CONFIG_ENV_SIZE=0x80000
  1058. +CONFIG_ENV_OFFSET=0x300000
  1059. +CONFIG_DEFAULT_DEVICE_TREE="mt7986a-sd-rfb"
  1060. +CONFIG_TARGET_MT7986=y
  1061. +CONFIG_DEBUG_UART_BASE=0x11002000
  1062. +CONFIG_DEBUG_UART_CLOCK=40000000
  1063. +CONFIG_SYS_LOAD_ADDR=0x46000000
  1064. +CONFIG_DEBUG_UART=y
  1065. +# CONFIG_AUTOBOOT is not set
  1066. +CONFIG_DEFAULT_FDT_FILE="mt7986a-sd-rfb"
  1067. +CONFIG_LOGLEVEL=7
  1068. +CONFIG_LOG=y
  1069. +CONFIG_SYS_PROMPT="MT7986> "
  1070. +CONFIG_SYS_CBSIZE=512
  1071. +CONFIG_SYS_PBSIZE=1049
  1072. +# CONFIG_BOOTM_NETBSD is not set
  1073. +# CONFIG_BOOTM_PLAN9 is not set
  1074. +# CONFIG_BOOTM_RTEMS is not set
  1075. +# CONFIG_BOOTM_VXWORKS is not set
  1076. +# CONFIG_CMD_ELF is not set
  1077. +# CONFIG_CMD_UNLZ4 is not set
  1078. +# CONFIG_CMD_UNZIP is not set
  1079. +CONFIG_CMD_GPIO=y
  1080. +CONFIG_CMD_GPT=y
  1081. +CONFIG_CMD_GPT_RENAME=y
  1082. +CONFIG_CMD_LSBLK=y
  1083. +CONFIG_CMD_MMC=y
  1084. +CONFIG_CMD_PART=y
  1085. +CONFIG_CMD_READ=y
  1086. +CONFIG_CMD_PING=y
  1087. +CONFIG_CMD_SMC=y
  1088. +CONFIG_CMD_FAT=y
  1089. +CONFIG_CMD_FS_GENERIC=y
  1090. +CONFIG_PARTITION_TYPE_GUID=y
  1091. +CONFIG_ENV_OVERWRITE=y
  1092. +CONFIG_ENV_IS_IN_MMC=y
  1093. +CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
  1094. +CONFIG_NET_RANDOM_ETHADDR=y
  1095. +CONFIG_REGMAP=y
  1096. +CONFIG_SYSCON=y
  1097. +CONFIG_CLK=y
  1098. +CONFIG_MMC_HS200_SUPPORT=y
  1099. +CONFIG_MMC_MTK=y
  1100. +CONFIG_PHY_FIXED=y
  1101. +CONFIG_DM_ETH=y
  1102. +CONFIG_MEDIATEK_ETH=y
  1103. +CONFIG_PINCTRL=y
  1104. +CONFIG_PINCONF=y
  1105. +CONFIG_PINCTRL_MT7986=y
  1106. +CONFIG_POWER_DOMAIN=y
  1107. +CONFIG_MTK_POWER_DOMAIN=y
  1108. +CONFIG_DM_REGULATOR=y
  1109. +CONFIG_DM_REGULATOR_FIXED=y
  1110. +CONFIG_DM_SERIAL=y
  1111. +CONFIG_MTK_SERIAL=y
  1112. +CONFIG_FAT_WRITE=y
  1113. +CONFIG_HEXDUMP=y
  1114. +# CONFIG_EFI_LOADER is not set
  1115. --- /dev/null
  1116. +++ b/include/configs/mt7986.h
  1117. @@ -0,0 +1,26 @@
  1118. +/* SPDX-License-Identifier: GPL-2.0 */
  1119. +/*
  1120. + * Configuration for MediaTek MT7986 SoC
  1121. + *
  1122. + * Copyright (C) 2022 MediaTek Inc.
  1123. + * Author: Sam Shih <[email protected]>
  1124. + */
  1125. +
  1126. +#ifndef __MT7986_H
  1127. +#define __MT7986_H
  1128. +
  1129. +#include <linux/sizes.h>
  1130. +
  1131. +#define CONFIG_SYS_NONCACHED_MEMORY SZ_1M
  1132. +#define CONFIG_SYS_MMC_ENV_DEV 0
  1133. +
  1134. +/* Uboot definition */
  1135. +#define CONFIG_SYS_UBOOT_BASE CONFIG_SYS_TEXT_BASE
  1136. +
  1137. +/* SPL -> Uboot */
  1138. +#define CONFIG_SYS_UBOOT_START CONFIG_SYS_TEXT_BASE
  1139. +
  1140. +/* DRAM */
  1141. +#define CONFIG_SYS_SDRAM_BASE 0x40000000
  1142. +
  1143. +#endif