exynos4412-origen.dts 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548
  1. /*
  2. * Insignal's Exynos4412 based Origen board device tree source
  3. *
  4. * Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
  5. * http://www.samsung.com
  6. *
  7. * Device tree source file for Insignal's Origen board which is based on
  8. * Samsung's Exynos4412 SoC.
  9. *
  10. * This program is free software; you can redistribute it and/or modify
  11. * it under the terms of the GNU General Public License version 2 as
  12. * published by the Free Software Foundation.
  13. */
  14. /dts-v1/;
  15. #include "exynos4412.dtsi"
  16. #include <dt-bindings/gpio/gpio.h>
  17. #include <dt-bindings/input/input.h>
  18. #include "exynos-mfc-reserved-memory.dtsi"
  19. / {
  20. model = "Insignal Origen evaluation board based on Exynos4412";
  21. compatible = "insignal,origen4412", "samsung,exynos4412", "samsung,exynos4";
  22. memory@40000000 {
  23. device_type = "memory";
  24. reg = <0x40000000 0x40000000>;
  25. };
  26. chosen {
  27. bootargs ="console=ttySAC2,115200";
  28. stdout-path = &serial_2;
  29. };
  30. firmware@0203F000 {
  31. compatible = "samsung,secure-firmware";
  32. reg = <0x0203F000 0x1000>;
  33. };
  34. regulators {
  35. compatible = "simple-bus";
  36. #address-cells = <1>;
  37. #size-cells = <0>;
  38. mmc_reg: regulator@0 {
  39. compatible = "regulator-fixed";
  40. reg = <0>;
  41. regulator-name = "VMEM_VDD_2.8V";
  42. regulator-min-microvolt = <2800000>;
  43. regulator-max-microvolt = <2800000>;
  44. gpio = <&gpx1 1 GPIO_ACTIVE_HIGH>;
  45. enable-active-high;
  46. };
  47. };
  48. display-timings {
  49. native-mode = <&timing0>;
  50. timing0: timing {
  51. clock-frequency = <47500000>;
  52. hactive = <1024>;
  53. vactive = <600>;
  54. hfront-porch = <64>;
  55. hback-porch = <16>;
  56. hsync-len = <48>;
  57. vback-porch = <64>;
  58. vfront-porch = <16>;
  59. vsync-len = <3>;
  60. };
  61. };
  62. fixed-rate-clocks {
  63. xxti {
  64. compatible = "samsung,clock-xxti";
  65. clock-frequency = <0>;
  66. };
  67. xusbxti {
  68. compatible = "samsung,clock-xusbxti";
  69. clock-frequency = <24000000>;
  70. };
  71. };
  72. };
  73. &cpu0 {
  74. cpu0-supply = <&buck2_reg>;
  75. };
  76. &exynos_usbphy {
  77. status = "okay";
  78. };
  79. &ehci {
  80. samsung,vbus-gpio = <&gpx3 5 1>;
  81. status = "okay";
  82. port@1{
  83. status = "okay";
  84. };
  85. port@2 {
  86. status = "okay";
  87. };
  88. };
  89. &fimd {
  90. pinctrl-0 = <&lcd_clk &lcd_data24 &pwm1_out>;
  91. pinctrl-names = "default";
  92. status = "okay";
  93. };
  94. &i2c_0 {
  95. #address-cells = <1>;
  96. #size-cells = <0>;
  97. samsung,i2c-sda-delay = <100>;
  98. samsung,i2c-max-bus-freq = <20000>;
  99. pinctrl-0 = <&i2c0_bus>;
  100. pinctrl-names = "default";
  101. status = "okay";
  102. s5m8767_pmic@66 {
  103. compatible = "samsung,s5m8767-pmic";
  104. reg = <0x66>;
  105. s5m8767,pmic-buck-default-dvs-idx = <3>;
  106. s5m8767,pmic-buck-dvs-gpios = <&gpx2 3 GPIO_ACTIVE_HIGH>,
  107. <&gpx2 4 GPIO_ACTIVE_HIGH>,
  108. <&gpx2 5 GPIO_ACTIVE_HIGH>;
  109. s5m8767,pmic-buck-ds-gpios = <&gpm3 5 GPIO_ACTIVE_HIGH>,
  110. <&gpm3 6 GPIO_ACTIVE_HIGH>,
  111. <&gpm3 7 GPIO_ACTIVE_HIGH>;
  112. s5m8767,pmic-buck2-dvs-voltage = <1250000>, <1200000>,
  113. <1200000>, <1200000>,
  114. <1200000>, <1200000>,
  115. <1200000>, <1200000>;
  116. s5m8767,pmic-buck3-dvs-voltage = <1100000>, <1100000>,
  117. <1100000>, <1100000>,
  118. <1100000>, <1100000>,
  119. <1100000>, <1100000>;
  120. s5m8767,pmic-buck4-dvs-voltage = <1200000>, <1200000>,
  121. <1200000>, <1200000>,
  122. <1200000>, <1200000>,
  123. <1200000>, <1200000>;
  124. regulators {
  125. ldo1_reg: LDO1 {
  126. regulator-name = "VDD_ALIVE";
  127. regulator-min-microvolt = <1100000>;
  128. regulator-max-microvolt = <1100000>;
  129. regulator-always-on;
  130. regulator-boot-on;
  131. op_mode = <1>; /* Normal Mode */
  132. };
  133. ldo2_reg: LDO2 {
  134. regulator-name = "VDDQ_M12";
  135. regulator-min-microvolt = <1200000>;
  136. regulator-max-microvolt = <1200000>;
  137. regulator-always-on;
  138. op_mode = <1>; /* Normal Mode */
  139. };
  140. ldo3_reg: LDO3 {
  141. regulator-name = "VDDIOAP_18";
  142. regulator-min-microvolt = <1800000>;
  143. regulator-max-microvolt = <1800000>;
  144. regulator-always-on;
  145. op_mode = <1>; /* Normal Mode */
  146. };
  147. ldo4_reg: LDO4 {
  148. regulator-name = "VDDQ_PRE";
  149. regulator-min-microvolt = <1800000>;
  150. regulator-max-microvolt = <1800000>;
  151. regulator-always-on;
  152. op_mode = <1>; /* Normal Mode */
  153. };
  154. ldo5_reg: LDO5 {
  155. regulator-name = "VDD18_2M";
  156. regulator-min-microvolt = <1800000>;
  157. regulator-max-microvolt = <1800000>;
  158. regulator-always-on;
  159. op_mode = <1>; /* Normal Mode */
  160. };
  161. ldo6_reg: LDO6 {
  162. regulator-name = "VDD10_MPLL";
  163. regulator-min-microvolt = <1000000>;
  164. regulator-max-microvolt = <1000000>;
  165. regulator-always-on;
  166. op_mode = <1>; /* Normal Mode */
  167. };
  168. ldo7_reg: LDO7 {
  169. regulator-name = "VDD10_XPLL";
  170. regulator-min-microvolt = <1000000>;
  171. regulator-max-microvolt = <1000000>;
  172. regulator-always-on;
  173. op_mode = <1>; /* Normal Mode */
  174. };
  175. ldo8_reg: LDO8 {
  176. regulator-name = "VDD10_MIPI";
  177. regulator-min-microvolt = <1000000>;
  178. regulator-max-microvolt = <1000000>;
  179. regulator-always-on;
  180. op_mode = <1>; /* Normal Mode */
  181. };
  182. ldo9_reg: LDO9 {
  183. regulator-name = "VDD33_LCD";
  184. regulator-min-microvolt = <3300000>;
  185. regulator-max-microvolt = <3300000>;
  186. regulator-always-on;
  187. op_mode = <1>; /* Normal Mode */
  188. };
  189. ldo10_reg: LDO10 {
  190. regulator-name = "VDD18_MIPI";
  191. regulator-min-microvolt = <1800000>;
  192. regulator-max-microvolt = <1800000>;
  193. regulator-always-on;
  194. op_mode = <1>; /* Normal Mode */
  195. };
  196. ldo11_reg: LDO11 {
  197. regulator-name = "VDD18_ABB1";
  198. regulator-min-microvolt = <1800000>;
  199. regulator-max-microvolt = <1800000>;
  200. regulator-always-on;
  201. op_mode = <1>; /* Normal Mode */
  202. };
  203. ldo12_reg: LDO12 {
  204. regulator-name = "VDD33_UOTG";
  205. regulator-min-microvolt = <3300000>;
  206. regulator-max-microvolt = <3300000>;
  207. regulator-always-on;
  208. op_mode = <1>; /* Normal Mode */
  209. };
  210. ldo13_reg: LDO13 {
  211. regulator-name = "VDDIOPERI_18";
  212. regulator-min-microvolt = <1800000>;
  213. regulator-max-microvolt = <1800000>;
  214. regulator-always-on;
  215. op_mode = <1>; /* Normal Mode */
  216. };
  217. ldo14_reg: LDO14 {
  218. regulator-name = "VDD18_ABB02";
  219. regulator-min-microvolt = <1800000>;
  220. regulator-max-microvolt = <1800000>;
  221. regulator-always-on;
  222. op_mode = <1>; /* Normal Mode */
  223. };
  224. ldo15_reg: LDO15 {
  225. regulator-name = "VDD10_USH";
  226. regulator-min-microvolt = <1000000>;
  227. regulator-max-microvolt = <1000000>;
  228. regulator-always-on;
  229. op_mode = <1>; /* Normal Mode */
  230. };
  231. ldo16_reg: LDO16 {
  232. regulator-name = "VDD18_HSIC";
  233. regulator-min-microvolt = <1800000>;
  234. regulator-max-microvolt = <1800000>;
  235. regulator-always-on;
  236. op_mode = <1>; /* Normal Mode */
  237. };
  238. ldo17_reg: LDO17 {
  239. regulator-name = "VDDIOAP_MMC012_28";
  240. regulator-min-microvolt = <2800000>;
  241. regulator-max-microvolt = <2800000>;
  242. regulator-always-on;
  243. op_mode = <1>; /* Normal Mode */
  244. };
  245. ldo18_reg: LDO18 {
  246. regulator-name = "VDDIOPERI_28";
  247. regulator-min-microvolt = <2800000>;
  248. regulator-max-microvolt = <2800000>;
  249. regulator-always-on;
  250. op_mode = <1>; /* Normal Mode */
  251. };
  252. ldo19_reg: LDO19 {
  253. regulator-name = "DVDD25";
  254. regulator-min-microvolt = <2500000>;
  255. regulator-max-microvolt = <2500000>;
  256. regulator-always-on;
  257. op_mode = <1>; /* Normal Mode */
  258. };
  259. ldo20_reg: LDO20 {
  260. regulator-name = "VDD28_CAM";
  261. regulator-min-microvolt = <2800000>;
  262. regulator-max-microvolt = <2800000>;
  263. regulator-always-on;
  264. op_mode = <1>; /* Normal Mode */
  265. };
  266. ldo21_reg: LDO21 {
  267. regulator-name = "VDD28_AF";
  268. regulator-min-microvolt = <2800000>;
  269. regulator-max-microvolt = <2800000>;
  270. regulator-always-on;
  271. op_mode = <1>; /* Normal Mode */
  272. };
  273. ldo22_reg: LDO22 {
  274. regulator-name = "VDDA28_2M";
  275. regulator-min-microvolt = <2800000>;
  276. regulator-max-microvolt = <2800000>;
  277. regulator-always-on;
  278. op_mode = <1>; /* Normal Mode */
  279. };
  280. ldo23_reg: LDO23 {
  281. regulator-name = "VDD28_TF";
  282. regulator-min-microvolt = <2800000>;
  283. regulator-max-microvolt = <2800000>;
  284. regulator-always-on;
  285. op_mode = <1>; /* Normal Mode */
  286. };
  287. ldo24_reg: LDO24 {
  288. regulator-name = "VDD33_A31";
  289. regulator-min-microvolt = <3300000>;
  290. regulator-max-microvolt = <3300000>;
  291. regulator-always-on;
  292. op_mode = <1>; /* Normal Mode */
  293. };
  294. ldo25_reg: LDO25 {
  295. regulator-name = "VDD18_CAM";
  296. regulator-min-microvolt = <1800000>;
  297. regulator-max-microvolt = <1800000>;
  298. regulator-always-on;
  299. op_mode = <1>; /* Normal Mode */
  300. };
  301. ldo26_reg: LDO26 {
  302. regulator-name = "VDD18_A31";
  303. regulator-min-microvolt = <1800000>;
  304. regulator-max-microvolt = <1800000>;
  305. regulator-always-on;
  306. op_mode = <1>; /* Normal Mode */
  307. };
  308. ldo27_reg: LDO27 {
  309. regulator-name = "GPS_1V8";
  310. regulator-min-microvolt = <1800000>;
  311. regulator-max-microvolt = <1800000>;
  312. regulator-always-on;
  313. op_mode = <1>; /* Normal Mode */
  314. };
  315. ldo28_reg: LDO28 {
  316. regulator-name = "DVDD12";
  317. regulator-min-microvolt = <1200000>;
  318. regulator-max-microvolt = <1200000>;
  319. regulator-always-on;
  320. op_mode = <1>; /* Normal Mode */
  321. };
  322. buck1_reg: BUCK1 {
  323. regulator-name = "vdd_mif";
  324. regulator-min-microvolt = <950000>;
  325. regulator-max-microvolt = <1100000>;
  326. regulator-always-on;
  327. regulator-boot-on;
  328. op_mode = <1>; /* Normal Mode */
  329. };
  330. buck2_reg: BUCK2 {
  331. regulator-name = "vdd_arm";
  332. regulator-min-microvolt = <900000>;
  333. regulator-max-microvolt = <1350000>;
  334. regulator-always-on;
  335. regulator-boot-on;
  336. op_mode = <1>; /* Normal Mode */
  337. };
  338. buck3_reg: BUCK3 {
  339. regulator-name = "vdd_int";
  340. regulator-min-microvolt = <900000>;
  341. regulator-max-microvolt = <1200000>;
  342. regulator-always-on;
  343. regulator-boot-on;
  344. op_mode = <1>; /* Normal Mode */
  345. };
  346. buck4_reg: BUCK4 {
  347. regulator-name = "vdd_g3d";
  348. regulator-min-microvolt = <750000>;
  349. regulator-max-microvolt = <1500000>;
  350. regulator-always-on;
  351. regulator-boot-on;
  352. op_mode = <1>; /* Normal Mode */
  353. };
  354. buck5_reg: BUCK5 {
  355. regulator-name = "vdd_m12";
  356. regulator-min-microvolt = <750000>;
  357. regulator-max-microvolt = <1500000>;
  358. regulator-always-on;
  359. regulator-boot-on;
  360. op_mode = <1>; /* Normal Mode */
  361. };
  362. buck6_reg: BUCK6 {
  363. regulator-name = "vdd12_5m";
  364. regulator-min-microvolt = <750000>;
  365. regulator-max-microvolt = <1500000>;
  366. regulator-always-on;
  367. regulator-boot-on;
  368. op_mode = <1>; /* Normal Mode */
  369. };
  370. buck9_reg: BUCK9 {
  371. regulator-name = "vddf28_emmc";
  372. regulator-min-microvolt = <750000>;
  373. regulator-max-microvolt = <3000000>;
  374. regulator-always-on;
  375. regulator-boot-on;
  376. op_mode = <1>; /* Normal Mode */
  377. };
  378. };
  379. };
  380. };
  381. &keypad {
  382. samsung,keypad-num-rows = <3>;
  383. samsung,keypad-num-columns = <2>;
  384. linux,keypad-no-autorepeat;
  385. wakeup-source;
  386. pinctrl-0 = <&keypad_rows &keypad_cols>;
  387. pinctrl-names = "default";
  388. status = "okay";
  389. key_home {
  390. keypad,row = <0>;
  391. keypad,column = <0>;
  392. linux,code = <KEY_HOME>;
  393. };
  394. key_down {
  395. keypad,row = <0>;
  396. keypad,column = <1>;
  397. linux,code = <KEY_DOWN>;
  398. };
  399. key_up {
  400. keypad,row = <1>;
  401. keypad,column = <0>;
  402. linux,code = <KEY_UP>;
  403. };
  404. key_menu {
  405. keypad,row = <1>;
  406. keypad,column = <1>;
  407. linux,code = <KEY_MENU>;
  408. };
  409. key_back {
  410. keypad,row = <2>;
  411. keypad,column = <0>;
  412. linux,code = <KEY_BACK>;
  413. };
  414. key_enter {
  415. keypad,row = <2>;
  416. keypad,column = <1>;
  417. linux,code = <KEY_ENTER>;
  418. };
  419. };
  420. &mshc_0 {
  421. pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>;
  422. pinctrl-names = "default";
  423. status = "okay";
  424. num-slots = <1>;
  425. broken-cd;
  426. card-detect-delay = <200>;
  427. samsung,dw-mshc-ciu-div = <3>;
  428. samsung,dw-mshc-sdr-timing = <2 3>;
  429. samsung,dw-mshc-ddr-timing = <1 2>;
  430. bus-width = <8>;
  431. cap-mmc-highspeed;
  432. };
  433. &pinctrl_1 {
  434. keypad_rows: keypad-rows {
  435. samsung,pins = "gpx2-0", "gpx2-1", "gpx2-2";
  436. samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
  437. samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
  438. samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
  439. };
  440. keypad_cols: keypad-cols {
  441. samsung,pins = "gpx1-0", "gpx1-1";
  442. samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
  443. samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
  444. samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
  445. };
  446. };
  447. &rtc {
  448. status = "okay";
  449. };
  450. &sdhci_2 {
  451. bus-width = <4>;
  452. pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4 &sd2_cd>;
  453. pinctrl-names = "default";
  454. vmmc-supply = <&mmc_reg>;
  455. status = "okay";
  456. };
  457. &serial_0 {
  458. status = "okay";
  459. };
  460. &serial_1 {
  461. status = "okay";
  462. };
  463. &serial_2 {
  464. status = "okay";
  465. };
  466. &serial_3 {
  467. status = "okay";
  468. };
  469. &watchdog {
  470. status = "okay";
  471. };