exynos4210-universal_c210.dts 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569
  1. /*
  2. * Samsung's Exynos4210 based Universal C210 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 Samsung's Universal C210 board which is based on
  8. * Samsung's Exynos4210 rev0 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 "exynos4210.dtsi"
  16. / {
  17. model = "Samsung Universal C210 based on Exynos4210 rev0";
  18. compatible = "samsung,universal_c210", "samsung,exynos4210", "samsung,exynos4";
  19. memory {
  20. reg = <0x40000000 0x10000000
  21. 0x50000000 0x10000000>;
  22. };
  23. chosen {
  24. bootargs = "console=ttySAC2,115200N8 root=/dev/mmcblk0p5 rw rootwait earlyprintk panic=5 maxcpus=1";
  25. stdout-path = &serial_2;
  26. };
  27. sysram@02020000 {
  28. smp-sysram@0 {
  29. status = "disabled";
  30. };
  31. smp-sysram@5000 {
  32. compatible = "samsung,exynos4210-sysram";
  33. reg = <0x5000 0x1000>;
  34. };
  35. smp-sysram@1f000 {
  36. status = "disabled";
  37. };
  38. };
  39. mct@10050000 {
  40. compatible = "none";
  41. };
  42. fixed-rate-clocks {
  43. xxti {
  44. compatible = "samsung,clock-xxti";
  45. clock-frequency = <0>;
  46. };
  47. xusbxti {
  48. compatible = "samsung,clock-xusbxti";
  49. clock-frequency = <24000000>;
  50. };
  51. };
  52. vemmc_reg: voltage-regulator {
  53. compatible = "regulator-fixed";
  54. regulator-name = "VMEM_VDD_2_8V";
  55. regulator-min-microvolt = <2800000>;
  56. regulator-max-microvolt = <2800000>;
  57. gpio = <&gpe1 3 0>;
  58. enable-active-high;
  59. };
  60. hsotg@12480000 {
  61. vusb_d-supply = <&ldo3_reg>;
  62. vusb_a-supply = <&ldo8_reg>;
  63. dr_mode = "peripheral";
  64. status = "okay";
  65. };
  66. sdhci_emmc: sdhci@12510000 {
  67. bus-width = <8>;
  68. non-removable;
  69. pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus8>;
  70. pinctrl-names = "default";
  71. vmmc-supply = <&vemmc_reg>;
  72. status = "okay";
  73. };
  74. sdhci_sd: sdhci@12530000 {
  75. bus-width = <4>;
  76. pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4>;
  77. pinctrl-names = "default";
  78. vmmc-supply = <&ldo5_reg>;
  79. cd-gpios = <&gpx3 4 0>;
  80. cd-inverted;
  81. status = "okay";
  82. };
  83. ehci@12580000 {
  84. status = "okay";
  85. port@0 {
  86. status = "okay";
  87. };
  88. };
  89. ohci@12590000 {
  90. status = "okay";
  91. port@0 {
  92. status = "okay";
  93. };
  94. };
  95. exynos-usbphy@125B0000 {
  96. status = "okay";
  97. };
  98. serial@13800000 {
  99. status = "okay";
  100. };
  101. serial@13810000 {
  102. status = "okay";
  103. };
  104. serial@13820000 {
  105. status = "okay";
  106. };
  107. serial@13830000 {
  108. status = "okay";
  109. };
  110. gpio-keys {
  111. compatible = "gpio-keys";
  112. vol-up-key {
  113. gpios = <&gpx2 0 1>;
  114. linux,code = <115>;
  115. label = "volume up";
  116. debounce-interval = <1>;
  117. };
  118. vol-down-key {
  119. gpios = <&gpx2 1 1>;
  120. linux,code = <114>;
  121. label = "volume down";
  122. debounce-interval = <1>;
  123. };
  124. config-key {
  125. gpios = <&gpx2 2 1>;
  126. linux,code = <171>;
  127. label = "config";
  128. debounce-interval = <1>;
  129. gpio-key,wakeup;
  130. };
  131. camera-key {
  132. gpios = <&gpx2 3 1>;
  133. linux,code = <212>;
  134. label = "camera";
  135. debounce-interval = <1>;
  136. };
  137. power-key {
  138. gpios = <&gpx2 7 1>;
  139. linux,code = <116>;
  140. label = "power";
  141. debounce-interval = <1>;
  142. gpio-key,wakeup;
  143. };
  144. ok-key {
  145. gpios = <&gpx3 5 1>;
  146. linux,code = <352>;
  147. label = "ok";
  148. debounce-interval = <1>;
  149. };
  150. };
  151. tsp_reg: voltage-regulator {
  152. compatible = "regulator-fixed";
  153. regulator-name = "TSP_2_8V";
  154. regulator-min-microvolt = <2800000>;
  155. regulator-max-microvolt = <2800000>;
  156. gpio = <&gpe2 3 0>;
  157. enable-active-high;
  158. };
  159. i2c@13890000 {
  160. samsung,i2c-sda-delay = <100>;
  161. samsung,i2c-slave-addr = <0x10>;
  162. samsung,i2c-max-bus-freq = <100000>;
  163. pinctrl-0 = <&i2c3_bus>;
  164. pinctrl-names = "default";
  165. status = "okay";
  166. tsp@4a {
  167. /* TBD: Atmel maXtouch touchscreen */
  168. reg = <0x4a>;
  169. };
  170. };
  171. i2c@138B0000 {
  172. samsung,i2c-sda-delay = <100>;
  173. samsung,i2c-slave-addr = <0x10>;
  174. samsung,i2c-max-bus-freq = <100000>;
  175. pinctrl-0 = <&i2c5_bus>;
  176. pinctrl-names = "default";
  177. status = "okay";
  178. vdd_arm_reg: pmic@60 {
  179. compatible = "maxim,max8952";
  180. reg = <0x60>;
  181. max8952,vid-gpios = <&gpx0 3 0>, <&gpx0 4 0>;
  182. max8952,default-mode = <0>;
  183. max8952,dvs-mode-microvolt = <1250000>, <1200000>,
  184. <1050000>, <950000>;
  185. max8952,sync-freq = <0>;
  186. max8952,ramp-speed = <0>;
  187. regulator-name = "vdd_arm";
  188. regulator-min-microvolt = <770000>;
  189. regulator-max-microvolt = <1400000>;
  190. regulator-always-on;
  191. regulator-boot-on;
  192. };
  193. pmic@66 {
  194. compatible = "national,lp3974";
  195. reg = <0x66>;
  196. max8998,pmic-buck1-default-dvs-idx = <0>;
  197. max8998,pmic-buck1-dvs-gpios = <&gpx0 5 0>,
  198. <&gpx0 6 0>;
  199. max8998,pmic-buck1-dvs-voltage = <1100000>, <1000000>,
  200. <1100000>, <1000000>;
  201. max8998,pmic-buck2-default-dvs-idx = <0>;
  202. max8998,pmic-buck2-dvs-gpio = <&gpe2 0 0>;
  203. max8998,pmic-buck2-dvs-voltage = <1200000>, <1100000>;
  204. regulators {
  205. ldo2_reg: LDO2 {
  206. regulator-name = "VALIVE_1.2V";
  207. regulator-min-microvolt = <1200000>;
  208. regulator-max-microvolt = <1200000>;
  209. regulator-always-on;
  210. };
  211. ldo3_reg: LDO3 {
  212. regulator-name = "VUSB+MIPI_1.1V";
  213. regulator-min-microvolt = <1100000>;
  214. regulator-max-microvolt = <1100000>;
  215. regulator-always-on;
  216. };
  217. ldo4_reg: LDO4 {
  218. regulator-name = "VADC_3.3V";
  219. regulator-min-microvolt = <3300000>;
  220. regulator-max-microvolt = <3300000>;
  221. };
  222. ldo5_reg: LDO5 {
  223. regulator-name = "VTF_2.8V";
  224. regulator-min-microvolt = <2800000>;
  225. regulator-max-microvolt = <2800000>;
  226. };
  227. ldo6_reg: LDO6 {
  228. regulator-name = "LDO6";
  229. regulator-min-microvolt = <2000000>;
  230. regulator-max-microvolt = <2000000>;
  231. };
  232. ldo7_reg: LDO7 {
  233. regulator-name = "VLCD+VMIPI_1.8V";
  234. regulator-min-microvolt = <1800000>;
  235. regulator-max-microvolt = <1800000>;
  236. };
  237. ldo8_reg: LDO8 {
  238. regulator-name = "VUSB+VDAC_3.3V";
  239. regulator-min-microvolt = <3300000>;
  240. regulator-max-microvolt = <3300000>;
  241. regulator-always-on;
  242. };
  243. ldo9_reg: LDO9 {
  244. regulator-name = "VCC_2.8V";
  245. regulator-min-microvolt = <2800000>;
  246. regulator-max-microvolt = <2800000>;
  247. regulator-always-on;
  248. };
  249. ldo10_reg: LDO10 {
  250. regulator-name = "VPLL_1.1V";
  251. regulator-min-microvolt = <1100000>;
  252. regulator-max-microvolt = <1100000>;
  253. regulator-boot-on;
  254. regulator-always-on;
  255. };
  256. ldo11_reg: LDO11 {
  257. regulator-name = "CAM_AF_3.3V";
  258. regulator-min-microvolt = <3300000>;
  259. regulator-max-microvolt = <3300000>;
  260. };
  261. ldo12_reg: LDO12 {
  262. regulator-name = "PS_2.8V";
  263. regulator-min-microvolt = <2800000>;
  264. regulator-max-microvolt = <2800000>;
  265. };
  266. ldo13_reg: LDO13 {
  267. regulator-name = "VHIC_1.2V";
  268. regulator-min-microvolt = <1200000>;
  269. regulator-max-microvolt = <1200000>;
  270. };
  271. ldo14_reg: LDO14 {
  272. regulator-name = "CAM_I_HOST_1.8V";
  273. regulator-min-microvolt = <1800000>;
  274. regulator-max-microvolt = <1800000>;
  275. };
  276. ldo15_reg: LDO15 {
  277. regulator-name = "CAM_S_DIG+FM33_CORE_1.2V";
  278. regulator-min-microvolt = <1200000>;
  279. regulator-max-microvolt = <1200000>;
  280. };
  281. ldo16_reg: LDO16 {
  282. regulator-name = "CAM_S_ANA_2.8V";
  283. regulator-min-microvolt = <2800000>;
  284. regulator-max-microvolt = <2800000>;
  285. };
  286. ldo17_reg: LDO17 {
  287. regulator-name = "VCC_3.0V_LCD";
  288. regulator-min-microvolt = <3000000>;
  289. regulator-max-microvolt = <3000000>;
  290. };
  291. buck1_reg: BUCK1 {
  292. regulator-name = "VINT_1.1V";
  293. regulator-min-microvolt = <750000>;
  294. regulator-max-microvolt = <1500000>;
  295. regulator-boot-on;
  296. regulator-always-on;
  297. };
  298. buck2_reg: BUCK2 {
  299. regulator-name = "VG3D_1.1V";
  300. regulator-min-microvolt = <750000>;
  301. regulator-max-microvolt = <1500000>;
  302. regulator-boot-on;
  303. };
  304. buck3_reg: BUCK3 {
  305. regulator-name = "VCC_1.8V";
  306. regulator-min-microvolt = <1800000>;
  307. regulator-max-microvolt = <1800000>;
  308. regulator-always-on;
  309. };
  310. buck4_reg: BUCK4 {
  311. regulator-name = "VMEM_1.2V";
  312. regulator-min-microvolt = <1200000>;
  313. regulator-max-microvolt = <1200000>;
  314. regulator-always-on;
  315. };
  316. ap32khz_reg: EN32KHz-AP {
  317. regulator-name = "32KHz AP";
  318. regulator-always-on;
  319. };
  320. cp32khz_reg: EN32KHz-CP {
  321. regulator-name = "32KHz CP";
  322. };
  323. vichg_reg: ENVICHG {
  324. regulator-name = "VICHG";
  325. };
  326. safeout1_reg: ESAFEOUT1 {
  327. regulator-name = "SAFEOUT1";
  328. regulator-always-on;
  329. };
  330. safeout2_reg: ESAFEOUT2 {
  331. regulator-name = "SAFEOUT2";
  332. regulator-boot-on;
  333. };
  334. };
  335. };
  336. };
  337. spi-lcd {
  338. compatible = "spi-gpio";
  339. #address-cells = <1>;
  340. #size-cells = <0>;
  341. gpio-sck = <&gpy3 1 0>;
  342. gpio-mosi = <&gpy3 3 0>;
  343. num-chipselects = <1>;
  344. cs-gpios = <&gpy4 3 0>;
  345. lcd@0 {
  346. compatible = "samsung,ld9040";
  347. reg = <0>;
  348. vdd3-supply = <&ldo7_reg>;
  349. vci-supply = <&ldo17_reg>;
  350. reset-gpios = <&gpy4 5 0>;
  351. spi-max-frequency = <1200000>;
  352. spi-cpol;
  353. spi-cpha;
  354. power-on-delay = <10>;
  355. reset-delay = <10>;
  356. panel-width-mm = <90>;
  357. panel-height-mm = <154>;
  358. display-timings {
  359. timing {
  360. clock-frequency = <23492370>;
  361. hactive = <480>;
  362. vactive = <800>;
  363. hback-porch = <16>;
  364. hfront-porch = <16>;
  365. vback-porch = <2>;
  366. vfront-porch = <28>;
  367. hsync-len = <2>;
  368. vsync-len = <1>;
  369. hsync-active = <0>;
  370. vsync-active = <0>;
  371. de-active = <0>;
  372. pixelclk-active = <0>;
  373. };
  374. };
  375. port {
  376. lcd_ep: endpoint {
  377. remote-endpoint = <&fimd_dpi_ep>;
  378. };
  379. };
  380. };
  381. };
  382. fimd: fimd@11c00000 {
  383. pinctrl-0 = <&lcd_clk>, <&lcd_data24>;
  384. pinctrl-names = "default";
  385. status = "okay";
  386. samsung,invert-vden;
  387. samsung,invert-vclk;
  388. #address-cells = <1>;
  389. #size-cells = <0>;
  390. port@3 {
  391. reg = <3>;
  392. fimd_dpi_ep: endpoint {
  393. remote-endpoint = <&lcd_ep>;
  394. };
  395. };
  396. };
  397. pwm@139D0000 {
  398. compatible = "samsung,s5p6440-pwm";
  399. status = "okay";
  400. };
  401. camera {
  402. status = "okay";
  403. pinctrl-names = "default";
  404. pinctrl-0 = <>;
  405. fimc_0: fimc@11800000 {
  406. status = "okay";
  407. assigned-clocks = <&clock CLK_MOUT_FIMC0>,
  408. <&clock CLK_SCLK_FIMC0>;
  409. assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
  410. assigned-clock-rates = <0>, <160000000>;
  411. };
  412. fimc_1: fimc@11810000 {
  413. status = "okay";
  414. assigned-clocks = <&clock CLK_MOUT_FIMC1>,
  415. <&clock CLK_SCLK_FIMC1>;
  416. assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
  417. assigned-clock-rates = <0>, <160000000>;
  418. };
  419. fimc_2: fimc@11820000 {
  420. status = "okay";
  421. assigned-clocks = <&clock CLK_MOUT_FIMC2>,
  422. <&clock CLK_SCLK_FIMC2>;
  423. assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
  424. assigned-clock-rates = <0>, <160000000>;
  425. };
  426. fimc_3: fimc@11830000 {
  427. status = "okay";
  428. assigned-clocks = <&clock CLK_MOUT_FIMC3>,
  429. <&clock CLK_SCLK_FIMC3>;
  430. assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
  431. assigned-clock-rates = <0>, <160000000>;
  432. };
  433. };
  434. hdmi_en: voltage-regulator-hdmi-5v {
  435. compatible = "regulator-fixed";
  436. regulator-name = "HDMI_5V";
  437. regulator-min-microvolt = <5000000>;
  438. regulator-max-microvolt = <5000000>;
  439. gpio = <&gpe0 1 0>;
  440. enable-active-high;
  441. };
  442. hdmi_ddc: i2c-ddc {
  443. compatible = "i2c-gpio";
  444. gpios = <&gpe4 2 0 &gpe4 3 0>;
  445. i2c-gpio,delay-us = <100>;
  446. #address-cells = <1>;
  447. #size-cells = <0>;
  448. pinctrl-0 = <&i2c_ddc_bus>;
  449. pinctrl-names = "default";
  450. status = "okay";
  451. };
  452. mixer@12C10000 {
  453. status = "okay";
  454. };
  455. hdmi@12D00000 {
  456. hpd-gpio = <&gpx3 7 0>;
  457. pinctrl-names = "default";
  458. pinctrl-0 = <&hdmi_hpd>;
  459. hdmi-en-supply = <&hdmi_en>;
  460. vdd-supply = <&ldo3_reg>;
  461. vdd_osc-supply = <&ldo4_reg>;
  462. vdd_pll-supply = <&ldo3_reg>;
  463. ddc = <&hdmi_ddc>;
  464. status = "okay";
  465. };
  466. i2c@138E0000 {
  467. status = "okay";
  468. };
  469. };
  470. &pinctrl_1 {
  471. hdmi_hpd: hdmi-hpd {
  472. samsung,pins = "gpx3-7";
  473. samsung,pin-pud = <0>;
  474. };
  475. };
  476. &pinctrl_0 {
  477. i2c_ddc_bus: i2c-ddc-bus {
  478. samsung,pins = "gpe4-2", "gpe4-3";
  479. samsung,pin-function = <2>;
  480. samsung,pin-pud = <3>;
  481. samsung,pin-drv = <0>;
  482. };
  483. };
  484. &mdma1 {
  485. reg = <0x12840000 0x1000>;
  486. };