sama5d3.dtsi 39 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432
  1. /*
  2. * sama5d3.dtsi - Device Tree Include file for SAMA5D3 family SoC
  3. * applies to SAMA5D31, SAMA5D33, SAMA5D34, SAMA5D35, SAMA5D36 SoC
  4. *
  5. * Copyright (C) 2013 Atmel,
  6. * 2013 Ludovic Desroches <ludovic.desroches@atmel.com>
  7. *
  8. * Licensed under GPLv2 or later.
  9. */
  10. #include "skeleton.dtsi"
  11. #include <dt-bindings/dma/at91.h>
  12. #include <dt-bindings/pinctrl/at91.h>
  13. #include <dt-bindings/interrupt-controller/irq.h>
  14. #include <dt-bindings/gpio/gpio.h>
  15. #include <dt-bindings/clock/at91.h>
  16. / {
  17. model = "Atmel SAMA5D3 family SoC";
  18. compatible = "atmel,sama5d3", "atmel,sama5";
  19. interrupt-parent = <&aic>;
  20. aliases {
  21. serial0 = &dbgu;
  22. serial1 = &usart0;
  23. serial2 = &usart1;
  24. serial3 = &usart2;
  25. serial4 = &usart3;
  26. gpio0 = &pioA;
  27. gpio1 = &pioB;
  28. gpio2 = &pioC;
  29. gpio3 = &pioD;
  30. gpio4 = &pioE;
  31. tcb0 = &tcb0;
  32. i2c0 = &i2c0;
  33. i2c1 = &i2c1;
  34. i2c2 = &i2c2;
  35. ssc0 = &ssc0;
  36. ssc1 = &ssc1;
  37. pwm0 = &pwm0;
  38. };
  39. cpus {
  40. #address-cells = <1>;
  41. #size-cells = <0>;
  42. cpu@0 {
  43. device_type = "cpu";
  44. compatible = "arm,cortex-a5";
  45. reg = <0x0>;
  46. };
  47. };
  48. pmu {
  49. compatible = "arm,cortex-a5-pmu";
  50. interrupts = <46 IRQ_TYPE_LEVEL_HIGH 0>;
  51. };
  52. memory {
  53. reg = <0x20000000 0x8000000>;
  54. };
  55. clocks {
  56. slow_xtal: slow_xtal {
  57. compatible = "fixed-clock";
  58. #clock-cells = <0>;
  59. clock-frequency = <0>;
  60. };
  61. main_xtal: main_xtal {
  62. compatible = "fixed-clock";
  63. #clock-cells = <0>;
  64. clock-frequency = <0>;
  65. };
  66. adc_op_clk: adc_op_clk{
  67. compatible = "fixed-clock";
  68. #clock-cells = <0>;
  69. clock-frequency = <20000000>;
  70. };
  71. };
  72. ahb {
  73. compatible = "simple-bus";
  74. #address-cells = <1>;
  75. #size-cells = <1>;
  76. ranges;
  77. apb {
  78. compatible = "simple-bus";
  79. #address-cells = <1>;
  80. #size-cells = <1>;
  81. ranges;
  82. mmc0: mmc@f0000000 {
  83. compatible = "atmel,hsmci";
  84. reg = <0xf0000000 0x600>;
  85. interrupts = <21 IRQ_TYPE_LEVEL_HIGH 0>;
  86. dmas = <&dma0 2 AT91_DMA_CFG_PER_ID(0)>;
  87. dma-names = "rxtx";
  88. pinctrl-names = "default";
  89. pinctrl-0 = <&pinctrl_mmc0_clk_cmd_dat0 &pinctrl_mmc0_dat1_3 &pinctrl_mmc0_dat4_7>;
  90. status = "disabled";
  91. #address-cells = <1>;
  92. #size-cells = <0>;
  93. clocks = <&mci0_clk>;
  94. clock-names = "mci_clk";
  95. };
  96. spi0: spi@f0004000 {
  97. #address-cells = <1>;
  98. #size-cells = <0>;
  99. compatible = "atmel,at91rm9200-spi";
  100. reg = <0xf0004000 0x100>;
  101. interrupts = <24 IRQ_TYPE_LEVEL_HIGH 3>;
  102. dmas = <&dma0 2 AT91_DMA_CFG_PER_ID(1)>,
  103. <&dma0 2 AT91_DMA_CFG_PER_ID(2)>;
  104. dma-names = "tx", "rx";
  105. pinctrl-names = "default";
  106. pinctrl-0 = <&pinctrl_spi0>;
  107. clocks = <&spi0_clk>;
  108. clock-names = "spi_clk";
  109. status = "disabled";
  110. };
  111. ssc0: ssc@f0008000 {
  112. compatible = "atmel,at91sam9g45-ssc";
  113. reg = <0xf0008000 0x4000>;
  114. interrupts = <38 IRQ_TYPE_LEVEL_HIGH 4>;
  115. dmas = <&dma0 2 AT91_DMA_CFG_PER_ID(13)>,
  116. <&dma0 2 AT91_DMA_CFG_PER_ID(14)>;
  117. dma-names = "tx", "rx";
  118. pinctrl-names = "default";
  119. pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>;
  120. clocks = <&ssc0_clk>;
  121. clock-names = "pclk";
  122. status = "disabled";
  123. };
  124. tcb0: timer@f0010000 {
  125. compatible = "atmel,at91sam9x5-tcb";
  126. reg = <0xf0010000 0x100>;
  127. interrupts = <26 IRQ_TYPE_LEVEL_HIGH 0>;
  128. clocks = <&tcb0_clk>;
  129. clock-names = "t0_clk";
  130. };
  131. i2c0: i2c@f0014000 {
  132. compatible = "atmel,at91sam9x5-i2c";
  133. reg = <0xf0014000 0x4000>;
  134. interrupts = <18 IRQ_TYPE_LEVEL_HIGH 6>;
  135. dmas = <&dma0 2 AT91_DMA_CFG_PER_ID(7)>,
  136. <&dma0 2 AT91_DMA_CFG_PER_ID(8)>;
  137. dma-names = "tx", "rx";
  138. pinctrl-names = "default";
  139. pinctrl-0 = <&pinctrl_i2c0>;
  140. #address-cells = <1>;
  141. #size-cells = <0>;
  142. clocks = <&twi0_clk>;
  143. status = "disabled";
  144. };
  145. i2c1: i2c@f0018000 {
  146. compatible = "atmel,at91sam9x5-i2c";
  147. reg = <0xf0018000 0x4000>;
  148. interrupts = <19 IRQ_TYPE_LEVEL_HIGH 6>;
  149. dmas = <&dma0 2 AT91_DMA_CFG_PER_ID(9)>,
  150. <&dma0 2 AT91_DMA_CFG_PER_ID(10)>;
  151. dma-names = "tx", "rx";
  152. pinctrl-names = "default";
  153. pinctrl-0 = <&pinctrl_i2c1>;
  154. #address-cells = <1>;
  155. #size-cells = <0>;
  156. clocks = <&twi1_clk>;
  157. status = "disabled";
  158. };
  159. usart0: serial@f001c000 {
  160. compatible = "atmel,at91sam9260-usart";
  161. reg = <0xf001c000 0x100>;
  162. interrupts = <12 IRQ_TYPE_LEVEL_HIGH 5>;
  163. dmas = <&dma0 2 AT91_DMA_CFG_PER_ID(3)>,
  164. <&dma0 2 (AT91_DMA_CFG_PER_ID(4) | AT91_DMA_CFG_FIFOCFG_ASAP)>;
  165. dma-names = "tx", "rx";
  166. pinctrl-names = "default";
  167. pinctrl-0 = <&pinctrl_usart0>;
  168. clocks = <&usart0_clk>;
  169. clock-names = "usart";
  170. status = "disabled";
  171. };
  172. usart1: serial@f0020000 {
  173. compatible = "atmel,at91sam9260-usart";
  174. reg = <0xf0020000 0x100>;
  175. interrupts = <13 IRQ_TYPE_LEVEL_HIGH 5>;
  176. dmas = <&dma0 2 AT91_DMA_CFG_PER_ID(5)>,
  177. <&dma0 2 (AT91_DMA_CFG_PER_ID(6) | AT91_DMA_CFG_FIFOCFG_ASAP)>;
  178. dma-names = "tx", "rx";
  179. pinctrl-names = "default";
  180. pinctrl-0 = <&pinctrl_usart1>;
  181. clocks = <&usart1_clk>;
  182. clock-names = "usart";
  183. status = "disabled";
  184. };
  185. pwm0: pwm@f002c000 {
  186. compatible = "atmel,sama5d3-pwm";
  187. reg = <0xf002c000 0x300>;
  188. interrupts = <28 IRQ_TYPE_LEVEL_HIGH 4>;
  189. #pwm-cells = <3>;
  190. clocks = <&pwm_clk>;
  191. status = "disabled";
  192. };
  193. isi: isi@f0034000 {
  194. compatible = "atmel,at91sam9g45-isi";
  195. reg = <0xf0034000 0x4000>;
  196. interrupts = <37 IRQ_TYPE_LEVEL_HIGH 5>;
  197. status = "disabled";
  198. };
  199. mmc1: mmc@f8000000 {
  200. compatible = "atmel,hsmci";
  201. reg = <0xf8000000 0x600>;
  202. interrupts = <22 IRQ_TYPE_LEVEL_HIGH 0>;
  203. dmas = <&dma1 2 AT91_DMA_CFG_PER_ID(0)>;
  204. dma-names = "rxtx";
  205. pinctrl-names = "default";
  206. pinctrl-0 = <&pinctrl_mmc1_clk_cmd_dat0 &pinctrl_mmc1_dat1_3>;
  207. status = "disabled";
  208. #address-cells = <1>;
  209. #size-cells = <0>;
  210. clocks = <&mci1_clk>;
  211. clock-names = "mci_clk";
  212. };
  213. spi1: spi@f8008000 {
  214. #address-cells = <1>;
  215. #size-cells = <0>;
  216. compatible = "atmel,at91rm9200-spi";
  217. reg = <0xf8008000 0x100>;
  218. interrupts = <25 IRQ_TYPE_LEVEL_HIGH 3>;
  219. dmas = <&dma1 2 AT91_DMA_CFG_PER_ID(15)>,
  220. <&dma1 2 AT91_DMA_CFG_PER_ID(16)>;
  221. dma-names = "tx", "rx";
  222. pinctrl-names = "default";
  223. pinctrl-0 = <&pinctrl_spi1>;
  224. clocks = <&spi1_clk>;
  225. clock-names = "spi_clk";
  226. status = "disabled";
  227. };
  228. ssc1: ssc@f800c000 {
  229. compatible = "atmel,at91sam9g45-ssc";
  230. reg = <0xf800c000 0x4000>;
  231. interrupts = <39 IRQ_TYPE_LEVEL_HIGH 4>;
  232. dmas = <&dma1 2 AT91_DMA_CFG_PER_ID(3)>,
  233. <&dma1 2 AT91_DMA_CFG_PER_ID(4)>;
  234. dma-names = "tx", "rx";
  235. pinctrl-names = "default";
  236. pinctrl-0 = <&pinctrl_ssc1_tx &pinctrl_ssc1_rx>;
  237. clocks = <&ssc1_clk>;
  238. clock-names = "pclk";
  239. status = "disabled";
  240. };
  241. adc0: adc@f8018000 {
  242. #address-cells = <1>;
  243. #size-cells = <0>;
  244. compatible = "atmel,at91sam9x5-adc";
  245. reg = <0xf8018000 0x100>;
  246. interrupts = <29 IRQ_TYPE_LEVEL_HIGH 5>;
  247. pinctrl-names = "default";
  248. pinctrl-0 = <
  249. &pinctrl_adc0_adtrg
  250. &pinctrl_adc0_ad0
  251. &pinctrl_adc0_ad1
  252. &pinctrl_adc0_ad2
  253. &pinctrl_adc0_ad3
  254. &pinctrl_adc0_ad4
  255. &pinctrl_adc0_ad5
  256. &pinctrl_adc0_ad6
  257. &pinctrl_adc0_ad7
  258. &pinctrl_adc0_ad8
  259. &pinctrl_adc0_ad9
  260. &pinctrl_adc0_ad10
  261. &pinctrl_adc0_ad11
  262. >;
  263. clocks = <&adc_clk>,
  264. <&adc_op_clk>;
  265. clock-names = "adc_clk", "adc_op_clk";
  266. atmel,adc-channels-used = <0xfff>;
  267. atmel,adc-startup-time = <40>;
  268. atmel,adc-use-external-triggers;
  269. atmel,adc-vref = <3000>;
  270. atmel,adc-res = <10 12>;
  271. atmel,adc-res-names = "lowres", "highres";
  272. status = "disabled";
  273. trigger@0 {
  274. reg = <0>;
  275. trigger-name = "external-rising";
  276. trigger-value = <0x1>;
  277. trigger-external;
  278. };
  279. trigger@1 {
  280. reg = <1>;
  281. trigger-name = "external-falling";
  282. trigger-value = <0x2>;
  283. trigger-external;
  284. };
  285. trigger@2 {
  286. reg = <2>;
  287. trigger-name = "external-any";
  288. trigger-value = <0x3>;
  289. trigger-external;
  290. };
  291. trigger@3 {
  292. reg = <3>;
  293. trigger-name = "continuous";
  294. trigger-value = <0x6>;
  295. };
  296. };
  297. i2c2: i2c@f801c000 {
  298. compatible = "atmel,at91sam9x5-i2c";
  299. reg = <0xf801c000 0x4000>;
  300. interrupts = <20 IRQ_TYPE_LEVEL_HIGH 6>;
  301. dmas = <&dma1 2 AT91_DMA_CFG_PER_ID(11)>,
  302. <&dma1 2 AT91_DMA_CFG_PER_ID(12)>;
  303. dma-names = "tx", "rx";
  304. pinctrl-names = "default";
  305. pinctrl-0 = <&pinctrl_i2c2>;
  306. #address-cells = <1>;
  307. #size-cells = <0>;
  308. clocks = <&twi2_clk>;
  309. status = "disabled";
  310. };
  311. usart2: serial@f8020000 {
  312. compatible = "atmel,at91sam9260-usart";
  313. reg = <0xf8020000 0x100>;
  314. interrupts = <14 IRQ_TYPE_LEVEL_HIGH 5>;
  315. dmas = <&dma1 2 AT91_DMA_CFG_PER_ID(7)>,
  316. <&dma1 2 (AT91_DMA_CFG_PER_ID(8) | AT91_DMA_CFG_FIFOCFG_ASAP)>;
  317. dma-names = "tx", "rx";
  318. pinctrl-names = "default";
  319. pinctrl-0 = <&pinctrl_usart2>;
  320. clocks = <&usart2_clk>;
  321. clock-names = "usart";
  322. status = "disabled";
  323. };
  324. usart3: serial@f8024000 {
  325. compatible = "atmel,at91sam9260-usart";
  326. reg = <0xf8024000 0x100>;
  327. interrupts = <15 IRQ_TYPE_LEVEL_HIGH 5>;
  328. dmas = <&dma1 2 AT91_DMA_CFG_PER_ID(9)>,
  329. <&dma1 2 (AT91_DMA_CFG_PER_ID(10) | AT91_DMA_CFG_FIFOCFG_ASAP)>;
  330. dma-names = "tx", "rx";
  331. pinctrl-names = "default";
  332. pinctrl-0 = <&pinctrl_usart3>;
  333. clocks = <&usart3_clk>;
  334. clock-names = "usart";
  335. status = "disabled";
  336. };
  337. sha@f8034000 {
  338. compatible = "atmel,at91sam9g46-sha";
  339. reg = <0xf8034000 0x100>;
  340. interrupts = <42 IRQ_TYPE_LEVEL_HIGH 0>;
  341. dmas = <&dma1 2 AT91_DMA_CFG_PER_ID(17)>;
  342. dma-names = "tx";
  343. clocks = <&sha_clk>;
  344. clock-names = "sha_clk";
  345. };
  346. aes@f8038000 {
  347. compatible = "atmel,at91sam9g46-aes";
  348. reg = <0xf8038000 0x100>;
  349. interrupts = <43 IRQ_TYPE_LEVEL_HIGH 0>;
  350. dmas = <&dma1 2 AT91_DMA_CFG_PER_ID(18)>,
  351. <&dma1 2 AT91_DMA_CFG_PER_ID(19)>;
  352. dma-names = "tx", "rx";
  353. clocks = <&aes_clk>;
  354. clock-names = "aes_clk";
  355. };
  356. tdes@f803c000 {
  357. compatible = "atmel,at91sam9g46-tdes";
  358. reg = <0xf803c000 0x100>;
  359. interrupts = <44 IRQ_TYPE_LEVEL_HIGH 0>;
  360. dmas = <&dma1 2 AT91_DMA_CFG_PER_ID(20)>,
  361. <&dma1 2 AT91_DMA_CFG_PER_ID(21)>;
  362. dma-names = "tx", "rx";
  363. clocks = <&tdes_clk>;
  364. clock-names = "tdes_clk";
  365. };
  366. dma0: dma-controller@ffffe600 {
  367. compatible = "atmel,at91sam9g45-dma";
  368. reg = <0xffffe600 0x200>;
  369. interrupts = <30 IRQ_TYPE_LEVEL_HIGH 0>;
  370. #dma-cells = <2>;
  371. clocks = <&dma0_clk>;
  372. clock-names = "dma_clk";
  373. };
  374. dma1: dma-controller@ffffe800 {
  375. compatible = "atmel,at91sam9g45-dma";
  376. reg = <0xffffe800 0x200>;
  377. interrupts = <31 IRQ_TYPE_LEVEL_HIGH 0>;
  378. #dma-cells = <2>;
  379. clocks = <&dma1_clk>;
  380. clock-names = "dma_clk";
  381. };
  382. ramc0: ramc@ffffea00 {
  383. compatible = "atmel,sama5d3-ddramc";
  384. reg = <0xffffea00 0x200>;
  385. clocks = <&ddrck>, <&mpddr_clk>;
  386. clock-names = "ddrck", "mpddr";
  387. };
  388. dbgu: serial@ffffee00 {
  389. compatible = "atmel,at91sam9260-usart";
  390. reg = <0xffffee00 0x200>;
  391. interrupts = <2 IRQ_TYPE_LEVEL_HIGH 7>;
  392. dmas = <&dma1 2 AT91_DMA_CFG_PER_ID(13)>,
  393. <&dma1 2 (AT91_DMA_CFG_PER_ID(14) | AT91_DMA_CFG_FIFOCFG_ASAP)>;
  394. dma-names = "tx", "rx";
  395. pinctrl-names = "default";
  396. pinctrl-0 = <&pinctrl_dbgu>;
  397. clocks = <&dbgu_clk>;
  398. clock-names = "usart";
  399. status = "disabled";
  400. };
  401. aic: interrupt-controller@fffff000 {
  402. #interrupt-cells = <3>;
  403. compatible = "atmel,sama5d3-aic";
  404. interrupt-controller;
  405. reg = <0xfffff000 0x200>;
  406. atmel,external-irqs = <47>;
  407. };
  408. pinctrl@fffff200 {
  409. #address-cells = <1>;
  410. #size-cells = <1>;
  411. compatible = "atmel,sama5d3-pinctrl", "atmel,at91sam9x5-pinctrl", "simple-bus";
  412. ranges = <0xfffff200 0xfffff200 0xa00>;
  413. atmel,mux-mask = <
  414. /* A B C */
  415. 0xffffffff 0xc0fc0000 0xc0ff0000 /* pioA */
  416. 0xffffffff 0x0ff8ffff 0x00000000 /* pioB */
  417. 0xffffffff 0xbc00f1ff 0x7c00fc00 /* pioC */
  418. 0xffffffff 0xc001c0e0 0x0001c1e0 /* pioD */
  419. 0xffffffff 0xbf9f8000 0x18000000 /* pioE */
  420. >;
  421. /* shared pinctrl settings */
  422. adc0 {
  423. pinctrl_adc0_adtrg: adc0_adtrg {
  424. atmel,pins =
  425. <AT91_PIOD 19 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD19 periph A ADTRG */
  426. };
  427. pinctrl_adc0_ad0: adc0_ad0 {
  428. atmel,pins =
  429. <AT91_PIOD 20 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD20 periph A AD0 */
  430. };
  431. pinctrl_adc0_ad1: adc0_ad1 {
  432. atmel,pins =
  433. <AT91_PIOD 21 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD21 periph A AD1 */
  434. };
  435. pinctrl_adc0_ad2: adc0_ad2 {
  436. atmel,pins =
  437. <AT91_PIOD 22 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD22 periph A AD2 */
  438. };
  439. pinctrl_adc0_ad3: adc0_ad3 {
  440. atmel,pins =
  441. <AT91_PIOD 23 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD23 periph A AD3 */
  442. };
  443. pinctrl_adc0_ad4: adc0_ad4 {
  444. atmel,pins =
  445. <AT91_PIOD 24 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD24 periph A AD4 */
  446. };
  447. pinctrl_adc0_ad5: adc0_ad5 {
  448. atmel,pins =
  449. <AT91_PIOD 25 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD25 periph A AD5 */
  450. };
  451. pinctrl_adc0_ad6: adc0_ad6 {
  452. atmel,pins =
  453. <AT91_PIOD 26 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD26 periph A AD6 */
  454. };
  455. pinctrl_adc0_ad7: adc0_ad7 {
  456. atmel,pins =
  457. <AT91_PIOD 27 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD27 periph A AD7 */
  458. };
  459. pinctrl_adc0_ad8: adc0_ad8 {
  460. atmel,pins =
  461. <AT91_PIOD 28 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD28 periph A AD8 */
  462. };
  463. pinctrl_adc0_ad9: adc0_ad9 {
  464. atmel,pins =
  465. <AT91_PIOD 29 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD29 periph A AD9 */
  466. };
  467. pinctrl_adc0_ad10: adc0_ad10 {
  468. atmel,pins =
  469. <AT91_PIOD 30 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD30 periph A AD10, conflicts with PCK0 */
  470. };
  471. pinctrl_adc0_ad11: adc0_ad11 {
  472. atmel,pins =
  473. <AT91_PIOD 31 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD31 periph A AD11, conflicts with PCK1 */
  474. };
  475. };
  476. dbgu {
  477. pinctrl_dbgu: dbgu-0 {
  478. atmel,pins =
  479. <AT91_PIOB 30 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB30 periph A */
  480. AT91_PIOB 31 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; /* PB31 periph A with pullup */
  481. };
  482. };
  483. i2c0 {
  484. pinctrl_i2c0: i2c0-0 {
  485. atmel,pins =
  486. <AT91_PIOA 30 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA30 periph A TWD0 pin, conflicts with URXD1, ISI_VSYNC */
  487. AT91_PIOA 31 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PA31 periph A TWCK0 pin, conflicts with UTXD1, ISI_HSYNC */
  488. };
  489. };
  490. i2c1 {
  491. pinctrl_i2c1: i2c1-0 {
  492. atmel,pins =
  493. <AT91_PIOC 26 AT91_PERIPH_B AT91_PINCTRL_NONE /* PC26 periph B TWD1 pin, conflicts with SPI1_NPCS1, ISI_D11 */
  494. AT91_PIOC 27 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PC27 periph B TWCK1 pin, conflicts with SPI1_NPCS2, ISI_D10 */
  495. };
  496. };
  497. i2c2 {
  498. pinctrl_i2c2: i2c2-0 {
  499. atmel,pins =
  500. <AT91_PIOA 18 AT91_PERIPH_B AT91_PINCTRL_NONE /* TWD2 pin, conflicts with LCDDAT18, ISI_D2 */
  501. AT91_PIOA 19 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* TWCK2 pin, conflicts with LCDDAT19, ISI_D3 */
  502. };
  503. };
  504. isi {
  505. pinctrl_isi: isi-0 {
  506. atmel,pins =
  507. <AT91_PIOA 16 AT91_PERIPH_C AT91_PINCTRL_NONE /* PA16 periph C ISI_D0, conflicts with LCDDAT16 */
  508. AT91_PIOA 17 AT91_PERIPH_C AT91_PINCTRL_NONE /* PA17 periph C ISI_D1, conflicts with LCDDAT17 */
  509. AT91_PIOA 18 AT91_PERIPH_C AT91_PINCTRL_NONE /* PA18 periph C ISI_D2, conflicts with LCDDAT18, TWD2 */
  510. AT91_PIOA 19 AT91_PERIPH_C AT91_PINCTRL_NONE /* PA19 periph C ISI_D3, conflicts with LCDDAT19, TWCK2 */
  511. AT91_PIOA 20 AT91_PERIPH_C AT91_PINCTRL_NONE /* PA20 periph C ISI_D4, conflicts with LCDDAT20, PWMH0 */
  512. AT91_PIOA 21 AT91_PERIPH_C AT91_PINCTRL_NONE /* PA21 periph C ISI_D5, conflicts with LCDDAT21, PWML0 */
  513. AT91_PIOA 22 AT91_PERIPH_C AT91_PINCTRL_NONE /* PA22 periph C ISI_D6, conflicts with LCDDAT22, PWMH1 */
  514. AT91_PIOA 23 AT91_PERIPH_C AT91_PINCTRL_NONE /* PA23 periph C ISI_D7, conflicts with LCDDAT23, PWML1 */
  515. AT91_PIOC 30 AT91_PERIPH_C AT91_PINCTRL_NONE /* PC30 periph C ISI_PCK, conflicts with UTXD0 */
  516. AT91_PIOA 31 AT91_PERIPH_C AT91_PINCTRL_NONE /* PA31 periph C ISI_HSYNC, conflicts with TWCK0, UTXD1 */
  517. AT91_PIOA 30 AT91_PERIPH_C AT91_PINCTRL_NONE /* PA30 periph C ISI_VSYNC, conflicts with TWD0, URXD1 */
  518. AT91_PIOC 29 AT91_PERIPH_C AT91_PINCTRL_NONE /* PC29 periph C ISI_PD8, conflicts with URXD0, PWMFI2 */
  519. AT91_PIOC 28 AT91_PERIPH_C AT91_PINCTRL_NONE>; /* PC28 periph C ISI_PD9, conflicts with SPI1_NPCS3, PWMFI0 */
  520. };
  521. pinctrl_isi_pck_as_mck: isi_pck_as_mck-0 {
  522. atmel,pins =
  523. <AT91_PIOD 31 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PD31 periph B ISI_MCK */
  524. };
  525. };
  526. mmc0 {
  527. pinctrl_mmc0_clk_cmd_dat0: mmc0_clk_cmd_dat0 {
  528. atmel,pins =
  529. <AT91_PIOD 9 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD9 periph A MCI0_CK */
  530. AT91_PIOD 0 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PD0 periph A MCI0_CDA with pullup */
  531. AT91_PIOD 1 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; /* PD1 periph A MCI0_DA0 with pullup */
  532. };
  533. pinctrl_mmc0_dat1_3: mmc0_dat1_3 {
  534. atmel,pins =
  535. <AT91_PIOD 2 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PD2 periph A MCI0_DA1 with pullup */
  536. AT91_PIOD 3 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PD3 periph A MCI0_DA2 with pullup */
  537. AT91_PIOD 4 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; /* PD4 periph A MCI0_DA3 with pullup */
  538. };
  539. pinctrl_mmc0_dat4_7: mmc0_dat4_7 {
  540. atmel,pins =
  541. <AT91_PIOD 5 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PD5 periph A MCI0_DA4 with pullup, conflicts with TIOA0, PWMH2 */
  542. AT91_PIOD 6 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PD6 periph A MCI0_DA5 with pullup, conflicts with TIOB0, PWML2 */
  543. AT91_PIOD 7 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PD7 periph A MCI0_DA6 with pullup, conlicts with TCLK0, PWMH3 */
  544. AT91_PIOD 8 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; /* PD8 periph A MCI0_DA7 with pullup, conflicts with PWML3 */
  545. };
  546. };
  547. mmc1 {
  548. pinctrl_mmc1_clk_cmd_dat0: mmc1_clk_cmd_dat0 {
  549. atmel,pins =
  550. <AT91_PIOB 24 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB24 periph A MCI1_CK, conflicts with GRX5 */
  551. AT91_PIOB 19 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PB19 periph A MCI1_CDA with pullup, conflicts with GTX4 */
  552. AT91_PIOB 20 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; /* PB20 periph A MCI1_DA0 with pullup, conflicts with GTX5 */
  553. };
  554. pinctrl_mmc1_dat1_3: mmc1_dat1_3 {
  555. atmel,pins =
  556. <AT91_PIOB 21 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PB21 periph A MCI1_DA1 with pullup, conflicts with GTX6 */
  557. AT91_PIOB 22 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PB22 periph A MCI1_DA2 with pullup, conflicts with GTX7 */
  558. AT91_PIOB 23 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; /* PB23 periph A MCI1_DA3 with pullup, conflicts with GRX4 */
  559. };
  560. };
  561. nand0 {
  562. pinctrl_nand0_ale_cle: nand0_ale_cle-0 {
  563. atmel,pins =
  564. <AT91_PIOE 21 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PE21 periph A with pullup */
  565. AT91_PIOE 22 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; /* PE22 periph A with pullup */
  566. };
  567. };
  568. pwm0 {
  569. pinctrl_pwm0_pwmh0_0: pwm0_pwmh0-0 {
  570. atmel,pins =
  571. <AT91_PIOA 20 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* conflicts with ISI_D4 and LCDDAT20 */
  572. };
  573. pinctrl_pwm0_pwmh0_1: pwm0_pwmh0-1 {
  574. atmel,pins =
  575. <AT91_PIOB 0 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* conflicts with GTX0 */
  576. };
  577. pinctrl_pwm0_pwml0_0: pwm0_pwml0-0 {
  578. atmel,pins =
  579. <AT91_PIOA 21 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* conflicts with ISI_D5 and LCDDAT21 */
  580. };
  581. pinctrl_pwm0_pwml0_1: pwm0_pwml0-1 {
  582. atmel,pins =
  583. <AT91_PIOB 1 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* conflicts with GTX1 */
  584. };
  585. pinctrl_pwm0_pwmh1_0: pwm0_pwmh1-0 {
  586. atmel,pins =
  587. <AT91_PIOA 22 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* conflicts with ISI_D6 and LCDDAT22 */
  588. };
  589. pinctrl_pwm0_pwmh1_1: pwm0_pwmh1-1 {
  590. atmel,pins =
  591. <AT91_PIOB 4 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* conflicts with GRX0 */
  592. };
  593. pinctrl_pwm0_pwmh1_2: pwm0_pwmh1-2 {
  594. atmel,pins =
  595. <AT91_PIOB 27 AT91_PERIPH_C AT91_PINCTRL_NONE>; /* conflicts with G125CKO and RTS1 */
  596. };
  597. pinctrl_pwm0_pwml1_0: pwm0_pwml1-0 {
  598. atmel,pins =
  599. <AT91_PIOA 23 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* conflicts with ISI_D7 and LCDDAT23 */
  600. };
  601. pinctrl_pwm0_pwml1_1: pwm0_pwml1-1 {
  602. atmel,pins =
  603. <AT91_PIOB 5 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* conflicts with GRX1 */
  604. };
  605. pinctrl_pwm0_pwml1_2: pwm0_pwml1-2 {
  606. atmel,pins =
  607. <AT91_PIOE 31 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* conflicts with IRQ */
  608. };
  609. pinctrl_pwm0_pwmh2_0: pwm0_pwmh2-0 {
  610. atmel,pins =
  611. <AT91_PIOB 8 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* conflicts with GTXCK */
  612. };
  613. pinctrl_pwm0_pwmh2_1: pwm0_pwmh2-1 {
  614. atmel,pins =
  615. <AT91_PIOD 5 AT91_PERIPH_C AT91_PINCTRL_NONE>; /* conflicts with MCI0_DA4 and TIOA0 */
  616. };
  617. pinctrl_pwm0_pwml2_0: pwm0_pwml2-0 {
  618. atmel,pins =
  619. <AT91_PIOB 9 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* conflicts with GTXEN */
  620. };
  621. pinctrl_pwm0_pwml2_1: pwm0_pwml2-1 {
  622. atmel,pins =
  623. <AT91_PIOD 6 AT91_PERIPH_C AT91_PINCTRL_NONE>; /* conflicts with MCI0_DA5 and TIOB0 */
  624. };
  625. pinctrl_pwm0_pwmh3_0: pwm0_pwmh3-0 {
  626. atmel,pins =
  627. <AT91_PIOB 12 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* conflicts with GRXDV */
  628. };
  629. pinctrl_pwm0_pwmh3_1: pwm0_pwmh3-1 {
  630. atmel,pins =
  631. <AT91_PIOD 7 AT91_PERIPH_C AT91_PINCTRL_NONE>; /* conflicts with MCI0_DA6 and TCLK0 */
  632. };
  633. pinctrl_pwm0_pwml3_0: pwm0_pwml3-0 {
  634. atmel,pins =
  635. <AT91_PIOB 13 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* conflicts with GRXER */
  636. };
  637. pinctrl_pwm0_pwml3_1: pwm0_pwml3-1 {
  638. atmel,pins =
  639. <AT91_PIOD 8 AT91_PERIPH_C AT91_PINCTRL_NONE>; /* conflicts with MCI0_DA7 */
  640. };
  641. };
  642. spi0 {
  643. pinctrl_spi0: spi0-0 {
  644. atmel,pins =
  645. <AT91_PIOD 10 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD10 periph A SPI0_MISO pin */
  646. AT91_PIOD 11 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD11 periph A SPI0_MOSI pin */
  647. AT91_PIOD 12 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD12 periph A SPI0_SPCK pin */
  648. };
  649. };
  650. spi1 {
  651. pinctrl_spi1: spi1-0 {
  652. atmel,pins =
  653. <AT91_PIOC 22 AT91_PERIPH_A AT91_PINCTRL_NONE /* PC22 periph A SPI1_MISO pin */
  654. AT91_PIOC 23 AT91_PERIPH_A AT91_PINCTRL_NONE /* PC23 periph A SPI1_MOSI pin */
  655. AT91_PIOC 24 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PC24 periph A SPI1_SPCK pin */
  656. };
  657. };
  658. ssc0 {
  659. pinctrl_ssc0_tx: ssc0_tx {
  660. atmel,pins =
  661. <AT91_PIOC 16 AT91_PERIPH_A AT91_PINCTRL_NONE /* PC16 periph A TK0 */
  662. AT91_PIOC 17 AT91_PERIPH_A AT91_PINCTRL_NONE /* PC17 periph A TF0 */
  663. AT91_PIOC 18 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PC18 periph A TD0 */
  664. };
  665. pinctrl_ssc0_rx: ssc0_rx {
  666. atmel,pins =
  667. <AT91_PIOC 19 AT91_PERIPH_A AT91_PINCTRL_NONE /* PC19 periph A RK0 */
  668. AT91_PIOC 20 AT91_PERIPH_A AT91_PINCTRL_NONE /* PC20 periph A RF0 */
  669. AT91_PIOC 21 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PC21 periph A RD0 */
  670. };
  671. };
  672. ssc1 {
  673. pinctrl_ssc1_tx: ssc1_tx {
  674. atmel,pins =
  675. <AT91_PIOB 2 AT91_PERIPH_B AT91_PINCTRL_NONE /* PB2 periph B TK1, conflicts with GTX2 */
  676. AT91_PIOB 3 AT91_PERIPH_B AT91_PINCTRL_NONE /* PB3 periph B TF1, conflicts with GTX3 */
  677. AT91_PIOB 6 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PB6 periph B TD1, conflicts with TD1 */
  678. };
  679. pinctrl_ssc1_rx: ssc1_rx {
  680. atmel,pins =
  681. <AT91_PIOB 7 AT91_PERIPH_B AT91_PINCTRL_NONE /* PB7 periph B RK1, conflicts with EREFCK */
  682. AT91_PIOB 10 AT91_PERIPH_B AT91_PINCTRL_NONE /* PB10 periph B RF1, conflicts with GTXER */
  683. AT91_PIOB 11 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PB11 periph B RD1, conflicts with GRXCK */
  684. };
  685. };
  686. usart0 {
  687. pinctrl_usart0: usart0-0 {
  688. atmel,pins =
  689. <AT91_PIOD 17 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD17 periph A */
  690. AT91_PIOD 18 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; /* PD18 periph A with pullup */
  691. };
  692. pinctrl_usart0_rts_cts: usart0_rts_cts-0 {
  693. atmel,pins =
  694. <AT91_PIOD 15 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD15 periph A, conflicts with SPI0_NPCS2, CANTX0 */
  695. AT91_PIOD 16 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD16 periph A, conflicts with SPI0_NPCS3, PWMFI3 */
  696. };
  697. };
  698. usart1 {
  699. pinctrl_usart1: usart1-0 {
  700. atmel,pins =
  701. <AT91_PIOB 28 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB28 periph A */
  702. AT91_PIOB 29 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; /* PB29 periph A with pullup */
  703. };
  704. pinctrl_usart1_rts_cts: usart1_rts_cts-0 {
  705. atmel,pins =
  706. <AT91_PIOB 26 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB26 periph A, conflicts with GRX7 */
  707. AT91_PIOB 27 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB27 periph A, conflicts with G125CKO */
  708. };
  709. };
  710. usart2 {
  711. pinctrl_usart2: usart2-0 {
  712. atmel,pins =
  713. <AT91_PIOE 25 AT91_PERIPH_B AT91_PINCTRL_NONE /* PE25 periph B, conflicts with A25 */
  714. AT91_PIOE 26 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>; /* PE26 periph B with pullup, conflicts NCS0 */
  715. };
  716. pinctrl_usart2_rts_cts: usart2_rts_cts-0 {
  717. atmel,pins =
  718. <AT91_PIOE 23 AT91_PERIPH_B AT91_PINCTRL_NONE /* PE23 periph B, conflicts with A23 */
  719. AT91_PIOE 24 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PE24 periph B, conflicts with A24 */
  720. };
  721. };
  722. usart3 {
  723. pinctrl_usart3: usart3-0 {
  724. atmel,pins =
  725. <AT91_PIOE 18 AT91_PERIPH_B AT91_PINCTRL_NONE /* PE18 periph B, conflicts with A18 */
  726. AT91_PIOE 19 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>; /* PE19 periph B with pullup, conflicts with A19 */
  727. };
  728. pinctrl_usart3_rts_cts: usart3_rts_cts-0 {
  729. atmel,pins =
  730. <AT91_PIOE 16 AT91_PERIPH_B AT91_PINCTRL_NONE /* PE16 periph B, conflicts with A16 */
  731. AT91_PIOE 17 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PE17 periph B, conflicts with A17 */
  732. };
  733. };
  734. pioA: gpio@fffff200 {
  735. compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio";
  736. reg = <0xfffff200 0x100>;
  737. interrupts = <6 IRQ_TYPE_LEVEL_HIGH 1>;
  738. #gpio-cells = <2>;
  739. gpio-controller;
  740. interrupt-controller;
  741. #interrupt-cells = <2>;
  742. clocks = <&pioA_clk>;
  743. };
  744. pioB: gpio@fffff400 {
  745. compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio";
  746. reg = <0xfffff400 0x100>;
  747. interrupts = <7 IRQ_TYPE_LEVEL_HIGH 1>;
  748. #gpio-cells = <2>;
  749. gpio-controller;
  750. interrupt-controller;
  751. #interrupt-cells = <2>;
  752. clocks = <&pioB_clk>;
  753. };
  754. pioC: gpio@fffff600 {
  755. compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio";
  756. reg = <0xfffff600 0x100>;
  757. interrupts = <8 IRQ_TYPE_LEVEL_HIGH 1>;
  758. #gpio-cells = <2>;
  759. gpio-controller;
  760. interrupt-controller;
  761. #interrupt-cells = <2>;
  762. clocks = <&pioC_clk>;
  763. };
  764. pioD: gpio@fffff800 {
  765. compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio";
  766. reg = <0xfffff800 0x100>;
  767. interrupts = <9 IRQ_TYPE_LEVEL_HIGH 1>;
  768. #gpio-cells = <2>;
  769. gpio-controller;
  770. interrupt-controller;
  771. #interrupt-cells = <2>;
  772. clocks = <&pioD_clk>;
  773. };
  774. pioE: gpio@fffffa00 {
  775. compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio";
  776. reg = <0xfffffa00 0x100>;
  777. interrupts = <10 IRQ_TYPE_LEVEL_HIGH 1>;
  778. #gpio-cells = <2>;
  779. gpio-controller;
  780. interrupt-controller;
  781. #interrupt-cells = <2>;
  782. clocks = <&pioE_clk>;
  783. };
  784. };
  785. pmc: pmc@fffffc00 {
  786. compatible = "atmel,sama5d3-pmc";
  787. reg = <0xfffffc00 0x120>;
  788. interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
  789. interrupt-controller;
  790. #address-cells = <1>;
  791. #size-cells = <0>;
  792. #interrupt-cells = <1>;
  793. main_rc_osc: main_rc_osc {
  794. compatible = "atmel,at91sam9x5-clk-main-rc-osc";
  795. #clock-cells = <0>;
  796. interrupt-parent = <&pmc>;
  797. interrupts = <AT91_PMC_MOSCRCS>;
  798. clock-frequency = <12000000>;
  799. clock-accuracy = <50000000>;
  800. };
  801. main_osc: main_osc {
  802. compatible = "atmel,at91rm9200-clk-main-osc";
  803. #clock-cells = <0>;
  804. interrupt-parent = <&pmc>;
  805. interrupts = <AT91_PMC_MOSCS>;
  806. clocks = <&main_xtal>;
  807. };
  808. main: mainck {
  809. compatible = "atmel,at91sam9x5-clk-main";
  810. #clock-cells = <0>;
  811. interrupt-parent = <&pmc>;
  812. interrupts = <AT91_PMC_MOSCSELS>;
  813. clocks = <&main_rc_osc &main_osc>;
  814. };
  815. plla: pllack {
  816. compatible = "atmel,sama5d3-clk-pll";
  817. #clock-cells = <0>;
  818. interrupt-parent = <&pmc>;
  819. interrupts = <AT91_PMC_LOCKA>;
  820. clocks = <&main>;
  821. reg = <0>;
  822. atmel,clk-input-range = <8000000 50000000>;
  823. #atmel,pll-clk-output-range-cells = <4>;
  824. atmel,pll-clk-output-ranges = <400000000 1000000000 0 0>;
  825. };
  826. plladiv: plladivck {
  827. compatible = "atmel,at91sam9x5-clk-plldiv";
  828. #clock-cells = <0>;
  829. clocks = <&plla>;
  830. };
  831. utmi: utmick {
  832. compatible = "atmel,at91sam9x5-clk-utmi";
  833. #clock-cells = <0>;
  834. interrupt-parent = <&pmc>;
  835. interrupts = <AT91_PMC_LOCKU>;
  836. clocks = <&main>;
  837. };
  838. mck: masterck {
  839. compatible = "atmel,at91sam9x5-clk-master";
  840. #clock-cells = <0>;
  841. interrupt-parent = <&pmc>;
  842. interrupts = <AT91_PMC_MCKRDY>;
  843. clocks = <&clk32k>, <&main>, <&plladiv>, <&utmi>;
  844. atmel,clk-output-range = <0 166000000>;
  845. atmel,clk-divisors = <1 2 4 3>;
  846. };
  847. usb: usbck {
  848. compatible = "atmel,at91sam9x5-clk-usb";
  849. #clock-cells = <0>;
  850. clocks = <&plladiv>, <&utmi>;
  851. };
  852. prog: progck {
  853. compatible = "atmel,at91sam9x5-clk-programmable";
  854. #address-cells = <1>;
  855. #size-cells = <0>;
  856. interrupt-parent = <&pmc>;
  857. clocks = <&clk32k>, <&main>, <&plladiv>, <&utmi>, <&mck>;
  858. prog0: prog0 {
  859. #clock-cells = <0>;
  860. reg = <0>;
  861. interrupts = <AT91_PMC_PCKRDY(0)>;
  862. };
  863. prog1: prog1 {
  864. #clock-cells = <0>;
  865. reg = <1>;
  866. interrupts = <AT91_PMC_PCKRDY(1)>;
  867. };
  868. prog2: prog2 {
  869. #clock-cells = <0>;
  870. reg = <2>;
  871. interrupts = <AT91_PMC_PCKRDY(2)>;
  872. };
  873. };
  874. smd: smdclk {
  875. compatible = "atmel,at91sam9x5-clk-smd";
  876. #clock-cells = <0>;
  877. clocks = <&plladiv>, <&utmi>;
  878. };
  879. systemck {
  880. compatible = "atmel,at91rm9200-clk-system";
  881. #address-cells = <1>;
  882. #size-cells = <0>;
  883. ddrck: ddrck {
  884. #clock-cells = <0>;
  885. reg = <2>;
  886. clocks = <&mck>;
  887. };
  888. smdck: smdck {
  889. #clock-cells = <0>;
  890. reg = <4>;
  891. clocks = <&smd>;
  892. };
  893. uhpck: uhpck {
  894. #clock-cells = <0>;
  895. reg = <6>;
  896. clocks = <&usb>;
  897. };
  898. udpck: udpck {
  899. #clock-cells = <0>;
  900. reg = <7>;
  901. clocks = <&usb>;
  902. };
  903. pck0: pck0 {
  904. #clock-cells = <0>;
  905. reg = <8>;
  906. clocks = <&prog0>;
  907. };
  908. pck1: pck1 {
  909. #clock-cells = <0>;
  910. reg = <9>;
  911. clocks = <&prog1>;
  912. };
  913. pck2: pck2 {
  914. #clock-cells = <0>;
  915. reg = <10>;
  916. clocks = <&prog2>;
  917. };
  918. };
  919. periphck {
  920. compatible = "atmel,at91sam9x5-clk-peripheral";
  921. #address-cells = <1>;
  922. #size-cells = <0>;
  923. clocks = <&mck>;
  924. dbgu_clk: dbgu_clk {
  925. #clock-cells = <0>;
  926. reg = <2>;
  927. };
  928. hsmc_clk: hsmc_clk {
  929. #clock-cells = <0>;
  930. reg = <5>;
  931. };
  932. pioA_clk: pioA_clk {
  933. #clock-cells = <0>;
  934. reg = <6>;
  935. };
  936. pioB_clk: pioB_clk {
  937. #clock-cells = <0>;
  938. reg = <7>;
  939. };
  940. pioC_clk: pioC_clk {
  941. #clock-cells = <0>;
  942. reg = <8>;
  943. };
  944. pioD_clk: pioD_clk {
  945. #clock-cells = <0>;
  946. reg = <9>;
  947. };
  948. pioE_clk: pioE_clk {
  949. #clock-cells = <0>;
  950. reg = <10>;
  951. };
  952. usart0_clk: usart0_clk {
  953. #clock-cells = <0>;
  954. reg = <12>;
  955. atmel,clk-output-range = <0 66000000>;
  956. };
  957. usart1_clk: usart1_clk {
  958. #clock-cells = <0>;
  959. reg = <13>;
  960. atmel,clk-output-range = <0 66000000>;
  961. };
  962. usart2_clk: usart2_clk {
  963. #clock-cells = <0>;
  964. reg = <14>;
  965. atmel,clk-output-range = <0 66000000>;
  966. };
  967. usart3_clk: usart3_clk {
  968. #clock-cells = <0>;
  969. reg = <15>;
  970. atmel,clk-output-range = <0 66000000>;
  971. };
  972. twi0_clk: twi0_clk {
  973. reg = <18>;
  974. #clock-cells = <0>;
  975. atmel,clk-output-range = <0 16625000>;
  976. };
  977. twi1_clk: twi1_clk {
  978. #clock-cells = <0>;
  979. reg = <19>;
  980. atmel,clk-output-range = <0 16625000>;
  981. };
  982. twi2_clk: twi2_clk {
  983. #clock-cells = <0>;
  984. reg = <20>;
  985. atmel,clk-output-range = <0 16625000>;
  986. };
  987. mci0_clk: mci0_clk {
  988. #clock-cells = <0>;
  989. reg = <21>;
  990. };
  991. mci1_clk: mci1_clk {
  992. #clock-cells = <0>;
  993. reg = <22>;
  994. };
  995. spi0_clk: spi0_clk {
  996. #clock-cells = <0>;
  997. reg = <24>;
  998. atmel,clk-output-range = <0 133000000>;
  999. };
  1000. spi1_clk: spi1_clk {
  1001. #clock-cells = <0>;
  1002. reg = <25>;
  1003. atmel,clk-output-range = <0 133000000>;
  1004. };
  1005. tcb0_clk: tcb0_clk {
  1006. #clock-cells = <0>;
  1007. reg = <26>;
  1008. atmel,clk-output-range = <0 133000000>;
  1009. };
  1010. pwm_clk: pwm_clk {
  1011. #clock-cells = <0>;
  1012. reg = <28>;
  1013. };
  1014. adc_clk: adc_clk {
  1015. #clock-cells = <0>;
  1016. reg = <29>;
  1017. atmel,clk-output-range = <0 66000000>;
  1018. };
  1019. dma0_clk: dma0_clk {
  1020. #clock-cells = <0>;
  1021. reg = <30>;
  1022. };
  1023. dma1_clk: dma1_clk {
  1024. #clock-cells = <0>;
  1025. reg = <31>;
  1026. };
  1027. uhphs_clk: uhphs_clk {
  1028. #clock-cells = <0>;
  1029. reg = <32>;
  1030. };
  1031. udphs_clk: udphs_clk {
  1032. #clock-cells = <0>;
  1033. reg = <33>;
  1034. };
  1035. isi_clk: isi_clk {
  1036. #clock-cells = <0>;
  1037. reg = <37>;
  1038. };
  1039. ssc0_clk: ssc0_clk {
  1040. #clock-cells = <0>;
  1041. reg = <38>;
  1042. atmel,clk-output-range = <0 66000000>;
  1043. };
  1044. ssc1_clk: ssc1_clk {
  1045. #clock-cells = <0>;
  1046. reg = <39>;
  1047. atmel,clk-output-range = <0 66000000>;
  1048. };
  1049. sha_clk: sha_clk {
  1050. #clock-cells = <0>;
  1051. reg = <42>;
  1052. };
  1053. aes_clk: aes_clk {
  1054. #clock-cells = <0>;
  1055. reg = <43>;
  1056. };
  1057. tdes_clk: tdes_clk {
  1058. #clock-cells = <0>;
  1059. reg = <44>;
  1060. };
  1061. trng_clk: trng_clk {
  1062. #clock-cells = <0>;
  1063. reg = <45>;
  1064. };
  1065. fuse_clk: fuse_clk {
  1066. #clock-cells = <0>;
  1067. reg = <48>;
  1068. };
  1069. mpddr_clk: mpddr_clk {
  1070. #clock-cells = <0>;
  1071. reg = <49>;
  1072. };
  1073. };
  1074. };
  1075. rstc@fffffe00 {
  1076. compatible = "atmel,at91sam9g45-rstc";
  1077. reg = <0xfffffe00 0x10>;
  1078. };
  1079. shutdown-controller@fffffe10 {
  1080. compatible = "atmel,at91sam9x5-shdwc";
  1081. reg = <0xfffffe10 0x10>;
  1082. };
  1083. pit: timer@fffffe30 {
  1084. compatible = "atmel,at91sam9260-pit";
  1085. reg = <0xfffffe30 0xf>;
  1086. interrupts = <3 IRQ_TYPE_LEVEL_HIGH 5>;
  1087. clocks = <&mck>;
  1088. };
  1089. watchdog@fffffe40 {
  1090. compatible = "atmel,at91sam9260-wdt";
  1091. reg = <0xfffffe40 0x10>;
  1092. interrupts = <4 IRQ_TYPE_LEVEL_HIGH 7>;
  1093. atmel,watchdog-type = "hardware";
  1094. atmel,reset-type = "all";
  1095. atmel,dbg-halt;
  1096. atmel,idle-halt;
  1097. status = "disabled";
  1098. };
  1099. sckc@fffffe50 {
  1100. compatible = "atmel,at91sam9x5-sckc";
  1101. reg = <0xfffffe50 0x4>;
  1102. slow_rc_osc: slow_rc_osc {
  1103. compatible = "atmel,at91sam9x5-clk-slow-rc-osc";
  1104. #clock-cells = <0>;
  1105. clock-frequency = <32768>;
  1106. clock-accuracy = <50000000>;
  1107. atmel,startup-time-usec = <75>;
  1108. };
  1109. slow_osc: slow_osc {
  1110. compatible = "atmel,at91sam9x5-clk-slow-osc";
  1111. #clock-cells = <0>;
  1112. clocks = <&slow_xtal>;
  1113. atmel,startup-time-usec = <1200000>;
  1114. };
  1115. clk32k: slowck {
  1116. compatible = "atmel,at91sam9x5-clk-slow";
  1117. #clock-cells = <0>;
  1118. clocks = <&slow_rc_osc &slow_osc>;
  1119. };
  1120. };
  1121. rtc@fffffeb0 {
  1122. compatible = "atmel,at91rm9200-rtc";
  1123. reg = <0xfffffeb0 0x30>;
  1124. interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
  1125. };
  1126. };
  1127. usb0: gadget@00500000 {
  1128. #address-cells = <1>;
  1129. #size-cells = <0>;
  1130. compatible = "atmel,at91sam9rl-udc";
  1131. reg = <0x00500000 0x100000
  1132. 0xf8030000 0x4000>;
  1133. interrupts = <33 IRQ_TYPE_LEVEL_HIGH 2>;
  1134. clocks = <&udphs_clk>, <&utmi>;
  1135. clock-names = "pclk", "hclk";
  1136. status = "disabled";
  1137. ep0 {
  1138. reg = <0>;
  1139. atmel,fifo-size = <64>;
  1140. atmel,nb-banks = <1>;
  1141. };
  1142. ep1 {
  1143. reg = <1>;
  1144. atmel,fifo-size = <1024>;
  1145. atmel,nb-banks = <3>;
  1146. atmel,can-dma;
  1147. atmel,can-isoc;
  1148. };
  1149. ep2 {
  1150. reg = <2>;
  1151. atmel,fifo-size = <1024>;
  1152. atmel,nb-banks = <3>;
  1153. atmel,can-dma;
  1154. atmel,can-isoc;
  1155. };
  1156. ep3 {
  1157. reg = <3>;
  1158. atmel,fifo-size = <1024>;
  1159. atmel,nb-banks = <2>;
  1160. atmel,can-dma;
  1161. };
  1162. ep4 {
  1163. reg = <4>;
  1164. atmel,fifo-size = <1024>;
  1165. atmel,nb-banks = <2>;
  1166. atmel,can-dma;
  1167. };
  1168. ep5 {
  1169. reg = <5>;
  1170. atmel,fifo-size = <1024>;
  1171. atmel,nb-banks = <2>;
  1172. atmel,can-dma;
  1173. };
  1174. ep6 {
  1175. reg = <6>;
  1176. atmel,fifo-size = <1024>;
  1177. atmel,nb-banks = <2>;
  1178. atmel,can-dma;
  1179. };
  1180. ep7 {
  1181. reg = <7>;
  1182. atmel,fifo-size = <1024>;
  1183. atmel,nb-banks = <2>;
  1184. atmel,can-dma;
  1185. };
  1186. ep8 {
  1187. reg = <8>;
  1188. atmel,fifo-size = <1024>;
  1189. atmel,nb-banks = <2>;
  1190. };
  1191. ep9 {
  1192. reg = <9>;
  1193. atmel,fifo-size = <1024>;
  1194. atmel,nb-banks = <2>;
  1195. };
  1196. ep10 {
  1197. reg = <10>;
  1198. atmel,fifo-size = <1024>;
  1199. atmel,nb-banks = <2>;
  1200. };
  1201. ep11 {
  1202. reg = <11>;
  1203. atmel,fifo-size = <1024>;
  1204. atmel,nb-banks = <2>;
  1205. };
  1206. ep12 {
  1207. reg = <12>;
  1208. atmel,fifo-size = <1024>;
  1209. atmel,nb-banks = <2>;
  1210. };
  1211. ep13 {
  1212. reg = <13>;
  1213. atmel,fifo-size = <1024>;
  1214. atmel,nb-banks = <2>;
  1215. };
  1216. ep14 {
  1217. reg = <14>;
  1218. atmel,fifo-size = <1024>;
  1219. atmel,nb-banks = <2>;
  1220. };
  1221. ep15 {
  1222. reg = <15>;
  1223. atmel,fifo-size = <1024>;
  1224. atmel,nb-banks = <2>;
  1225. };
  1226. };
  1227. usb1: ohci@00600000 {
  1228. compatible = "atmel,at91rm9200-ohci", "usb-ohci";
  1229. reg = <0x00600000 0x100000>;
  1230. interrupts = <32 IRQ_TYPE_LEVEL_HIGH 2>;
  1231. clocks = <&usb>, <&uhphs_clk>, <&uhphs_clk>,
  1232. <&uhpck>;
  1233. clock-names = "usb_clk", "ohci_clk", "hclk", "uhpck";
  1234. status = "disabled";
  1235. };
  1236. usb2: ehci@00700000 {
  1237. compatible = "atmel,at91sam9g45-ehci", "usb-ehci";
  1238. reg = <0x00700000 0x100000>;
  1239. interrupts = <32 IRQ_TYPE_LEVEL_HIGH 2>;
  1240. clocks = <&usb>, <&uhphs_clk>, <&uhpck>;
  1241. clock-names = "usb_clk", "ehci_clk", "uhpck";
  1242. status = "disabled";
  1243. };
  1244. nand0: nand@60000000 {
  1245. compatible = "atmel,at91rm9200-nand";
  1246. #address-cells = <1>;
  1247. #size-cells = <1>;
  1248. ranges;
  1249. reg = < 0x60000000 0x01000000 /* EBI CS3 */
  1250. 0xffffc070 0x00000490 /* SMC PMECC regs */
  1251. 0xffffc500 0x00000100 /* SMC PMECC Error Location regs */
  1252. 0x00110000 0x00018000 /* ROM code */
  1253. >;
  1254. interrupts = <5 IRQ_TYPE_LEVEL_HIGH 6>;
  1255. atmel,nand-addr-offset = <21>;
  1256. atmel,nand-cmd-offset = <22>;
  1257. atmel,nand-has-dma;
  1258. pinctrl-names = "default";
  1259. pinctrl-0 = <&pinctrl_nand0_ale_cle>;
  1260. atmel,pmecc-lookup-table-offset = <0x0 0x8000>;
  1261. status = "disabled";
  1262. nfc@70000000 {
  1263. compatible = "atmel,sama5d3-nfc";
  1264. #address-cells = <1>;
  1265. #size-cells = <1>;
  1266. reg = <
  1267. 0x70000000 0x10000000 /* NFC Command Registers */
  1268. 0xffffc000 0x00000070 /* NFC HSMC regs */
  1269. 0x00200000 0x00100000 /* NFC SRAM banks */
  1270. >;
  1271. clocks = <&hsmc_clk>;
  1272. };
  1273. };
  1274. };
  1275. };