qrb5165-rb5.dts 25 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334
  1. // SPDX-License-Identifier: BSD-3-Clause
  2. /*
  3. * Copyright (c) 2020, Linaro Ltd.
  4. */
  5. /dts-v1/;
  6. #include <dt-bindings/leds/common.h>
  7. #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
  8. #include <dt-bindings/sound/qcom,q6afe.h>
  9. #include <dt-bindings/sound/qcom,q6asm.h>
  10. #include "sm8250.dtsi"
  11. #include "pm8150.dtsi"
  12. #include "pm8150b.dtsi"
  13. #include "pm8150l.dtsi"
  14. / {
  15. model = "Qualcomm Technologies, Inc. Robotics RB5";
  16. compatible = "qcom,qrb5165-rb5", "qcom,sm8250";
  17. qcom,msm-id = <455 0x20001>;
  18. qcom,board-id = <11 3>;
  19. aliases {
  20. serial0 = &uart12;
  21. sdhc2 = &sdhc_2;
  22. };
  23. chosen {
  24. stdout-path = "serial0:115200n8";
  25. };
  26. /* Fixed crystal oscillator dedicated to MCP2518FD */
  27. clk40M: can-clock {
  28. compatible = "fixed-clock";
  29. #clock-cells = <0>;
  30. clock-frequency = <40000000>;
  31. };
  32. dc12v: dc12v-regulator {
  33. compatible = "regulator-fixed";
  34. regulator-name = "DC12V";
  35. regulator-min-microvolt = <12000000>;
  36. regulator-max-microvolt = <12000000>;
  37. regulator-always-on;
  38. };
  39. hdmi-out {
  40. compatible = "hdmi-connector";
  41. type = "a";
  42. port {
  43. hdmi_con: endpoint {
  44. remote-endpoint = <&lt9611_out>;
  45. };
  46. };
  47. };
  48. leds {
  49. compatible = "gpio-leds";
  50. led-user4 {
  51. label = "green:user4";
  52. function = LED_FUNCTION_INDICATOR;
  53. color = <LED_COLOR_ID_GREEN>;
  54. gpios = <&pm8150_gpios 10 GPIO_ACTIVE_HIGH>;
  55. linux,default-trigger = "panic-indicator";
  56. default-state = "off";
  57. };
  58. led-wlan {
  59. label = "yellow:wlan";
  60. function = LED_FUNCTION_WLAN;
  61. color = <LED_COLOR_ID_YELLOW>;
  62. gpios = <&pm8150_gpios 9 GPIO_ACTIVE_HIGH>;
  63. linux,default-trigger = "phy0tx";
  64. default-state = "off";
  65. };
  66. led-bt {
  67. label = "blue:bt";
  68. function = LED_FUNCTION_BLUETOOTH;
  69. color = <LED_COLOR_ID_BLUE>;
  70. gpios = <&pm8150_gpios 7 GPIO_ACTIVE_HIGH>;
  71. linux,default-trigger = "bluetooth-power";
  72. default-state = "off";
  73. };
  74. };
  75. lt9611_1v2: lt9611-vdd12-regulator {
  76. compatible = "regulator-fixed";
  77. regulator-name = "LT9611_1V2";
  78. vin-supply = <&vdc_3v3>;
  79. regulator-min-microvolt = <1200000>;
  80. regulator-max-microvolt = <1200000>;
  81. };
  82. lt9611_3v3: lt9611-3v3 {
  83. compatible = "regulator-fixed";
  84. regulator-name = "LT9611_3V3";
  85. vin-supply = <&vdc_3v3>;
  86. regulator-min-microvolt = <3300000>;
  87. regulator-max-microvolt = <3300000>;
  88. regulator-boot-on;
  89. regulator-always-on;
  90. };
  91. thermal-zones {
  92. conn-thermal {
  93. polling-delay-passive = <0>;
  94. polling-delay = <0>;
  95. thermal-sensors = <&pm8150b_adc_tm 0>;
  96. trips {
  97. active-config0 {
  98. temperature = <125000>;
  99. hysteresis = <1000>;
  100. type = "critical";
  101. };
  102. };
  103. };
  104. pm8150l-pcb-thermal {
  105. polling-delay-passive = <0>;
  106. polling-delay = <0>;
  107. thermal-sensors = <&pm8150l_adc_tm 1>;
  108. trips {
  109. active-config0 {
  110. temperature = <50000>;
  111. hysteresis = <4000>;
  112. type = "passive";
  113. };
  114. };
  115. };
  116. skin-msm-thermal {
  117. polling-delay-passive = <0>;
  118. polling-delay = <0>;
  119. thermal-sensors = <&pm8150l_adc_tm 0>;
  120. trips {
  121. active-config0 {
  122. temperature = <50000>;
  123. hysteresis = <4000>;
  124. type = "passive";
  125. };
  126. };
  127. };
  128. wifi-thermal {
  129. polling-delay-passive = <0>;
  130. polling-delay = <0>;
  131. thermal-sensors = <&pm8150_adc_tm 1>;
  132. trips {
  133. active-config0 {
  134. temperature = <52000>;
  135. hysteresis = <4000>;
  136. type = "passive";
  137. };
  138. };
  139. };
  140. xo-thermal {
  141. polling-delay-passive = <0>;
  142. polling-delay = <0>;
  143. thermal-sensors = <&pm8150_adc_tm 0>;
  144. trips {
  145. active-config0 {
  146. temperature = <50000>;
  147. hysteresis = <4000>;
  148. type = "passive";
  149. };
  150. };
  151. };
  152. };
  153. vbat: vbat-regulator {
  154. compatible = "regulator-fixed";
  155. regulator-name = "VBAT";
  156. vin-supply = <&vreg_l11c_3p3>;
  157. regulator-min-microvolt = <4200000>;
  158. regulator-max-microvolt = <4200000>;
  159. regulator-always-on;
  160. };
  161. vbat_som: vbat-som-regulator {
  162. compatible = "regulator-fixed";
  163. regulator-name = "VBAT_SOM";
  164. vin-supply = <&dc12v>;
  165. regulator-min-microvolt = <4200000>;
  166. regulator-max-microvolt = <4200000>;
  167. regulator-always-on;
  168. };
  169. vdc_3v3: vdc-3v3-regulator {
  170. compatible = "regulator-fixed";
  171. regulator-name = "VDC_3V3";
  172. vin-supply = <&vreg_l11c_3p3>;
  173. regulator-min-microvolt = <3300000>;
  174. regulator-max-microvolt = <3300000>;
  175. regulator-always-on;
  176. };
  177. vdc_5v: vdc-5v-regulator {
  178. compatible = "regulator-fixed";
  179. regulator-name = "VDC_5V";
  180. regulator-min-microvolt = <5000000>;
  181. regulator-max-microvolt = <5000000>;
  182. regulator-always-on;
  183. vin-supply = <&vreg_l11c_3p3>;
  184. };
  185. vph_pwr: vph-pwr-regulator {
  186. compatible = "regulator-fixed";
  187. regulator-name = "vph_pwr";
  188. regulator-min-microvolt = <3700000>;
  189. regulator-max-microvolt = <3700000>;
  190. regulator-always-on;
  191. };
  192. vreg_s4a_1p8: vreg-s4a-1p8 {
  193. compatible = "regulator-fixed";
  194. regulator-name = "vreg_s4a_1p8";
  195. regulator-min-microvolt = <1800000>;
  196. regulator-max-microvolt = <1800000>;
  197. regulator-always-on;
  198. };
  199. };
  200. &adsp {
  201. status = "okay";
  202. firmware-name = "qcom/sm8250/adsp.mbn";
  203. };
  204. &apps_rsc {
  205. pm8009-rpmh-regulators {
  206. compatible = "qcom,pm8009-1-rpmh-regulators";
  207. qcom,pmic-id = "f";
  208. vdd-s1-supply = <&vph_pwr>;
  209. vdd-s2-supply = <&vph_pwr>;
  210. vdd-l2-supply = <&vreg_s8c_1p3>;
  211. vdd-l5-l6-supply = <&vreg_bob>;
  212. vdd-l7-supply = <&vreg_s4a_1p8>;
  213. vreg_s2f_0p95: smps2 {
  214. regulator-name = "vreg_s2f_0p95";
  215. regulator-min-microvolt = <900000>;
  216. regulator-max-microvolt = <952000>;
  217. regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
  218. };
  219. vreg_l1f_1p1: ldo1 {
  220. regulator-name = "vreg_l1f_1p1";
  221. regulator-min-microvolt = <1104000>;
  222. regulator-max-microvolt = <1104000>;
  223. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  224. };
  225. vreg_l2f_1p2: ldo2 {
  226. regulator-name = "vreg_l2f_1p2";
  227. regulator-min-microvolt = <1200000>;
  228. regulator-max-microvolt = <1200000>;
  229. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  230. };
  231. vreg_l6f_2p8: ldo6 {
  232. regulator-name = "vreg_l6f_2p8";
  233. regulator-min-microvolt = <2800000>;
  234. regulator-max-microvolt = <2800000>;
  235. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  236. };
  237. vreg_l7f_1p8: ldo7 {
  238. regulator-name = "vreg_l7f_1p8";
  239. regulator-min-microvolt = <1800000>;
  240. regulator-max-microvolt = <1800000>;
  241. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  242. };
  243. };
  244. pm8150-rpmh-regulators {
  245. compatible = "qcom,pm8150-rpmh-regulators";
  246. qcom,pmic-id = "a";
  247. vdd-s1-supply = <&vph_pwr>;
  248. vdd-s2-supply = <&vph_pwr>;
  249. vdd-s3-supply = <&vph_pwr>;
  250. vdd-s4-supply = <&vph_pwr>;
  251. vdd-s5-supply = <&vph_pwr>;
  252. vdd-s6-supply = <&vph_pwr>;
  253. vdd-s7-supply = <&vph_pwr>;
  254. vdd-s8-supply = <&vph_pwr>;
  255. vdd-s9-supply = <&vph_pwr>;
  256. vdd-s10-supply = <&vph_pwr>;
  257. vdd-l2-l10-supply = <&vreg_bob>;
  258. vdd-l3-l4-l5-l18-supply = <&vreg_s6a_0p95>;
  259. vdd-l6-l9-supply = <&vreg_s8c_1p3>;
  260. vdd-l7-l12-l14-l15-supply = <&vreg_s5a_1p9>;
  261. vdd-l13-l16-l17-supply = <&vreg_bob>;
  262. vreg_l2a_3p1: ldo2 {
  263. regulator-name = "vreg_l2a_3p1";
  264. regulator-min-microvolt = <3072000>;
  265. regulator-max-microvolt = <3072000>;
  266. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  267. };
  268. vreg_l3a_0p9: ldo3 {
  269. regulator-name = "vreg_l3a_0p9";
  270. regulator-min-microvolt = <928000>;
  271. regulator-max-microvolt = <932000>;
  272. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  273. };
  274. vreg_l5a_0p88: ldo5 {
  275. regulator-name = "vreg_l5a_0p88";
  276. regulator-min-microvolt = <880000>;
  277. regulator-max-microvolt = <880000>;
  278. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  279. };
  280. vreg_l6a_1p2: ldo6 {
  281. regulator-name = "vreg_l6a_1p2";
  282. regulator-min-microvolt = <1200000>;
  283. regulator-max-microvolt = <1200000>;
  284. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  285. };
  286. vreg_l7a_1p7: ldo7 {
  287. regulator-name = "vreg_l7a_1p7";
  288. regulator-min-microvolt = <1704000>;
  289. regulator-max-microvolt = <1800000>;
  290. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  291. };
  292. vreg_l9a_1p2: ldo9 {
  293. regulator-name = "vreg_l9a_1p2";
  294. regulator-min-microvolt = <1200000>;
  295. regulator-max-microvolt = <1200000>;
  296. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  297. };
  298. vreg_l10a_1p8: ldo10 {
  299. regulator-name = "vreg_l10a_1p8";
  300. regulator-min-microvolt = <1800000>;
  301. regulator-max-microvolt = <1800000>;
  302. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  303. };
  304. vreg_l12a_1p8: ldo12 {
  305. regulator-name = "vreg_l12a_1p8";
  306. regulator-min-microvolt = <1800000>;
  307. regulator-max-microvolt = <1800000>;
  308. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  309. };
  310. vreg_l13a_ts_3p0: ldo13 {
  311. regulator-name = "vreg_l13a_ts_3p0";
  312. regulator-min-microvolt = <3008000>;
  313. regulator-max-microvolt = <3008000>;
  314. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  315. };
  316. vreg_l14a_1p8: ldo14 {
  317. regulator-name = "vreg_l14a_1p8";
  318. regulator-min-microvolt = <1800000>;
  319. regulator-max-microvolt = <1880000>;
  320. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  321. };
  322. vreg_l15a_1p8: ldo15 {
  323. regulator-name = "vreg_l15a_1p8";
  324. regulator-min-microvolt = <1800000>;
  325. regulator-max-microvolt = <1800000>;
  326. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  327. };
  328. vreg_l16a_2p7: ldo16 {
  329. regulator-name = "vreg_l16a_2p7";
  330. regulator-min-microvolt = <2704000>;
  331. regulator-max-microvolt = <2960000>;
  332. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  333. };
  334. vreg_l17a_3p0: ldo17 {
  335. regulator-name = "vreg_l17a_3p0";
  336. regulator-min-microvolt = <2856000>;
  337. regulator-max-microvolt = <3008000>;
  338. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  339. };
  340. vreg_l18a_0p92: ldo18 {
  341. regulator-name = "vreg_l18a_0p92";
  342. regulator-min-microvolt = <800000>;
  343. regulator-max-microvolt = <912000>;
  344. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  345. };
  346. vreg_s5a_1p9: smps5 {
  347. regulator-name = "vreg_s5a_1p9";
  348. regulator-min-microvolt = <1904000>;
  349. regulator-max-microvolt = <2000000>;
  350. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  351. };
  352. vreg_s6a_0p95: smps6 {
  353. regulator-name = "vreg_s6a_0p95";
  354. regulator-min-microvolt = <920000>;
  355. regulator-max-microvolt = <1128000>;
  356. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  357. };
  358. };
  359. pm8150l-rpmh-regulators {
  360. compatible = "qcom,pm8150l-rpmh-regulators";
  361. qcom,pmic-id = "c";
  362. vdd-s1-supply = <&vph_pwr>;
  363. vdd-s2-supply = <&vph_pwr>;
  364. vdd-s3-supply = <&vph_pwr>;
  365. vdd-s4-supply = <&vph_pwr>;
  366. vdd-s5-supply = <&vph_pwr>;
  367. vdd-s6-supply = <&vph_pwr>;
  368. vdd-s7-supply = <&vph_pwr>;
  369. vdd-s8-supply = <&vph_pwr>;
  370. vdd-l1-l8-supply = <&vreg_s4a_1p8>;
  371. vdd-l2-l3-supply = <&vreg_s8c_1p3>;
  372. vdd-l4-l5-l6-supply = <&vreg_bob>;
  373. vdd-l7-l11-supply = <&vreg_bob>;
  374. vdd-l9-l10-supply = <&vreg_bob>;
  375. vdd-bob-supply = <&vph_pwr>;
  376. vreg_bob: bob {
  377. regulator-name = "vreg_bob";
  378. regulator-min-microvolt = <3008000>;
  379. regulator-max-microvolt = <4000000>;
  380. regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
  381. };
  382. vreg_l1c_1p8: ldo1 {
  383. regulator-name = "vreg_l1c_1p8";
  384. regulator-min-microvolt = <1800000>;
  385. regulator-max-microvolt = <1800000>;
  386. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  387. };
  388. vreg_l2c_1p2: ldo2 {
  389. regulator-name = "vreg_l2c_1p2";
  390. regulator-min-microvolt = <1200000>;
  391. regulator-max-microvolt = <1200000>;
  392. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  393. };
  394. vreg_l3c_0p8: ldo3 {
  395. regulator-name = "vreg_l3c_0p8";
  396. regulator-min-microvolt = <800000>;
  397. regulator-max-microvolt = <800000>;
  398. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  399. };
  400. vreg_l4c_1p7: ldo4 {
  401. regulator-name = "vreg_l4c_1p7";
  402. regulator-min-microvolt = <1704000>;
  403. regulator-max-microvolt = <2928000>;
  404. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  405. };
  406. vreg_l5c_1p8: ldo5 {
  407. regulator-name = "vreg_l5c_1p8";
  408. regulator-min-microvolt = <1800000>;
  409. regulator-max-microvolt = <2928000>;
  410. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  411. };
  412. vreg_l6c_2p96: ldo6 {
  413. regulator-name = "vreg_l6c_2p96";
  414. regulator-min-microvolt = <1800000>;
  415. regulator-max-microvolt = <2960000>;
  416. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  417. };
  418. vreg_l7c_cam_vcm0_2p85: ldo7 {
  419. regulator-name = "vreg_l7c_cam_vcm0_2p85";
  420. regulator-min-microvolt = <2856000>;
  421. regulator-max-microvolt = <3104000>;
  422. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  423. };
  424. vreg_l8c_1p8: ldo8 {
  425. regulator-name = "vreg_l8c_1p8";
  426. regulator-min-microvolt = <1800000>;
  427. regulator-max-microvolt = <1800000>;
  428. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  429. };
  430. vreg_l9c_2p96: ldo9 {
  431. regulator-name = "vreg_l9c_2p96";
  432. regulator-min-microvolt = <2704000>;
  433. regulator-max-microvolt = <2960000>;
  434. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  435. };
  436. vreg_l10c_3p0: ldo10 {
  437. regulator-name = "vreg_l10c_3p0";
  438. regulator-min-microvolt = <3000000>;
  439. regulator-max-microvolt = <3000000>;
  440. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  441. };
  442. vreg_l11c_3p3: ldo11 {
  443. regulator-name = "vreg_l11c_3p3";
  444. regulator-min-microvolt = <3296000>;
  445. regulator-max-microvolt = <3296000>;
  446. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  447. regulator-always-on;
  448. };
  449. vreg_s8c_1p3: smps8 {
  450. regulator-name = "vreg_s8c_1p3";
  451. regulator-min-microvolt = <1352000>;
  452. regulator-max-microvolt = <1352000>;
  453. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  454. };
  455. };
  456. };
  457. &cdsp {
  458. status = "okay";
  459. firmware-name = "qcom/sm8250/cdsp.mbn";
  460. };
  461. &dsi0 {
  462. status = "okay";
  463. vdda-supply = <&vreg_l9a_1p2>;
  464. #if 0
  465. qcom,dual-dsi-mode;
  466. qcom,master-dsi;
  467. #endif
  468. ports {
  469. port@1 {
  470. endpoint {
  471. remote-endpoint = <&lt9611_a>;
  472. data-lanes = <0 1 2 3>;
  473. };
  474. };
  475. };
  476. };
  477. &dsi0_phy {
  478. status = "okay";
  479. vdds-supply = <&vreg_l5a_0p88>;
  480. };
  481. &gmu {
  482. status = "okay";
  483. };
  484. &gpu {
  485. status = "okay";
  486. zap-shader {
  487. memory-region = <&gpu_mem>;
  488. firmware-name = "qcom/sm8250/a650_zap.mbn";
  489. };
  490. };
  491. /* LS-I2C0 */
  492. &i2c4 {
  493. status = "okay";
  494. };
  495. &i2c5 {
  496. status = "okay";
  497. clock-frequency = <400000>;
  498. lt9611_codec: hdmi-bridge@2b {
  499. compatible = "lontium,lt9611uxc";
  500. reg = <0x2b>;
  501. #sound-dai-cells = <1>;
  502. interrupts-extended = <&tlmm 63 IRQ_TYPE_EDGE_FALLING>;
  503. reset-gpios = <&pm8150l_gpios 5 GPIO_ACTIVE_HIGH>;
  504. vdd-supply = <&lt9611_1v2>;
  505. vcc-supply = <&lt9611_3v3>;
  506. pinctrl-names = "default";
  507. pinctrl-0 = <&lt9611_irq_pin &lt9611_rst_pin>;
  508. ports {
  509. #address-cells = <1>;
  510. #size-cells = <0>;
  511. port@0 {
  512. reg = <0>;
  513. lt9611_a: endpoint {
  514. remote-endpoint = <&dsi0_out>;
  515. };
  516. };
  517. #if 0
  518. port@1 {
  519. reg = <1>;
  520. lt9611_b: endpoint {
  521. remote-endpoint = <&dsi1_out>;
  522. };
  523. };
  524. #endif
  525. port@2 {
  526. reg = <2>;
  527. lt9611_out: endpoint {
  528. remote-endpoint = <&hdmi_con>;
  529. };
  530. };
  531. };
  532. };
  533. };
  534. /* LS-I2C1 */
  535. &i2c15 {
  536. status = "okay";
  537. };
  538. &mdss {
  539. status = "okay";
  540. };
  541. &mdss_mdp {
  542. status = "okay";
  543. };
  544. &pm8150_adc {
  545. xo-therm@4c {
  546. reg = <ADC5_XO_THERM_100K_PU>;
  547. qcom,ratiometric;
  548. qcom,hw-settle-time = <200>;
  549. };
  550. wifi-therm@4e {
  551. reg = <ADC5_AMUX_THM2_100K_PU>;
  552. qcom,ratiometric;
  553. qcom,hw-settle-time = <200>;
  554. };
  555. };
  556. &pm8150_adc_tm {
  557. status = "okay";
  558. xo-therm@0 {
  559. reg = <0>;
  560. io-channels = <&pm8150_adc ADC5_XO_THERM_100K_PU>;
  561. qcom,ratiometric;
  562. qcom,hw-settle-time-us = <200>;
  563. };
  564. wifi-therm@1 {
  565. reg = <1>;
  566. io-channels = <&pm8150_adc ADC5_AMUX_THM2_100K_PU>;
  567. qcom,ratiometric;
  568. qcom,hw-settle-time-us = <200>;
  569. };
  570. };
  571. &pcie0 {
  572. status = "okay";
  573. };
  574. &pcie0_phy {
  575. status = "okay";
  576. vdda-phy-supply = <&vreg_l5a_0p88>;
  577. vdda-pll-supply = <&vreg_l9a_1p2>;
  578. };
  579. &pcie1 {
  580. status = "okay";
  581. };
  582. &pcie1_phy {
  583. status = "okay";
  584. vdda-phy-supply = <&vreg_l5a_0p88>;
  585. vdda-pll-supply = <&vreg_l9a_1p2>;
  586. };
  587. &pcie2 {
  588. status = "okay";
  589. };
  590. &pcie2_phy {
  591. status = "okay";
  592. vdda-phy-supply = <&vreg_l5a_0p88>;
  593. vdda-pll-supply = <&vreg_l9a_1p2>;
  594. };
  595. &pm8150_gpios {
  596. gpio-reserved-ranges = <1 1>, <3 2>, <7 1>;
  597. gpio-line-names =
  598. "NC",
  599. "OPTION2",
  600. "PM_GPIO-F",
  601. "PM_SLP_CLK_IN",
  602. "OPTION1",
  603. "VOL_UP_N",
  604. "PM8250_GPIO7", /* Blue LED */
  605. "SP_ARI_PWR_ALARM",
  606. "GPIO_9_P", /* Yellow LED */
  607. "GPIO_10_P"; /* Green LED */
  608. };
  609. &pm8150b_adc {
  610. conn-therm@4f {
  611. reg = <ADC5_AMUX_THM3_100K_PU>;
  612. qcom,ratiometric;
  613. qcom,hw-settle-time = <200>;
  614. };
  615. };
  616. &pm8150b_adc_tm {
  617. status = "okay";
  618. conn-therm@0 {
  619. reg = <0>;
  620. io-channels = <&pm8150b_adc ADC5_AMUX_THM3_100K_PU>;
  621. qcom,ratiometric;
  622. qcom,hw-settle-time-us = <200>;
  623. };
  624. };
  625. &pm8150b_gpios {
  626. gpio-line-names =
  627. "NC",
  628. "NC",
  629. "NC",
  630. "NC",
  631. "HAP_BOOST_EN", /* SOM */
  632. "SMB_STAT", /* SOM */
  633. "NC",
  634. "NC",
  635. "SDM_FORCE_USB_BOOT",
  636. "NC",
  637. "NC",
  638. "NC";
  639. };
  640. &pm8150l_adc {
  641. skin-msm-therm@4e {
  642. reg = <ADC5_AMUX_THM2_100K_PU>;
  643. qcom,ratiometric;
  644. qcom,hw-settle-time = <200>;
  645. };
  646. pm8150l-therm@4f {
  647. reg = <ADC5_AMUX_THM3_100K_PU>;
  648. qcom,ratiometric;
  649. qcom,hw-settle-time = <200>;
  650. };
  651. };
  652. &pm8150l_adc_tm {
  653. status = "okay";
  654. skin-msm-therm@0 {
  655. reg = <0>;
  656. io-channels = <&pm8150l_adc ADC5_AMUX_THM2_100K_PU>;
  657. qcom,ratiometric;
  658. qcom,hw-settle-time-us = <200>;
  659. };
  660. pm8150l-therm@1 {
  661. reg = <1>;
  662. io-channels = <&pm8150l_adc ADC5_AMUX_THM3_100K_PU>;
  663. qcom,ratiometric;
  664. qcom,hw-settle-time-us = <200>;
  665. };
  666. };
  667. &pm8150l_gpios {
  668. gpio-line-names =
  669. "NC",
  670. "PM3003A_EN",
  671. "NC",
  672. "NC",
  673. "PM_GPIO5", /* HDMI RST_N */
  674. "PM_GPIO-A", /* PWM */
  675. "PM_GPIO7",
  676. "NC",
  677. "NC",
  678. "PM_GPIO-B",
  679. "NC",
  680. "PM3003A_MODE";
  681. lt9611_rst_pin: lt9611-rst-state {
  682. pins = "gpio5";
  683. function = "normal";
  684. output-high;
  685. input-disable;
  686. power-source = <0>;
  687. };
  688. };
  689. &pm8150l_lpg {
  690. status = "okay";
  691. #address-cells = <1>;
  692. #size-cells = <0>;
  693. led@1 {
  694. reg = <1>;
  695. color = <LED_COLOR_ID_GREEN>;
  696. function = LED_FUNCTION_HEARTBEAT;
  697. function-enumerator = <3>;
  698. linux,default-trigger = "heartbeat";
  699. default-state = "on";
  700. };
  701. led@2 {
  702. reg = <2>;
  703. color = <LED_COLOR_ID_GREEN>;
  704. function = LED_FUNCTION_INDICATOR;
  705. function-enumerator = <2>;
  706. default-state = "on";
  707. };
  708. led@3 {
  709. reg = <3>;
  710. color = <LED_COLOR_ID_GREEN>;
  711. function = LED_FUNCTION_INDICATOR;
  712. function-enumerator = <1>;
  713. };
  714. };
  715. &pon_pwrkey {
  716. status = "okay";
  717. };
  718. &pon_resin {
  719. status = "okay";
  720. linux,code = <KEY_VOLUMEDOWN>;
  721. };
  722. &qupv3_id_0 {
  723. status = "okay";
  724. };
  725. &qupv3_id_1 {
  726. status = "okay";
  727. };
  728. &qupv3_id_2 {
  729. status = "okay";
  730. };
  731. &q6afedai {
  732. qi2s@16 {
  733. reg = <PRIMARY_MI2S_RX>;
  734. qcom,sd-lines = <0 1 2 3>;
  735. };
  736. };
  737. /* TERT I2S Uses 1 I2S SD Lines for audio on LT9611 HDMI Bridge */
  738. &q6afedai {
  739. qi2s@20 {
  740. reg = <TERTIARY_MI2S_RX>;
  741. qcom,sd-lines = <0>;
  742. };
  743. };
  744. &q6asmdai {
  745. dai@0 {
  746. reg = <0>;
  747. };
  748. dai@1 {
  749. reg = <1>;
  750. };
  751. dai@2 {
  752. reg = <2>;
  753. };
  754. };
  755. &sdhc_2 {
  756. status = "okay";
  757. pinctrl-names = "default";
  758. pinctrl-0 = <&sdc2_default_state &sdc2_card_det_n>;
  759. vmmc-supply = <&vreg_l9c_2p96>;
  760. vqmmc-supply = <&vreg_l6c_2p96>;
  761. cd-gpios = <&tlmm 77 GPIO_ACTIVE_LOW>;
  762. bus-width = <4>;
  763. no-sdio;
  764. no-emmc;
  765. };
  766. &sound {
  767. compatible = "qcom,qrb5165-rb5-sndcard";
  768. pinctrl-0 = <&tert_mi2s_active>;
  769. pinctrl-names = "default";
  770. model = "Qualcomm-RB5-WSA8815-Speakers-DMIC0";
  771. audio-routing =
  772. "SpkrLeft IN", "WSA_SPK1 OUT",
  773. "SpkrRight IN", "WSA_SPK2 OUT",
  774. "VA DMIC0", "vdd-micb",
  775. "VA DMIC1", "vdd-micb",
  776. "MM_DL1", "MultiMedia1 Playback",
  777. "MM_DL2", "MultiMedia2 Playback",
  778. "MultiMedia3 Capture", "MM_UL3";
  779. mm1-dai-link {
  780. link-name = "MultiMedia1";
  781. cpu {
  782. sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA1>;
  783. };
  784. };
  785. mm2-dai-link {
  786. link-name = "MultiMedia2";
  787. cpu {
  788. sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA2>;
  789. };
  790. };
  791. mm3-dai-link {
  792. link-name = "MultiMedia3";
  793. cpu {
  794. sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA3>;
  795. };
  796. };
  797. hdmi-dai-link {
  798. link-name = "HDMI Playback";
  799. cpu {
  800. sound-dai = <&q6afedai TERTIARY_MI2S_RX>;
  801. };
  802. platform {
  803. sound-dai = <&q6routing>;
  804. };
  805. codec {
  806. sound-dai = <&lt9611_codec 0>;
  807. };
  808. };
  809. dma-dai-link {
  810. link-name = "WSA Playback";
  811. cpu {
  812. sound-dai = <&q6afedai WSA_CODEC_DMA_RX_0>;
  813. };
  814. platform {
  815. sound-dai = <&q6routing>;
  816. };
  817. codec {
  818. sound-dai = <&left_spkr>, <&right_spkr>, <&swr0 0>, <&wsamacro 0>;
  819. };
  820. };
  821. va-dai-link {
  822. link-name = "VA Capture";
  823. cpu {
  824. sound-dai = <&q6afedai VA_CODEC_DMA_TX_0>;
  825. };
  826. platform {
  827. sound-dai = <&q6routing>;
  828. };
  829. codec {
  830. sound-dai = <&vamacro 0>;
  831. };
  832. };
  833. };
  834. /* CAN */
  835. &spi0 {
  836. status = "okay";
  837. pinctrl-names = "default";
  838. pinctrl-0 = <&qup_spi0_data_clk>, <&qup_spi0_cs_gpio>;
  839. cs-gpios = <&tlmm 31 GPIO_ACTIVE_LOW>;
  840. can@0 {
  841. compatible = "microchip,mcp2518fd";
  842. reg = <0>;
  843. clocks = <&clk40M>;
  844. interrupts-extended = <&tlmm 15 IRQ_TYPE_LEVEL_LOW>;
  845. spi-max-frequency = <10000000>;
  846. vdd-supply = <&vdc_5v>;
  847. xceiver-supply = <&vdc_5v>;
  848. };
  849. };
  850. &swr0 {
  851. left_spkr: wsa8810-left{
  852. compatible = "sdw10217211000";
  853. reg = <0 3>;
  854. powerdown-gpios = <&tlmm 130 GPIO_ACTIVE_HIGH>;
  855. #thermal-sensor-cells = <0>;
  856. sound-name-prefix = "SpkrLeft";
  857. #sound-dai-cells = <0>;
  858. };
  859. right_spkr: wsa8810-right{
  860. compatible = "sdw10217211000";
  861. reg = <0 4>;
  862. powerdown-gpios = <&tlmm 130 GPIO_ACTIVE_HIGH>;
  863. #thermal-sensor-cells = <0>;
  864. sound-name-prefix = "SpkrRight";
  865. #sound-dai-cells = <0>;
  866. };
  867. };
  868. &tlmm {
  869. gpio-reserved-ranges = <40 4>;
  870. gpio-line-names =
  871. "GPIO-MM",
  872. "GPIO-NN",
  873. "GPIO-OO",
  874. "GPIO-PP",
  875. "GPIO-A",
  876. "GPIO-C",
  877. "GPIO-E",
  878. "GPIO-D",
  879. "I2C0-SDA",
  880. "I2C0-SCL",
  881. "GPIO-TT", /* GPIO_10 */
  882. "NC",
  883. "GPIO_12_I2C_SDA",
  884. "GPIO_13_I2C_SCL",
  885. "GPIO-X",
  886. "GPIO_15_RGMII_INT",
  887. "HST_BT_UART_CTS",
  888. "HST_BT_UART_RFR",
  889. "HST_BT_UART_TX",
  890. "HST_BT_UART_RX",
  891. "HST_WLAN_EN", /* GPIO_20 */
  892. "HST_BT_EN",
  893. "GPIO-AAA",
  894. "GPIO-BBB",
  895. "GPIO-CCC",
  896. "GPIO-Z",
  897. "GPIO-DDD",
  898. "GPIO-BB",
  899. "GPIO_28_CAN_SPI_MISO",
  900. "GPIO_29_CAN_SPI_MOSI",
  901. "GPIO_30_CAN_SPI_CLK", /* GPIO_30 */
  902. "GPIO_31_CAN_SPI_CS",
  903. "GPIO-UU",
  904. "NC",
  905. "UART1_TXD_SOM",
  906. "UART1_RXD_SOM",
  907. "UART0_CTS",
  908. "UART0_RTS",
  909. "UART0_TXD",
  910. "UART0_RXD",
  911. "SPI1_MISO", /* GPIO_40 */
  912. "SPI1_MOSI",
  913. "SPI1_CLK",
  914. "SPI1_CS",
  915. "I2C1_SDA",
  916. "I2C1_SCL",
  917. "GPIO-F",
  918. "GPIO-JJ",
  919. "Board_ID1",
  920. "Board_ID2",
  921. "NC", /* GPIO_50 */
  922. "NC",
  923. "SPI0_MISO",
  924. "SPI0_MOSI",
  925. "SPI0_SCLK",
  926. "SPI0_CS",
  927. "GPIO-QQ",
  928. "GPIO-RR",
  929. "USB2LAN_RESET",
  930. "USB2LAN_EXTWAKE",
  931. "NC", /* GPIO_60 */
  932. "NC",
  933. "NC",
  934. "LT9611_INT",
  935. "GPIO-AA",
  936. "USB_CC_DIR",
  937. "GPIO-G",
  938. "GPIO-LL",
  939. "USB_DP_HPD_1P8",
  940. "NC",
  941. "NC", /* GPIO_70 */
  942. "SD_CMD",
  943. "SD_DAT3",
  944. "SD_SCLK",
  945. "SD_DAT2",
  946. "SD_DAT1",
  947. "SD_DAT0", /* BOOT_CFG3 */
  948. "SD_UFS_CARD_DET_N",
  949. "GPIO-II",
  950. "PCIE0_RST_N",
  951. "PCIE0_CLK_REQ_N", /* GPIO_80 */
  952. "PCIE0_WAKE_N",
  953. "GPIO-CC",
  954. "GPIO-DD",
  955. "GPIO-EE",
  956. "GPIO-FF",
  957. "GPIO-GG",
  958. "GPIO-HH",
  959. "GPIO-VV",
  960. "GPIO-WW",
  961. "NC", /* GPIO_90 */
  962. "NC",
  963. "GPIO-K",
  964. "GPIO-I",
  965. "CSI0_MCLK",
  966. "CSI1_MCLK",
  967. "CSI2_MCLK",
  968. "CSI3_MCLK",
  969. "GPIO-AA", /* CSI4_MCLK */
  970. "GPIO-BB", /* CSI5_MCLK */
  971. "GPIO-KK", /* GPIO_100 */
  972. "CCI_I2C_SDA0",
  973. "CCI_I2C_SCL0",
  974. "CCI_I2C_SDA1",
  975. "CCI_I2C_SCL1",
  976. "CCI_I2C_SDA2",
  977. "CCI_I2C_SCL2",
  978. "CCI_I2C_SDA3",
  979. "CCI_I2C_SCL3",
  980. "GPIO-L",
  981. "NC", /* GPIO_110 */
  982. "NC",
  983. "ACCEL_INT",
  984. "GYRO_INT",
  985. "GPIO-J",
  986. "GPIO-YY",
  987. "GPIO-H",
  988. "GPIO-ZZ",
  989. "NC",
  990. "NC",
  991. "NC", /* GPIO_120 */
  992. "NC",
  993. "MAG_INT",
  994. "MAG_DRDY_INT",
  995. "HST_SW_CTRL",
  996. "GPIO-M",
  997. "GPIO-N",
  998. "GPIO-O",
  999. "GPIO-P",
  1000. "PS_INT",
  1001. "WSA1_EN", /* GPIO_130 */
  1002. "USB_HUB_RESET",
  1003. "SDM_FORCE_USB_BOOT",
  1004. "I2S1_CLK_HDMI",
  1005. "I2S1_DATA0_HDMI",
  1006. "I2S1_WS_HDMI",
  1007. "GPIO-B",
  1008. "GPIO_137", /* To LT9611_I2S_MCLK_3V3 */
  1009. "PCM_CLK",
  1010. "PCM_DI",
  1011. "PCM_DO", /* GPIO_140 */
  1012. "PCM_FS",
  1013. "HST_SLIM_CLK",
  1014. "HST_SLIM_DATA",
  1015. "GPIO-U",
  1016. "GPIO-Y",
  1017. "GPIO-R",
  1018. "GPIO-Q",
  1019. "GPIO-S",
  1020. "GPIO-T",
  1021. "GPIO-V", /* GPIO_150 */
  1022. "GPIO-W",
  1023. "DMIC_CLK1",
  1024. "DMIC_DATA1",
  1025. "DMIC_CLK2",
  1026. "DMIC_DATA2",
  1027. "WSA_SWR_CLK",
  1028. "WSA_SWR_DATA",
  1029. "DMIC_CLK3",
  1030. "DMIC_DATA3",
  1031. "I2C4_SDA", /* GPIO_160 */
  1032. "I2C4_SCL",
  1033. "SPI3_CS1",
  1034. "SPI3_CS2",
  1035. "SPI2_MISO_LS3",
  1036. "SPI2_MOSI_LS3",
  1037. "SPI2_CLK_LS3",
  1038. "SPI2_ACCEL_CS_LS3",
  1039. "SPI2_CS1",
  1040. "NC",
  1041. "GPIO-SS", /* GPIO_170 */
  1042. "GPIO-XX",
  1043. "SPI3_MISO",
  1044. "SPI3_MOSI",
  1045. "SPI3_CLK",
  1046. "SPI3_CS",
  1047. "HST_BLE_SNS_UART_TX",
  1048. "HST_BLE_SNS_UART_RX",
  1049. "HST_WLAN_UART_TX",
  1050. "HST_WLAN_UART_RX";
  1051. lt9611_irq_pin: lt9611-irq {
  1052. pins = "gpio63";
  1053. function = "gpio";
  1054. bias-disable;
  1055. };
  1056. sdc2_default_state: sdc2-default {
  1057. clk {
  1058. pins = "sdc2_clk";
  1059. bias-disable;
  1060. drive-strength = <16>;
  1061. };
  1062. cmd {
  1063. pins = "sdc2_cmd";
  1064. bias-pull-up;
  1065. drive-strength = <10>;
  1066. };
  1067. data {
  1068. pins = "sdc2_data";
  1069. bias-pull-up;
  1070. drive-strength = <10>;
  1071. };
  1072. };
  1073. sdc2_card_det_n: sd-card-det-n {
  1074. pins = "gpio77";
  1075. function = "gpio";
  1076. bias-pull-up;
  1077. };
  1078. };
  1079. &uart12 {
  1080. status = "okay";
  1081. };
  1082. &ufs_mem_hc {
  1083. status = "okay";
  1084. vcc-supply = <&vreg_l17a_3p0>;
  1085. vcc-max-microamp = <800000>;
  1086. vccq-supply = <&vreg_l6a_1p2>;
  1087. vccq-max-microamp = <800000>;
  1088. vccq2-supply = <&vreg_s4a_1p8>;
  1089. vccq2-max-microamp = <800000>;
  1090. };
  1091. &ufs_mem_phy {
  1092. status = "okay";
  1093. vdda-phy-supply = <&vreg_l5a_0p88>;
  1094. vdda-pll-supply = <&vreg_l9a_1p2>;
  1095. };
  1096. &usb_1 {
  1097. status = "okay";
  1098. };
  1099. &usb_1_dwc3 {
  1100. dr_mode = "peripheral";
  1101. };
  1102. &usb_1_hsphy {
  1103. status = "okay";
  1104. vdda-pll-supply = <&vreg_l5a_0p88>;
  1105. vdda33-supply = <&vreg_l2a_3p1>;
  1106. vdda18-supply = <&vreg_l12a_1p8>;
  1107. };
  1108. &usb_1_qmpphy {
  1109. status = "okay";
  1110. vdda-phy-supply = <&vreg_l9a_1p2>;
  1111. vdda-pll-supply = <&vreg_l18a_0p92>;
  1112. };
  1113. &usb_2 {
  1114. status = "okay";
  1115. };
  1116. &usb_2_dwc3 {
  1117. dr_mode = "host";
  1118. };
  1119. &usb_2_hsphy {
  1120. status = "okay";
  1121. vdda-pll-supply = <&vreg_l5a_0p88>;
  1122. vdda33-supply = <&vreg_l2a_3p1>;
  1123. vdda18-supply = <&vreg_l12a_1p8>;
  1124. };
  1125. &usb_2_qmpphy {
  1126. status = "okay";
  1127. vdda-phy-supply = <&vreg_l9a_1p2>;
  1128. vdda-pll-supply = <&vreg_l18a_0p92>;
  1129. };
  1130. &vamacro {
  1131. pinctrl-0 = <&dmic01_active>;
  1132. pinctrl-names = "default";
  1133. vdd-micb-supply = <&vreg_s4a_1p8>;
  1134. qcom,dmic-sample-rate = <600000>;
  1135. };
  1136. &venus {
  1137. status = "okay";
  1138. };
  1139. /* PINCTRL - additions to nodes defined in sm8250.dtsi */
  1140. &qup_spi0_cs_gpio {
  1141. drive-strength = <6>;
  1142. bias-disable;
  1143. };
  1144. &qup_spi0_data_clk {
  1145. drive-strength = <6>;
  1146. bias-disable;
  1147. };