sama5d3.dtsi 36 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126
  1. // SPDX-License-Identifier: GPL-2.0-or-later
  2. /*
  3. * sama5d3.dtsi - Device Tree Include file for SAMA5D3 family SoC
  4. * applies to SAMA5D31, SAMA5D33, SAMA5D34, SAMA5D35, SAMA5D36 SoC
  5. *
  6. * Copyright (C) 2013 Atmel,
  7. * 2013 Ludovic Desroches <[email protected]>
  8. */
  9. #include <dt-bindings/dma/at91.h>
  10. #include <dt-bindings/pinctrl/at91.h>
  11. #include <dt-bindings/interrupt-controller/irq.h>
  12. #include <dt-bindings/gpio/gpio.h>
  13. #include <dt-bindings/clock/at91.h>
  14. #include <dt-bindings/mfd/at91-usart.h>
  15. / {
  16. #address-cells = <1>;
  17. #size-cells = <1>;
  18. model = "Atmel SAMA5D3 family SoC";
  19. compatible = "atmel,sama5d3", "atmel,sama5";
  20. interrupt-parent = <&aic>;
  21. aliases {
  22. serial0 = &dbgu;
  23. serial1 = &usart0;
  24. serial2 = &usart1;
  25. serial3 = &usart2;
  26. serial4 = &usart3;
  27. serial5 = &uart0;
  28. gpio0 = &pioA;
  29. gpio1 = &pioB;
  30. gpio2 = &pioC;
  31. gpio3 = &pioD;
  32. gpio4 = &pioE;
  33. tcb0 = &tcb0;
  34. i2c0 = &i2c0;
  35. i2c1 = &i2c1;
  36. i2c2 = &i2c2;
  37. ssc0 = &ssc0;
  38. ssc1 = &ssc1;
  39. pwm0 = &pwm0;
  40. };
  41. cpus {
  42. #address-cells = <1>;
  43. #size-cells = <0>;
  44. cpu@0 {
  45. device_type = "cpu";
  46. compatible = "arm,cortex-a5";
  47. reg = <0x0>;
  48. };
  49. };
  50. pmu {
  51. compatible = "arm,cortex-a5-pmu";
  52. interrupts = <46 IRQ_TYPE_LEVEL_HIGH 0>;
  53. };
  54. memory@20000000 {
  55. device_type = "memory";
  56. reg = <0x20000000 0x8000000>;
  57. };
  58. clocks {
  59. slow_xtal: slow_xtal {
  60. compatible = "fixed-clock";
  61. #clock-cells = <0>;
  62. clock-frequency = <0>;
  63. };
  64. main_xtal: main_xtal {
  65. compatible = "fixed-clock";
  66. #clock-cells = <0>;
  67. clock-frequency = <0>;
  68. };
  69. adc_op_clk: adc_op_clk{
  70. compatible = "fixed-clock";
  71. #clock-cells = <0>;
  72. clock-frequency = <1000000>;
  73. };
  74. };
  75. sram: sram@300000 {
  76. compatible = "mmio-sram";
  77. reg = <0x00300000 0x20000>;
  78. #address-cells = <1>;
  79. #size-cells = <1>;
  80. ranges = <0 0x00300000 0x20000>;
  81. };
  82. ahb {
  83. compatible = "simple-bus";
  84. #address-cells = <1>;
  85. #size-cells = <1>;
  86. ranges;
  87. apb {
  88. compatible = "simple-bus";
  89. #address-cells = <1>;
  90. #size-cells = <1>;
  91. ranges;
  92. mmc0: mmc@f0000000 {
  93. compatible = "atmel,hsmci";
  94. reg = <0xf0000000 0x600>;
  95. interrupts = <21 IRQ_TYPE_LEVEL_HIGH 0>;
  96. dmas = <&dma0 2 AT91_DMA_CFG_PER_ID(0)>;
  97. dma-names = "rxtx";
  98. pinctrl-names = "default";
  99. pinctrl-0 = <&pinctrl_mmc0_clk_cmd_dat0 &pinctrl_mmc0_dat1_3 &pinctrl_mmc0_dat4_7>;
  100. status = "disabled";
  101. #address-cells = <1>;
  102. #size-cells = <0>;
  103. clocks = <&pmc PMC_TYPE_PERIPHERAL 21>;
  104. clock-names = "mci_clk";
  105. };
  106. spi0: spi@f0004000 {
  107. #address-cells = <1>;
  108. #size-cells = <0>;
  109. compatible = "atmel,at91rm9200-spi";
  110. reg = <0xf0004000 0x100>;
  111. interrupts = <24 IRQ_TYPE_LEVEL_HIGH 3>;
  112. dmas = <&dma0 2 AT91_DMA_CFG_PER_ID(1)>,
  113. <&dma0 2 AT91_DMA_CFG_PER_ID(2)>;
  114. dma-names = "tx", "rx";
  115. pinctrl-names = "default";
  116. pinctrl-0 = <&pinctrl_spi0>;
  117. clocks = <&pmc PMC_TYPE_PERIPHERAL 24>;
  118. clock-names = "spi_clk";
  119. status = "disabled";
  120. };
  121. ssc0: ssc@f0008000 {
  122. compatible = "atmel,at91sam9g45-ssc";
  123. reg = <0xf0008000 0x4000>;
  124. interrupts = <38 IRQ_TYPE_LEVEL_HIGH 4>;
  125. dmas = <&dma0 2 AT91_DMA_CFG_PER_ID(13)>,
  126. <&dma0 2 AT91_DMA_CFG_PER_ID(14)>;
  127. dma-names = "tx", "rx";
  128. pinctrl-names = "default";
  129. pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>;
  130. clocks = <&pmc PMC_TYPE_PERIPHERAL 38>;
  131. clock-names = "pclk";
  132. status = "disabled";
  133. };
  134. tcb0: timer@f0010000 {
  135. compatible = "atmel,at91sam9x5-tcb", "simple-mfd", "syscon";
  136. #address-cells = <1>;
  137. #size-cells = <0>;
  138. reg = <0xf0010000 0x100>;
  139. interrupts = <26 IRQ_TYPE_LEVEL_HIGH 0>;
  140. clocks = <&pmc PMC_TYPE_PERIPHERAL 26>, <&clk32k>;
  141. clock-names = "t0_clk", "slow_clk";
  142. };
  143. i2c0: i2c@f0014000 {
  144. compatible = "atmel,at91sam9x5-i2c";
  145. reg = <0xf0014000 0x4000>;
  146. interrupts = <18 IRQ_TYPE_LEVEL_HIGH 6>;
  147. dmas = <&dma0 2 AT91_DMA_CFG_PER_ID(7)>,
  148. <&dma0 2 AT91_DMA_CFG_PER_ID(8)>;
  149. dma-names = "tx", "rx";
  150. pinctrl-names = "default", "gpio";
  151. pinctrl-0 = <&pinctrl_i2c0>;
  152. pinctrl-1 = <&pinctrl_i2c0_gpio>;
  153. sda-gpios = <&pioA 30 GPIO_ACTIVE_HIGH>;
  154. scl-gpios = <&pioA 31 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
  155. #address-cells = <1>;
  156. #size-cells = <0>;
  157. clocks = <&pmc PMC_TYPE_PERIPHERAL 18>;
  158. status = "disabled";
  159. };
  160. i2c1: i2c@f0018000 {
  161. compatible = "atmel,at91sam9x5-i2c";
  162. reg = <0xf0018000 0x4000>;
  163. interrupts = <19 IRQ_TYPE_LEVEL_HIGH 6>;
  164. dmas = <&dma0 2 AT91_DMA_CFG_PER_ID(9)>,
  165. <&dma0 2 AT91_DMA_CFG_PER_ID(10)>;
  166. dma-names = "tx", "rx";
  167. pinctrl-names = "default", "gpio";
  168. pinctrl-0 = <&pinctrl_i2c1>;
  169. pinctrl-1 = <&pinctrl_i2c1_gpio>;
  170. sda-gpios = <&pioC 26 GPIO_ACTIVE_HIGH>;
  171. scl-gpios = <&pioC 27 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
  172. #address-cells = <1>;
  173. #size-cells = <0>;
  174. clocks = <&pmc PMC_TYPE_PERIPHERAL 19>;
  175. status = "disabled";
  176. };
  177. usart0: serial@f001c000 {
  178. compatible = "atmel,at91sam9260-usart";
  179. reg = <0xf001c000 0x100>;
  180. atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
  181. interrupts = <12 IRQ_TYPE_LEVEL_HIGH 5>;
  182. dmas = <&dma0 2 AT91_DMA_CFG_PER_ID(3)>,
  183. <&dma0 2 (AT91_DMA_CFG_PER_ID(4) | AT91_DMA_CFG_FIFOCFG_ASAP)>;
  184. dma-names = "tx", "rx";
  185. pinctrl-names = "default";
  186. pinctrl-0 = <&pinctrl_usart0>;
  187. clocks = <&pmc PMC_TYPE_PERIPHERAL 12>;
  188. clock-names = "usart";
  189. status = "disabled";
  190. };
  191. usart1: serial@f0020000 {
  192. compatible = "atmel,at91sam9260-usart";
  193. reg = <0xf0020000 0x100>;
  194. atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
  195. interrupts = <13 IRQ_TYPE_LEVEL_HIGH 5>;
  196. dmas = <&dma0 2 AT91_DMA_CFG_PER_ID(5)>,
  197. <&dma0 2 (AT91_DMA_CFG_PER_ID(6) | AT91_DMA_CFG_FIFOCFG_ASAP)>;
  198. dma-names = "tx", "rx";
  199. pinctrl-names = "default";
  200. pinctrl-0 = <&pinctrl_usart1>;
  201. clocks = <&pmc PMC_TYPE_PERIPHERAL 13>;
  202. clock-names = "usart";
  203. status = "disabled";
  204. };
  205. uart0: serial@f0024000 {
  206. compatible = "atmel,at91sam9260-usart";
  207. reg = <0xf0024000 0x100>;
  208. atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
  209. interrupts = <16 IRQ_TYPE_LEVEL_HIGH 5>;
  210. pinctrl-names = "default";
  211. pinctrl-0 = <&pinctrl_uart0>;
  212. clocks = <&pmc PMC_TYPE_PERIPHERAL 16>;
  213. clock-names = "usart";
  214. status = "disabled";
  215. };
  216. pwm0: pwm@f002c000 {
  217. compatible = "atmel,sama5d3-pwm";
  218. reg = <0xf002c000 0x300>;
  219. interrupts = <28 IRQ_TYPE_LEVEL_HIGH 4>;
  220. #pwm-cells = <3>;
  221. clocks = <&pmc PMC_TYPE_PERIPHERAL 28>;
  222. status = "disabled";
  223. };
  224. isi: isi@f0034000 {
  225. compatible = "atmel,at91sam9g45-isi";
  226. reg = <0xf0034000 0x4000>;
  227. interrupts = <37 IRQ_TYPE_LEVEL_HIGH 5>;
  228. pinctrl-names = "default";
  229. pinctrl-0 = <&pinctrl_isi_data_0_7>;
  230. clocks = <&pmc PMC_TYPE_PERIPHERAL 37>;
  231. clock-names = "isi_clk";
  232. status = "disabled";
  233. port {
  234. #address-cells = <1>;
  235. #size-cells = <0>;
  236. };
  237. };
  238. sfr: sfr@f0038000 {
  239. compatible = "atmel,sama5d3-sfr", "syscon";
  240. reg = <0xf0038000 0x60>;
  241. };
  242. mmc1: mmc@f8000000 {
  243. compatible = "atmel,hsmci";
  244. reg = <0xf8000000 0x600>;
  245. interrupts = <22 IRQ_TYPE_LEVEL_HIGH 0>;
  246. dmas = <&dma1 2 AT91_DMA_CFG_PER_ID(0)>;
  247. dma-names = "rxtx";
  248. pinctrl-names = "default";
  249. pinctrl-0 = <&pinctrl_mmc1_clk_cmd_dat0 &pinctrl_mmc1_dat1_3>;
  250. status = "disabled";
  251. #address-cells = <1>;
  252. #size-cells = <0>;
  253. clocks = <&pmc PMC_TYPE_PERIPHERAL 22>;
  254. clock-names = "mci_clk";
  255. };
  256. spi1: spi@f8008000 {
  257. #address-cells = <1>;
  258. #size-cells = <0>;
  259. compatible = "atmel,at91rm9200-spi";
  260. reg = <0xf8008000 0x100>;
  261. interrupts = <25 IRQ_TYPE_LEVEL_HIGH 3>;
  262. dmas = <&dma1 2 AT91_DMA_CFG_PER_ID(15)>,
  263. <&dma1 2 AT91_DMA_CFG_PER_ID(16)>;
  264. dma-names = "tx", "rx";
  265. pinctrl-names = "default";
  266. pinctrl-0 = <&pinctrl_spi1>;
  267. clocks = <&pmc PMC_TYPE_PERIPHERAL 25>;
  268. clock-names = "spi_clk";
  269. status = "disabled";
  270. };
  271. ssc1: ssc@f800c000 {
  272. compatible = "atmel,at91sam9g45-ssc";
  273. reg = <0xf800c000 0x4000>;
  274. interrupts = <39 IRQ_TYPE_LEVEL_HIGH 4>;
  275. dmas = <&dma1 2 AT91_DMA_CFG_PER_ID(3)>,
  276. <&dma1 2 AT91_DMA_CFG_PER_ID(4)>;
  277. dma-names = "tx", "rx";
  278. pinctrl-names = "default";
  279. pinctrl-0 = <&pinctrl_ssc1_tx &pinctrl_ssc1_rx>;
  280. clocks = <&pmc PMC_TYPE_PERIPHERAL 39>;
  281. clock-names = "pclk";
  282. status = "disabled";
  283. };
  284. adc0: adc@f8018000 {
  285. compatible = "atmel,sama5d3-adc";
  286. reg = <0xf8018000 0x100>;
  287. interrupts = <29 IRQ_TYPE_LEVEL_HIGH 5>;
  288. pinctrl-names = "default";
  289. pinctrl-0 = <
  290. &pinctrl_adc0_adtrg
  291. &pinctrl_adc0_ad0
  292. &pinctrl_adc0_ad1
  293. &pinctrl_adc0_ad2
  294. &pinctrl_adc0_ad3
  295. &pinctrl_adc0_ad4
  296. &pinctrl_adc0_ad5
  297. &pinctrl_adc0_ad6
  298. &pinctrl_adc0_ad7
  299. &pinctrl_adc0_ad8
  300. &pinctrl_adc0_ad9
  301. &pinctrl_adc0_ad10
  302. &pinctrl_adc0_ad11
  303. >;
  304. clocks = <&pmc PMC_TYPE_PERIPHERAL 29>,
  305. <&adc_op_clk>;
  306. clock-names = "adc_clk", "adc_op_clk";
  307. atmel,adc-channels-used = <0xfff>;
  308. atmel,adc-startup-time = <40>;
  309. atmel,adc-use-external-triggers;
  310. atmel,adc-vref = <3000>;
  311. atmel,adc-sample-hold-time = <11>;
  312. status = "disabled";
  313. };
  314. i2c2: i2c@f801c000 {
  315. compatible = "atmel,at91sam9x5-i2c";
  316. reg = <0xf801c000 0x4000>;
  317. interrupts = <20 IRQ_TYPE_LEVEL_HIGH 6>;
  318. dmas = <&dma1 2 AT91_DMA_CFG_PER_ID(11)>,
  319. <&dma1 2 AT91_DMA_CFG_PER_ID(12)>;
  320. dma-names = "tx", "rx";
  321. pinctrl-names = "default", "gpio";
  322. pinctrl-0 = <&pinctrl_i2c2>;
  323. pinctrl-1 = <&pinctrl_i2c2_gpio>;
  324. sda-gpios = <&pioA 18 GPIO_ACTIVE_HIGH>;
  325. scl-gpios = <&pioA 19 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
  326. #address-cells = <1>;
  327. #size-cells = <0>;
  328. clocks = <&pmc PMC_TYPE_PERIPHERAL 20>;
  329. status = "disabled";
  330. };
  331. usart2: serial@f8020000 {
  332. compatible = "atmel,at91sam9260-usart";
  333. reg = <0xf8020000 0x100>;
  334. atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
  335. interrupts = <14 IRQ_TYPE_LEVEL_HIGH 5>;
  336. dmas = <&dma1 2 AT91_DMA_CFG_PER_ID(7)>,
  337. <&dma1 2 (AT91_DMA_CFG_PER_ID(8) | AT91_DMA_CFG_FIFOCFG_ASAP)>;
  338. dma-names = "tx", "rx";
  339. pinctrl-names = "default";
  340. pinctrl-0 = <&pinctrl_usart2>;
  341. clocks = <&pmc PMC_TYPE_PERIPHERAL 14>;
  342. clock-names = "usart";
  343. status = "disabled";
  344. };
  345. usart3: serial@f8024000 {
  346. compatible = "atmel,at91sam9260-usart";
  347. reg = <0xf8024000 0x100>;
  348. atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
  349. interrupts = <15 IRQ_TYPE_LEVEL_HIGH 5>;
  350. dmas = <&dma1 2 AT91_DMA_CFG_PER_ID(9)>,
  351. <&dma1 2 (AT91_DMA_CFG_PER_ID(10) | AT91_DMA_CFG_FIFOCFG_ASAP)>;
  352. dma-names = "tx", "rx";
  353. pinctrl-names = "default";
  354. pinctrl-0 = <&pinctrl_usart3>;
  355. clocks = <&pmc PMC_TYPE_PERIPHERAL 15>;
  356. clock-names = "usart";
  357. status = "disabled";
  358. };
  359. sha: crypto@f8034000 {
  360. compatible = "atmel,at91sam9g46-sha";
  361. reg = <0xf8034000 0x100>;
  362. interrupts = <42 IRQ_TYPE_LEVEL_HIGH 0>;
  363. dmas = <&dma1 2 AT91_DMA_CFG_PER_ID(17)>;
  364. dma-names = "tx";
  365. clocks = <&pmc PMC_TYPE_PERIPHERAL 42>;
  366. clock-names = "sha_clk";
  367. };
  368. aes: crypto@f8038000 {
  369. compatible = "atmel,at91sam9g46-aes";
  370. reg = <0xf8038000 0x100>;
  371. interrupts = <43 IRQ_TYPE_LEVEL_HIGH 0>;
  372. dmas = <&dma1 2 AT91_DMA_CFG_PER_ID(18)>,
  373. <&dma1 2 AT91_DMA_CFG_PER_ID(19)>;
  374. dma-names = "tx", "rx";
  375. clocks = <&pmc PMC_TYPE_PERIPHERAL 43>;
  376. clock-names = "aes_clk";
  377. };
  378. tdes: crypto@f803c000 {
  379. compatible = "atmel,at91sam9g46-tdes";
  380. reg = <0xf803c000 0x100>;
  381. interrupts = <44 IRQ_TYPE_LEVEL_HIGH 0>;
  382. dmas = <&dma1 2 AT91_DMA_CFG_PER_ID(20)>,
  383. <&dma1 2 AT91_DMA_CFG_PER_ID(21)>;
  384. dma-names = "tx", "rx";
  385. clocks = <&pmc PMC_TYPE_PERIPHERAL 44>;
  386. clock-names = "tdes_clk";
  387. };
  388. trng@f8040000 {
  389. compatible = "atmel,at91sam9g45-trng";
  390. reg = <0xf8040000 0x100>;
  391. interrupts = <45 IRQ_TYPE_LEVEL_HIGH 0>;
  392. clocks = <&pmc PMC_TYPE_PERIPHERAL 45>;
  393. };
  394. hsmc: hsmc@ffffc000 {
  395. compatible = "atmel,sama5d3-smc", "syscon", "simple-mfd";
  396. reg = <0xffffc000 0x1000>;
  397. interrupts = <5 IRQ_TYPE_LEVEL_HIGH 6>;
  398. clocks = <&pmc PMC_TYPE_PERIPHERAL 5>;
  399. #address-cells = <1>;
  400. #size-cells = <1>;
  401. ranges;
  402. pmecc: ecc-engine@ffffc070 {
  403. compatible = "atmel,at91sam9g45-pmecc";
  404. reg = <0xffffc070 0x490>,
  405. <0xffffc500 0x100>;
  406. };
  407. };
  408. dma0: dma-controller@ffffe600 {
  409. compatible = "atmel,at91sam9g45-dma";
  410. reg = <0xffffe600 0x200>;
  411. interrupts = <30 IRQ_TYPE_LEVEL_HIGH 0>;
  412. #dma-cells = <2>;
  413. clocks = <&pmc PMC_TYPE_PERIPHERAL 30>;
  414. clock-names = "dma_clk";
  415. };
  416. dma1: dma-controller@ffffe800 {
  417. compatible = "atmel,at91sam9g45-dma";
  418. reg = <0xffffe800 0x200>;
  419. interrupts = <31 IRQ_TYPE_LEVEL_HIGH 0>;
  420. #dma-cells = <2>;
  421. clocks = <&pmc PMC_TYPE_PERIPHERAL 31>;
  422. clock-names = "dma_clk";
  423. };
  424. ramc0: ramc@ffffea00 {
  425. compatible = "atmel,sama5d3-ddramc";
  426. reg = <0xffffea00 0x200>;
  427. clocks = <&pmc PMC_TYPE_SYSTEM 2>, <&pmc PMC_TYPE_PERIPHERAL 49>;
  428. clock-names = "ddrck", "mpddr";
  429. };
  430. dbgu: serial@ffffee00 {
  431. compatible = "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
  432. reg = <0xffffee00 0x200>;
  433. atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
  434. interrupts = <2 IRQ_TYPE_LEVEL_HIGH 7>;
  435. dmas = <&dma1 2 AT91_DMA_CFG_PER_ID(13)>,
  436. <&dma1 2 (AT91_DMA_CFG_PER_ID(14) | AT91_DMA_CFG_FIFOCFG_ASAP)>;
  437. dma-names = "tx", "rx";
  438. pinctrl-names = "default";
  439. pinctrl-0 = <&pinctrl_dbgu>;
  440. clocks = <&pmc PMC_TYPE_PERIPHERAL 2>;
  441. clock-names = "usart";
  442. status = "disabled";
  443. };
  444. aic: interrupt-controller@fffff000 {
  445. #interrupt-cells = <3>;
  446. compatible = "atmel,sama5d3-aic";
  447. interrupt-controller;
  448. reg = <0xfffff000 0x200>;
  449. atmel,external-irqs = <47>;
  450. };
  451. pinctrl: pinctrl@fffff200 {
  452. #address-cells = <1>;
  453. #size-cells = <1>;
  454. compatible = "atmel,sama5d3-pinctrl", "atmel,at91sam9x5-pinctrl", "simple-bus";
  455. ranges = <0xfffff200 0xfffff200 0xa00>;
  456. atmel,mux-mask = <
  457. /* A B C */
  458. 0xffffffff 0xc0fc0000 0xc0ff0000 /* pioA */
  459. 0xffffffff 0x0ff8ffff 0x00000000 /* pioB */
  460. 0xffffffff 0xbc00f1ff 0x7c00fc00 /* pioC */
  461. 0xffffffff 0xc001c0e0 0x0001c1e0 /* pioD */
  462. 0xffffffff 0xbf9f8000 0x18000000 /* pioE */
  463. >;
  464. /* shared pinctrl settings */
  465. adc0 {
  466. pinctrl_adc0_adtrg: adc0_adtrg {
  467. atmel,pins =
  468. <AT91_PIOD 19 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD19 periph A ADTRG */
  469. };
  470. pinctrl_adc0_ad0: adc0_ad0 {
  471. atmel,pins =
  472. <AT91_PIOD 20 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD20 periph A AD0 */
  473. };
  474. pinctrl_adc0_ad1: adc0_ad1 {
  475. atmel,pins =
  476. <AT91_PIOD 21 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD21 periph A AD1 */
  477. };
  478. pinctrl_adc0_ad2: adc0_ad2 {
  479. atmel,pins =
  480. <AT91_PIOD 22 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD22 periph A AD2 */
  481. };
  482. pinctrl_adc0_ad3: adc0_ad3 {
  483. atmel,pins =
  484. <AT91_PIOD 23 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD23 periph A AD3 */
  485. };
  486. pinctrl_adc0_ad4: adc0_ad4 {
  487. atmel,pins =
  488. <AT91_PIOD 24 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD24 periph A AD4 */
  489. };
  490. pinctrl_adc0_ad5: adc0_ad5 {
  491. atmel,pins =
  492. <AT91_PIOD 25 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD25 periph A AD5 */
  493. };
  494. pinctrl_adc0_ad6: adc0_ad6 {
  495. atmel,pins =
  496. <AT91_PIOD 26 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD26 periph A AD6 */
  497. };
  498. pinctrl_adc0_ad7: adc0_ad7 {
  499. atmel,pins =
  500. <AT91_PIOD 27 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD27 periph A AD7 */
  501. };
  502. pinctrl_adc0_ad8: adc0_ad8 {
  503. atmel,pins =
  504. <AT91_PIOD 28 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD28 periph A AD8 */
  505. };
  506. pinctrl_adc0_ad9: adc0_ad9 {
  507. atmel,pins =
  508. <AT91_PIOD 29 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD29 periph A AD9 */
  509. };
  510. pinctrl_adc0_ad10: adc0_ad10 {
  511. atmel,pins =
  512. <AT91_PIOD 30 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD30 periph A AD10, conflicts with PCK0 */
  513. };
  514. pinctrl_adc0_ad11: adc0_ad11 {
  515. atmel,pins =
  516. <AT91_PIOD 31 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD31 periph A AD11, conflicts with PCK1 */
  517. };
  518. };
  519. dbgu {
  520. pinctrl_dbgu: dbgu-0 {
  521. atmel,pins =
  522. <AT91_PIOB 30 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
  523. AT91_PIOB 31 AT91_PERIPH_A AT91_PINCTRL_NONE>;
  524. };
  525. };
  526. ebi {
  527. pinctrl_ebi_addr: ebi-addr-0 {
  528. atmel,pins =
  529. <AT91_PIOE 1 AT91_PERIPH_A AT91_PINCTRL_NONE
  530. AT91_PIOE 2 AT91_PERIPH_A AT91_PINCTRL_NONE
  531. AT91_PIOE 3 AT91_PERIPH_A AT91_PINCTRL_NONE
  532. AT91_PIOE 4 AT91_PERIPH_A AT91_PINCTRL_NONE
  533. AT91_PIOE 5 AT91_PERIPH_A AT91_PINCTRL_NONE
  534. AT91_PIOE 6 AT91_PERIPH_A AT91_PINCTRL_NONE
  535. AT91_PIOE 7 AT91_PERIPH_A AT91_PINCTRL_NONE
  536. AT91_PIOE 8 AT91_PERIPH_A AT91_PINCTRL_NONE
  537. AT91_PIOE 9 AT91_PERIPH_A AT91_PINCTRL_NONE
  538. AT91_PIOE 10 AT91_PERIPH_A AT91_PINCTRL_NONE
  539. AT91_PIOE 11 AT91_PERIPH_A AT91_PINCTRL_NONE
  540. AT91_PIOE 12 AT91_PERIPH_A AT91_PINCTRL_NONE
  541. AT91_PIOE 13 AT91_PERIPH_A AT91_PINCTRL_NONE
  542. AT91_PIOE 14 AT91_PERIPH_A AT91_PINCTRL_NONE
  543. AT91_PIOE 15 AT91_PERIPH_A AT91_PINCTRL_NONE
  544. AT91_PIOE 16 AT91_PERIPH_A AT91_PINCTRL_NONE
  545. AT91_PIOE 17 AT91_PERIPH_A AT91_PINCTRL_NONE
  546. AT91_PIOE 18 AT91_PERIPH_A AT91_PINCTRL_NONE
  547. AT91_PIOE 19 AT91_PERIPH_A AT91_PINCTRL_NONE
  548. AT91_PIOE 20 AT91_PERIPH_A AT91_PINCTRL_NONE
  549. AT91_PIOE 21 AT91_PERIPH_A AT91_PINCTRL_NONE
  550. AT91_PIOE 22 AT91_PERIPH_A AT91_PINCTRL_NONE
  551. AT91_PIOE 23 AT91_PERIPH_A AT91_PINCTRL_NONE>;
  552. };
  553. pinctrl_ebi_nand_addr: ebi-addr-1 {
  554. atmel,pins =
  555. <AT91_PIOE 21 AT91_PERIPH_A AT91_PINCTRL_NONE
  556. AT91_PIOE 22 AT91_PERIPH_A AT91_PINCTRL_NONE>;
  557. };
  558. pinctrl_ebi_cs0: ebi-cs0-0 {
  559. atmel,pins =
  560. <AT91_PIOE 24 AT91_PERIPH_A AT91_PINCTRL_NONE>;
  561. };
  562. pinctrl_ebi_cs1: ebi-cs1-0 {
  563. atmel,pins =
  564. <AT91_PIOE 25 AT91_PERIPH_A AT91_PINCTRL_NONE>;
  565. };
  566. pinctrl_ebi_cs2: ebi-cs2-0 {
  567. atmel,pins =
  568. <AT91_PIOE 26 AT91_PERIPH_A AT91_PINCTRL_NONE>;
  569. };
  570. pinctrl_ebi_nwait: ebi-nwait-0 {
  571. atmel,pins =
  572. <AT91_PIOE 28 AT91_PERIPH_A AT91_PINCTRL_NONE>;
  573. };
  574. pinctrl_ebi_nwr1_nbs1: ebi-nwr1-nbs1-0 {
  575. atmel,pins =
  576. <AT91_PIOE 27 AT91_PERIPH_A AT91_PINCTRL_NONE>;
  577. };
  578. };
  579. i2c0 {
  580. pinctrl_i2c0: i2c0-0 {
  581. atmel,pins =
  582. <AT91_PIOA 30 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA30 periph A TWD0 pin, conflicts with URXD1, ISI_VSYNC */
  583. AT91_PIOA 31 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PA31 periph A TWCK0 pin, conflicts with UTXD1, ISI_HSYNC */
  584. };
  585. pinctrl_i2c0_gpio: i2c0-gpio {
  586. atmel,pins =
  587. <AT91_PIOA 30 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
  588. AT91_PIOA 31 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
  589. };
  590. };
  591. i2c1 {
  592. pinctrl_i2c1: i2c1-0 {
  593. atmel,pins =
  594. <AT91_PIOC 26 AT91_PERIPH_B AT91_PINCTRL_NONE /* PC26 periph B TWD1 pin, conflicts with SPI1_NPCS1, ISI_D11 */
  595. AT91_PIOC 27 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PC27 periph B TWCK1 pin, conflicts with SPI1_NPCS2, ISI_D10 */
  596. };
  597. pinctrl_i2c1_gpio: i2c1-gpio {
  598. atmel,pins =
  599. <AT91_PIOC 26 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
  600. AT91_PIOC 27 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
  601. };
  602. };
  603. i2c2 {
  604. pinctrl_i2c2: i2c2-0 {
  605. atmel,pins =
  606. <AT91_PIOA 18 AT91_PERIPH_B AT91_PINCTRL_NONE /* TWD2 pin, conflicts with LCDDAT18, ISI_D2 */
  607. AT91_PIOA 19 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* TWCK2 pin, conflicts with LCDDAT19, ISI_D3 */
  608. };
  609. pinctrl_i2c2_gpio: i2c2-gpio {
  610. atmel,pins =
  611. <AT91_PIOA 18 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
  612. AT91_PIOA 19 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
  613. };
  614. };
  615. isi {
  616. pinctrl_isi_data_0_7: isi-0-data-0-7 {
  617. atmel,pins =
  618. <AT91_PIOA 16 AT91_PERIPH_C AT91_PINCTRL_NONE /* PA16 periph C ISI_D0, conflicts with LCDDAT16 */
  619. AT91_PIOA 17 AT91_PERIPH_C AT91_PINCTRL_NONE /* PA17 periph C ISI_D1, conflicts with LCDDAT17 */
  620. AT91_PIOA 18 AT91_PERIPH_C AT91_PINCTRL_NONE /* PA18 periph C ISI_D2, conflicts with LCDDAT18, TWD2 */
  621. AT91_PIOA 19 AT91_PERIPH_C AT91_PINCTRL_NONE /* PA19 periph C ISI_D3, conflicts with LCDDAT19, TWCK2 */
  622. AT91_PIOA 20 AT91_PERIPH_C AT91_PINCTRL_NONE /* PA20 periph C ISI_D4, conflicts with LCDDAT20, PWMH0 */
  623. AT91_PIOA 21 AT91_PERIPH_C AT91_PINCTRL_NONE /* PA21 periph C ISI_D5, conflicts with LCDDAT21, PWML0 */
  624. AT91_PIOA 22 AT91_PERIPH_C AT91_PINCTRL_NONE /* PA22 periph C ISI_D6, conflicts with LCDDAT22, PWMH1 */
  625. AT91_PIOA 23 AT91_PERIPH_C AT91_PINCTRL_NONE /* PA23 periph C ISI_D7, conflicts with LCDDAT23, PWML1 */
  626. AT91_PIOC 30 AT91_PERIPH_C AT91_PINCTRL_NONE /* PC30 periph C ISI_PCK, conflicts with UTXD0 */
  627. AT91_PIOA 31 AT91_PERIPH_C AT91_PINCTRL_NONE /* PA31 periph C ISI_HSYNC, conflicts with TWCK0, UTXD1 */
  628. AT91_PIOA 30 AT91_PERIPH_C AT91_PINCTRL_NONE>; /* PA30 periph C ISI_VSYNC, conflicts with TWD0, URXD1 */
  629. };
  630. pinctrl_isi_data_8_9: isi-0-data-8-9 {
  631. atmel,pins =
  632. <AT91_PIOC 29 AT91_PERIPH_C AT91_PINCTRL_NONE /* PC29 periph C ISI_PD8, conflicts with URXD0, PWMFI2 */
  633. AT91_PIOC 28 AT91_PERIPH_C AT91_PINCTRL_NONE>; /* PC28 periph C ISI_PD9, conflicts with SPI1_NPCS3, PWMFI0 */
  634. };
  635. pinctrl_isi_data_10_11: isi-0-data-10-11 {
  636. atmel,pins =
  637. <AT91_PIOC 27 AT91_PERIPH_C AT91_PINCTRL_NONE /* PC27 periph C ISI_PD10, conflicts with SPI1_NPCS2, TWCK1 */
  638. AT91_PIOC 26 AT91_PERIPH_C AT91_PINCTRL_NONE>; /* PC26 periph C ISI_PD11, conflicts with SPI1_NPCS1, TWD1 */
  639. };
  640. };
  641. mmc0 {
  642. pinctrl_mmc0_clk_cmd_dat0: mmc0_clk_cmd_dat0 {
  643. atmel,pins =
  644. <AT91_PIOD 9 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD9 periph A MCI0_CK */
  645. AT91_PIOD 0 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PD0 periph A MCI0_CDA with pullup */
  646. AT91_PIOD 1 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; /* PD1 periph A MCI0_DA0 with pullup */
  647. };
  648. pinctrl_mmc0_dat1_3: mmc0_dat1_3 {
  649. atmel,pins =
  650. <AT91_PIOD 2 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PD2 periph A MCI0_DA1 with pullup */
  651. AT91_PIOD 3 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PD3 periph A MCI0_DA2 with pullup */
  652. AT91_PIOD 4 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; /* PD4 periph A MCI0_DA3 with pullup */
  653. };
  654. pinctrl_mmc0_dat4_7: mmc0_dat4_7 {
  655. atmel,pins =
  656. <AT91_PIOD 5 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PD5 periph A MCI0_DA4 with pullup, conflicts with TIOA0, PWMH2 */
  657. AT91_PIOD 6 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PD6 periph A MCI0_DA5 with pullup, conflicts with TIOB0, PWML2 */
  658. AT91_PIOD 7 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PD7 periph A MCI0_DA6 with pullup, conflicts with TCLK0, PWMH3 */
  659. AT91_PIOD 8 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; /* PD8 periph A MCI0_DA7 with pullup, conflicts with PWML3 */
  660. };
  661. };
  662. mmc1 {
  663. pinctrl_mmc1_clk_cmd_dat0: mmc1_clk_cmd_dat0 {
  664. atmel,pins =
  665. <AT91_PIOB 24 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB24 periph A MCI1_CK, conflicts with GRX5 */
  666. AT91_PIOB 19 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PB19 periph A MCI1_CDA with pullup, conflicts with GTX4 */
  667. AT91_PIOB 20 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; /* PB20 periph A MCI1_DA0 with pullup, conflicts with GTX5 */
  668. };
  669. pinctrl_mmc1_dat1_3: mmc1_dat1_3 {
  670. atmel,pins =
  671. <AT91_PIOB 21 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PB21 periph A MCI1_DA1 with pullup, conflicts with GTX6 */
  672. AT91_PIOB 22 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PB22 periph A MCI1_DA2 with pullup, conflicts with GTX7 */
  673. AT91_PIOB 23 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; /* PB23 periph A MCI1_DA3 with pullup, conflicts with GRX4 */
  674. };
  675. };
  676. nand0 {
  677. pinctrl_nand0_ale_cle: nand0_ale_cle-0 {
  678. atmel,pins =
  679. <AT91_PIOE 21 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PE21 periph A with pullup */
  680. AT91_PIOE 22 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; /* PE22 periph A with pullup */
  681. };
  682. };
  683. pwm0 {
  684. pinctrl_pwm0_pwmh0_0: pwm0_pwmh0-0 {
  685. atmel,pins =
  686. <AT91_PIOA 20 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* conflicts with ISI_D4 and LCDDAT20 */
  687. };
  688. pinctrl_pwm0_pwmh0_1: pwm0_pwmh0-1 {
  689. atmel,pins =
  690. <AT91_PIOB 0 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* conflicts with GTX0 */
  691. };
  692. pinctrl_pwm0_pwml0_0: pwm0_pwml0-0 {
  693. atmel,pins =
  694. <AT91_PIOA 21 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* conflicts with ISI_D5 and LCDDAT21 */
  695. };
  696. pinctrl_pwm0_pwml0_1: pwm0_pwml0-1 {
  697. atmel,pins =
  698. <AT91_PIOB 1 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* conflicts with GTX1 */
  699. };
  700. pinctrl_pwm0_pwmh1_0: pwm0_pwmh1-0 {
  701. atmel,pins =
  702. <AT91_PIOA 22 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* conflicts with ISI_D6 and LCDDAT22 */
  703. };
  704. pinctrl_pwm0_pwmh1_1: pwm0_pwmh1-1 {
  705. atmel,pins =
  706. <AT91_PIOB 4 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* conflicts with GRX0 */
  707. };
  708. pinctrl_pwm0_pwmh1_2: pwm0_pwmh1-2 {
  709. atmel,pins =
  710. <AT91_PIOB 27 AT91_PERIPH_C AT91_PINCTRL_NONE>; /* conflicts with G125CKO and RTS1 */
  711. };
  712. pinctrl_pwm0_pwml1_0: pwm0_pwml1-0 {
  713. atmel,pins =
  714. <AT91_PIOA 23 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* conflicts with ISI_D7 and LCDDAT23 */
  715. };
  716. pinctrl_pwm0_pwml1_1: pwm0_pwml1-1 {
  717. atmel,pins =
  718. <AT91_PIOB 5 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* conflicts with GRX1 */
  719. };
  720. pinctrl_pwm0_pwml1_2: pwm0_pwml1-2 {
  721. atmel,pins =
  722. <AT91_PIOE 31 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* conflicts with IRQ */
  723. };
  724. pinctrl_pwm0_pwmh2_0: pwm0_pwmh2-0 {
  725. atmel,pins =
  726. <AT91_PIOB 8 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* conflicts with GTXCK */
  727. };
  728. pinctrl_pwm0_pwmh2_1: pwm0_pwmh2-1 {
  729. atmel,pins =
  730. <AT91_PIOD 5 AT91_PERIPH_C AT91_PINCTRL_NONE>; /* conflicts with MCI0_DA4 and TIOA0 */
  731. };
  732. pinctrl_pwm0_pwml2_0: pwm0_pwml2-0 {
  733. atmel,pins =
  734. <AT91_PIOB 9 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* conflicts with GTXEN */
  735. };
  736. pinctrl_pwm0_pwml2_1: pwm0_pwml2-1 {
  737. atmel,pins =
  738. <AT91_PIOD 6 AT91_PERIPH_C AT91_PINCTRL_NONE>; /* conflicts with MCI0_DA5 and TIOB0 */
  739. };
  740. pinctrl_pwm0_pwmh3_0: pwm0_pwmh3-0 {
  741. atmel,pins =
  742. <AT91_PIOB 12 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* conflicts with GRXDV */
  743. };
  744. pinctrl_pwm0_pwmh3_1: pwm0_pwmh3-1 {
  745. atmel,pins =
  746. <AT91_PIOD 7 AT91_PERIPH_C AT91_PINCTRL_NONE>; /* conflicts with MCI0_DA6 and TCLK0 */
  747. };
  748. pinctrl_pwm0_pwml3_0: pwm0_pwml3-0 {
  749. atmel,pins =
  750. <AT91_PIOB 13 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* conflicts with GRXER */
  751. };
  752. pinctrl_pwm0_pwml3_1: pwm0_pwml3-1 {
  753. atmel,pins =
  754. <AT91_PIOD 8 AT91_PERIPH_C AT91_PINCTRL_NONE>; /* conflicts with MCI0_DA7 */
  755. };
  756. };
  757. spi0 {
  758. pinctrl_spi0: spi0-0 {
  759. atmel,pins =
  760. <AT91_PIOD 10 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD10 periph A SPI0_MISO pin */
  761. AT91_PIOD 11 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD11 periph A SPI0_MOSI pin */
  762. AT91_PIOD 12 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD12 periph A SPI0_SPCK pin */
  763. };
  764. };
  765. spi1 {
  766. pinctrl_spi1: spi1-0 {
  767. atmel,pins =
  768. <AT91_PIOC 22 AT91_PERIPH_A AT91_PINCTRL_NONE /* PC22 periph A SPI1_MISO pin */
  769. AT91_PIOC 23 AT91_PERIPH_A AT91_PINCTRL_NONE /* PC23 periph A SPI1_MOSI pin */
  770. AT91_PIOC 24 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PC24 periph A SPI1_SPCK pin */
  771. };
  772. };
  773. ssc0 {
  774. pinctrl_ssc0_tx: ssc0_tx {
  775. atmel,pins =
  776. <AT91_PIOC 16 AT91_PERIPH_A AT91_PINCTRL_NONE /* PC16 periph A TK0 */
  777. AT91_PIOC 17 AT91_PERIPH_A AT91_PINCTRL_NONE /* PC17 periph A TF0 */
  778. AT91_PIOC 18 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PC18 periph A TD0 */
  779. };
  780. pinctrl_ssc0_rx: ssc0_rx {
  781. atmel,pins =
  782. <AT91_PIOC 19 AT91_PERIPH_A AT91_PINCTRL_NONE /* PC19 periph A RK0 */
  783. AT91_PIOC 20 AT91_PERIPH_A AT91_PINCTRL_NONE /* PC20 periph A RF0 */
  784. AT91_PIOC 21 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PC21 periph A RD0 */
  785. };
  786. };
  787. ssc1 {
  788. pinctrl_ssc1_tx: ssc1_tx {
  789. atmel,pins =
  790. <AT91_PIOB 2 AT91_PERIPH_B AT91_PINCTRL_NONE /* PB2 periph B TK1, conflicts with GTX2 */
  791. AT91_PIOB 3 AT91_PERIPH_B AT91_PINCTRL_NONE /* PB3 periph B TF1, conflicts with GTX3 */
  792. AT91_PIOB 6 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PB6 periph B TD1, conflicts with TD1 */
  793. };
  794. pinctrl_ssc1_rx: ssc1_rx {
  795. atmel,pins =
  796. <AT91_PIOB 7 AT91_PERIPH_B AT91_PINCTRL_NONE /* PB7 periph B RK1, conflicts with EREFCK */
  797. AT91_PIOB 10 AT91_PERIPH_B AT91_PINCTRL_NONE /* PB10 periph B RF1, conflicts with GTXER */
  798. AT91_PIOB 11 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PB11 periph B RD1, conflicts with GRXCK */
  799. };
  800. };
  801. uart0 {
  802. pinctrl_uart0: uart0-0 {
  803. atmel,pins =
  804. <AT91_PIOC 29 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* conflicts with PWMFI2, ISI_D8 */
  805. AT91_PIOC 30 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* conflicts with ISI_PCK */
  806. };
  807. };
  808. uart1 {
  809. pinctrl_uart1: uart1-0 {
  810. atmel,pins =
  811. <AT91_PIOA 30 AT91_PERIPH_B AT91_PINCTRL_PULL_UP /* conflicts with TWD0, ISI_VSYNC */
  812. AT91_PIOA 31 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* conflicts with TWCK0, ISI_HSYNC */
  813. };
  814. };
  815. usart0 {
  816. pinctrl_usart0: usart0-0 {
  817. atmel,pins =
  818. <AT91_PIOD 17 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
  819. AT91_PIOD 18 AT91_PERIPH_A AT91_PINCTRL_NONE>;
  820. };
  821. pinctrl_usart0_rts_cts: usart0_rts_cts-0 {
  822. atmel,pins =
  823. <AT91_PIOD 15 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD15 periph A, conflicts with SPI0_NPCS2, CANTX0 */
  824. AT91_PIOD 16 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD16 periph A, conflicts with SPI0_NPCS3, PWMFI3 */
  825. };
  826. };
  827. usart1 {
  828. pinctrl_usart1: usart1-0 {
  829. atmel,pins =
  830. <AT91_PIOB 28 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
  831. AT91_PIOB 29 AT91_PERIPH_A AT91_PINCTRL_NONE>;
  832. };
  833. pinctrl_usart1_rts_cts: usart1_rts_cts-0 {
  834. atmel,pins =
  835. <AT91_PIOB 26 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB26 periph A, conflicts with GRX7 */
  836. AT91_PIOB 27 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB27 periph A, conflicts with G125CKO */
  837. };
  838. };
  839. usart2 {
  840. pinctrl_usart2: usart2-0 {
  841. atmel,pins =
  842. <AT91_PIOE 25 AT91_PERIPH_B AT91_PINCTRL_PULL_UP /* conflicts with A25 */
  843. AT91_PIOE 26 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* conflicts NCS0 */
  844. };
  845. pinctrl_usart2_rts_cts: usart2_rts_cts-0 {
  846. atmel,pins =
  847. <AT91_PIOE 23 AT91_PERIPH_B AT91_PINCTRL_NONE /* PE23 periph B, conflicts with A23 */
  848. AT91_PIOE 24 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PE24 periph B, conflicts with A24 */
  849. };
  850. };
  851. usart3 {
  852. pinctrl_usart3: usart3-0 {
  853. atmel,pins =
  854. <AT91_PIOE 18 AT91_PERIPH_B AT91_PINCTRL_PULL_UP /* conflicts with A18 */
  855. AT91_PIOE 19 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* conflicts with A19 */
  856. };
  857. pinctrl_usart3_rts_cts: usart3_rts_cts-0 {
  858. atmel,pins =
  859. <AT91_PIOE 16 AT91_PERIPH_B AT91_PINCTRL_NONE /* PE16 periph B, conflicts with A16 */
  860. AT91_PIOE 17 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PE17 periph B, conflicts with A17 */
  861. };
  862. };
  863. pioA: gpio@fffff200 {
  864. compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio";
  865. reg = <0xfffff200 0x100>;
  866. interrupts = <6 IRQ_TYPE_LEVEL_HIGH 1>;
  867. #gpio-cells = <2>;
  868. gpio-controller;
  869. interrupt-controller;
  870. #interrupt-cells = <2>;
  871. clocks = <&pmc PMC_TYPE_PERIPHERAL 6>;
  872. };
  873. pioB: gpio@fffff400 {
  874. compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio";
  875. reg = <0xfffff400 0x100>;
  876. interrupts = <7 IRQ_TYPE_LEVEL_HIGH 1>;
  877. #gpio-cells = <2>;
  878. gpio-controller;
  879. interrupt-controller;
  880. #interrupt-cells = <2>;
  881. clocks = <&pmc PMC_TYPE_PERIPHERAL 7>;
  882. };
  883. pioC: gpio@fffff600 {
  884. compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio";
  885. reg = <0xfffff600 0x100>;
  886. interrupts = <8 IRQ_TYPE_LEVEL_HIGH 1>;
  887. #gpio-cells = <2>;
  888. gpio-controller;
  889. interrupt-controller;
  890. #interrupt-cells = <2>;
  891. clocks = <&pmc PMC_TYPE_PERIPHERAL 8>;
  892. };
  893. pioD: gpio@fffff800 {
  894. compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio";
  895. reg = <0xfffff800 0x100>;
  896. interrupts = <9 IRQ_TYPE_LEVEL_HIGH 1>;
  897. #gpio-cells = <2>;
  898. gpio-controller;
  899. interrupt-controller;
  900. #interrupt-cells = <2>;
  901. clocks = <&pmc PMC_TYPE_PERIPHERAL 9>;
  902. };
  903. pioE: gpio@fffffa00 {
  904. compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio";
  905. reg = <0xfffffa00 0x100>;
  906. interrupts = <10 IRQ_TYPE_LEVEL_HIGH 1>;
  907. #gpio-cells = <2>;
  908. gpio-controller;
  909. interrupt-controller;
  910. #interrupt-cells = <2>;
  911. clocks = <&pmc PMC_TYPE_PERIPHERAL 10>;
  912. };
  913. };
  914. pmc: pmc@fffffc00 {
  915. compatible = "atmel,sama5d3-pmc", "syscon";
  916. reg = <0xfffffc00 0x120>;
  917. interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
  918. #clock-cells = <2>;
  919. clocks = <&clk32k>, <&main_xtal>;
  920. clock-names = "slow_clk", "main_xtal";
  921. };
  922. reset_controller: reset-controller@fffffe00 {
  923. compatible = "atmel,sama5d3-rstc", "atmel,at91sam9g45-rstc";
  924. reg = <0xfffffe00 0x10>;
  925. clocks = <&clk32k>;
  926. };
  927. shutdown_controller: shutdown-controller@fffffe10 {
  928. compatible = "atmel,at91sam9x5-shdwc";
  929. reg = <0xfffffe10 0x10>;
  930. clocks = <&clk32k>;
  931. };
  932. pit: timer@fffffe30 {
  933. compatible = "atmel,at91sam9260-pit";
  934. reg = <0xfffffe30 0xf>;
  935. interrupts = <3 IRQ_TYPE_LEVEL_HIGH 5>;
  936. clocks = <&pmc PMC_TYPE_CORE PMC_MCK>;
  937. };
  938. watchdog: watchdog@fffffe40 {
  939. compatible = "atmel,at91sam9260-wdt";
  940. reg = <0xfffffe40 0x10>;
  941. interrupts = <4 IRQ_TYPE_LEVEL_HIGH 7>;
  942. clocks = <&clk32k>;
  943. atmel,watchdog-type = "hardware";
  944. atmel,reset-type = "all";
  945. atmel,dbg-halt;
  946. status = "disabled";
  947. };
  948. clk32k: sckc@fffffe50 {
  949. compatible = "atmel,sama5d3-sckc";
  950. reg = <0xfffffe50 0x4>;
  951. clocks = <&slow_xtal>;
  952. #clock-cells = <0>;
  953. };
  954. rtc@fffffeb0 {
  955. compatible = "atmel,at91rm9200-rtc";
  956. reg = <0xfffffeb0 0x30>;
  957. interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
  958. clocks = <&clk32k>;
  959. };
  960. };
  961. nfc_sram: sram@200000 {
  962. compatible = "mmio-sram";
  963. no-memory-wc;
  964. reg = <0x200000 0x2400>;
  965. #address-cells = <1>;
  966. #size-cells = <1>;
  967. ranges = <0 0x200000 0x2400>;
  968. };
  969. usb0: gadget@500000 {
  970. compatible = "atmel,sama5d3-udc";
  971. reg = <0x00500000 0x100000
  972. 0xf8030000 0x4000>;
  973. interrupts = <33 IRQ_TYPE_LEVEL_HIGH 2>;
  974. clocks = <&pmc PMC_TYPE_PERIPHERAL 33>, <&pmc PMC_TYPE_CORE PMC_UTMI>;
  975. clock-names = "pclk", "hclk";
  976. status = "disabled";
  977. };
  978. usb1: ohci@600000 {
  979. compatible = "atmel,at91rm9200-ohci", "usb-ohci";
  980. reg = <0x00600000 0x100000>;
  981. interrupts = <32 IRQ_TYPE_LEVEL_HIGH 2>;
  982. clocks = <&pmc PMC_TYPE_PERIPHERAL 32>, <&pmc PMC_TYPE_PERIPHERAL 32>, <&pmc PMC_TYPE_SYSTEM 6>;
  983. clock-names = "ohci_clk", "hclk", "uhpck";
  984. status = "disabled";
  985. };
  986. usb2: ehci@700000 {
  987. compatible = "atmel,at91sam9g45-ehci", "usb-ehci";
  988. reg = <0x00700000 0x100000>;
  989. interrupts = <32 IRQ_TYPE_LEVEL_HIGH 2>;
  990. clocks = <&pmc PMC_TYPE_CORE PMC_UTMI>, <&pmc PMC_TYPE_PERIPHERAL 32>;
  991. clock-names = "usb_clk", "ehci_clk";
  992. status = "disabled";
  993. };
  994. ebi: ebi@10000000 {
  995. compatible = "atmel,sama5d3-ebi";
  996. #address-cells = <2>;
  997. #size-cells = <1>;
  998. atmel,smc = <&hsmc>;
  999. reg = <0x10000000 0x10000000
  1000. 0x40000000 0x30000000>;
  1001. ranges = <0x0 0x0 0x10000000 0x10000000
  1002. 0x1 0x0 0x40000000 0x10000000
  1003. 0x2 0x0 0x50000000 0x10000000
  1004. 0x3 0x0 0x60000000 0x10000000>;
  1005. clocks = <&pmc PMC_TYPE_CORE PMC_MCK>;
  1006. status = "disabled";
  1007. nand_controller: nand-controller {
  1008. compatible = "atmel,sama5d3-nand-controller";
  1009. atmel,nfc-sram = <&nfc_sram>;
  1010. atmel,nfc-io = <&nfc_io>;
  1011. ecc-engine = <&pmecc>;
  1012. #address-cells = <2>;
  1013. #size-cells = <1>;
  1014. ranges;
  1015. status = "disabled";
  1016. };
  1017. };
  1018. nfc_io: nfc-io@70000000 {
  1019. compatible = "atmel,sama5d3-nfc-io", "syscon";
  1020. reg = <0x70000000 0x8000000>;
  1021. };
  1022. };
  1023. };