exynos4412-origen.dts 12 KB

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