exynos4412-origen.dts 13 KB

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