ste-nomadik-stn8815.dtsi 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844
  1. /*
  2. * Device Tree for the ST-Ericsson Nomadik 8815 STn8815 SoC
  3. */
  4. /include/ "skeleton.dtsi"
  5. / {
  6. #address-cells = <1>;
  7. #size-cells = <1>;
  8. memory {
  9. reg = <0x00000000 0x04000000>,
  10. <0x08000000 0x04000000>;
  11. };
  12. L2: l2-cache {
  13. compatible = "arm,l210-cache";
  14. reg = <0x10210000 0x1000>;
  15. interrupt-parent = <&vica>;
  16. interrupts = <30>;
  17. cache-unified;
  18. cache-level = <2>;
  19. };
  20. mtu0: mtu@101e2000 {
  21. /* Nomadik system timer */
  22. compatible = "st,nomadik-mtu";
  23. reg = <0x101e2000 0x1000>;
  24. interrupt-parent = <&vica>;
  25. interrupts = <4>;
  26. clocks = <&timclk>, <&pclk>;
  27. clock-names = "timclk", "apb_pclk";
  28. };
  29. mtu1: mtu@101e3000 {
  30. /* Secondary timer */
  31. reg = <0x101e3000 0x1000>;
  32. interrupt-parent = <&vica>;
  33. interrupts = <5>;
  34. clocks = <&timclk>, <&pclk>;
  35. clock-names = "timclk", "apb_pclk";
  36. };
  37. gpio0: gpio@101e4000 {
  38. compatible = "st,nomadik-gpio";
  39. reg = <0x101e4000 0x80>;
  40. interrupt-parent = <&vica>;
  41. interrupts = <6>;
  42. interrupt-controller;
  43. #interrupt-cells = <2>;
  44. gpio-controller;
  45. #gpio-cells = <2>;
  46. gpio-bank = <0>;
  47. clocks = <&pclk>;
  48. };
  49. gpio1: gpio@101e5000 {
  50. compatible = "st,nomadik-gpio";
  51. reg = <0x101e5000 0x80>;
  52. interrupt-parent = <&vica>;
  53. interrupts = <7>;
  54. interrupt-controller;
  55. #interrupt-cells = <2>;
  56. gpio-controller;
  57. #gpio-cells = <2>;
  58. gpio-bank = <1>;
  59. clocks = <&pclk>;
  60. };
  61. gpio2: gpio@101e6000 {
  62. compatible = "st,nomadik-gpio";
  63. reg = <0x101e6000 0x80>;
  64. interrupt-parent = <&vica>;
  65. interrupts = <8>;
  66. interrupt-controller;
  67. #interrupt-cells = <2>;
  68. gpio-controller;
  69. #gpio-cells = <2>;
  70. gpio-bank = <2>;
  71. clocks = <&pclk>;
  72. };
  73. gpio3: gpio@101e7000 {
  74. compatible = "st,nomadik-gpio";
  75. reg = <0x101e7000 0x80>;
  76. interrupt-parent = <&vica>;
  77. interrupts = <9>;
  78. interrupt-controller;
  79. #interrupt-cells = <2>;
  80. gpio-controller;
  81. #gpio-cells = <2>;
  82. gpio-bank = <3>;
  83. clocks = <&pclk>;
  84. };
  85. pinctrl {
  86. compatible = "stericsson,stn8815-pinctrl";
  87. /* Pin configurations */
  88. uart0 {
  89. uart0_default_mux: uart0_mux {
  90. u0_default_mux {
  91. ste,function = "u0";
  92. ste,pins = "u0_a_1";
  93. };
  94. };
  95. };
  96. uart1 {
  97. uart1_default_mux: uart1_mux {
  98. u1_default_mux {
  99. ste,function = "u1";
  100. ste,pins = "u1_a_1";
  101. };
  102. };
  103. };
  104. mmcsd {
  105. mmcsd_default_mux: mmcsd_mux {
  106. mmcsd_default_mux {
  107. ste,function = "mmcsd";
  108. ste,pins = "mmcsd_a_1";
  109. };
  110. };
  111. mmcsd_default_mode: mmcsd_default {
  112. mmcsd_default_cfg1 {
  113. /* MCCLK */
  114. ste,pins = "GPIO8_B10";
  115. ste,output = <0>;
  116. };
  117. mmcsd_default_cfg2 {
  118. /* MCCMDDIR, MCDAT0DIR, MCDAT31DIR */
  119. ste,pins = "GPIO10_C11", "GPIO15_A12",
  120. "GPIO16_C13";
  121. ste,output = <1>;
  122. };
  123. mmcsd_default_cfg3 {
  124. /* MCCMD, MCDAT3-0, MCMSFBCLK */
  125. ste,pins = "GPIO9_A10", "GPIO11_B11",
  126. "GPIO12_A11", "GPIO13_C12",
  127. "GPIO14_B12", "GPIO24_C15";
  128. ste,input = <1>;
  129. };
  130. };
  131. };
  132. i2c0 {
  133. i2c0_default_mux: i2c0_mux {
  134. i2c0_default_mux {
  135. ste,function = "i2c0";
  136. ste,pins = "i2c0_a_1";
  137. };
  138. };
  139. i2c0_default_mode: i2c0_default {
  140. i2c0_default_cfg {
  141. ste,pins = "GPIO62_D3", "GPIO63_D2";
  142. ste,input = <0>;
  143. };
  144. };
  145. };
  146. i2c1 {
  147. i2c1_default_mux: i2c1_mux {
  148. i2c1_default_mux {
  149. ste,function = "i2c1";
  150. ste,pins = "i2c1_a_1";
  151. };
  152. };
  153. i2c1_default_mode: i2c1_default {
  154. i2c1_default_cfg {
  155. ste,pins = "GPIO53_L4", "GPIO54_L3";
  156. ste,input = <0>;
  157. };
  158. };
  159. };
  160. i2c2 {
  161. i2c2_default_mode: i2c2_default {
  162. i2c2_default_cfg {
  163. ste,pins = "GPIO73_C21", "GPIO74_C20";
  164. ste,input = <0>;
  165. };
  166. };
  167. };
  168. };
  169. src: src@101e0000 {
  170. compatible = "stericsson,nomadik-src";
  171. reg = <0x101e0000 0x1000>;
  172. disable-sxtalo;
  173. disable-mxtalo;
  174. /*
  175. * MXTAL "Main Chrystal" is a chrystal oscillator @19.2 MHz
  176. * that is parent of TIMCLK, PLL1 and PLL2
  177. */
  178. mxtal: mxtal@19.2M {
  179. #clock-cells = <0>;
  180. compatible = "fixed-clock";
  181. clock-frequency = <19200000>;
  182. };
  183. /*
  184. * The 2.4 MHz TIMCLK reference clock is active at
  185. * boot time, this is actually the MXTALCLK @19.2 MHz
  186. * divided by 8. This clock is used by the timers and
  187. * watchdog. See page 105 ff.
  188. */
  189. timclk: timclk@2.4M {
  190. #clock-cells = <0>;
  191. compatible = "fixed-factor-clock";
  192. clock-div = <8>;
  193. clock-mult = <1>;
  194. clocks = <&mxtal>;
  195. };
  196. /* PLL1 is locked to MXTALI and variable from 20.4 to 334 MHz */
  197. pll1: pll1@0 {
  198. #clock-cells = <0>;
  199. compatible = "st,nomadik-pll-clock";
  200. pll-id = <1>;
  201. clocks = <&mxtal>;
  202. };
  203. /* HCLK divides the PLL1 with 1,2,3 or 4 */
  204. hclk: hclk@0 {
  205. #clock-cells = <0>;
  206. compatible = "st,nomadik-hclk-clock";
  207. clocks = <&pll1>;
  208. };
  209. /* The PCLK domain uses HCLK right off */
  210. pclk: pclk@0 {
  211. #clock-cells = <0>;
  212. compatible = "fixed-factor-clock";
  213. clock-div = <1>;
  214. clock-mult = <1>;
  215. clocks = <&hclk>;
  216. };
  217. /* PLL2 is usually 864 MHz and divided into a few fixed rates */
  218. pll2: pll2@0 {
  219. #clock-cells = <0>;
  220. compatible = "st,nomadik-pll-clock";
  221. pll-id = <2>;
  222. clocks = <&mxtal>;
  223. };
  224. clk216: clk216@216M {
  225. #clock-cells = <0>;
  226. compatible = "fixed-factor-clock";
  227. clock-div = <4>;
  228. clock-mult = <1>;
  229. clocks = <&pll2>;
  230. };
  231. clk108: clk108@108M {
  232. #clock-cells = <0>;
  233. compatible = "fixed-factor-clock";
  234. clock-div = <2>;
  235. clock-mult = <1>;
  236. clocks = <&clk216>;
  237. };
  238. clk72: clk72@72M {
  239. #clock-cells = <0>;
  240. compatible = "fixed-factor-clock";
  241. /* The data sheet does not say how this is derived */
  242. clock-div = <12>;
  243. clock-mult = <1>;
  244. clocks = <&pll2>;
  245. };
  246. clk48: clk48@48M {
  247. #clock-cells = <0>;
  248. compatible = "fixed-factor-clock";
  249. /* The data sheet does not say how this is derived */
  250. clock-div = <18>;
  251. clock-mult = <1>;
  252. clocks = <&pll2>;
  253. };
  254. clk27: clk27@27M {
  255. #clock-cells = <0>;
  256. compatible = "fixed-factor-clock";
  257. clock-div = <4>;
  258. clock-mult = <1>;
  259. clocks = <&clk108>;
  260. };
  261. /* This apparently exists as well */
  262. ulpiclk: ulpiclk@60M {
  263. #clock-cells = <0>;
  264. compatible = "fixed-clock";
  265. clock-frequency = <60000000>;
  266. };
  267. /*
  268. * IP AMBA bus clocks, driving the bus side of the
  269. * peripheral clocking, clock gates.
  270. */
  271. hclkdma0: hclkdma0@48M {
  272. #clock-cells = <0>;
  273. compatible = "st,nomadik-src-clock";
  274. clock-id = <0>;
  275. clocks = <&hclk>;
  276. };
  277. hclksmc: hclksmc@48M {
  278. #clock-cells = <0>;
  279. compatible = "st,nomadik-src-clock";
  280. clock-id = <1>;
  281. clocks = <&hclk>;
  282. };
  283. hclksdram: hclksdram@48M {
  284. #clock-cells = <0>;
  285. compatible = "st,nomadik-src-clock";
  286. clock-id = <2>;
  287. clocks = <&hclk>;
  288. };
  289. hclkdma1: hclkdma1@48M {
  290. #clock-cells = <0>;
  291. compatible = "st,nomadik-src-clock";
  292. clock-id = <3>;
  293. clocks = <&hclk>;
  294. };
  295. hclkclcd: hclkclcd@48M {
  296. #clock-cells = <0>;
  297. compatible = "st,nomadik-src-clock";
  298. clock-id = <4>;
  299. clocks = <&hclk>;
  300. };
  301. pclkirda: pclkirda@48M {
  302. #clock-cells = <0>;
  303. compatible = "st,nomadik-src-clock";
  304. clock-id = <5>;
  305. clocks = <&pclk>;
  306. };
  307. pclkssp: pclkssp@48M {
  308. #clock-cells = <0>;
  309. compatible = "st,nomadik-src-clock";
  310. clock-id = <6>;
  311. clocks = <&pclk>;
  312. };
  313. pclkuart0: pclkuart0@48M {
  314. #clock-cells = <0>;
  315. compatible = "st,nomadik-src-clock";
  316. clock-id = <7>;
  317. clocks = <&pclk>;
  318. };
  319. pclksdi: pclksdi@48M {
  320. #clock-cells = <0>;
  321. compatible = "st,nomadik-src-clock";
  322. clock-id = <8>;
  323. clocks = <&pclk>;
  324. };
  325. pclki2c0: pclki2c0@48M {
  326. #clock-cells = <0>;
  327. compatible = "st,nomadik-src-clock";
  328. clock-id = <9>;
  329. clocks = <&pclk>;
  330. };
  331. pclki2c1: pclki2c1@48M {
  332. #clock-cells = <0>;
  333. compatible = "st,nomadik-src-clock";
  334. clock-id = <10>;
  335. clocks = <&pclk>;
  336. };
  337. pclkuart1: pclkuart1@48M {
  338. #clock-cells = <0>;
  339. compatible = "st,nomadik-src-clock";
  340. clock-id = <11>;
  341. clocks = <&pclk>;
  342. };
  343. pclkmsp0: pclkmsp0@48M {
  344. #clock-cells = <0>;
  345. compatible = "st,nomadik-src-clock";
  346. clock-id = <12>;
  347. clocks = <&pclk>;
  348. };
  349. hclkusb: hclkusb@48M {
  350. #clock-cells = <0>;
  351. compatible = "st,nomadik-src-clock";
  352. clock-id = <13>;
  353. clocks = <&hclk>;
  354. };
  355. hclkdif: hclkdif@48M {
  356. #clock-cells = <0>;
  357. compatible = "st,nomadik-src-clock";
  358. clock-id = <14>;
  359. clocks = <&hclk>;
  360. };
  361. hclksaa: hclksaa@48M {
  362. #clock-cells = <0>;
  363. compatible = "st,nomadik-src-clock";
  364. clock-id = <15>;
  365. clocks = <&hclk>;
  366. };
  367. hclksva: hclksva@48M {
  368. #clock-cells = <0>;
  369. compatible = "st,nomadik-src-clock";
  370. clock-id = <16>;
  371. clocks = <&hclk>;
  372. };
  373. pclkhsi: pclkhsi@48M {
  374. #clock-cells = <0>;
  375. compatible = "st,nomadik-src-clock";
  376. clock-id = <17>;
  377. clocks = <&pclk>;
  378. };
  379. pclkxti: pclkxti@48M {
  380. #clock-cells = <0>;
  381. compatible = "st,nomadik-src-clock";
  382. clock-id = <18>;
  383. clocks = <&pclk>;
  384. };
  385. pclkuart2: pclkuart2@48M {
  386. #clock-cells = <0>;
  387. compatible = "st,nomadik-src-clock";
  388. clock-id = <19>;
  389. clocks = <&pclk>;
  390. };
  391. pclkmsp1: pclkmsp1@48M {
  392. #clock-cells = <0>;
  393. compatible = "st,nomadik-src-clock";
  394. clock-id = <20>;
  395. clocks = <&pclk>;
  396. };
  397. pclkmsp2: pclkmsp2@48M {
  398. #clock-cells = <0>;
  399. compatible = "st,nomadik-src-clock";
  400. clock-id = <21>;
  401. clocks = <&pclk>;
  402. };
  403. pclkowm: pclkowm@48M {
  404. #clock-cells = <0>;
  405. compatible = "st,nomadik-src-clock";
  406. clock-id = <22>;
  407. clocks = <&pclk>;
  408. };
  409. hclkhpi: hclkhpi@48M {
  410. #clock-cells = <0>;
  411. compatible = "st,nomadik-src-clock";
  412. clock-id = <23>;
  413. clocks = <&hclk>;
  414. };
  415. pclkske: pclkske@48M {
  416. #clock-cells = <0>;
  417. compatible = "st,nomadik-src-clock";
  418. clock-id = <24>;
  419. clocks = <&pclk>;
  420. };
  421. pclkhsem: pclkhsem@48M {
  422. #clock-cells = <0>;
  423. compatible = "st,nomadik-src-clock";
  424. clock-id = <25>;
  425. clocks = <&pclk>;
  426. };
  427. hclk3d: hclk3d@48M {
  428. #clock-cells = <0>;
  429. compatible = "st,nomadik-src-clock";
  430. clock-id = <26>;
  431. clocks = <&hclk>;
  432. };
  433. hclkhash: hclkhash@48M {
  434. #clock-cells = <0>;
  435. compatible = "st,nomadik-src-clock";
  436. clock-id = <27>;
  437. clocks = <&hclk>;
  438. };
  439. hclkcryp: hclkcryp@48M {
  440. #clock-cells = <0>;
  441. compatible = "st,nomadik-src-clock";
  442. clock-id = <28>;
  443. clocks = <&hclk>;
  444. };
  445. pclkmshc: pclkmshc@48M {
  446. #clock-cells = <0>;
  447. compatible = "st,nomadik-src-clock";
  448. clock-id = <29>;
  449. clocks = <&pclk>;
  450. };
  451. hclkusbm: hclkusbm@48M {
  452. #clock-cells = <0>;
  453. compatible = "st,nomadik-src-clock";
  454. clock-id = <30>;
  455. clocks = <&hclk>;
  456. };
  457. hclkrng: hclkrng@48M {
  458. #clock-cells = <0>;
  459. compatible = "st,nomadik-src-clock";
  460. clock-id = <31>;
  461. clocks = <&hclk>;
  462. };
  463. /* IP kernel clocks */
  464. clcdclk: clcdclk@0 {
  465. #clock-cells = <0>;
  466. compatible = "st,nomadik-src-clock";
  467. clock-id = <36>;
  468. clocks = <&clk72 &clk48>;
  469. };
  470. irdaclk: irdaclk@48M {
  471. #clock-cells = <0>;
  472. compatible = "st,nomadik-src-clock";
  473. clock-id = <37>;
  474. clocks = <&clk48>;
  475. };
  476. sspiclk: sspiclk@48M {
  477. #clock-cells = <0>;
  478. compatible = "st,nomadik-src-clock";
  479. clock-id = <38>;
  480. clocks = <&clk48>;
  481. };
  482. uart0clk: uart0clk@48M {
  483. #clock-cells = <0>;
  484. compatible = "st,nomadik-src-clock";
  485. clock-id = <39>;
  486. clocks = <&clk48>;
  487. };
  488. sdiclk: sdiclk@48M {
  489. /* Also called MCCLK in some documents */
  490. #clock-cells = <0>;
  491. compatible = "st,nomadik-src-clock";
  492. clock-id = <40>;
  493. clocks = <&clk48>;
  494. };
  495. i2c0clk: i2c0clk@48M {
  496. #clock-cells = <0>;
  497. compatible = "st,nomadik-src-clock";
  498. clock-id = <41>;
  499. clocks = <&clk48>;
  500. };
  501. i2c1clk: i2c1clk@48M {
  502. #clock-cells = <0>;
  503. compatible = "st,nomadik-src-clock";
  504. clock-id = <42>;
  505. clocks = <&clk48>;
  506. };
  507. uart1clk: uart1clk@48M {
  508. #clock-cells = <0>;
  509. compatible = "st,nomadik-src-clock";
  510. clock-id = <43>;
  511. clocks = <&clk48>;
  512. };
  513. mspclk0: mspclk0@48M {
  514. #clock-cells = <0>;
  515. compatible = "st,nomadik-src-clock";
  516. clock-id = <44>;
  517. clocks = <&clk48>;
  518. };
  519. usbclk: usbclk@48M {
  520. #clock-cells = <0>;
  521. compatible = "st,nomadik-src-clock";
  522. clock-id = <45>;
  523. clocks = <&clk48>; /* 48 MHz not ULPI */
  524. };
  525. difclk: difclk@72M {
  526. #clock-cells = <0>;
  527. compatible = "st,nomadik-src-clock";
  528. clock-id = <46>;
  529. clocks = <&clk72>;
  530. };
  531. ipi2cclk: ipi2cclk@48M {
  532. #clock-cells = <0>;
  533. compatible = "st,nomadik-src-clock";
  534. clock-id = <47>;
  535. clocks = <&clk48>; /* Guess */
  536. };
  537. ipbmcclk: ipbmcclk@48M {
  538. #clock-cells = <0>;
  539. compatible = "st,nomadik-src-clock";
  540. clock-id = <48>;
  541. clocks = <&clk48>; /* Guess */
  542. };
  543. hsiclkrx: hsiclkrx@216M {
  544. #clock-cells = <0>;
  545. compatible = "st,nomadik-src-clock";
  546. clock-id = <49>;
  547. clocks = <&clk216>;
  548. };
  549. hsiclktx: hsiclktx@108M {
  550. #clock-cells = <0>;
  551. compatible = "st,nomadik-src-clock";
  552. clock-id = <50>;
  553. clocks = <&clk108>;
  554. };
  555. uart2clk: uart2clk@48M {
  556. #clock-cells = <0>;
  557. compatible = "st,nomadik-src-clock";
  558. clock-id = <51>;
  559. clocks = <&clk48>;
  560. };
  561. mspclk1: mspclk1@48M {
  562. #clock-cells = <0>;
  563. compatible = "st,nomadik-src-clock";
  564. clock-id = <52>;
  565. clocks = <&clk48>;
  566. };
  567. mspclk2: mspclk2@48M {
  568. #clock-cells = <0>;
  569. compatible = "st,nomadik-src-clock";
  570. clock-id = <53>;
  571. clocks = <&clk48>;
  572. };
  573. owmclk: owmclk@48M {
  574. #clock-cells = <0>;
  575. compatible = "st,nomadik-src-clock";
  576. clock-id = <54>;
  577. clocks = <&clk48>; /* Guess */
  578. };
  579. skeclk: skeclk@48M {
  580. #clock-cells = <0>;
  581. compatible = "st,nomadik-src-clock";
  582. clock-id = <56>;
  583. clocks = <&clk48>; /* Guess */
  584. };
  585. x3dclk: x3dclk@48M {
  586. #clock-cells = <0>;
  587. compatible = "st,nomadik-src-clock";
  588. clock-id = <58>;
  589. clocks = <&clk48>; /* Guess */
  590. };
  591. pclkmsp3: pclkmsp3@48M {
  592. #clock-cells = <0>;
  593. compatible = "st,nomadik-src-clock";
  594. clock-id = <59>;
  595. clocks = <&pclk>;
  596. };
  597. mspclk3: mspclk3@48M {
  598. #clock-cells = <0>;
  599. compatible = "st,nomadik-src-clock";
  600. clock-id = <60>;
  601. clocks = <&clk48>;
  602. };
  603. mshcclk: mshcclk@48M {
  604. #clock-cells = <0>;
  605. compatible = "st,nomadik-src-clock";
  606. clock-id = <61>;
  607. clocks = <&clk48>; /* Guess */
  608. };
  609. usbmclk: usbmclk@48M {
  610. #clock-cells = <0>;
  611. compatible = "st,nomadik-src-clock";
  612. clock-id = <62>;
  613. /* Stated as "48 MHz not ULPI clock" */
  614. clocks = <&clk48>;
  615. };
  616. rngcclk: rngcclk@48M {
  617. #clock-cells = <0>;
  618. compatible = "st,nomadik-src-clock";
  619. clock-id = <63>;
  620. clocks = <&clk48>; /* Guess */
  621. };
  622. };
  623. /* A NAND flash of 128 MiB */
  624. fsmc: flash@40000000 {
  625. compatible = "stericsson,fsmc-nand";
  626. #address-cells = <1>;
  627. #size-cells = <1>;
  628. reg = <0x10100000 0x1000>, /* FSMC Register*/
  629. <0x40000000 0x2000>, /* NAND Base DATA */
  630. <0x41000000 0x2000>, /* NAND Base ADDR */
  631. <0x40800000 0x2000>; /* NAND Base CMD */
  632. reg-names = "fsmc_regs", "nand_data", "nand_addr", "nand_cmd";
  633. clocks = <&hclksmc>;
  634. status = "okay";
  635. partition@0 {
  636. label = "X-Loader(NAND)";
  637. reg = <0x0 0x40000>;
  638. };
  639. partition@40000 {
  640. label = "MemInit(NAND)";
  641. reg = <0x40000 0x40000>;
  642. };
  643. partition@80000 {
  644. label = "BootLoader(NAND)";
  645. reg = <0x80000 0x200000>;
  646. };
  647. partition@280000 {
  648. label = "Kernel zImage(NAND)";
  649. reg = <0x280000 0x300000>;
  650. };
  651. partition@580000 {
  652. label = "Root Filesystem(NAND)";
  653. reg = <0x580000 0x1600000>;
  654. };
  655. partition@1b80000 {
  656. label = "User Filesystem(NAND)";
  657. reg = <0x1b80000 0x6480000>;
  658. };
  659. };
  660. external-bus@34000000 {
  661. compatible = "simple-bus";
  662. reg = <0x34000000 0x1000000>;
  663. #address-cells = <1>;
  664. #size-cells = <1>;
  665. ranges = <0 0x34000000 0x1000000>;
  666. ethernet@300 {
  667. compatible = "smsc,lan91c111";
  668. reg = <0x300 0x0fd00>;
  669. };
  670. };
  671. /* I2C0 connected to the STw4811 power management chip */
  672. i2c0 {
  673. compatible = "st,nomadik-i2c", "arm,primecell";
  674. reg = <0x101f8000 0x1000>;
  675. interrupt-parent = <&vica>;
  676. interrupts = <20>;
  677. clock-frequency = <100000>;
  678. #address-cells = <1>;
  679. #size-cells = <0>;
  680. clocks = <&i2c0clk>, <&pclki2c0>;
  681. clock-names = "mclk", "apb_pclk";
  682. pinctrl-names = "default";
  683. pinctrl-0 = <&i2c0_default_mux>, <&i2c0_default_mode>;
  684. stw4811@2d {
  685. compatible = "st,stw4811";
  686. reg = <0x2d>;
  687. };
  688. };
  689. /* I2C1 connected to various sensors */
  690. i2c1 {
  691. compatible = "st,nomadik-i2c", "arm,primecell";
  692. reg = <0x101f7000 0x1000>;
  693. interrupt-parent = <&vica>;
  694. interrupts = <21>;
  695. clock-frequency = <100000>;
  696. #address-cells = <1>;
  697. #size-cells = <0>;
  698. clocks = <&i2c1clk>, <&pclki2c1>;
  699. clock-names = "mclk", "apb_pclk";
  700. pinctrl-names = "default";
  701. pinctrl-0 = <&i2c1_default_mux>, <&i2c1_default_mode>;
  702. camera@2d {
  703. compatible = "st,camera";
  704. reg = <0x10>;
  705. };
  706. stw5095@1a {
  707. compatible = "st,stw5095";
  708. reg = <0x1a>;
  709. };
  710. lis3lv02dl@1d {
  711. compatible = "st,lis3lv02dl";
  712. reg = <0x1d>;
  713. };
  714. };
  715. /* I2C2 connected to the USB portions of the STw4811 only */
  716. i2c2 {
  717. compatible = "i2c-gpio";
  718. gpios = <&gpio2 10 0>, /* sda */
  719. <&gpio2 9 0>; /* scl */
  720. #address-cells = <1>;
  721. #size-cells = <0>;
  722. pinctrl-names = "default";
  723. pinctrl-0 = <&i2c2_default_mode>;
  724. stw4811@2d {
  725. compatible = "st,stw4811-usb";
  726. reg = <0x2d>;
  727. };
  728. };
  729. amba {
  730. compatible = "arm,amba-bus";
  731. #address-cells = <1>;
  732. #size-cells = <1>;
  733. ranges;
  734. vica: intc@0x10140000 {
  735. compatible = "arm,versatile-vic";
  736. interrupt-controller;
  737. #interrupt-cells = <1>;
  738. reg = <0x10140000 0x20>;
  739. };
  740. vicb: intc@0x10140020 {
  741. compatible = "arm,versatile-vic";
  742. interrupt-controller;
  743. #interrupt-cells = <1>;
  744. reg = <0x10140020 0x20>;
  745. };
  746. uart0: uart@101fd000 {
  747. compatible = "arm,pl011", "arm,primecell";
  748. reg = <0x101fd000 0x1000>;
  749. interrupt-parent = <&vica>;
  750. interrupts = <12>;
  751. clocks = <&uart0clk>, <&pclkuart0>;
  752. clock-names = "uartclk", "apb_pclk";
  753. pinctrl-names = "default";
  754. pinctrl-0 = <&uart0_default_mux>;
  755. };
  756. uart1: uart@101fb000 {
  757. compatible = "arm,pl011", "arm,primecell";
  758. reg = <0x101fb000 0x1000>;
  759. interrupt-parent = <&vica>;
  760. interrupts = <17>;
  761. clocks = <&uart1clk>, <&pclkuart1>;
  762. clock-names = "uartclk", "apb_pclk";
  763. pinctrl-names = "default";
  764. pinctrl-0 = <&uart1_default_mux>;
  765. };
  766. uart2: uart@101f2000 {
  767. compatible = "arm,pl011", "arm,primecell";
  768. reg = <0x101f2000 0x1000>;
  769. interrupt-parent = <&vica>;
  770. interrupts = <28>;
  771. clocks = <&uart2clk>, <&pclkuart2>;
  772. clock-names = "uartclk", "apb_pclk";
  773. status = "disabled";
  774. };
  775. rng: rng@101b0000 {
  776. compatible = "arm,primecell";
  777. reg = <0x101b0000 0x1000>;
  778. clocks = <&rngcclk>, <&hclkrng>;
  779. clock-names = "rng", "apb_pclk";
  780. };
  781. rtc: rtc@101e8000 {
  782. compatible = "arm,pl031", "arm,primecell";
  783. reg = <0x101e8000 0x1000>;
  784. clocks = <&pclk>;
  785. clock-names = "apb_pclk";
  786. interrupt-parent = <&vica>;
  787. interrupts = <10>;
  788. };
  789. mmcsd: sdi@101f6000 {
  790. compatible = "arm,pl18x", "arm,primecell";
  791. reg = <0x101f6000 0x1000>;
  792. clocks = <&sdiclk>, <&pclksdi>;
  793. clock-names = "mclk", "apb_pclk";
  794. interrupt-parent = <&vica>;
  795. interrupts = <22>;
  796. max-frequency = <48000000>;
  797. bus-width = <4>;
  798. mmc-cap-mmc-highspeed;
  799. mmc-cap-sd-highspeed;
  800. cd-gpios = <&gpio3 15 0x1>;
  801. cd-inverted;
  802. pinctrl-names = "default";
  803. pinctrl-0 = <&mmcsd_default_mux>, <&mmcsd_default_mode>;
  804. };
  805. };
  806. };