exynos5250-snow.dts 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542
  1. /*
  2. * SAMSUNG Snow board device tree source
  3. *
  4. * Copyright (c) 2012 Samsung Electronics Co., Ltd.
  5. * http://www.samsung.com
  6. *
  7. * This program is free software; you can redistribute it and/or modify
  8. * it under the terms of the GNU General Public License version 2 as
  9. * published by the Free Software Foundation.
  10. */
  11. /dts-v1/;
  12. #include <dt-bindings/gpio/gpio.h>
  13. #include <dt-bindings/interrupt-controller/irq.h>
  14. #include <dt-bindings/input/input.h>
  15. #include "exynos5250.dtsi"
  16. / {
  17. model = "Google Snow";
  18. compatible = "google,snow", "samsung,exynos5250", "samsung,exynos5";
  19. aliases {
  20. i2c0 = "/i2c@12C60000";
  21. i2c1 = "/i2c@12C70000";
  22. i2c2 = "/i2c@12C80000";
  23. i2c3 = "/i2c@12C90000";
  24. i2c4 = "/i2c@12CA0000";
  25. i2c104 = &i2c_104;
  26. i2c5 = "/i2c@12CB0000";
  27. i2c6 = "/i2c@12CC0000";
  28. i2c7 = "/i2c@12CD0000";
  29. spi0 = "/spi@12d20000";
  30. spi1 = "/spi@12d30000";
  31. spi2 = "/spi@12d40000";
  32. spi3 = "/spi@131a0000";
  33. spi4 = "/spi@131b0000";
  34. mmc0 = "/mmc@12200000";
  35. mmc1 = "/mmc@12210000";
  36. mmc2 = "/mmc@12220000";
  37. mmc3 = "/mmc@12230000";
  38. serial0 = "/serial@12C30000";
  39. console = "/serial@12C30000";
  40. i2s = "/sound@3830000";
  41. };
  42. memory {
  43. reg = <0x40000000 0x80000000>;
  44. };
  45. chosen {
  46. bootargs = "console=tty1";
  47. stdout-path = "serial3:115200n8";
  48. };
  49. iram {
  50. reg = <0x02020000 0x60000>;
  51. };
  52. config {
  53. samsung,bl1-offset = <0x1400>;
  54. samsung,bl2-offset = <0x3400>;
  55. u-boot-memory = "/memory";
  56. u-boot-offset = <0x3e00000 0x100000>;
  57. };
  58. flash {
  59. reg = <0 0x100000>;
  60. #address-cells = <1>;
  61. #size-cells = <1>;
  62. pre-boot {
  63. label = "bl1 pre-boot";
  64. reg = <0 0x2000>;
  65. read-only;
  66. filename = "e5250.nbl1.bin";
  67. type = "blob exynos-bl1";
  68. required;
  69. };
  70. spl {
  71. label = "bl2 spl";
  72. reg = <0x2000 0x4000>;
  73. read-only;
  74. filename = "bl2.bin";
  75. type = "blob exynos-bl2 boot,dtb";
  76. payload = "/flash/ro-boot";
  77. required;
  78. };
  79. ro-boot {
  80. label = "u-boot";
  81. reg = <0x6000 0x9a000>;
  82. read-only;
  83. type = "blob boot,dtb";
  84. required;
  85. };
  86. };
  87. i2c-arbitrator {
  88. compatible = "i2c-arb-gpio-challenge";
  89. #address-cells = <1>;
  90. #size-cells = <0>;
  91. i2c-parent = <&{/i2c@12CA0000}>;
  92. our-claim-gpio = <&gpf0 3 GPIO_ACTIVE_LOW>;
  93. their-claim-gpios = <&gpe0 4 GPIO_ACTIVE_LOW>;
  94. slew-delay-us = <10>;
  95. wait-retry-us = <3000>;
  96. wait-free-us = <50000>;
  97. /* Use ID 104 as a hint that we're on physical bus 4 */
  98. i2c_104: i2c@0 {
  99. reg = <0>;
  100. #address-cells = <1>;
  101. #size-cells = <0>;
  102. battery: sbs-battery@b {
  103. compatible = "sbs,sbs-battery";
  104. reg = <0xb>;
  105. sbs,poll-retry-count = <1>;
  106. };
  107. cros_ec: embedded-controller {
  108. compatible = "google,cros-ec-i2c";
  109. reg = <0x1e>;
  110. interrupts = <6 IRQ_TYPE_NONE>;
  111. interrupt-parent = <&gpx1>;
  112. wakeup-source;
  113. i2c-max-frequency = <100000>;
  114. u-boot,i2c-offset-len = <0>;
  115. ec-interrupt = <&gpx1 6 GPIO_ACTIVE_LOW>;
  116. };
  117. power-regulator {
  118. compatible = "ti,tps65090";
  119. reg = <0x48>;
  120. regulators {
  121. dcdc1 {
  122. ti,enable-ext-control;
  123. };
  124. dcdc2 {
  125. ti,enable-ext-control;
  126. };
  127. dcdc3 {
  128. ti,enable-ext-control;
  129. };
  130. fet1: fet1 {
  131. regulator-name = "vcd_led";
  132. ti,overcurrent-wait = <3>;
  133. };
  134. tps65090_fet2: fet2 {
  135. regulator-name = "video_mid";
  136. regulator-always-on;
  137. ti,overcurrent-wait = <3>;
  138. };
  139. fet3 {
  140. regulator-name = "wwan_r";
  141. regulator-always-on;
  142. ti,overcurrent-wait = <3>;
  143. };
  144. fet4 {
  145. regulator-name = "sdcard";
  146. ti,overcurrent-wait = <3>;
  147. };
  148. fet5 {
  149. regulator-name = "camout";
  150. regulator-always-on;
  151. ti,overcurrent-wait = <3>;
  152. };
  153. fet6: fet6 {
  154. regulator-name = "lcd_vdd";
  155. ti,overcurrent-wait = <3>;
  156. };
  157. tps65090_fet7: fet7 {
  158. regulator-name = "video_mid_1a";
  159. regulator-always-on;
  160. ti,overcurrent-wait = <3>;
  161. };
  162. ldo1 {
  163. };
  164. ldo2 {
  165. };
  166. };
  167. charger {
  168. compatible = "ti,tps65090-charger";
  169. };
  170. };
  171. };
  172. };
  173. i2c@12CD0000 {
  174. ptn3460: lvds-bridge@20 {
  175. compatible = "nxp,ptn3460";
  176. reg = <0x20>;
  177. sleep-gpios = <&gpy2 5 GPIO_ACTIVE_LOW>;
  178. reset-gpios = <&gpx1 5 GPIO_ACTIVE_LOW>;
  179. hotplug-gpios = <&gpx0 7 GPIO_ACTIVE_HIGH>;
  180. edid-emulation = <5>;
  181. ports {
  182. port@0 {
  183. bridge_out: endpoint {
  184. remote-endpoint = <&panel_in>;
  185. };
  186. };
  187. port@1 {
  188. bridge_in: endpoint {
  189. remote-endpoint = <&dp_out>;
  190. };
  191. };
  192. };
  193. };
  194. soundcodec@22 {
  195. reg = <0x22>;
  196. compatible = "maxim,max98095-codec";
  197. };
  198. };
  199. i2c@12C90000 {
  200. clock-frequency = <100000>;
  201. tpm@20 {
  202. reg = <0x20>;
  203. u-boot,i2c-offset-len = <0>;
  204. compatible = "infineon,slb9635tt";
  205. };
  206. };
  207. spi@12d30000 {
  208. spi-max-frequency = <50000000>;
  209. firmware_storage_spi: flash@0 {
  210. compatible = "spi-flash";
  211. reg = <0>;
  212. };
  213. };
  214. backlight: backlight {
  215. compatible = "pwm-backlight";
  216. pwms = <&pwm 0 1000000 0>;
  217. brightness-levels = <0 100 500 1000 1500 2000 2500 2800>;
  218. default-brightness-level = <7>;
  219. enable-gpios = <&gpx3 0 GPIO_ACTIVE_HIGH>;
  220. power-supply = <&fet1>;
  221. };
  222. panel: panel {
  223. compatible = "auo,b116xw03";
  224. power-supply = <&fet6>;
  225. backlight = <&backlight>;
  226. port {
  227. panel_in: endpoint {
  228. remote-endpoint = <&bridge_out>;
  229. };
  230. };
  231. };
  232. spi@131b0000 {
  233. spi-max-frequency = <1000000>;
  234. spi-deactivate-delay = <100>;
  235. /* Snow did support SPI but the released version used I2C */
  236. embedded-controller {
  237. compatible = "google,cros-ec-i2c";
  238. reg = <0x1e>;
  239. spi-max-frequency = <5000000>;
  240. ec-interrupt = <&gpx1 6 GPIO_ACTIVE_LOW>;
  241. optimise-flash-write;
  242. status = "disabled";
  243. };
  244. };
  245. sound@3830000 {
  246. samsung,codec-type = "max98095";
  247. codec-enable-gpio = <&gpx1 7 GPIO_ACTIVE_HIGH>;
  248. };
  249. sound@12d60000 {
  250. status = "disabled";
  251. };
  252. i2c@12C60000 {
  253. max77686@09 {
  254. reg = <0x9>;
  255. compatible = "maxim,max77686";
  256. };
  257. };
  258. mmc@12200000 {
  259. samsung,bus-width = <8>;
  260. samsung,timing = <1 3 3>;
  261. samsung,removable = <0>;
  262. };
  263. mmc@12210000 {
  264. status = "disabled";
  265. };
  266. mmc@12220000 {
  267. samsung,bus-width = <4>;
  268. samsung,timing = <1 2 3>;
  269. samsung,removable = <1>;
  270. };
  271. mmc@12230000 {
  272. status = "disabled";
  273. };
  274. ehci@12110000 {
  275. samsung,vbus-gpio = <&gpx1 1 GPIO_ACTIVE_HIGH>;
  276. status = "okay";
  277. };
  278. xhci@12000000 {
  279. samsung,vbus-gpio = <&gpx2 7 GPIO_ACTIVE_HIGH>;
  280. };
  281. tmu@10060000 {
  282. samsung,min-temp = <25>;
  283. samsung,max-temp = <125>;
  284. samsung,start-warning = <95>;
  285. samsung,start-tripping = <105>;
  286. samsung,hw-tripping = <110>;
  287. samsung,efuse-min-value = <40>;
  288. samsung,efuse-value = <55>;
  289. samsung,efuse-max-value = <100>;
  290. samsung,slope = <274761730>;
  291. samsung,dc-value = <25>;
  292. };
  293. fimd@14400000 {
  294. samsung,vl-freq = <60>;
  295. samsung,vl-col = <1366>;
  296. samsung,vl-row = <768>;
  297. samsung,vl-width = <1366>;
  298. samsung,vl-height = <768>;
  299. samsung,vl-clkp;
  300. samsung,vl-dp;
  301. samsung,vl-hsp;
  302. samsung,vl-vsp;
  303. samsung,vl-bpix = <4>;
  304. samsung,vl-hspw = <32>;
  305. samsung,vl-hbpd = <80>;
  306. samsung,vl-hfpd = <48>;
  307. samsung,vl-vspw = <5>;
  308. samsung,vl-vbpd = <14>;
  309. samsung,vl-vfpd = <3>;
  310. samsung,vl-cmd-allow-len = <0xf>;
  311. samsung,winid = <0>;
  312. samsung,interface-mode = <1>;
  313. samsung,dp-enabled = <1>;
  314. samsung,dual-lcd-enabled = <0>;
  315. };
  316. dp@145b0000 {
  317. samsung,lt-status = <0>;
  318. samsung,master-mode = <0>;
  319. samsung,bist-mode = <0>;
  320. samsung,bist-pattern = <0>;
  321. samsung,h-sync-polarity = <0>;
  322. samsung,v-sync-polarity = <0>;
  323. samsung,interlaced = <0>;
  324. samsung,color-space = <0>;
  325. samsung,dynamic-range = <0>;
  326. samsung,ycbcr-coeff = <0>;
  327. samsung,color-depth = <1>;
  328. samsung,hpd-gpio = <&gpx0 7 GPIO_ACTIVE_HIGH>;
  329. ports {
  330. port@0 {
  331. dp_out: endpoint {
  332. remote-endpoint = <&bridge_in>;
  333. };
  334. };
  335. };
  336. };
  337. };
  338. &i2c_0 {
  339. status = "okay";
  340. samsung,i2c-sda-delay = <100>;
  341. samsung,i2c-max-bus-freq = <378000>;
  342. max77686: max77686@09 {
  343. compatible = "maxim,max77686";
  344. interrupt-parent = <&gpx3>;
  345. interrupts = <2 IRQ_TYPE_NONE>;
  346. wakeup-source;
  347. reg = <0x09>;
  348. #clock-cells = <1>;
  349. voltage-regulators {
  350. ldo1_reg: LDO1 {
  351. regulator-name = "P1.0V_LDO_OUT1";
  352. regulator-min-microvolt = <1000000>;
  353. regulator-max-microvolt = <1000000>;
  354. regulator-always-on;
  355. };
  356. ldo2_reg: LDO2 {
  357. regulator-name = "P1.8V_LDO_OUT2";
  358. regulator-min-microvolt = <1800000>;
  359. regulator-max-microvolt = <1800000>;
  360. regulator-always-on;
  361. };
  362. ldo3_reg: LDO3 {
  363. regulator-name = "P1.8V_LDO_OUT3";
  364. regulator-min-microvolt = <1800000>;
  365. regulator-max-microvolt = <1800000>;
  366. regulator-always-on;
  367. };
  368. ldo7_reg: LDO7 {
  369. regulator-name = "P1.1V_LDO_OUT7";
  370. regulator-min-microvolt = <1100000>;
  371. regulator-max-microvolt = <1100000>;
  372. regulator-always-on;
  373. };
  374. ldo8_reg: LDO8 {
  375. regulator-name = "P1.0V_LDO_OUT8";
  376. regulator-min-microvolt = <1000000>;
  377. regulator-max-microvolt = <1000000>;
  378. regulator-always-on;
  379. };
  380. ldo10_reg: LDO10 {
  381. regulator-name = "P1.8V_LDO_OUT10";
  382. regulator-min-microvolt = <1800000>;
  383. regulator-max-microvolt = <1800000>;
  384. regulator-always-on;
  385. };
  386. ldo12_reg: LDO12 {
  387. regulator-name = "P3.0V_LDO_OUT12";
  388. regulator-min-microvolt = <3000000>;
  389. regulator-max-microvolt = <3000000>;
  390. regulator-always-on;
  391. };
  392. ldo14_reg: LDO14 {
  393. regulator-name = "P1.8V_LDO_OUT14";
  394. regulator-min-microvolt = <1800000>;
  395. regulator-max-microvolt = <1800000>;
  396. regulator-always-on;
  397. };
  398. ldo15_reg: LDO15 {
  399. regulator-name = "P1.0V_LDO_OUT15";
  400. regulator-min-microvolt = <1000000>;
  401. regulator-max-microvolt = <1000000>;
  402. regulator-always-on;
  403. };
  404. ldo16_reg: LDO16 {
  405. regulator-name = "P1.8V_LDO_OUT16";
  406. regulator-min-microvolt = <1800000>;
  407. regulator-max-microvolt = <1800000>;
  408. regulator-always-on;
  409. };
  410. ldo17_reg: LDO17 {
  411. regulator-name = "vdd_mydp";
  412. regulator-min-microvolt = <1200000>;
  413. regulator-max-microvolt = <1200000>;
  414. };
  415. buck1_reg: BUCK1 {
  416. regulator-name = "vdd_mif";
  417. regulator-min-microvolt = <950000>;
  418. regulator-max-microvolt = <1300000>;
  419. regulator-always-on;
  420. regulator-boot-on;
  421. };
  422. buck2_reg: BUCK2 {
  423. regulator-name = "vdd_arm";
  424. regulator-min-microvolt = <850000>;
  425. regulator-max-microvolt = <1350000>;
  426. regulator-always-on;
  427. regulator-boot-on;
  428. };
  429. buck3_reg: BUCK3 {
  430. regulator-name = "vdd_int";
  431. regulator-min-microvolt = <900000>;
  432. regulator-max-microvolt = <1200000>;
  433. regulator-always-on;
  434. regulator-boot-on;
  435. };
  436. buck4_reg: BUCK4 {
  437. regulator-name = "vdd_g3d";
  438. regulator-min-microvolt = <850000>;
  439. regulator-max-microvolt = <1300000>;
  440. regulator-always-on;
  441. regulator-boot-on;
  442. };
  443. buck5_reg: BUCK5 {
  444. regulator-name = "P1.8V_BUCK_OUT5";
  445. regulator-min-microvolt = <1800000>;
  446. regulator-max-microvolt = <1800000>;
  447. regulator-always-on;
  448. regulator-boot-on;
  449. };
  450. buck6_reg: BUCK6 {
  451. regulator-name = "P1.35V_BUCK_OUT6";
  452. regulator-min-microvolt = <1350000>;
  453. regulator-max-microvolt = <1350000>;
  454. regulator-always-on;
  455. };
  456. buck7_reg: BUCK7 {
  457. regulator-name = "P2.0V_BUCK_OUT7";
  458. regulator-min-microvolt = <2000000>;
  459. regulator-max-microvolt = <2000000>;
  460. regulator-always-on;
  461. };
  462. buck8_reg: BUCK8 {
  463. regulator-name = "P2.85V_BUCK_OUT8";
  464. regulator-min-microvolt = <2850000>;
  465. regulator-max-microvolt = <2850000>;
  466. regulator-always-on;
  467. };
  468. };
  469. };
  470. };
  471. #include "cros-ec-keyboard.dtsi"