ste-href-ab8505.dtsi 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490
  1. // SPDX-License-Identifier: GPL-2.0-or-later
  2. /*
  3. * Copyright 2023 Linus Walleij <linus.walleij@linaro.org>
  4. */
  5. #include "ste-ab8505.dtsi"
  6. / {
  7. soc {
  8. prcmu@80157000 {
  9. ab8505 {
  10. phy {
  11. pinctrl-names = "default", "sleep";
  12. pinctrl-0 = <&usb_a_1_default>;
  13. pinctrl-1 = <&usb_a_1_sleep>;
  14. };
  15. regulator {
  16. ab8500_ldo_aux1_reg: ab8500_ldo_aux1 {
  17. regulator-name = "V-DISPLAY";
  18. };
  19. ab8500_ldo_aux2_reg: ab8500_ldo_aux2 {
  20. regulator-name = "V-eMMC1";
  21. };
  22. ab8500_ldo_aux3_reg: ab8500_ldo_aux3 {
  23. regulator-name = "V-MMC-SD";
  24. };
  25. ab8500_ldo_intcore_reg: ab8500_ldo_intcore {
  26. regulator-name = "V-INTCORE";
  27. };
  28. ab8500_ldo_tvout_reg: ab8500_ldo_tvout {
  29. regulator-name = "V-TVOUT";
  30. };
  31. ab8500_ldo_audio_reg: ab8500_ldo_audio {
  32. regulator-name = "V-AUD";
  33. };
  34. ab8500_ldo_anamic1_reg: ab8500_ldo_anamic1 {
  35. regulator-name = "V-AMIC1";
  36. };
  37. ab8500_ldo_anamic2_reg: ab8500_ldo_anamic2 {
  38. regulator-name = "V-AMIC2";
  39. };
  40. ab8500_ldo_dmic_reg: ab8500_ldo_dmic {
  41. regulator-name = "V-DMIC";
  42. };
  43. ab8500_ldo_ana_reg: ab8500_ldo_ana {
  44. regulator-name = "V-CSI/DSI";
  45. };
  46. };
  47. gpio {
  48. /* Hog a few default settings */
  49. pinctrl-names = "default";
  50. pinctrl-0 = <&gpio2_default_mode>,
  51. <&gpio4_default_mode>,
  52. <&gpio10_default_mode>,
  53. <&gpio11_default_mode>,
  54. <&gpio12_default_mode>,
  55. <&gpio13_default_mode>,
  56. <&gpio16_default_mode>,
  57. <&gpio24_default_mode>,
  58. <&gpio25_default_mode>,
  59. <&gpio36_default_mode>,
  60. <&gpio37_default_mode>,
  61. <&gpio38_default_mode>,
  62. <&gpio39_default_mode>,
  63. <&gpio42_default_mode>,
  64. <&gpio26_default_mode>,
  65. <&gpio35_default_mode>,
  66. <&ycbcr_default_mode>,
  67. <&pwm_default_mode>,
  68. <&adi1_default_mode>,
  69. <&usbuicc_default_mode>,
  70. <&dmic_default_mode>,
  71. <&extcpena_default_mode>,
  72. <&modsclsda_default_mode>;
  73. /*
  74. * Pins 2, 4, 10, 11, 12, 13, 16, 24, 25, 36, 37, 38, 39 and 42
  75. * are muxed in as GPIO, and configured as INPUT PULL DOWN
  76. */
  77. gpio2 {
  78. gpio2_default_mode: gpio2_default {
  79. default_mux {
  80. function = "gpio";
  81. groups = "gpio2_a_1";
  82. };
  83. default_cfg {
  84. pins = "GPIO2_T9";
  85. input-enable;
  86. bias-pull-down;
  87. };
  88. };
  89. };
  90. gpio4 {
  91. gpio4_default_mode: gpio4_default {
  92. default_mux {
  93. function = "gpio";
  94. groups = "gpio4_a_1";
  95. };
  96. default_cfg {
  97. pins = "GPIO4_W2";
  98. input-enable;
  99. bias-pull-down;
  100. };
  101. };
  102. };
  103. gpio10 {
  104. gpio10_default_mode: gpio10_default {
  105. default_mux {
  106. function = "gpio";
  107. groups = "gpio10_d_1";
  108. };
  109. default_cfg {
  110. pins = "GPIO10_U17";
  111. input-enable;
  112. bias-pull-down;
  113. };
  114. };
  115. };
  116. gpio11 {
  117. gpio11_default_mode: gpio11_default {
  118. default_mux {
  119. function = "gpio";
  120. groups = "gpio11_d_1";
  121. };
  122. default_cfg {
  123. pins = "GPIO11_AA18";
  124. input-enable;
  125. bias-pull-down;
  126. };
  127. };
  128. };
  129. gpio12 {
  130. gpio12_default_mode: gpio12_default {
  131. default_mux {
  132. function = "gpio";
  133. groups = "gpio12_d_1";
  134. };
  135. default_cfg {
  136. pins = "GPIO12_U16";
  137. input-enable;
  138. bias-pull-down;
  139. };
  140. };
  141. };
  142. gpio13 {
  143. gpio13_default_mode: gpio13_default {
  144. default_mux {
  145. function = "gpio";
  146. groups = "gpio13_d_1";
  147. };
  148. default_cfg {
  149. pins = "GPIO13_W17";
  150. input-enable;
  151. bias-pull-down;
  152. };
  153. };
  154. };
  155. gpio16 {
  156. gpio16_default_mode: gpio16_default {
  157. default_mux {
  158. function = "gpio";
  159. groups = "gpio16_a_1";
  160. };
  161. default_cfg {
  162. pins = "GPIO16_F15";
  163. input-enable;
  164. bias-pull-down;
  165. };
  166. };
  167. };
  168. gpio24 {
  169. gpio24_default_mode: gpio24_default {
  170. default_mux {
  171. function = "gpio";
  172. groups = "gpio24_a_1";
  173. };
  174. default_cfg {
  175. pins = "GPIO24_T14";
  176. input-enable;
  177. bias-pull-down;
  178. };
  179. };
  180. };
  181. gpio25 {
  182. gpio25_default_mode: gpio25_default {
  183. default_mux {
  184. function = "gpio";
  185. groups = "gpio25_a_1";
  186. };
  187. default_cfg {
  188. pins = "GPIO25_R16";
  189. input-enable;
  190. bias-pull-down;
  191. };
  192. };
  193. };
  194. gpio36 {
  195. gpio36_default_mode: gpio36_default {
  196. default_mux {
  197. function = "gpio";
  198. groups = "gpio36_a_1";
  199. };
  200. default_cfg {
  201. pins = "GPIO36_A17";
  202. input-enable;
  203. bias-pull-down;
  204. };
  205. };
  206. };
  207. gpio37 {
  208. gpio37_default_mode: gpio37_default {
  209. default_mux {
  210. function = "gpio";
  211. groups = "gpio37_a_1";
  212. };
  213. default_cfg {
  214. pins = "GPIO37_E15";
  215. input-enable;
  216. bias-pull-down;
  217. };
  218. };
  219. };
  220. gpio38 {
  221. gpio38_default_mode: gpio38_default {
  222. default_mux {
  223. function = "gpio";
  224. groups = "gpio38_a_1";
  225. };
  226. default_cfg {
  227. pins = "GPIO38_C17";
  228. input-enable;
  229. bias-pull-down;
  230. };
  231. };
  232. };
  233. gpio39 {
  234. gpio39_default_mode: gpio39_default {
  235. default_mux {
  236. function = "gpio";
  237. groups = "gpio39_a_1";
  238. };
  239. default_cfg {
  240. pins = "GPIO39_E16";
  241. input-enable;
  242. bias-pull-down;
  243. };
  244. };
  245. };
  246. gpio42 {
  247. gpio42_default_mode: gpio42_default {
  248. default_mux {
  249. function = "gpio";
  250. groups = "gpio42_a_1";
  251. };
  252. default_cfg {
  253. pins = "GPIO42_U2";
  254. input-enable;
  255. bias-pull-down;
  256. };
  257. };
  258. };
  259. /*
  260. * Pins 26 and 35 muxed in as GPIO, and configured as OUTPUT LOW
  261. */
  262. gpio26 {
  263. gpio26_default_mode: gpio26_default {
  264. default_mux {
  265. function = "gpio";
  266. groups = "gpio26_d_1";
  267. };
  268. default_cfg {
  269. pins = "GPIO26_M16";
  270. output-low;
  271. };
  272. };
  273. };
  274. gpio35 {
  275. gpio35_default_mode: gpio35_default {
  276. default_mux {
  277. function = "gpio";
  278. groups = "gpio35_d_1";
  279. };
  280. default_cfg {
  281. pins = "GPIO35_W15";
  282. output-low;
  283. };
  284. };
  285. };
  286. /*
  287. * This sets up the YCBCR connector pins, i.e. analog video out.
  288. * Set as input with no bias.
  289. */
  290. ycbcr {
  291. ycbcr_default_mode: ycbcr_default {
  292. default_mux {
  293. function = "ycbcr";
  294. groups = "ycbcr0123_d_1";
  295. };
  296. default_cfg {
  297. pins = "GPIO6_Y18",
  298. "GPIO7_AA20",
  299. "GPIO8_W18",
  300. "GPIO9_AA19";
  301. input-enable;
  302. bias-disable;
  303. };
  304. };
  305. };
  306. /* This sets up the PWM pins 14 and 15 */
  307. pwm {
  308. pwm_default_mode: pwm_default {
  309. default_mux {
  310. function = "pwmout";
  311. groups = "pwmout1_d_1", "pwmout2_d_1";
  312. };
  313. default_cfg {
  314. pins = "GPIO14_F14",
  315. "GPIO15_B17";
  316. input-enable;
  317. bias-pull-down;
  318. };
  319. };
  320. };
  321. /* This sets up audio interface 1 */
  322. adi1 {
  323. adi1_default_mode: adi1_default {
  324. default_mux {
  325. function = "adi1";
  326. groups = "adi1_d_1";
  327. };
  328. default_cfg {
  329. pins = "GPIO17_P5",
  330. "GPIO18_R5",
  331. "GPIO19_U5",
  332. "GPIO20_T5";
  333. input-enable;
  334. bias-pull-down;
  335. };
  336. };
  337. };
  338. /* This sets up the USB UICC pins */
  339. usbuicc {
  340. usbuicc_default_mode: usbuicc_default {
  341. default_mux {
  342. function = "usbuicc";
  343. groups = "usbuicc_d_1";
  344. };
  345. default_cfg {
  346. pins = "GPIO21_H19",
  347. "GPIO22_G20",
  348. "GPIO23_G19";
  349. input-enable;
  350. bias-pull-down;
  351. };
  352. };
  353. };
  354. /* This sets up the microphone pins */
  355. dmic {
  356. dmic_default_mode: dmic_default {
  357. default_mux {
  358. function = "dmic";
  359. groups = "dmic12_d_1",
  360. "dmic34_d_1",
  361. "dmic56_d_1";
  362. };
  363. default_cfg {
  364. pins = "GPIO27_J6",
  365. "GPIO28_K6",
  366. "GPIO29_G6",
  367. "GPIO30_H6",
  368. "GPIO31_F5",
  369. "GPIO32_G5";
  370. input-enable;
  371. bias-pull-down;
  372. };
  373. };
  374. };
  375. extcpena {
  376. extcpena_default_mode: extcpena_default {
  377. default_mux {
  378. function = "extcpena";
  379. groups = "extcpena_d_1";
  380. };
  381. default_cfg {
  382. pins = "GPIO34_R17";
  383. input-enable;
  384. bias-pull-down;
  385. };
  386. };
  387. };
  388. /* Modem I2C setup (SCL and SDA pins) */
  389. modsclsda {
  390. modsclsda_default_mode: modsclsda_default {
  391. default_mux {
  392. function = "modsclsda";
  393. groups = "modsclsda_d_1";
  394. };
  395. default_cfg {
  396. pins = "GPIO40_T19",
  397. "GPIO41_U19";
  398. input-enable;
  399. bias-pull-down;
  400. };
  401. };
  402. };
  403. /*
  404. * Clock output pins associated with regulators.
  405. */
  406. sysclkreq2 {
  407. sysclkreq2_default_mode: sysclkreq2_default {
  408. default_mux {
  409. function = "sysclkreq";
  410. groups = "sysclkreq2_d_1";
  411. };
  412. default_cfg {
  413. pins = "GPIO1_T10";
  414. input-enable;
  415. bias-disable;
  416. };
  417. };
  418. sysclkreq2_sleep_mode: sysclkreq2_sleep {
  419. default_mux {
  420. function = "gpio";
  421. groups = "gpio1_a_1";
  422. };
  423. default_cfg {
  424. pins = "GPIO1_T10";
  425. input-enable;
  426. bias-pull-down;
  427. };
  428. };
  429. };
  430. sysclkreq4 {
  431. sysclkreq4_default_mode: sysclkreq4_default {
  432. default_mux {
  433. function = "sysclkreq";
  434. groups = "sysclkreq4_d_1";
  435. };
  436. default_cfg {
  437. pins = "GPIO3_U9";
  438. input-enable;
  439. bias-disable;
  440. };
  441. };
  442. sysclkreq4_sleep_mode: sysclkreq4_sleep {
  443. default_mux {
  444. function = "gpio";
  445. groups = "gpio3_a_1";
  446. };
  447. default_cfg {
  448. pins = "GPIO3_U9";
  449. input-enable;
  450. bias-pull-down;
  451. };
  452. };
  453. };
  454. };
  455. /*
  456. * Charging is not working on the HREF unless an actual battery is
  457. * mounted, most HREFs have a DC cable in to the "battery power"
  458. * which means this will only be cofusing. So do not enable charging
  459. * of the HREFs.
  460. */
  461. ab8500_fg {
  462. status = "disabled";
  463. };
  464. ab8500_btemp {
  465. status = "disabled";
  466. };
  467. ab8500_charger {
  468. status = "disabled";
  469. };
  470. ab8500_chargalg {
  471. status = "disabled";
  472. };
  473. };
  474. };
  475. };
  476. };