exynos5420-peach-pit.dts 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411
  1. /*
  2. * SAMSUNG/GOOGLE Peach-Pit board device tree source
  3. *
  4. * Copyright (c) 2013 Samsung Electronics Co., Ltd.
  5. * http://www.samsung.com
  6. *
  7. * SPDX-License-Identifier: GPL-2.0+
  8. */
  9. /dts-v1/;
  10. #include "exynos54xx.dtsi"
  11. #include <dt-bindings/clock/maxim,max77802.h>
  12. #include <dt-bindings/regulator/maxim,max77802.h>
  13. / {
  14. model = "Samsung/Google Peach Pit board based on Exynos5420";
  15. compatible = "google,pit-rev#", "google,pit",
  16. "google,peach", "samsung,exynos5420", "samsung,exynos5";
  17. config {
  18. google,bad-wake-gpios = <&gpx0 6 GPIO_ACTIVE_HIGH>;
  19. hwid = "PIT TEST A-A 7848";
  20. lazy-init = <1>;
  21. };
  22. aliases {
  23. serial0 = "/serial@12C30000";
  24. console = "/serial@12C30000";
  25. pmic = "/i2c@12CA0000";
  26. i2c104 = &i2c_tunnel;
  27. };
  28. backlight: backlight {
  29. compatible = "pwm-backlight";
  30. pwms = <&pwm 0 1000000 0>;
  31. brightness-levels = <0 100 500 1000 1500 2000 2500 2800>;
  32. default-brightness-level = <7>;
  33. power-supply = <&tps65090_fet1>;
  34. };
  35. dmc {
  36. mem-manuf = "samsung";
  37. mem-type = "ddr3";
  38. clock-frequency = <800000000>;
  39. arm-frequency = <900000000>;
  40. };
  41. tmu@10060000 {
  42. samsung,min-temp = <25>;
  43. samsung,max-temp = <125>;
  44. samsung,start-warning = <95>;
  45. samsung,start-tripping = <105>;
  46. samsung,hw-tripping = <110>;
  47. samsung,efuse-min-value = <40>;
  48. samsung,efuse-value = <55>;
  49. samsung,efuse-max-value = <100>;
  50. samsung,slope = <274761730>;
  51. samsung,dc-value = <25>;
  52. };
  53. /* MAX77802 is on i2c bus 4 */
  54. i2c@12CA0000 {
  55. clock-frequency = <400000>;
  56. power-regulator@9 {
  57. compatible = "maxim,max77802-pmic";
  58. reg = <0x9>;
  59. };
  60. };
  61. i2c@12CD0000 { /* i2c7 */
  62. clock-frequency = <100000>;
  63. soundcodec@20 {
  64. reg = <0x20>;
  65. compatible = "maxim,max98090-codec";
  66. };
  67. edp-lvds-bridge@48 {
  68. compatible = "parade,ps8625";
  69. reg = <0x48>;
  70. sleep-gpios = <&gpx3 5 GPIO_ACTIVE_LOW>;
  71. reset-gpios = <&gpy7 7 GPIO_ACTIVE_LOW>;
  72. parade,regs = /bits/ 8 <
  73. 0x02 0xa1 0x01 /* HPD low */
  74. /*
  75. * SW setting
  76. * [1:0] SW output 1.2V voltage is lower to 96%
  77. */
  78. 0x04 0x14 0x01
  79. /*
  80. * RCO SS setting
  81. * [5:4] = b01 0.5%, b10 1%, b11 1.5%
  82. */
  83. 0x04 0xe3 0x20
  84. 0x04 0xe2 0x80 /* [7] RCO SS enable */
  85. /*
  86. * RPHY Setting
  87. * [3:2] CDR tune wait cycle before
  88. * measure for fine tune b00: 1us,
  89. * 01: 0.5us, 10:2us, 11:4us.
  90. */
  91. 0x04 0x8a 0x0c
  92. 0x04 0x89 0x08 /* [3] RFD always on */
  93. /*
  94. * CTN lock in/out:
  95. * 20000ppm/80000ppm. Lock out 2
  96. * times.
  97. */
  98. 0x04 0x71 0x2d
  99. /*
  100. * 2.7G CDR settings
  101. * NOF=40LSB for HBR CDR setting
  102. */
  103. 0x04 0x7d 0x07
  104. 0x04 0x7b 0x00 /* [1:0] Fmin=+4bands */
  105. 0x04 0x7a 0xfd /* [7:5] DCO_FTRNG=+-40% */
  106. /*
  107. * 1.62G CDR settings
  108. * [5:2]NOF=64LSB [1:0]DCO scale is 2/5
  109. */
  110. 0x04 0xc0 0x12
  111. 0x04 0xc1 0x92 /* Gitune=-37% */
  112. 0x04 0xc2 0x1c /* Fbstep=100% */
  113. 0x04 0x32 0x80 /* [7]LOS signal disable */
  114. /*
  115. * RPIO Setting
  116. * [7:4] LVDS driver bias current :
  117. * 75% (250mV swing)
  118. */
  119. 0x04 0x00 0xb0
  120. /*
  121. * [7:6] Right-bar GPIO output strength is 8mA
  122. */
  123. 0x04 0x15 0x40
  124. /* EQ Training State Machine Setting */
  125. 0x04 0x54 0x10 /* RCO calibration start */
  126. /* [4:0] MAX_LANE_COUNT set to one lane */
  127. 0x01 0x02 0x81
  128. /* [4:0] LANE_COUNT_SET set to one lane */
  129. 0x01 0x21 0x81
  130. 0x00 0x52 0x20
  131. 0x00 0xf1 0x03 /* HPD CP toggle enable */
  132. 0x00 0x62 0x41
  133. /* Counter number add 1ms counter delay */
  134. 0x00 0xf6 0x01
  135. /*
  136. * [6]PWM function control by
  137. * DPCD0040f[7], default is PWM
  138. * block always works.
  139. */
  140. 0x00 0x77 0x06
  141. /*
  142. * 04h Adjust VTotal tolerance to
  143. * fix the 30Hz no display issue
  144. */
  145. 0x00 0x4c 0x04
  146. /* DPCD00400='h00, Parade OUI = 'h001cf8 */
  147. 0x01 0xc0 0x00
  148. 0x01 0xc1 0x1c /* DPCD00401='h1c */
  149. 0x01 0xc2 0xf8 /* DPCD00402='hf8 */
  150. /*
  151. * DPCD403~408 = ASCII code
  152. * D2SLV5='h4432534c5635
  153. */
  154. 0x01 0xc3 0x44
  155. 0x01 0xc4 0x32 /* DPCD404 */
  156. 0x01 0xc5 0x53 /* DPCD405 */
  157. 0x01 0xc6 0x4c /* DPCD406 */
  158. 0x01 0xc7 0x56 /* DPCD407 */
  159. 0x01 0xc8 0x35 /* DPCD408 */
  160. /*
  161. * DPCD40A, Initial Code major revision
  162. * '01'
  163. */
  164. 0x01 0xca 0x01
  165. /* DPCD40B Initial Code minor revision '05' */
  166. 0x01 0xcb 0x05
  167. /* DPCD720 Select internal PWM */
  168. 0x01 0xa5 0xa0
  169. /*
  170. * FFh for 100% PWM of brightness, 0h for 0%
  171. * brightness
  172. */
  173. 0x01 0xa7 0xff
  174. /*
  175. * Set LVDS output as 6bit-VESA mapping,
  176. * single LVDS channel
  177. */
  178. 0x01 0xcc 0x13
  179. /* Enable SSC set by register */
  180. 0x02 0xb1 0x20
  181. /*
  182. * Set SSC enabled and +/-1% central
  183. * spreading
  184. */
  185. 0x04 0x10 0x16
  186. /* MPU Clock source: LC => RCO */
  187. 0x04 0x59 0x60
  188. 0x04 0x54 0x14 /* LC -> RCO */
  189. 0x02 0xa1 0x91>; /* HPD high */
  190. ports {
  191. port@0 {
  192. bridge_out: endpoint {
  193. remote-endpoint = <&panel_in>;
  194. };
  195. };
  196. port@1 {
  197. bridge_in: endpoint {
  198. remote-endpoint = <&dp_out>;
  199. };
  200. };
  201. };
  202. };
  203. };
  204. sound@3830000 {
  205. samsung,codec-type = "max98090";
  206. };
  207. i2c@12E10000 { /* i2c9 */
  208. clock-frequency = <400000>;
  209. tpm@20 {
  210. compatible = "infineon,slb9645tt";
  211. reg = <0x20>;
  212. };
  213. };
  214. panel: panel {
  215. compatible = "auo,b116xw03";
  216. power-supply = <&tps65090_fet6>;
  217. backlight = <&backlight>;
  218. port {
  219. panel_in: endpoint {
  220. remote-endpoint = <&bridge_out>;
  221. };
  222. };
  223. };
  224. spi@12d30000 { /* spi1 */
  225. spi-max-frequency = <50000000>;
  226. firmware_storage_spi: flash@0 {
  227. compatible = "spi-flash";
  228. reg = <0>;
  229. /*
  230. * A region for the kernel to store a panic event
  231. * which the firmware will add to the log.
  232. */
  233. elog-panic-event-offset = <0x01e00000 0x100000>;
  234. elog-shrink-size = <0x400>;
  235. elog-full-threshold = <0xc00>;
  236. };
  237. };
  238. xhci@12000000 {
  239. samsung,vbus-gpio = <&gph0 0 GPIO_ACTIVE_HIGH>;
  240. };
  241. xhci@12400000 {
  242. samsung,vbus-gpio = <&gph0 1 GPIO_ACTIVE_HIGH>;
  243. };
  244. fimd@14400000 {
  245. samsung,vl-freq = <60>;
  246. samsung,vl-col = <1366>;
  247. samsung,vl-row = <768>;
  248. samsung,vl-width = <1366>;
  249. samsung,vl-height = <768>;
  250. samsung,vl-clkp;
  251. samsung,vl-dp;
  252. samsung,vl-bpix = <4>;
  253. samsung,vl-hspw = <32>;
  254. samsung,vl-hbpd = <40>;
  255. samsung,vl-hfpd = <40>;
  256. samsung,vl-vspw = <6>;
  257. samsung,vl-vbpd = <10>;
  258. samsung,vl-vfpd = <12>;
  259. samsung,vl-cmd-allow-len = <0xf>;
  260. samsung,winid = <3>;
  261. samsung,interface-mode = <1>;
  262. samsung,dp-enabled = <1>;
  263. samsung,dual-lcd-enabled = <0>;
  264. };
  265. };
  266. &dp {
  267. status = "okay";
  268. samsung,color-space = <0>;
  269. samsung,dynamic-range = <0>;
  270. samsung,ycbcr-coeff = <0>;
  271. samsung,color-depth = <1>;
  272. samsung,link-rate = <0x06>;
  273. samsung,lane-count = <2>;
  274. samsung,hpd-gpio = <&gpx2 6 GPIO_ACTIVE_HIGH>;
  275. ports {
  276. port@0 {
  277. dp_out: endpoint {
  278. remote-endpoint = <&bridge_in>;
  279. };
  280. };
  281. };
  282. };
  283. &spi_2 {
  284. spi-max-frequency = <3125000>;
  285. spi-deactivate-delay = <200>;
  286. status = "okay";
  287. num-cs = <1>;
  288. samsung,spi-src-clk = <0>;
  289. cs-gpios = <&gpb1 2 0>;
  290. cros_ec: cros-ec@0 {
  291. compatible = "google,cros-ec-spi";
  292. interrupt-parent = <&gpx1>;
  293. interrupts = <5 0>;
  294. reg = <0>;
  295. spi-half-duplex;
  296. spi-max-timeout-ms = <1100>;
  297. ec-interrupt = <&gpx1 5 GPIO_ACTIVE_LOW>;
  298. #address-cells = <1>;
  299. #size-cells = <1>;
  300. /*
  301. * This describes the flash memory within the EC. Note
  302. * that the STM32L flash erases to 0, not 0xff.
  303. */
  304. flash@8000000 {
  305. reg = <0x08000000 0x20000>;
  306. erase-value = <0>;
  307. };
  308. controller-data {
  309. samsung,spi-feedback-delay = <1>;
  310. };
  311. i2c_tunnel: i2c-tunnel {
  312. compatible = "google,cros-ec-i2c-tunnel";
  313. #address-cells = <1>;
  314. #size-cells = <0>;
  315. google,remote-bus = <0>;
  316. battery: sbs-battery@b {
  317. compatible = "sbs,sbs-battery";
  318. reg = <0xb>;
  319. sbs,poll-retry-count = <1>;
  320. sbs,i2c-retry-count = <2>;
  321. };
  322. power-regulator@48 {
  323. compatible = "ti,tps65090";
  324. reg = <0x48>;
  325. regulators {
  326. tps65090_dcdc1: dcdc1 {
  327. ti,enable-ext-control;
  328. };
  329. tps65090_dcdc2: dcdc2 {
  330. ti,enable-ext-control;
  331. };
  332. tps65090_dcdc3: dcdc3 {
  333. ti,enable-ext-control;
  334. };
  335. tps65090_fet1: fet1 {
  336. regulator-name = "vcd_led";
  337. };
  338. tps65090_fet2: fet2 {
  339. regulator-name = "video_mid";
  340. regulator-always-on;
  341. };
  342. tps65090_fet3: fet3 {
  343. regulator-name = "wwan_r";
  344. regulator-always-on;
  345. };
  346. tps65090_fet4: fet4 {
  347. regulator-name = "sdcard";
  348. regulator-always-on;
  349. };
  350. tps65090_fet5: fet5 {
  351. regulator-name = "camout";
  352. regulator-always-on;
  353. };
  354. tps65090_fet6: fet6 {
  355. regulator-name = "lcd_vdd";
  356. };
  357. tps65090_fet7: fet7 {
  358. regulator-name = "video_mid_1a";
  359. regulator-always-on;
  360. };
  361. tps65090_ldo1: ldo1 {
  362. };
  363. tps65090_ldo2: ldo2 {
  364. };
  365. };
  366. charger {
  367. compatible = "ti,tps65090-charger";
  368. };
  369. };
  370. };
  371. };
  372. };
  373. #include "cros-ec-keyboard.dtsi"