hikey970-pinctrl.dtsi 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969
  1. // SPDX-License-Identifier: GPL-2.0
  2. /*
  3. * Pinctrl dts file for HiSilicon HiKey970 development board
  4. */
  5. #include <dt-bindings/pinctrl/hisi.h>
  6. / {
  7. soc {
  8. range: gpio-range {
  9. #pinctrl-single,gpio-range-cells = <3>;
  10. };
  11. pmx0: pinmux@e896c000 {
  12. compatible = "pinctrl-single";
  13. reg = <0x0 0xe896c000 0x0 0x72c>;
  14. #pinctrl-cells = <1>;
  15. #gpio-range-cells = <0x3>;
  16. pinctrl-single,register-width = <0x20>;
  17. pinctrl-single,function-mask = <0x7>;
  18. /* pin base, nr pins & gpio function */
  19. pinctrl-single,gpio-range = <&range 0 82 0>;
  20. uart0_pmx_func: uart0_pmx_func {
  21. pinctrl-single,pins = <
  22. 0x054 MUX_M2 /* UART0_RXD */
  23. 0x058 MUX_M2 /* UART0_TXD */
  24. >;
  25. };
  26. uart2_pmx_func: uart2_pmx_func {
  27. pinctrl-single,pins = <
  28. 0x700 MUX_M2 /* UART2_CTS_N */
  29. 0x704 MUX_M2 /* UART2_RTS_N */
  30. 0x708 MUX_M2 /* UART2_RXD */
  31. 0x70c MUX_M2 /* UART2_TXD */
  32. >;
  33. };
  34. uart3_pmx_func: uart3_pmx_func {
  35. pinctrl-single,pins = <
  36. 0x064 MUX_M1 /* UART3_CTS_N */
  37. 0x068 MUX_M1 /* UART3_RTS_N */
  38. 0x06c MUX_M1 /* UART3_RXD */
  39. 0x070 MUX_M1 /* UART3_TXD */
  40. >;
  41. };
  42. uart4_pmx_func: uart4_pmx_func {
  43. pinctrl-single,pins = <
  44. 0x074 MUX_M1 /* UART4_CTS_N */
  45. 0x078 MUX_M1 /* UART4_RTS_N */
  46. 0x07c MUX_M1 /* UART4_RXD */
  47. 0x080 MUX_M1 /* UART4_TXD */
  48. >;
  49. };
  50. uart6_pmx_func: uart6_pmx_func {
  51. pinctrl-single,pins = <
  52. 0x05c MUX_M1 /* UART6_RXD */
  53. 0x060 MUX_M1 /* UART6_TXD */
  54. >;
  55. };
  56. i2c3_pmx_func: i2c3_pmx_func {
  57. pinctrl-single,pins = <
  58. 0x010 MUX_M1 /* I2C3_SCL */
  59. 0x014 MUX_M1 /* I2C3_SDA */
  60. >;
  61. };
  62. i2c4_pmx_func: i2c4_pmx_func {
  63. pinctrl-single,pins = <
  64. 0x03c MUX_M1 /* I2C4_SCL */
  65. 0x040 MUX_M1 /* I2C4_SDA */
  66. >;
  67. };
  68. cam0_rst_pmx_func: cam0_rst_pmx_func {
  69. pinctrl-single,pins = <
  70. 0x714 MUX_M0 /* CAM0_RST */
  71. >;
  72. };
  73. cam1_rst_pmx_func: cam1_rst_pmx_func {
  74. pinctrl-single,pins = <
  75. 0x048 MUX_M0 /* CAM1_RST */
  76. >;
  77. };
  78. cam0_pwd_n_pmx_func: cam0_pwd_n_pmx_func {
  79. pinctrl-single,pins = <
  80. 0x098 MUX_M0 /* CAM0_PWD_N */
  81. >;
  82. };
  83. cam1_pwd_n_pmx_func: cam1_pwd_n_pmx_func {
  84. pinctrl-single,pins = <
  85. 0x044 MUX_M0 /* CAM1_PWD_N */
  86. >;
  87. };
  88. isp0_pmx_func: isp0_pmx_func {
  89. pinctrl-single,pins = <
  90. 0x018 MUX_M1 /* ISP_CLK0 */
  91. 0x024 MUX_M1 /* ISP_SCL0 */
  92. 0x028 MUX_M1 /* ISP_SDA0 */
  93. >;
  94. };
  95. isp1_pmx_func: isp1_pmx_func {
  96. pinctrl-single,pins = <
  97. 0x01c MUX_M1 /* ISP_CLK1 */
  98. 0x02c MUX_M1 /* ISP_SCL1 */
  99. 0x030 MUX_M1 /* ISP_SDA1 */
  100. >;
  101. };
  102. };
  103. pmx1: pinmux@fff11000 {
  104. compatible = "pinctrl-single";
  105. reg = <0x0 0xfff11000 0x0 0x73c>;
  106. #gpio-range-cells = <0x3>;
  107. #pinctrl-cells = <1>;
  108. pinctrl-single,register-width = <0x20>;
  109. pinctrl-single,function-mask = <0x7>;
  110. /* pin base, nr pins & gpio function */
  111. pinctrl-single,gpio-range = <&range 0 46 0>;
  112. pwr_key_pmx_func: pwr_key_pmx_func {
  113. pinctrl-single,pins = <
  114. 0x064 MUX_M0 /* GPIO_203 */
  115. >;
  116. };
  117. pd_pmx_func: pd_pmx_func{
  118. pinctrl-single,pins = <
  119. 0x080 MUX_M0 /* GPIO_221 */
  120. >;
  121. };
  122. i2s2_pmx_func: i2s2_pmx_func {
  123. pinctrl-single,pins = <
  124. 0x050 MUX_M1 /* I2S2_DI */
  125. 0x054 MUX_M1 /* I2S2_DO */
  126. 0x058 MUX_M1 /* I2S2_XCLK */
  127. 0x05c MUX_M1 /* I2S2_XFS */
  128. >;
  129. };
  130. spi0_pmx_func: spi0_pmx_func {
  131. pinctrl-single,pins = <
  132. 0x094 MUX_M1 /* SPI0_CLK */
  133. 0x098 MUX_M1 /* SPI0_DI */
  134. 0x09c MUX_M1 /* SPI0_DO */
  135. 0x0a0 MUX_M1 /* SPI0_CS0_N */
  136. >;
  137. };
  138. spi2_pmx_func: spi2_pmx_func {
  139. pinctrl-single,pins = <
  140. 0x710 MUX_M1 /* SPI2_CLK */
  141. 0x714 MUX_M1 /* SPI2_DI */
  142. 0x718 MUX_M1 /* SPI2_DO */
  143. 0x71c MUX_M1 /* SPI2_CS0_N */
  144. >;
  145. };
  146. spi3_pmx_func: spi3_pmx_func {
  147. pinctrl-single,pins = <
  148. 0x72c MUX_M1 /* SPI3_CLK */
  149. 0x730 MUX_M1 /* SPI3_DI */
  150. 0x734 MUX_M1 /* SPI3_DO */
  151. 0x738 MUX_M1 /* SPI3_CS0_N */
  152. >;
  153. };
  154. i2c0_pmx_func: i2c0_pmx_func {
  155. pinctrl-single,pins = <
  156. 0x020 MUX_M1 /* I2C0_SCL */
  157. 0x024 MUX_M1 /* I2C0_SDA */
  158. >;
  159. };
  160. i2c1_pmx_func: i2c1_pmx_func {
  161. pinctrl-single,pins = <
  162. 0x028 MUX_M1 /* I2C1_SCL */
  163. 0x02c MUX_M1 /* I2C1_SDA */
  164. >;
  165. };
  166. i2c2_pmx_func: i2c2_pmx_func {
  167. pinctrl-single,pins = <
  168. 0x030 MUX_M1 /* I2C2_SCL */
  169. 0x034 MUX_M1 /* I2C2_SDA */
  170. >;
  171. };
  172. pcie_clkreq_pmx_func: pcie_clkreq_pmx_func {
  173. pinctrl-single,pins = <
  174. 0x084 MUX_M1 /* PCIE0_CLKREQ_N */
  175. >;
  176. };
  177. gpio185_pmx_func: gpio185_pmx_func {
  178. pinctrl-single,pins = <0x01C 0x1>;
  179. };
  180. gpio185_pmx_idle: gpio185_pmx_idle {
  181. pinctrl-single,pins = <0x01C 0x0>;
  182. };
  183. };
  184. pmx2: pinmux@e896c800 {
  185. compatible = "pinconf-single";
  186. reg = <0x0 0xe896c800 0x0 0x72c>;
  187. #pinctrl-cells = <1>;
  188. pinctrl-single,register-width = <0x20>;
  189. uart0_cfg_func: uart0_cfg_func {
  190. pinctrl-single,pins = <
  191. 0x058 0x0 /* UART0_RXD */
  192. 0x05c 0x0 /* UART0_TXD */
  193. >;
  194. pinctrl-single,bias-pulldown = <
  195. PULL_DIS
  196. PULL_DOWN
  197. PULL_DIS
  198. PULL_DOWN
  199. >;
  200. pinctrl-single,bias-pullup = <
  201. PULL_DIS
  202. PULL_UP
  203. PULL_DIS
  204. PULL_UP
  205. >;
  206. pinctrl-single,drive-strength = <
  207. DRIVE7_04MA DRIVE6_MASK
  208. >;
  209. };
  210. uart2_cfg_func: uart2_cfg_func {
  211. pinctrl-single,pins = <
  212. 0x700 0x0 /* UART2_CTS_N */
  213. 0x704 0x0 /* UART2_RTS_N */
  214. 0x708 0x0 /* UART2_RXD */
  215. 0x70c 0x0 /* UART2_TXD */
  216. >;
  217. pinctrl-single,bias-pulldown = <
  218. PULL_DIS
  219. PULL_DOWN
  220. PULL_DIS
  221. PULL_DOWN
  222. >;
  223. pinctrl-single,bias-pullup = <
  224. PULL_DIS
  225. PULL_UP
  226. PULL_DIS
  227. PULL_UP
  228. >;
  229. pinctrl-single,drive-strength = <
  230. DRIVE7_04MA DRIVE6_MASK
  231. >;
  232. };
  233. uart3_cfg_func: uart3_cfg_func {
  234. pinctrl-single,pins = <
  235. 0x068 0x0 /* UART3_CTS_N */
  236. 0x06c 0x0 /* UART3_RTS_N */
  237. 0x070 0x0 /* UART3_RXD */
  238. 0x074 0x0 /* UART3_TXD */
  239. >;
  240. pinctrl-single,bias-pulldown = <
  241. PULL_DIS
  242. PULL_DOWN
  243. PULL_DIS
  244. PULL_DOWN
  245. >;
  246. pinctrl-single,bias-pullup = <
  247. PULL_DIS
  248. PULL_UP
  249. PULL_DIS
  250. PULL_UP
  251. >;
  252. pinctrl-single,drive-strength = <
  253. DRIVE7_04MA DRIVE6_MASK
  254. >;
  255. };
  256. uart4_cfg_func: uart4_cfg_func {
  257. pinctrl-single,pins = <
  258. 0x078 0x0 /* UART4_CTS_N */
  259. 0x07c 0x0 /* UART4_RTS_N */
  260. 0x080 0x0 /* UART4_RXD */
  261. 0x084 0x0 /* UART4_TXD */
  262. >;
  263. pinctrl-single,bias-pulldown = <
  264. PULL_DIS
  265. PULL_DOWN
  266. PULL_DIS
  267. PULL_DOWN
  268. >;
  269. pinctrl-single,bias-pullup = <
  270. PULL_DIS
  271. PULL_UP
  272. PULL_DIS
  273. PULL_UP
  274. >;
  275. pinctrl-single,drive-strength = <
  276. DRIVE7_04MA DRIVE6_MASK
  277. >;
  278. };
  279. uart6_cfg_func: uart6_cfg_func {
  280. pinctrl-single,pins = <
  281. 0x060 0x0 /* UART6_RXD */
  282. 0x064 0x0 /* UART6_TXD */
  283. >;
  284. pinctrl-single,bias-pulldown = <
  285. PULL_DIS
  286. PULL_DOWN
  287. PULL_DIS
  288. PULL_DOWN
  289. >;
  290. pinctrl-single,bias-pullup = <
  291. PULL_DIS
  292. PULL_UP
  293. PULL_DIS
  294. PULL_UP
  295. >;
  296. pinctrl-single,drive-strength = <
  297. DRIVE7_02MA DRIVE6_MASK
  298. >;
  299. };
  300. i2c3_cfg_func: i2c3_cfg_func {
  301. pinctrl-single,pins = <
  302. 0x014 0x0 /* I2C3_SCL */
  303. 0x018 0x0 /* I2C3_SDA */
  304. >;
  305. pinctrl-single,bias-pulldown = <
  306. PULL_DIS
  307. PULL_DOWN
  308. PULL_DIS
  309. PULL_DOWN
  310. >;
  311. pinctrl-single,bias-pullup = <
  312. PULL_DIS
  313. PULL_UP
  314. PULL_DIS
  315. PULL_UP
  316. >;
  317. pinctrl-single,drive-strength = <
  318. DRIVE7_04MA DRIVE6_MASK
  319. >;
  320. };
  321. i2c4_cfg_func: i2c4_cfg_func {
  322. pinctrl-single,pins = <
  323. 0x040 0x0 /* I2C4_SCL */
  324. 0x044 0x0 /* I2C4_SDA */
  325. >;
  326. pinctrl-single,bias-pulldown = <
  327. PULL_DIS
  328. PULL_DOWN
  329. PULL_DIS
  330. PULL_DOWN
  331. >;
  332. pinctrl-single,bias-pullup = <
  333. PULL_DIS
  334. PULL_UP
  335. PULL_DIS
  336. PULL_UP
  337. >;
  338. pinctrl-single,drive-strength = <
  339. DRIVE7_04MA DRIVE6_MASK
  340. >;
  341. };
  342. cam0_rst_cfg_func: cam0_rst_cfg_func {
  343. pinctrl-single,pins = <
  344. 0x714 0x0 /* CAM0_RST */
  345. >;
  346. pinctrl-single,bias-pulldown = <
  347. PULL_DIS
  348. PULL_DOWN
  349. PULL_DIS
  350. PULL_DOWN
  351. >;
  352. pinctrl-single,bias-pullup = <
  353. PULL_DIS
  354. PULL_UP
  355. PULL_DIS
  356. PULL_UP
  357. >;
  358. pinctrl-single,drive-strength = <
  359. DRIVE7_04MA DRIVE6_MASK
  360. >;
  361. };
  362. cam1_rst_cfg_func: cam1_rst_cfg_func {
  363. pinctrl-single,pins = <
  364. 0x04C 0x0 /* CAM1_RST */
  365. >;
  366. pinctrl-single,bias-pulldown = <
  367. PULL_DIS
  368. PULL_DOWN
  369. PULL_DIS
  370. PULL_DOWN
  371. >;
  372. pinctrl-single,bias-pullup = <
  373. PULL_DIS
  374. PULL_UP
  375. PULL_DIS
  376. PULL_UP
  377. >;
  378. pinctrl-single,drive-strength = <
  379. DRIVE7_04MA DRIVE6_MASK
  380. >;
  381. };
  382. cam0_pwd_n_cfg_func: cam0_pwd_n_cfg_func {
  383. pinctrl-single,pins = <
  384. 0x09C 0x0 /* CAM0_PWD_N */
  385. >;
  386. pinctrl-single,bias-pulldown = <
  387. PULL_DIS
  388. PULL_DOWN
  389. PULL_DIS
  390. PULL_DOWN
  391. >;
  392. pinctrl-single,bias-pullup = <
  393. PULL_DIS
  394. PULL_UP
  395. PULL_DIS
  396. PULL_UP
  397. >;
  398. pinctrl-single,drive-strength = <
  399. DRIVE7_04MA DRIVE6_MASK
  400. >;
  401. };
  402. cam1_pwd_n_cfg_func: cam1_pwd_n_cfg_func {
  403. pinctrl-single,pins = <
  404. 0x048 0x0 /* CAM1_PWD_N */
  405. >;
  406. pinctrl-single,bias-pulldown = <
  407. PULL_DIS
  408. PULL_DOWN
  409. PULL_DIS
  410. PULL_DOWN
  411. >;
  412. pinctrl-single,bias-pullup = <
  413. PULL_DIS
  414. PULL_UP
  415. PULL_DIS
  416. PULL_UP
  417. >;
  418. pinctrl-single,drive-strength = <
  419. DRIVE7_04MA DRIVE6_MASK
  420. >;
  421. };
  422. isp0_cfg_func: isp0_cfg_func {
  423. pinctrl-single,pins = <
  424. 0x01C 0x0 /* ISP_CLK0 */
  425. 0x028 0x0 /* ISP_SCL0 */
  426. 0x02C 0x0 /* ISP_SDA0 */
  427. >;
  428. pinctrl-single,bias-pulldown = <
  429. PULL_DIS
  430. PULL_DOWN
  431. PULL_DIS
  432. PULL_DOWN
  433. >;
  434. pinctrl-single,bias-pullup = <
  435. PULL_DIS
  436. PULL_UP
  437. PULL_DIS
  438. PULL_UP
  439. >;
  440. pinctrl-single,drive-strength = <
  441. DRIVE7_04MA DRIVE6_MASK
  442. >;
  443. };
  444. isp1_cfg_func: isp1_cfg_func {
  445. pinctrl-single,pins = <
  446. 0x020 0x0 /* ISP_CLK1 */
  447. 0x030 0x0 /* ISP_SCL1 */
  448. 0x034 0x0 /* ISP_SDA1 */
  449. >;
  450. pinctrl-single,bias-pulldown = <
  451. PULL_DIS
  452. PULL_DOWN
  453. PULL_DIS
  454. PULL_DOWN
  455. >;
  456. pinctrl-single,bias-pullup = <
  457. PULL_DIS
  458. PULL_UP
  459. PULL_DIS
  460. PULL_UP
  461. >;
  462. pinctrl-single,drive-strength = <
  463. DRIVE7_04MA DRIVE6_MASK
  464. >;
  465. };
  466. };
  467. pmx5: pinmux@fc182000 {
  468. compatible = "pinctrl-single";
  469. reg = <0x0 0xfc182000 0x0 0x028>;
  470. #gpio-range-cells = <3>;
  471. #pinctrl-cells = <1>;
  472. pinctrl-single,register-width = <0x20>;
  473. pinctrl-single,function-mask = <0x7>;
  474. /* pin base, nr pins & gpio function */
  475. pinctrl-single,gpio-range = <&range 0 10 0>;
  476. sdio_pmx_func: sdio_pmx_func {
  477. pinctrl-single,pins = <
  478. 0x000 MUX_M1 /* SDIO_CLK */
  479. 0x004 MUX_M1 /* SDIO_CMD */
  480. 0x008 MUX_M1 /* SDIO_DATA0 */
  481. 0x00c MUX_M1 /* SDIO_DATA1 */
  482. 0x010 MUX_M1 /* SDIO_DATA2 */
  483. 0x014 MUX_M1 /* SDIO_DATA3 */
  484. >;
  485. };
  486. };
  487. pmx6: pinmux@fc182800 {
  488. compatible = "pinconf-single";
  489. reg = <0x0 0xfc182800 0x0 0x028>;
  490. #pinctrl-cells = <1>;
  491. pinctrl-single,register-width = <0x20>;
  492. sdio_clk_cfg_func: sdio_clk_cfg_func {
  493. pinctrl-single,pins = <
  494. 0x000 0x0 /* SDIO_CLK */
  495. >;
  496. pinctrl-single,bias-pulldown = <
  497. PULL_DIS
  498. PULL_DOWN
  499. PULL_DIS
  500. PULL_DOWN
  501. >;
  502. pinctrl-single,bias-pullup = <
  503. PULL_DIS
  504. PULL_UP
  505. PULL_DIS
  506. PULL_UP
  507. >;
  508. pinctrl-single,drive-strength = <
  509. DRIVE6_32MA DRIVE6_MASK
  510. >;
  511. };
  512. sdio_cfg_func: sdio_cfg_func {
  513. pinctrl-single,pins = <
  514. 0x004 0x0 /* SDIO_CMD */
  515. 0x008 0x0 /* SDIO_DATA0 */
  516. 0x00c 0x0 /* SDIO_DATA1 */
  517. 0x010 0x0 /* SDIO_DATA2 */
  518. 0x014 0x0 /* SDIO_DATA3 */
  519. >;
  520. pinctrl-single,bias-pulldown = <
  521. PULL_DIS
  522. PULL_DOWN
  523. PULL_DIS
  524. PULL_DOWN
  525. >;
  526. pinctrl-single,bias-pullup = <
  527. PULL_UP
  528. PULL_UP
  529. PULL_DIS
  530. PULL_UP
  531. >;
  532. pinctrl-single,drive-strength = <
  533. DRIVE6_19MA DRIVE6_MASK
  534. >;
  535. };
  536. };
  537. pmx7: pinmux@ff37e000 {
  538. compatible = "pinctrl-single";
  539. reg = <0x0 0xff37e000 0x0 0x030>;
  540. #gpio-range-cells = <3>;
  541. #pinctrl-cells = <1>;
  542. pinctrl-single,register-width = <0x20>;
  543. pinctrl-single,function-mask = <7>;
  544. /* pin base, nr pins & gpio function */
  545. pinctrl-single,gpio-range = <&range 0 12 0>;
  546. sd_pmx_func: sd_pmx_func {
  547. pinctrl-single,pins = <
  548. 0x000 MUX_M1 /* SD_CLK */
  549. 0x004 MUX_M1 /* SD_CMD */
  550. 0x008 MUX_M1 /* SD_DATA0 */
  551. 0x00c MUX_M1 /* SD_DATA1 */
  552. 0x010 MUX_M1 /* SD_DATA2 */
  553. 0x014 MUX_M1 /* SD_DATA3 */
  554. >;
  555. };
  556. };
  557. pmx8: pinmux@ff37e800 {
  558. compatible = "pinconf-single";
  559. reg = <0x0 0xff37e800 0x0 0x030>;
  560. #pinctrl-cells = <1>;
  561. pinctrl-single,register-width = <0x20>;
  562. sd_clk_cfg_func: sd_clk_cfg_func {
  563. pinctrl-single,pins = <
  564. 0x000 0x0 /* SD_CLK */
  565. >;
  566. pinctrl-single,bias-pulldown = <
  567. PULL_DIS
  568. PULL_DOWN
  569. PULL_DIS
  570. PULL_DOWN
  571. >;
  572. pinctrl-single,bias-pullup = <
  573. PULL_DIS
  574. PULL_UP
  575. PULL_DIS
  576. PULL_UP
  577. >;
  578. pinctrl-single,drive-strength = <
  579. DRIVE6_32MA
  580. DRIVE6_MASK
  581. >;
  582. };
  583. sd_cfg_func: sd_cfg_func {
  584. pinctrl-single,pins = <
  585. 0x004 0x0 /* SD_CMD */
  586. 0x008 0x0 /* SD_DATA0 */
  587. 0x00c 0x0 /* SD_DATA1 */
  588. 0x010 0x0 /* SD_DATA2 */
  589. 0x014 0x0 /* SD_DATA3 */
  590. >;
  591. pinctrl-single,bias-pulldown = <
  592. PULL_DIS
  593. PULL_DOWN
  594. PULL_DIS
  595. PULL_DOWN
  596. >;
  597. pinctrl-single,bias-pullup = <
  598. PULL_UP
  599. PULL_UP
  600. PULL_DIS
  601. PULL_UP
  602. >;
  603. pinctrl-single,drive-strength = <
  604. DRIVE6_19MA
  605. DRIVE6_MASK
  606. >;
  607. };
  608. };
  609. pmx16: pinmux@fff11800 {
  610. compatible = "pinconf-single";
  611. reg = <0x0 0xfff11800 0x0 0x73c>;
  612. #pinctrl-cells = <1>;
  613. pinctrl-single,register-width = <0x20>;
  614. pwr_key_cfg_func: pwr_key_cfg_func {
  615. pinctrl-single,pins = <
  616. 0x090 0x0 /* GPIO_203 */
  617. >;
  618. pinctrl-single,bias-pulldown = <
  619. PULL_DIS
  620. PULL_DOWN
  621. PULL_DIS
  622. PULL_DOWN
  623. >;
  624. pinctrl-single,bias-pullup = <
  625. PULL_UP
  626. PULL_UP
  627. PULL_DIS
  628. PULL_UP
  629. >;
  630. pinctrl-single,drive-strength = <
  631. DRIVE7_02MA DRIVE6_MASK
  632. >;
  633. };
  634. usb_cfg_func: usb_cfg_func {
  635. pinctrl-single,pins = <
  636. 0x0AC 0x0 /* GPIO_221 */
  637. >;
  638. pinctrl-single,bias-pulldown = <
  639. PULL_DIS
  640. PULL_DOWN
  641. PULL_DIS
  642. PULL_DOWN
  643. >;
  644. pinctrl-single,bias-pullup = <
  645. PULL_UP
  646. PULL_UP
  647. PULL_DIS
  648. PULL_UP
  649. >;
  650. pinctrl-single,drive-strength = <
  651. DRIVE7_02MA DRIVE6_MASK
  652. >;
  653. };
  654. spi0_cfg_func: spi0_cfg_func {
  655. pinctrl-single,pins = <
  656. 0x0c8 0x0 /* SPI0_DI */
  657. 0x0cc 0x0 /* SPI0_DO */
  658. 0x0d0 0x0 /* SPI0_CS0_N */
  659. >;
  660. pinctrl-single,bias-pulldown = <
  661. PULL_DIS
  662. PULL_DOWN
  663. PULL_DIS
  664. PULL_DOWN
  665. >;
  666. pinctrl-single,bias-pullup = <
  667. PULL_DIS
  668. PULL_UP
  669. PULL_DIS
  670. PULL_UP
  671. >;
  672. pinctrl-single,drive-strength = <
  673. DRIVE7_06MA DRIVE6_MASK
  674. >;
  675. };
  676. spi2_cfg_func: spi2_cfg_func {
  677. pinctrl-single,pins = <
  678. 0x714 0x0 /* SPI2_DI */
  679. 0x718 0x0 /* SPI2_DO */
  680. 0x71c 0x0 /* SPI2_CS0_N */
  681. >;
  682. pinctrl-single,bias-pulldown = <
  683. PULL_DIS
  684. PULL_DOWN
  685. PULL_DIS
  686. PULL_DOWN
  687. >;
  688. pinctrl-single,bias-pullup = <
  689. PULL_DIS
  690. PULL_UP
  691. PULL_DIS
  692. PULL_UP
  693. >;
  694. pinctrl-single,drive-strength = <
  695. DRIVE7_06MA DRIVE6_MASK
  696. >;
  697. };
  698. spi3_cfg_func: spi3_cfg_func {
  699. pinctrl-single,pins = <
  700. 0x730 0x0 /* SPI3_DI */
  701. 0x734 0x0 /* SPI3_DO */
  702. 0x738 0x0 /* SPI3_CS0_N */
  703. >;
  704. pinctrl-single,bias-pulldown = <
  705. PULL_DIS
  706. PULL_DOWN
  707. PULL_DIS
  708. PULL_DOWN
  709. >;
  710. pinctrl-single,bias-pullup = <
  711. PULL_DIS
  712. PULL_UP
  713. PULL_DIS
  714. PULL_UP
  715. >;
  716. pinctrl-single,drive-strength = <
  717. DRIVE7_06MA DRIVE6_MASK
  718. >;
  719. };
  720. spi0_clk_cfg_func: spi0_clk_cfg_func {
  721. pinctrl-single,pins = <
  722. 0x0c4 0x0 /* SPI0_CLK */
  723. >;
  724. pinctrl-single,bias-pulldown = <
  725. PULL_DIS
  726. PULL_DOWN
  727. PULL_DIS
  728. PULL_DOWN
  729. >;
  730. pinctrl-single,bias-pullup = <
  731. PULL_DIS
  732. PULL_UP
  733. PULL_DIS
  734. PULL_UP
  735. >;
  736. pinctrl-single,drive-strength = <
  737. DRIVE7_10MA DRIVE6_MASK
  738. >;
  739. };
  740. spi2_clk_cfg_func: spi2_clk_cfg_func {
  741. pinctrl-single,pins = <
  742. 0x710 0x0 /* SPI2_CLK */
  743. >;
  744. pinctrl-single,bias-pulldown = <
  745. PULL_DIS
  746. PULL_DOWN
  747. PULL_DIS
  748. PULL_DOWN
  749. >;
  750. pinctrl-single,bias-pullup = <
  751. PULL_DIS
  752. PULL_UP
  753. PULL_DIS
  754. PULL_UP
  755. >;
  756. pinctrl-single,drive-strength = <
  757. DRIVE7_10MA DRIVE6_MASK
  758. >;
  759. };
  760. spi3_clk_cfg_func: spi3_clk_cfg_func {
  761. pinctrl-single,pins = <
  762. 0x72c 0x0 /* SPI3_CLK */
  763. >;
  764. pinctrl-single,bias-pulldown = <
  765. PULL_DIS
  766. PULL_DOWN
  767. PULL_DIS
  768. PULL_DOWN
  769. >;
  770. pinctrl-single,bias-pullup = <
  771. PULL_DIS
  772. PULL_UP
  773. PULL_DIS
  774. PULL_UP
  775. >;
  776. pinctrl-single,drive-strength = <
  777. DRIVE7_10MA DRIVE6_MASK
  778. >;
  779. };
  780. i2c0_cfg_func: i2c0_cfg_func {
  781. pinctrl-single,pins = <
  782. 0x04c 0x0 /* I2C0_SCL */
  783. 0x050 0x0 /* I2C0_SDA */
  784. >;
  785. pinctrl-single,bias-pulldown = <
  786. PULL_DIS
  787. PULL_DOWN
  788. PULL_DIS
  789. PULL_DOWN
  790. >;
  791. pinctrl-single,bias-pullup = <
  792. PULL_DIS
  793. PULL_UP
  794. PULL_DIS
  795. PULL_UP
  796. >;
  797. pinctrl-single,drive-strength = <
  798. DRIVE7_04MA DRIVE6_MASK
  799. >;
  800. };
  801. i2c1_cfg_func: i2c1_cfg_func {
  802. pinctrl-single,pins = <
  803. 0x054 0x0 /* I2C1_SCL */
  804. 0x058 0x0 /* I2C1_SDA */
  805. >;
  806. pinctrl-single,bias-pulldown = <
  807. PULL_DIS
  808. PULL_DOWN
  809. PULL_DIS
  810. PULL_DOWN
  811. >;
  812. pinctrl-single,bias-pullup = <
  813. PULL_DIS
  814. PULL_UP
  815. PULL_DIS
  816. PULL_UP
  817. >;
  818. pinctrl-single,drive-strength = <
  819. DRIVE7_04MA DRIVE6_MASK
  820. >;
  821. };
  822. i2c2_cfg_func: i2c2_cfg_func {
  823. pinctrl-single,pins = <
  824. 0x05c 0x0 /* I2C2_SCL */
  825. 0x060 0x0 /* I2C2_SDA */
  826. >;
  827. pinctrl-single,bias-pulldown = <
  828. PULL_DIS
  829. PULL_DOWN
  830. PULL_DIS
  831. PULL_DOWN
  832. >;
  833. pinctrl-single,bias-pullup = <
  834. PULL_DIS
  835. PULL_UP
  836. PULL_DIS
  837. PULL_UP
  838. >;
  839. pinctrl-single,drive-strength = <
  840. DRIVE7_04MA DRIVE6_MASK
  841. >;
  842. };
  843. pcie_clkreq_cfg_func: pcie_clkreq_cfg_func {
  844. pinctrl-single,pins = <
  845. 0x0b0 0x0
  846. >;
  847. pinctrl-single,bias-pulldown = <
  848. PULL_DIS
  849. PULL_DOWN
  850. PULL_DIS
  851. PULL_DOWN
  852. >;
  853. pinctrl-single,bias-pullup = <
  854. PULL_DIS
  855. PULL_UP
  856. PULL_DIS
  857. PULL_UP
  858. >;
  859. pinctrl-single,drive-strength = <
  860. DRIVE7_06MA DRIVE6_MASK
  861. >;
  862. };
  863. i2s2_cfg_func: i2s2_cfg_func {
  864. pinctrl-single,pins = <
  865. 0x07c 0x0 /* I2S2_DI */
  866. 0x080 0x0 /* I2S2_DO */
  867. 0x084 0x0 /* I2S2_XCLK */
  868. 0x088 0x0 /* I2S2_XFS */
  869. >;
  870. pinctrl-single,bias-pulldown = <
  871. PULL_DIS
  872. PULL_DOWN
  873. PULL_DIS
  874. PULL_DOWN
  875. >;
  876. pinctrl-single,bias-pullup = <
  877. PULL_UP
  878. PULL_UP
  879. PULL_DIS
  880. PULL_UP
  881. >;
  882. pinctrl-single,drive-strength = <
  883. DRIVE7_02MA DRIVE6_MASK
  884. >;
  885. };
  886. gpio185_cfg_func: gpio185_cfg_func {
  887. pinctrl-single,pins = <0x048 0>;
  888. pinctrl-single,bias-pulldown = <0 2 0 2>;
  889. pinctrl-single,bias-pullup = <0 1 0 1>;
  890. pinctrl-single,drive-strength = <0x00 0x70>;
  891. pinctrl-single,slew-rate = <0x0 0x80>;
  892. };
  893. gpio185_cfg_idle: gpio185_cfg_idle {
  894. pinctrl-single,pins = <0x048 0>;
  895. pinctrl-single,bias-pulldown = <2 2 0 2>;
  896. pinctrl-single,bias-pullup = <0 1 0 1>;
  897. pinctrl-single,drive-strength = <0x00 0x70>;
  898. pinctrl-single,slew-rate = <0x0 0x80>;
  899. };
  900. };
  901. };
  902. };