at91-sam9x60ek.dts 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668
  1. // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  2. /*
  3. * at91-sam9x60ek.dts - Device Tree file for Microchip SAM9X60-EK board
  4. *
  5. * Copyright (C) 2019 Microchip Technology Inc. and its subsidiaries
  6. *
  7. * Author: Sandeep Sheriker M <sandeepsheriker.mallikarjun@microchip.com>
  8. */
  9. /dts-v1/;
  10. #include "sam9x60.dtsi"
  11. #include <dt-bindings/input/input.h>
  12. / {
  13. model = "Microchip SAM9X60-EK";
  14. compatible = "microchip,sam9x60ek", "microchip,sam9x60", "atmel,at91sam9";
  15. aliases {
  16. i2c0 = &i2c0;
  17. i2c1 = &i2c6;
  18. serial1 = &uart5;
  19. };
  20. chosen {
  21. stdout-path = "serial0:115200n8";
  22. };
  23. clocks {
  24. slow_xtal {
  25. clock-frequency = <32768>;
  26. };
  27. main_xtal {
  28. clock-frequency = <24000000>;
  29. };
  30. };
  31. gpio-keys {
  32. compatible = "gpio-keys";
  33. pinctrl-names = "default";
  34. pinctrl-0 = <&pinctrl_key_gpio_default>;
  35. button-1 {
  36. label = "SW1";
  37. gpios = <&pioD 18 GPIO_ACTIVE_LOW>;
  38. linux,code = <KEY_PROG1>;
  39. wakeup-source;
  40. };
  41. };
  42. leds {
  43. compatible = "gpio-leds";
  44. pinctrl-names = "default";
  45. pinctrl-0 = <&pinctrl_gpio_leds>;
  46. status = "okay"; /* Conflict with pwm0. */
  47. red {
  48. label = "red";
  49. gpios = <&pioB 11 GPIO_ACTIVE_HIGH>;
  50. };
  51. green {
  52. label = "green";
  53. gpios = <&pioB 12 GPIO_ACTIVE_HIGH>;
  54. };
  55. blue {
  56. label = "blue";
  57. gpios = <&pioB 13 GPIO_ACTIVE_HIGH>;
  58. linux,default-trigger = "heartbeat";
  59. };
  60. };
  61. vdd_1v8: fixed-regulator-vdd_1v8 {
  62. compatible = "regulator-fixed";
  63. regulator-name = "VDD_1V8";
  64. regulator-min-microvolt = <1800000>;
  65. regulator-max-microvolt = <1800000>;
  66. regulator-always-on;
  67. };
  68. vdd_1v15: fixed-regulator-vdd_1v15 {
  69. compatible = "regulator-fixed";
  70. regulator-name = "VDD_1V15";
  71. regulator-min-microvolt = <1150000>;
  72. regulator-max-microvolt = <1150000>;
  73. regulator-always-on;
  74. };
  75. vdd1_3v3: fixed-regulator-vdd1_3v3 {
  76. compatible = "regulator-fixed";
  77. regulator-name = "VDD1_3V3";
  78. regulator-min-microvolt = <3300000>;
  79. regulator-max-microvolt = <3300000>;
  80. regulator-always-on;
  81. };
  82. vdd2_3v3: regulator-fixed-vdd2_3v3 {
  83. compatible = "regulator-fixed";
  84. regulator-name = "VDD2_3V3";
  85. regulator-min-microvolt = <3300000>;
  86. regulator-max-microvolt = <3300000>;
  87. regulator-always-on;
  88. };
  89. };
  90. &adc {
  91. vddana-supply = <&vdd1_3v3>;
  92. vref-supply = <&vdd1_3v3>;
  93. pinctrl-names = "default";
  94. pinctrl-0 = <&pinctrl_adc_default &pinctrl_adtrg_default>;
  95. status = "okay";
  96. };
  97. &can0 {
  98. pinctrl-names = "default";
  99. pinctrl-0 = <&pinctrl_can0_rx_tx>;
  100. status = "disabled"; /* Conflict with dbgu. */
  101. };
  102. &can1 {
  103. pinctrl-names = "default";
  104. pinctrl-0 = <&pinctrl_can1_rx_tx>;
  105. status = "okay";
  106. };
  107. &classd {
  108. pinctrl-names = "default";
  109. pinctrl-0 = <&pinctrl_classd_default>;
  110. atmel,pwm-type = "diff";
  111. atmel,non-overlap-time = <10>;
  112. status = "okay";
  113. };
  114. &dbgu {
  115. pinctrl-names = "default";
  116. pinctrl-0 = <&pinctrl_dbgu>;
  117. status = "okay"; /* Conflict with can0. */
  118. };
  119. &ebi {
  120. pinctrl-names = "default";
  121. pinctrl-0 = <&pinctrl_ebi_addr_nand &pinctrl_ebi_data_0_7>;
  122. status = "okay";
  123. nand_controller: nand-controller {
  124. pinctrl-names = "default";
  125. pinctrl-0 = <&pinctrl_nand_oe_we &pinctrl_nand_cs &pinctrl_nand_rb>;
  126. status = "okay";
  127. nand@3 {
  128. reg = <0x3 0x0 0x800000>;
  129. rb-gpios = <&pioD 5 GPIO_ACTIVE_HIGH>;
  130. cs-gpios = <&pioD 4 GPIO_ACTIVE_HIGH>;
  131. nand-bus-width = <8>;
  132. nand-ecc-mode = "hw";
  133. nand-ecc-strength = <8>;
  134. nand-ecc-step-size = <512>;
  135. nand-on-flash-bbt;
  136. label = "atmel_nand";
  137. partitions {
  138. compatible = "fixed-partitions";
  139. #address-cells = <1>;
  140. #size-cells = <1>;
  141. at91bootstrap@0 {
  142. label = "at91bootstrap";
  143. reg = <0x0 0x40000>;
  144. };
  145. uboot@40000 {
  146. label = "u-boot";
  147. reg = <0x40000 0xc0000>;
  148. };
  149. ubootenvred@100000 {
  150. label = "U-Boot Env Redundant";
  151. reg = <0x100000 0x40000>;
  152. };
  153. ubootenv@140000 {
  154. label = "U-Boot Env";
  155. reg = <0x140000 0x40000>;
  156. };
  157. dtb@180000 {
  158. label = "device tree";
  159. reg = <0x180000 0x80000>;
  160. };
  161. kernel@200000 {
  162. label = "kernel";
  163. reg = <0x200000 0x600000>;
  164. };
  165. rootfs@800000 {
  166. label = "rootfs";
  167. reg = <0x800000 0x1f800000>;
  168. };
  169. };
  170. };
  171. };
  172. };
  173. &flx0 {
  174. atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>;
  175. status = "okay";
  176. i2c0: i2c@600 {
  177. dmas = <0>, <0>;
  178. pinctrl-names = "default";
  179. pinctrl-0 = <&pinctrl_flx0_default>;
  180. i2c-analog-filter;
  181. i2c-digital-filter;
  182. i2c-digital-filter-width-ns = <35>;
  183. status = "okay";
  184. eeprom@53 {
  185. compatible = "atmel,24c02";
  186. reg = <0x53>;
  187. pagesize = <16>;
  188. status = "okay";
  189. };
  190. };
  191. };
  192. &flx4 {
  193. atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_SPI>;
  194. status = "disabled";
  195. spi4: spi@400 {
  196. dmas = <0>, <0>;
  197. pinctrl-names = "default";
  198. pinctrl-0 = <&pinctrl_flx4_default>;
  199. status = "disabled";
  200. };
  201. };
  202. &flx5 {
  203. atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>;
  204. status = "okay";
  205. uart5: serial@200 {
  206. pinctrl-names = "default";
  207. pinctrl-0 = <&pinctrl_flx5_default>;
  208. status = "okay";
  209. };
  210. };
  211. &flx6 {
  212. atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>;
  213. status = "okay";
  214. i2c6: i2c@600 {
  215. dmas = <0>, <0>;
  216. pinctrl-names = "default";
  217. pinctrl-0 = <&pinctrl_flx6_default>;
  218. i2c-analog-filter;
  219. i2c-digital-filter;
  220. i2c-digital-filter-width-ns = <35>;
  221. status = "okay";
  222. gpio_exp: mcp23008@20 {
  223. compatible = "microchip,mcp23008";
  224. reg = <0x20>;
  225. };
  226. };
  227. };
  228. &gpbr {
  229. status = "okay";
  230. };
  231. &i2s {
  232. pinctrl-names = "default";
  233. pinctrl-0 = <&pinctrl_i2s_default>;
  234. #sound-dai-cells = <0>;
  235. status = "disabled"; /* Conflict with QSPI. */
  236. };
  237. &macb0 {
  238. phy-mode = "rmii";
  239. #address-cells = <1>;
  240. #size-cells = <0>;
  241. pinctrl-names = "default";
  242. pinctrl-0 = <&pinctrl_macb0_rmii>;
  243. status = "okay";
  244. ethernet-phy@0 {
  245. reg = <0x0>;
  246. interrupt-parent = <&pioB>;
  247. interrupts = <8 IRQ_TYPE_LEVEL_LOW>;
  248. };
  249. };
  250. &pinctrl {
  251. adc {
  252. pinctrl_adc_default: adc_default {
  253. atmel,pins = <AT91_PIOB 15 AT91_PERIPH_A AT91_PINCTRL_NONE>;
  254. };
  255. pinctrl_adtrg_default: adtrg_default {
  256. atmel,pins = <AT91_PIOB 18 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>;
  257. };
  258. };
  259. dbgu {
  260. pinctrl_dbgu: dbgu-0 {
  261. atmel,pins = <AT91_PIOA 9 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
  262. AT91_PIOA 10 AT91_PERIPH_A AT91_PINCTRL_NONE>;
  263. };
  264. };
  265. i2s {
  266. pinctrl_i2s_default: i2s {
  267. atmel,pins =
  268. <AT91_PIOB 19 AT91_PERIPH_B AT91_PINCTRL_NONE /* I2SCK */
  269. AT91_PIOB 20 AT91_PERIPH_B AT91_PINCTRL_NONE /* I2SWS */
  270. AT91_PIOB 21 AT91_PERIPH_B AT91_PINCTRL_NONE /* I2SDIN */
  271. AT91_PIOB 22 AT91_PERIPH_B AT91_PINCTRL_NONE /* I2SDOUT */
  272. AT91_PIOB 23 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* I2SMCK */
  273. };
  274. };
  275. qspi {
  276. pinctrl_qspi: qspi {
  277. atmel,pins =
  278. <AT91_PIOB 19 AT91_PERIPH_A AT91_PINCTRL_SLEWRATE_DIS
  279. AT91_PIOB 20 AT91_PERIPH_A AT91_PINCTRL_SLEWRATE_DIS
  280. AT91_PIOB 21 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_SLEWRATE_DIS)
  281. AT91_PIOB 22 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_SLEWRATE_DIS)
  282. AT91_PIOB 23 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_SLEWRATE_DIS)
  283. AT91_PIOB 24 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_SLEWRATE_DIS)>;
  284. };
  285. };
  286. nand {
  287. pinctrl_nand_oe_we: nand-oe-we-0 {
  288. atmel,pins =
  289. <AT91_PIOD 0 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
  290. AT91_PIOD 1 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)>;
  291. };
  292. pinctrl_nand_rb: nand-rb-0 {
  293. atmel,pins =
  294. <AT91_PIOD 5 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
  295. };
  296. pinctrl_nand_cs: nand-cs-0 {
  297. atmel,pins =
  298. <AT91_PIOD 4 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
  299. };
  300. };
  301. ebi {
  302. pinctrl_ebi_data_0_7: ebi-data-lsb-0 {
  303. atmel,pins =
  304. <AT91_PIOD 6 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
  305. AT91_PIOD 7 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
  306. AT91_PIOD 8 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
  307. AT91_PIOD 9 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
  308. AT91_PIOD 10 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
  309. AT91_PIOD 11 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
  310. AT91_PIOD 12 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
  311. AT91_PIOD 13 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)>;
  312. };
  313. pinctrl_ebi_data_0_15: ebi-data-msb-0 {
  314. atmel,pins =
  315. <AT91_PIOD 6 AT91_PERIPH_A AT91_PINCTRL_NONE
  316. AT91_PIOD 7 AT91_PERIPH_A AT91_PINCTRL_NONE
  317. AT91_PIOD 8 AT91_PERIPH_A AT91_PINCTRL_NONE
  318. AT91_PIOD 9 AT91_PERIPH_A AT91_PINCTRL_NONE
  319. AT91_PIOD 10 AT91_PERIPH_A AT91_PINCTRL_NONE
  320. AT91_PIOD 11 AT91_PERIPH_A AT91_PINCTRL_NONE
  321. AT91_PIOD 12 AT91_PERIPH_A AT91_PINCTRL_NONE
  322. AT91_PIOD 13 AT91_PERIPH_A AT91_PINCTRL_NONE
  323. AT91_PIOD 14 AT91_PERIPH_A AT91_PINCTRL_NONE
  324. AT91_PIOD 15 AT91_PERIPH_A AT91_PINCTRL_NONE
  325. AT91_PIOD 16 AT91_PERIPH_A AT91_PINCTRL_NONE
  326. AT91_PIOD 17 AT91_PERIPH_A AT91_PINCTRL_NONE
  327. AT91_PIOD 18 AT91_PERIPH_A AT91_PINCTRL_NONE
  328. AT91_PIOD 19 AT91_PERIPH_A AT91_PINCTRL_NONE
  329. AT91_PIOD 20 AT91_PERIPH_A AT91_PINCTRL_NONE
  330. AT91_PIOD 21 AT91_PERIPH_A AT91_PINCTRL_NONE>;
  331. };
  332. pinctrl_ebi_addr_nand: ebi-addr-0 {
  333. atmel,pins =
  334. <AT91_PIOD 2 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
  335. AT91_PIOD 3 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)>;
  336. };
  337. };
  338. flexcom {
  339. pinctrl_flx0_default: flx0_twi {
  340. atmel,pins =
  341. <AT91_PIOA 0 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
  342. AT91_PIOA 1 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
  343. };
  344. pinctrl_flx4_default: flx4_spi {
  345. atmel,pins =
  346. <AT91_PIOA 11 AT91_PERIPH_A AT91_PINCTRL_NONE
  347. AT91_PIOA 12 AT91_PERIPH_A AT91_PINCTRL_NONE
  348. AT91_PIOA 13 AT91_PERIPH_A AT91_PINCTRL_NONE
  349. AT91_PIOA 14 AT91_PERIPH_A AT91_PINCTRL_NONE>;
  350. };
  351. pinctrl_flx5_default: flx5_uart {
  352. atmel,pins =
  353. <AT91_PIOA 7 AT91_PERIPH_C AT91_PINCTRL_NONE
  354. AT91_PIOA 8 AT91_PERIPH_B AT91_PINCTRL_NONE
  355. AT91_PIOA 21 AT91_PERIPH_B AT91_PINCTRL_NONE
  356. AT91_PIOA 22 AT91_PERIPH_B AT91_PINCTRL_NONE>;
  357. };
  358. pinctrl_flx6_default: flx6_twi {
  359. atmel,pins =
  360. <AT91_PIOA 30 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
  361. AT91_PIOA 31 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
  362. };
  363. };
  364. classd {
  365. pinctrl_classd_default: classd {
  366. atmel,pins =
  367. <AT91_PIOA 24 AT91_PERIPH_C AT91_PINCTRL_PULL_UP
  368. AT91_PIOA 25 AT91_PERIPH_C AT91_PINCTRL_PULL_DOWN
  369. AT91_PIOA 26 AT91_PERIPH_C AT91_PINCTRL_PULL_UP
  370. AT91_PIOA 27 AT91_PERIPH_C AT91_PINCTRL_PULL_DOWN>;
  371. };
  372. };
  373. can0 {
  374. pinctrl_can0_rx_tx: can0_rx_tx {
  375. atmel,pins =
  376. <AT91_PIOA 9 AT91_PERIPH_B AT91_PINCTRL_NONE /* CANRX0 */
  377. AT91_PIOA 10 AT91_PERIPH_B AT91_PINCTRL_NONE /* CANTX0 */
  378. AT91_PIOD 20 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_DOWN /* Enable CAN0 mux */
  379. AT91_PIOD 21 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_DOWN>; /* Enable CAN Transceivers */
  380. };
  381. };
  382. can1 {
  383. pinctrl_can1_rx_tx: can1_rx_tx {
  384. atmel,pins =
  385. <AT91_PIOA 6 AT91_PERIPH_B AT91_PINCTRL_NONE /* CANRX1 RXD1 */
  386. AT91_PIOA 5 AT91_PERIPH_B AT91_PINCTRL_NONE /* CANTX1 TXD1 */
  387. AT91_PIOD 19 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_DOWN /* Enable CAN1 mux */
  388. AT91_PIOD 21 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_DOWN>; /* Enable CAN Transceivers */
  389. };
  390. };
  391. macb0 {
  392. pinctrl_macb0_rmii: macb0_rmii-0 {
  393. atmel,pins =
  394. <AT91_PIOB 0 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB0 periph A */
  395. AT91_PIOB 1 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB1 periph A */
  396. AT91_PIOB 2 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB2 periph A */
  397. AT91_PIOB 3 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB3 periph A */
  398. AT91_PIOB 4 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB4 periph A */
  399. AT91_PIOB 5 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB5 periph A */
  400. AT91_PIOB 6 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB6 periph A */
  401. AT91_PIOB 7 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB7 periph A */
  402. AT91_PIOB 8 AT91_PERIPH_GPIO AT91_PINCTRL_NONE /* PB8 IRQ GPIO */
  403. AT91_PIOB 9 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB9 periph A */
  404. AT91_PIOB 10 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB10 periph A */
  405. };
  406. };
  407. pwm0 {
  408. pinctrl_pwm0_0: pwm0_0 {
  409. atmel,pins = <AT91_PIOB 11 AT91_PERIPH_B AT91_PINCTRL_NONE>;
  410. };
  411. pinctrl_pwm0_1: pwm0_1 {
  412. atmel,pins = <AT91_PIOB 12 AT91_PERIPH_B AT91_PINCTRL_NONE>;
  413. };
  414. pinctrl_pwm0_2: pwm0_2 {
  415. atmel,pins = <AT91_PIOB 13 AT91_PERIPH_B AT91_PINCTRL_NONE>;
  416. };
  417. pinctrl_pwm0_3: pwm0_3 {
  418. atmel,pins = <AT91_PIOB 14 AT91_PERIPH_B AT91_PINCTRL_NONE>;
  419. };
  420. };
  421. sdmmc0 {
  422. pinctrl_sdmmc0_default: sdmmc0 {
  423. atmel,pins =
  424. <AT91_PIOA 17 AT91_PERIPH_A (AT91_PINCTRL_DRIVE_STRENGTH_HI) /* PA17 CK periph A with pullup */
  425. AT91_PIOA 16 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI) /* PA16 CMD periph A with pullup */
  426. AT91_PIOA 15 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI) /* PA15 DAT0 periph A */
  427. AT91_PIOA 18 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI) /* PA18 DAT1 periph A with pullup */
  428. AT91_PIOA 19 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI) /* PA19 DAT2 periph A with pullup */
  429. AT91_PIOA 20 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)>; /* PA20 DAT3 periph A with pullup */
  430. };
  431. pinctrl_sdmmc0_cd: sdmmc0_cd {
  432. atmel,pins =
  433. <AT91_PIOA 23 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
  434. };
  435. };
  436. sdmmc1 {
  437. pinctrl_sdmmc1_default: sdmmc1 {
  438. atmel,pins =
  439. <AT91_PIOA 13 AT91_PERIPH_B (AT91_PINCTRL_DRIVE_STRENGTH_HI) /* PA13 CK periph B */
  440. AT91_PIOA 12 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI) /* PA12 CMD periph B with pullup */
  441. AT91_PIOA 11 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI) /* PA11 DAT0 periph B with pullup */
  442. AT91_PIOA 2 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI) /* PA2 DAT1 periph B with pullup */
  443. AT91_PIOA 3 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI) /* PA3 DAT2 periph B with pullup */
  444. AT91_PIOA 4 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)>; /* PA4 DAT3 periph B with pullup */
  445. };
  446. };
  447. gpio_keys {
  448. pinctrl_key_gpio_default: pinctrl_key_gpio {
  449. atmel,pins = <AT91_PIOD 18 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
  450. };
  451. };
  452. usb0 {
  453. pinctrl_usba_vbus: usba_vbus {
  454. atmel,pins = <AT91_PIOB 16 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
  455. };
  456. };
  457. usb1 {
  458. pinctrl_usb_default: usb_default {
  459. atmel,pins = <AT91_PIOD 15 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
  460. AT91_PIOD 16 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
  461. };
  462. };
  463. leds {
  464. pinctrl_gpio_leds: gpio_leds {
  465. atmel,pins = <AT91_PIOB 11 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
  466. AT91_PIOB 12 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
  467. AT91_PIOB 13 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
  468. };
  469. };
  470. }; /* pinctrl */
  471. &pwm0 {
  472. pinctrl-names = "default";
  473. pinctrl-0 = <&pinctrl_pwm0_0 &pinctrl_pwm0_1 &pinctrl_pwm0_2 &pinctrl_pwm0_3>;
  474. status = "disabled"; /* Conflict with leds. */
  475. };
  476. &sdmmc0 {
  477. bus-width = <4>;
  478. pinctrl-names = "default";
  479. pinctrl-0 = <&pinctrl_sdmmc0_default &pinctrl_sdmmc0_cd>;
  480. status = "okay";
  481. cd-gpios = <&pioA 23 GPIO_ACTIVE_LOW>;
  482. disable-wp;
  483. };
  484. &sdmmc1 {
  485. bus-width = <4>;
  486. pinctrl-names = "default";
  487. pinctrl-0 = <&pinctrl_sdmmc1_default>;
  488. no-1-8-v;
  489. non-removable;
  490. status = "disabled"; /* Conflict with flx4. */
  491. };
  492. &qspi {
  493. pinctrl-names = "default";
  494. pinctrl-0 = <&pinctrl_qspi>;
  495. status = "okay"; /* Conflict with i2s. */
  496. flash@0 {
  497. #address-cells = <1>;
  498. #size-cells = <1>;
  499. compatible = "jedec,spi-nor";
  500. reg = <0>;
  501. spi-max-frequency = <104000000>;
  502. spi-cs-setup-ns = <7>;
  503. spi-tx-bus-width = <4>;
  504. spi-rx-bus-width = <4>;
  505. m25p,fast-read;
  506. at91bootstrap@0 {
  507. label = "qspi: at91bootstrap";
  508. reg = <0x0 0x40000>;
  509. };
  510. bootloader@40000 {
  511. label = "qspi: bootloader";
  512. reg = <0x40000 0xc0000>;
  513. };
  514. bootloaderenvred@100000 {
  515. label = "qspi: bootloader env redundant";
  516. reg = <0x100000 0x40000>;
  517. };
  518. bootloaderenv@140000 {
  519. label = "qspi: bootloader env";
  520. reg = <0x140000 0x40000>;
  521. };
  522. dtb@180000 {
  523. label = "qspi: device tree";
  524. reg = <0x180000 0x80000>;
  525. };
  526. kernel@200000 {
  527. label = "qspi: kernel";
  528. reg = <0x200000 0x600000>;
  529. };
  530. };
  531. };
  532. &rtt {
  533. atmel,rtt-rtc-time-reg = <&gpbr 0x0>;
  534. status = "okay";
  535. };
  536. &shutdown_controller {
  537. debounce-delay-us = <976>;
  538. status = "okay";
  539. input@0 {
  540. reg = <0>;
  541. };
  542. };
  543. &tcb0 {
  544. timer0: timer@0 {
  545. compatible = "atmel,tcb-timer";
  546. reg = <0>;
  547. };
  548. timer1: timer@1 {
  549. compatible = "atmel,tcb-timer";
  550. reg = <1>;
  551. };
  552. };
  553. &usb0 {
  554. atmel,vbus-gpio = <&pioB 16 GPIO_ACTIVE_HIGH>;
  555. pinctrl-names = "default";
  556. pinctrl-0 = <&pinctrl_usba_vbus>;
  557. status = "okay";
  558. };
  559. &usb1 {
  560. num-ports = <3>;
  561. atmel,vbus-gpio = <0
  562. &pioD 15 GPIO_ACTIVE_HIGH
  563. &pioD 16 GPIO_ACTIVE_HIGH>;
  564. pinctrl-names = "default";
  565. pinctrl-0 = <&pinctrl_usb_default>;
  566. status = "okay";
  567. };
  568. &usb2 {
  569. status = "okay";
  570. };
  571. &watchdog {
  572. status = "okay";
  573. };