at91-sama5d2_xplained.dts 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745
  1. // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  2. /*
  3. * at91-sama5d2_xplained.dts - Device Tree file for SAMA5D2 Xplained board
  4. *
  5. * Copyright (C) 2015 Atmel,
  6. * 2015 Nicolas Ferre <[email protected]>
  7. */
  8. /dts-v1/;
  9. #include "sama5d2.dtsi"
  10. #include "sama5d2-pinfunc.h"
  11. #include <dt-bindings/mfd/atmel-flexcom.h>
  12. #include <dt-bindings/gpio/gpio.h>
  13. #include <dt-bindings/input/input.h>
  14. #include <dt-bindings/regulator/active-semi,8945a-regulator.h>
  15. / {
  16. model = "Atmel SAMA5D2 Xplained";
  17. compatible = "atmel,sama5d2-xplained", "atmel,sama5d2", "atmel,sama5";
  18. aliases {
  19. serial0 = &uart1; /* DBGU */
  20. i2c0 = &i2c0;
  21. i2c1 = &i2c1;
  22. i2c2 = &i2c2; /* XPRO EXT2 */
  23. };
  24. chosen {
  25. stdout-path = "serial0:115200n8";
  26. };
  27. clocks {
  28. slow_xtal {
  29. clock-frequency = <32768>;
  30. };
  31. main_xtal {
  32. clock-frequency = <12000000>;
  33. };
  34. };
  35. ahb {
  36. usb0: gadget@300000 {
  37. atmel,vbus-gpio = <&pioA PIN_PA31 GPIO_ACTIVE_HIGH>;
  38. pinctrl-names = "default";
  39. pinctrl-0 = <&pinctrl_usba_vbus>;
  40. status = "okay";
  41. };
  42. usb1: ohci@400000 {
  43. num-ports = <3>;
  44. atmel,vbus-gpio = <0 /* &pioA PIN_PB9 GPIO_ACTIVE_HIGH */
  45. &pioA PIN_PB10 GPIO_ACTIVE_HIGH
  46. 0
  47. >;
  48. pinctrl-names = "default";
  49. pinctrl-0 = <&pinctrl_usb_default>;
  50. status = "okay";
  51. };
  52. usb2: ehci@500000 {
  53. status = "okay";
  54. };
  55. sdmmc0: sdio-host@a0000000 {
  56. bus-width = <8>;
  57. pinctrl-names = "default";
  58. pinctrl-0 = <&pinctrl_sdmmc0_default>;
  59. non-removable;
  60. mmc-ddr-3_3v;
  61. status = "okay";
  62. };
  63. sdmmc1: sdio-host@b0000000 {
  64. bus-width = <4>;
  65. pinctrl-names = "default";
  66. pinctrl-0 = <&pinctrl_sdmmc1_default>;
  67. status = "okay"; /* conflict with qspi0 */
  68. vqmmc-supply = <&vdd_3v3_reg>;
  69. vmmc-supply = <&vdd_3v3_reg>;
  70. };
  71. apb {
  72. qspi0: spi@f0020000 {
  73. pinctrl-names = "default";
  74. pinctrl-0 = <&pinctrl_qspi0_default>;
  75. status = "disabled"; /* conflict with sdmmc1 */
  76. flash@0 {
  77. #address-cells = <1>;
  78. #size-cells = <1>;
  79. compatible = "jedec,spi-nor";
  80. reg = <0>;
  81. spi-max-frequency = <80000000>;
  82. spi-tx-bus-width = <4>;
  83. spi-rx-bus-width = <4>;
  84. m25p,fast-read;
  85. at91bootstrap@0 {
  86. label = "at91bootstrap";
  87. reg = <0x00000000 0x00040000>;
  88. };
  89. bootloader@40000 {
  90. label = "bootloader";
  91. reg = <0x00040000 0x000c0000>;
  92. };
  93. bootloaderenvred@100000 {
  94. label = "bootloader env redundant";
  95. reg = <0x00100000 0x00040000>;
  96. };
  97. bootloaderenv@140000 {
  98. label = "bootloader env";
  99. reg = <0x00140000 0x00040000>;
  100. };
  101. dtb@180000 {
  102. label = "device tree";
  103. reg = <0x00180000 0x00080000>;
  104. };
  105. kernel@200000 {
  106. label = "kernel";
  107. reg = <0x00200000 0x00600000>;
  108. };
  109. misc@800000 {
  110. label = "misc";
  111. reg = <0x00800000 0x00000000>;
  112. };
  113. };
  114. };
  115. spi0: spi@f8000000 {
  116. pinctrl-names = "default";
  117. pinctrl-0 = <&pinctrl_spi0_default>;
  118. status = "okay";
  119. flash@0 {
  120. compatible = "atmel,at25df321a";
  121. reg = <0>;
  122. spi-max-frequency = <50000000>;
  123. };
  124. };
  125. macb0: ethernet@f8008000 {
  126. pinctrl-names = "default";
  127. pinctrl-0 = <&pinctrl_macb0_default &pinctrl_macb0_phy_irq>;
  128. #address-cells = <1>;
  129. #size-cells = <0>;
  130. phy-mode = "rmii";
  131. status = "okay";
  132. ethernet-phy@1 {
  133. reg = <0x1>;
  134. interrupt-parent = <&pioA>;
  135. interrupts = <PIN_PC9 IRQ_TYPE_LEVEL_LOW>;
  136. };
  137. };
  138. tcb0: timer@f800c000 {
  139. timer0: timer@0 {
  140. compatible = "atmel,tcb-timer";
  141. reg = <0>;
  142. };
  143. timer1: timer@1 {
  144. compatible = "atmel,tcb-timer";
  145. reg = <1>;
  146. };
  147. };
  148. uart1: serial@f8020000 {
  149. pinctrl-names = "default";
  150. pinctrl-0 = <&pinctrl_uart1_default>;
  151. atmel,use-dma-rx;
  152. atmel,use-dma-tx;
  153. status = "okay";
  154. };
  155. i2c0: i2c@f8028000 {
  156. dmas = <0>, <0>;
  157. pinctrl-names = "default", "gpio";
  158. pinctrl-0 = <&pinctrl_i2c0_default>;
  159. pinctrl-1 = <&pinctrl_i2c0_gpio>;
  160. sda-gpios = <&pioA PIN_PD21 GPIO_ACTIVE_HIGH>;
  161. scl-gpios = <&pioA PIN_PD22 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
  162. i2c-sda-hold-time-ns = <350>;
  163. status = "okay";
  164. pmic@5b {
  165. compatible = "active-semi,act8945a";
  166. reg = <0x5b>;
  167. active-semi,vsel-high;
  168. status = "okay";
  169. regulators {
  170. vdd_1v35_reg: REG_DCDC1 {
  171. regulator-name = "VDD_1V35";
  172. regulator-min-microvolt = <1350000>;
  173. regulator-max-microvolt = <1350000>;
  174. regulator-allowed-modes = <ACT8945A_REGULATOR_MODE_FIXED>,
  175. <ACT8945A_REGULATOR_MODE_LOWPOWER>;
  176. regulator-initial-mode = <ACT8945A_REGULATOR_MODE_FIXED>;
  177. regulator-always-on;
  178. regulator-state-mem {
  179. regulator-on-in-suspend;
  180. regulator-suspend-min-microvolt = <1400000>;
  181. regulator-suspend-max-microvolt = <1400000>;
  182. regulator-changeable-in-suspend;
  183. regulator-mode = <ACT8945A_REGULATOR_MODE_LOWPOWER>;
  184. };
  185. };
  186. vdd_1v2_reg: REG_DCDC2 {
  187. regulator-name = "VDD_1V2";
  188. regulator-min-microvolt = <1100000>;
  189. regulator-max-microvolt = <1300000>;
  190. regulator-allowed-modes = <ACT8945A_REGULATOR_MODE_FIXED>,
  191. <ACT8945A_REGULATOR_MODE_LOWPOWER>;
  192. regulator-initial-mode = <ACT8945A_REGULATOR_MODE_FIXED>;
  193. regulator-always-on;
  194. regulator-state-mem {
  195. regulator-off-in-suspend;
  196. };
  197. };
  198. vdd_3v3_reg: REG_DCDC3 {
  199. regulator-name = "VDD_3V3";
  200. regulator-min-microvolt = <3300000>;
  201. regulator-max-microvolt = <3300000>;
  202. regulator-allowed-modes = <ACT8945A_REGULATOR_MODE_FIXED>,
  203. <ACT8945A_REGULATOR_MODE_LOWPOWER>;
  204. regulator-initial-mode = <ACT8945A_REGULATOR_MODE_FIXED>;
  205. regulator-always-on;
  206. regulator-state-mem {
  207. regulator-off-in-suspend;
  208. };
  209. };
  210. vdd_fuse_reg: REG_LDO1 {
  211. regulator-name = "VDD_FUSE";
  212. regulator-min-microvolt = <2500000>;
  213. regulator-max-microvolt = <2500000>;
  214. regulator-allowed-modes = <ACT8945A_REGULATOR_MODE_NORMAL>,
  215. <ACT8945A_REGULATOR_MODE_LOWPOWER>;
  216. regulator-initial-mode = <ACT8945A_REGULATOR_MODE_NORMAL>;
  217. regulator-always-on;
  218. regulator-state-mem {
  219. regulator-off-in-suspend;
  220. };
  221. };
  222. vdd_3v3_lp_reg: REG_LDO2 {
  223. regulator-name = "VDD_3V3_LP";
  224. regulator-min-microvolt = <3300000>;
  225. regulator-max-microvolt = <3300000>;
  226. regulator-allowed-modes = <ACT8945A_REGULATOR_MODE_NORMAL>,
  227. <ACT8945A_REGULATOR_MODE_LOWPOWER>;
  228. regulator-initial-mode = <ACT8945A_REGULATOR_MODE_NORMAL>;
  229. regulator-always-on;
  230. regulator-state-mem {
  231. regulator-off-in-suspend;
  232. };
  233. };
  234. vdd_led_reg: REG_LDO3 {
  235. regulator-name = "VDD_LED";
  236. regulator-min-microvolt = <3300000>;
  237. regulator-max-microvolt = <3300000>;
  238. regulator-allowed-modes = <ACT8945A_REGULATOR_MODE_NORMAL>,
  239. <ACT8945A_REGULATOR_MODE_LOWPOWER>;
  240. regulator-initial-mode = <ACT8945A_REGULATOR_MODE_NORMAL>;
  241. regulator-always-on;
  242. regulator-state-mem {
  243. regulator-off-in-suspend;
  244. };
  245. };
  246. vdd_sdhc_1v8_reg: REG_LDO4 {
  247. regulator-name = "VDD_SDHC_1V8";
  248. regulator-min-microvolt = <1800000>;
  249. regulator-max-microvolt = <1800000>;
  250. regulator-allowed-modes = <ACT8945A_REGULATOR_MODE_NORMAL>,
  251. <ACT8945A_REGULATOR_MODE_LOWPOWER>;
  252. regulator-initial-mode = <ACT8945A_REGULATOR_MODE_NORMAL>;
  253. regulator-always-on;
  254. regulator-state-mem {
  255. regulator-off-in-suspend;
  256. };
  257. };
  258. };
  259. charger {
  260. compatible = "active-semi,act8945a-charger";
  261. pinctrl-names = "default";
  262. pinctrl-0 = <&pinctrl_charger_chglev &pinctrl_charger_lbo &pinctrl_charger_irq>;
  263. interrupt-parent = <&pioA>;
  264. interrupts = <PIN_PB13 IRQ_TYPE_EDGE_RISING>;
  265. active-semi,chglev-gpios = <&pioA PIN_PA12 GPIO_ACTIVE_HIGH>;
  266. active-semi,lbo-gpios = <&pioA PIN_PC8 GPIO_ACTIVE_LOW>;
  267. active-semi,input-voltage-threshold-microvolt = <6600>;
  268. active-semi,precondition-timeout = <40>;
  269. active-semi,total-timeout = <3>;
  270. status = "okay";
  271. };
  272. };
  273. };
  274. pwm0: pwm@f802c000 {
  275. pinctrl-names = "default";
  276. pinctrl-0 = <&pinctrl_pwm0_pwm2_default>;
  277. status = "disabled"; /* conflict with leds */
  278. };
  279. flx0: flexcom@f8034000 {
  280. atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>;
  281. status = "disabled"; /* conflict with ISC_D2 & ISC_D3 data pins */
  282. uart5: serial@200 {
  283. dmas = <0>, <0>;
  284. pinctrl-names = "default";
  285. pinctrl-0 = <&pinctrl_flx0_default>;
  286. status = "okay";
  287. };
  288. i2c2: i2c@600 {
  289. dmas = <0>, <0>;
  290. pinctrl-names = "default", "gpio";
  291. pinctrl-0 = <&pinctrl_flx0_default>;
  292. pinctrl-1 = <&pinctrl_i2c2_gpio>;
  293. sda-gpios = <&pioA PIN_PB28 GPIO_ACTIVE_HIGH>;
  294. scl-gpios = <&pioA PIN_PB29 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
  295. i2c-sda-hold-time-ns = <350>;
  296. i2c-analog-filter;
  297. i2c-digital-filter;
  298. i2c-digital-filter-width-ns = <35>;
  299. status = "disabled"; /* conflict with ISC_D2 & ISC_D3 data pins */
  300. };
  301. };
  302. shdwc@f8048010 {
  303. debounce-delay-us = <976>;
  304. atmel,wakeup-rtc-timer;
  305. input@0 {
  306. reg = <0>;
  307. };
  308. };
  309. watchdog@f8048040 {
  310. status = "okay";
  311. };
  312. i2s0: i2s@f8050000 {
  313. pinctrl-names = "default";
  314. pinctrl-0 = <&pinctrl_i2s0_default>;
  315. status = "disabled"; /* conflict with can0 */
  316. };
  317. can0: can@f8054000 {
  318. pinctrl-names = "default";
  319. pinctrl-0 = <&pinctrl_can0_default>;
  320. status = "okay";
  321. };
  322. uart3: serial@fc008000 {
  323. atmel,use-dma-rx;
  324. atmel,use-dma-tx;
  325. pinctrl-names = "default";
  326. pinctrl-0 = <&pinctrl_uart3_default>;
  327. status = "okay";
  328. };
  329. flx4: flexcom@fc018000 {
  330. atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>;
  331. status = "okay";
  332. i2c6: i2c@600 {
  333. dmas = <0>, <0>;
  334. pinctrl-names = "default", "gpio";
  335. pinctrl-0 = <&pinctrl_flx4_default>;
  336. pinctrl-1 = <&pinctrl_flx4_gpio>;
  337. sda-gpios = <&pioA PIN_PD12 GPIO_ACTIVE_HIGH>;
  338. scl-gpios = <&pioA PIN_PD13 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
  339. i2c-analog-filter;
  340. i2c-digital-filter;
  341. i2c-digital-filter-width-ns = <35>;
  342. status = "okay";
  343. };
  344. };
  345. i2c1: i2c@fc028000 {
  346. dmas = <0>, <0>;
  347. pinctrl-names = "default", "gpio";
  348. pinctrl-0 = <&pinctrl_i2c1_default>;
  349. i2c-analog-filter;
  350. i2c-digital-filter;
  351. i2c-digital-filter-width-ns = <35>;
  352. pinctrl-1 = <&pinctrl_i2c1_gpio>;
  353. sda-gpios = <&pioA PIN_PD4 GPIO_ACTIVE_HIGH>;
  354. scl-gpios = <&pioA PIN_PD5 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
  355. status = "okay";
  356. at24@54 {
  357. compatible = "atmel,24c02";
  358. reg = <0x54>;
  359. pagesize = <16>;
  360. };
  361. };
  362. adc: adc@fc030000 {
  363. vddana-supply = <&vdd_3v3_lp_reg>;
  364. vref-supply = <&vdd_3v3_lp_reg>;
  365. pinctrl-names = "default";
  366. pinctrl-0 = <&pinctrl_adc_default &pinctrl_adtrg_default>;
  367. status = "okay";
  368. };
  369. pinctrl@fc038000 {
  370. /*
  371. * There is no real pinmux for ADC, if the pin
  372. * is not requested by another peripheral then
  373. * the muxing is done when channel is enabled.
  374. * Requesting pins for ADC is GPIO is
  375. * encouraged to prevent conflicts and to
  376. * disable bias in order to be in the same
  377. * state when the pin is not muxed to the adc.
  378. */
  379. pinctrl_adc_default: adc_default {
  380. pinmux = <PIN_PD23__GPIO>;
  381. bias-disable;
  382. };
  383. pinctrl_can0_default: can0_default {
  384. pinmux = <PIN_PC10__CANTX0>,
  385. <PIN_PC11__CANRX0>;
  386. bias-disable;
  387. };
  388. pinctrl_can1_default: can1_default {
  389. pinmux = <PIN_PC26__CANTX1>,
  390. <PIN_PC27__CANRX1>;
  391. bias-disable;
  392. };
  393. /*
  394. * The ADTRG pin can work on any edge type.
  395. * In here it's being pulled up, so need to
  396. * connect it to ground to get an edge e.g.
  397. * Trigger can be configured on falling, rise
  398. * or any edge, and the pull-up can be changed
  399. * to pull-down or left floating according to
  400. * needs.
  401. */
  402. pinctrl_adtrg_default: adtrg_default {
  403. pinmux = <PIN_PD31__ADTRG>;
  404. bias-pull-up;
  405. };
  406. pinctrl_charger_chglev: charger_chglev {
  407. pinmux = <PIN_PA12__GPIO>;
  408. bias-disable;
  409. };
  410. pinctrl_charger_irq: charger_irq {
  411. pinmux = <PIN_PB13__GPIO>;
  412. bias-disable;
  413. };
  414. pinctrl_charger_lbo: charger_lbo {
  415. pinmux = <PIN_PC8__GPIO>;
  416. bias-pull-up;
  417. };
  418. pinctrl_classd_default_pfets: classd_default_pfets {
  419. pinmux = <PIN_PB1__CLASSD_R0>,
  420. <PIN_PB3__CLASSD_R2>;
  421. bias-pull-up;
  422. };
  423. pinctrl_classd_default_nfets: classd_default_nfets {
  424. pinmux = <PIN_PB2__CLASSD_R1>,
  425. <PIN_PB4__CLASSD_R3>;
  426. bias-pull-down;
  427. };
  428. pinctrl_flx0_default: flx0_default {
  429. pinmux = <PIN_PB28__FLEXCOM0_IO0>,
  430. <PIN_PB29__FLEXCOM0_IO1>;
  431. bias-disable;
  432. };
  433. pinctrl_flx4_default: flx4_default {
  434. pinmux = <PIN_PD12__FLEXCOM4_IO0>,
  435. <PIN_PD13__FLEXCOM4_IO1>;
  436. bias-disable;
  437. };
  438. pinctrl_flx4_gpio: flx4_gpio {
  439. pinmux = <PIN_PD12__GPIO>,
  440. <PIN_PD13__GPIO>;
  441. bias-disable;
  442. };
  443. pinctrl_i2c0_default: i2c0_default {
  444. pinmux = <PIN_PD21__TWD0>,
  445. <PIN_PD22__TWCK0>;
  446. bias-disable;
  447. };
  448. pinctrl_i2c0_gpio: i2c0_gpio {
  449. pinmux = <PIN_PD21__GPIO>,
  450. <PIN_PD22__GPIO>;
  451. bias-disable;
  452. };
  453. pinctrl_i2c1_default: i2c1_default {
  454. pinmux = <PIN_PD4__TWD1>,
  455. <PIN_PD5__TWCK1>;
  456. bias-disable;
  457. };
  458. pinctrl_i2c1_gpio: i2c1_gpio {
  459. pinmux = <PIN_PD4__GPIO>,
  460. <PIN_PD5__GPIO>;
  461. bias-disable;
  462. };
  463. pinctrl_i2c2_gpio: i2c2_gpio {
  464. pinmux = <PIN_PB28__GPIO>,
  465. <PIN_PB29__GPIO>;
  466. bias-disable;
  467. };
  468. pinctrl_i2s0_default: i2s0_default {
  469. pinmux = <PIN_PC1__I2SC0_CK>,
  470. <PIN_PC2__I2SC0_MCK>,
  471. <PIN_PC3__I2SC0_WS>,
  472. <PIN_PC4__I2SC0_DI0>,
  473. <PIN_PC5__I2SC0_DO0>;
  474. bias-disable;
  475. };
  476. pinctrl_i2s1_default: i2s1_default {
  477. pinmux = <PIN_PA15__I2SC1_CK>,
  478. <PIN_PA14__I2SC1_MCK>,
  479. <PIN_PA16__I2SC1_WS>,
  480. <PIN_PA17__I2SC1_DI0>,
  481. <PIN_PA18__I2SC1_DO0>;
  482. bias-disable;
  483. };
  484. pinctrl_key_gpio_default: key_gpio_default {
  485. pinmux = <PIN_PB9__GPIO>;
  486. bias-pull-up;
  487. };
  488. pinctrl_led_gpio_default: led_gpio_default {
  489. pinmux = <PIN_PB0__GPIO>,
  490. <PIN_PB5__GPIO>,
  491. <PIN_PB6__GPIO>;
  492. bias-pull-up;
  493. };
  494. pinctrl_macb0_default: macb0_default {
  495. pinmux = <PIN_PB14__GTXCK>,
  496. <PIN_PB15__GTXEN>,
  497. <PIN_PB16__GRXDV>,
  498. <PIN_PB17__GRXER>,
  499. <PIN_PB18__GRX0>,
  500. <PIN_PB19__GRX1>,
  501. <PIN_PB20__GTX0>,
  502. <PIN_PB21__GTX1>,
  503. <PIN_PB22__GMDC>,
  504. <PIN_PB23__GMDIO>;
  505. bias-disable;
  506. };
  507. pinctrl_macb0_phy_irq: macb0_phy_irq {
  508. pinmux = <PIN_PC9__GPIO>;
  509. bias-disable;
  510. };
  511. pinctrl_qspi0_default: qspi0_default {
  512. sck_cs {
  513. pinmux = <PIN_PA22__QSPI0_SCK>,
  514. <PIN_PA23__QSPI0_CS>;
  515. bias-disable;
  516. };
  517. data {
  518. pinmux = <PIN_PA24__QSPI0_IO0>,
  519. <PIN_PA25__QSPI0_IO1>,
  520. <PIN_PA26__QSPI0_IO2>,
  521. <PIN_PA27__QSPI0_IO3>;
  522. bias-pull-up;
  523. };
  524. };
  525. pinctrl_sdmmc0_default: sdmmc0_default {
  526. cmd_data {
  527. pinmux = <PIN_PA1__SDMMC0_CMD>,
  528. <PIN_PA2__SDMMC0_DAT0>,
  529. <PIN_PA3__SDMMC0_DAT1>,
  530. <PIN_PA4__SDMMC0_DAT2>,
  531. <PIN_PA5__SDMMC0_DAT3>,
  532. <PIN_PA6__SDMMC0_DAT4>,
  533. <PIN_PA7__SDMMC0_DAT5>,
  534. <PIN_PA8__SDMMC0_DAT6>,
  535. <PIN_PA9__SDMMC0_DAT7>;
  536. bias-disable;
  537. };
  538. ck_cd_rstn {
  539. pinmux = <PIN_PA0__SDMMC0_CK>,
  540. <PIN_PA10__SDMMC0_RSTN>,
  541. <PIN_PA13__SDMMC0_CD>;
  542. bias-disable;
  543. };
  544. };
  545. pinctrl_sdmmc1_default: sdmmc1_default {
  546. cmd_data {
  547. pinmux = <PIN_PA28__SDMMC1_CMD>,
  548. <PIN_PA18__SDMMC1_DAT0>,
  549. <PIN_PA19__SDMMC1_DAT1>,
  550. <PIN_PA20__SDMMC1_DAT2>,
  551. <PIN_PA21__SDMMC1_DAT3>;
  552. bias-disable;
  553. };
  554. conf-ck_cd {
  555. pinmux = <PIN_PA22__SDMMC1_CK>,
  556. <PIN_PA30__SDMMC1_CD>;
  557. bias-disable;
  558. };
  559. };
  560. pinctrl_spi0_default: spi0_default {
  561. pinmux = <PIN_PA14__SPI0_SPCK>,
  562. <PIN_PA15__SPI0_MOSI>,
  563. <PIN_PA16__SPI0_MISO>,
  564. <PIN_PA17__SPI0_NPCS0>;
  565. bias-disable;
  566. };
  567. pinctrl_uart1_default: uart1_default {
  568. pinmux = <PIN_PD2__URXD1>,
  569. <PIN_PD3__UTXD1>;
  570. bias-disable;
  571. };
  572. pinctrl_uart3_default: uart3_default {
  573. pinmux = <PIN_PB11__URXD3>,
  574. <PIN_PB12__UTXD3>;
  575. bias-disable;
  576. };
  577. pinctrl_usb_default: usb_default {
  578. pinmux = <PIN_PB10__GPIO>;
  579. bias-disable;
  580. };
  581. pinctrl_usba_vbus: usba_vbus {
  582. pinmux = <PIN_PA31__GPIO>;
  583. bias-disable;
  584. };
  585. pinctrl_pwm0_pwm2_default: pwm0_pwm2_default {
  586. pinmux = <PIN_PB5__PWMH2>,
  587. <PIN_PB6__PWML2>;
  588. bias-pull-up;
  589. };
  590. };
  591. classd: classd@fc048000 {
  592. pinctrl-names = "default";
  593. pinctrl-0 = <&pinctrl_classd_default_pfets &pinctrl_classd_default_nfets>;
  594. atmel,pwm-type = "diff";
  595. atmel,non-overlap-time = <10>;
  596. status = "okay";
  597. };
  598. i2s1: i2s@fc04c000 {
  599. pinctrl-names = "default";
  600. pinctrl-0 = <&pinctrl_i2s1_default>;
  601. status = "disabled"; /* conflict with spi0, sdmmc1 */
  602. };
  603. can1: can@fc050000 {
  604. pinctrl-names = "default";
  605. pinctrl-0 = <&pinctrl_can1_default>;
  606. status = "okay";
  607. };
  608. };
  609. };
  610. gpio-keys {
  611. compatible = "gpio-keys";
  612. pinctrl-names = "default";
  613. pinctrl-0 = <&pinctrl_key_gpio_default>;
  614. button {
  615. label = "PB_USER";
  616. gpios = <&pioA PIN_PB9 GPIO_ACTIVE_LOW>;
  617. linux,code = <KEY_PROG1>;
  618. wakeup-source;
  619. };
  620. };
  621. leds {
  622. compatible = "gpio-leds";
  623. pinctrl-names = "default";
  624. pinctrl-0 = <&pinctrl_led_gpio_default>;
  625. status = "okay"; /* conflict with pwm0 */
  626. red {
  627. label = "red";
  628. gpios = <&pioA PIN_PB6 GPIO_ACTIVE_LOW>;
  629. };
  630. green {
  631. label = "green";
  632. gpios = <&pioA PIN_PB5 GPIO_ACTIVE_LOW>;
  633. };
  634. blue {
  635. label = "blue";
  636. gpios = <&pioA PIN_PB0 GPIO_ACTIVE_LOW>;
  637. linux,default-trigger = "heartbeat";
  638. };
  639. };
  640. };