1 // SPDX-License-Identifier: GPL-2.0
3 * Pinctrl dts file for HiSilicon HiKey970 development board
6 #include <dt-bindings/pinctrl/hisi.h>
11 #pinctrl-single,gpio-range-cells = <3>;
14 pmx0: pinmux@e896c000 {
15 compatible = "pinctrl-single";
16 reg = <0x0 0xe896c000 0x0 0x72c>;
18 #gpio-range-cells = <0x3>;
19 pinctrl-single,register-width = <0x20>;
20 pinctrl-single,function-mask = <0x7>;
21 /* pin base, nr pins & gpio function */
22 pinctrl-single,gpio-range = <&range 0 82 0>;
24 uart0_pmx_func: uart0_pmx_func {
25 pinctrl-single,pins = <
26 0x054 MUX_M2 /* UART0_RXD */
27 0x058 MUX_M2 /* UART0_TXD */
31 uart2_pmx_func: uart2_pmx_func {
32 pinctrl-single,pins = <
33 0x700 MUX_M2 /* UART2_CTS_N */
34 0x704 MUX_M2 /* UART2_RTS_N */
35 0x708 MUX_M2 /* UART2_RXD */
36 0x70c MUX_M2 /* UART2_TXD */
40 uart3_pmx_func: uart3_pmx_func {
41 pinctrl-single,pins = <
42 0x064 MUX_M1 /* UART3_CTS_N */
43 0x068 MUX_M1 /* UART3_RTS_N */
44 0x06c MUX_M1 /* UART3_RXD */
45 0x070 MUX_M1 /* UART3_TXD */
49 uart4_pmx_func: uart4_pmx_func {
50 pinctrl-single,pins = <
51 0x074 MUX_M1 /* UART4_CTS_N */
52 0x078 MUX_M1 /* UART4_RTS_N */
53 0x07c MUX_M1 /* UART4_RXD */
54 0x080 MUX_M1 /* UART4_TXD */
58 uart6_pmx_func: uart6_pmx_func {
59 pinctrl-single,pins = <
60 0x05c MUX_M1 /* UART6_RXD */
61 0x060 MUX_M1 /* UART6_TXD */
66 pmx2: pinmux@e896c800 {
67 compatible = "pinconf-single";
68 reg = <0x0 0xe896c800 0x0 0x72c>;
70 pinctrl-single,register-width = <0x20>;
72 uart0_cfg_func: uart0_cfg_func {
73 pinctrl-single,pins = <
74 0x058 0x0 /* UART0_RXD */
75 0x05c 0x0 /* UART0_TXD */
77 pinctrl-single,bias-pulldown = <
83 pinctrl-single,bias-pullup = <
89 pinctrl-single,drive-strength = <
90 DRIVE7_04MA DRIVE6_MASK
94 uart2_cfg_func: uart2_cfg_func {
95 pinctrl-single,pins = <
96 0x700 0x0 /* UART2_CTS_N */
97 0x704 0x0 /* UART2_RTS_N */
98 0x708 0x0 /* UART2_RXD */
99 0x70c 0x0 /* UART2_TXD */
101 pinctrl-single,bias-pulldown = <
107 pinctrl-single,bias-pullup = <
113 pinctrl-single,drive-strength = <
114 DRIVE7_04MA DRIVE6_MASK
118 uart3_cfg_func: uart3_cfg_func {
119 pinctrl-single,pins = <
120 0x068 0x0 /* UART3_CTS_N */
121 0x06c 0x0 /* UART3_RTS_N */
122 0x070 0x0 /* UART3_RXD */
123 0x074 0x0 /* UART3_TXD */
125 pinctrl-single,bias-pulldown = <
131 pinctrl-single,bias-pullup = <
137 pinctrl-single,drive-strength = <
138 DRIVE7_04MA DRIVE6_MASK
142 uart4_cfg_func: uart4_cfg_func {
143 pinctrl-single,pins = <
144 0x078 0x0 /* UART4_CTS_N */
145 0x07c 0x0 /* UART4_RTS_N */
146 0x080 0x0 /* UART4_RXD */
147 0x084 0x0 /* UART4_TXD */
149 pinctrl-single,bias-pulldown = <
155 pinctrl-single,bias-pullup = <
161 pinctrl-single,drive-strength = <
162 DRIVE7_04MA DRIVE6_MASK
166 uart6_cfg_func: uart6_cfg_func {
167 pinctrl-single,pins = <
168 0x060 0x0 /* UART6_RXD */
169 0x064 0x0 /* UART6_TXD */
171 pinctrl-single,bias-pulldown = <
177 pinctrl-single,bias-pullup = <
183 pinctrl-single,drive-strength = <
184 DRIVE7_02MA DRIVE6_MASK
189 pmx5: pinmux@fc182000 {
190 compatible = "pinctrl-single";
191 reg = <0x0 0xfc182000 0x0 0x028>;
192 #gpio-range-cells = <3>;
193 #pinctrl-cells = <1>;
194 pinctrl-single,register-width = <0x20>;
195 pinctrl-single,function-mask = <0x7>;
196 /* pin base, nr pins & gpio function */
197 pinctrl-single,gpio-range = <&range 0 10 0>;
199 sdio_pmx_func: sdio_pmx_func {
200 pinctrl-single,pins = <
201 0x000 MUX_M1 /* SDIO_CLK */
202 0x004 MUX_M1 /* SDIO_CMD */
203 0x008 MUX_M1 /* SDIO_DATA0 */
204 0x00c MUX_M1 /* SDIO_DATA1 */
205 0x010 MUX_M1 /* SDIO_DATA2 */
206 0x014 MUX_M1 /* SDIO_DATA3 */
211 pmx6: pinmux@fc182800 {
212 compatible = "pinconf-single";
213 reg = <0x0 0xfc182800 0x0 0x028>;
214 #pinctrl-cells = <1>;
215 pinctrl-single,register-width = <0x20>;
217 sdio_clk_cfg_func: sdio_clk_cfg_func {
218 pinctrl-single,pins = <
219 0x000 0x0 /* SDIO_CLK */
221 pinctrl-single,bias-pulldown = <
227 pinctrl-single,bias-pullup = <
233 pinctrl-single,drive-strength = <
234 DRIVE6_32MA DRIVE6_MASK
238 sdio_cfg_func: sdio_cfg_func {
239 pinctrl-single,pins = <
240 0x004 0x0 /* SDIO_CMD */
241 0x008 0x0 /* SDIO_DATA0 */
242 0x00c 0x0 /* SDIO_DATA1 */
243 0x010 0x0 /* SDIO_DATA2 */
244 0x014 0x0 /* SDIO_DATA3 */
246 pinctrl-single,bias-pulldown = <
252 pinctrl-single,bias-pullup = <
258 pinctrl-single,drive-strength = <
259 DRIVE6_19MA DRIVE6_MASK
264 pmx7: pinmux@ff37e000 {
265 compatible = "pinctrl-single";
266 reg = <0x0 0xff37e000 0x0 0x030>;
267 #gpio-range-cells = <3>;
268 #pinctrl-cells = <1>;
269 pinctrl-single,register-width = <0x20>;
270 pinctrl-single,function-mask = <7>;
271 /* pin base, nr pins & gpio function */
272 pinctrl-single,gpio-range = <&range 0 12 0>;
274 sd_pmx_func: sd_pmx_func {
275 pinctrl-single,pins = <
276 0x000 MUX_M1 /* SD_CLK */
277 0x004 MUX_M1 /* SD_CMD */
278 0x008 MUX_M1 /* SD_DATA0 */
279 0x00c MUX_M1 /* SD_DATA1 */
280 0x010 MUX_M1 /* SD_DATA2 */
281 0x014 MUX_M1 /* SD_DATA3 */
286 pmx8: pinmux@ff37e800 {
287 compatible = "pinconf-single";
288 reg = <0x0 0xff37e800 0x0 0x030>;
289 #pinctrl-cells = <1>;
290 pinctrl-single,register-width = <0x20>;
292 sd_clk_cfg_func: sd_clk_cfg_func {
293 pinctrl-single,pins = <
294 0x000 0x0 /* SD_CLK */
296 pinctrl-single,bias-pulldown = <
302 pinctrl-single,bias-pullup = <
308 pinctrl-single,drive-strength = <
314 sd_cfg_func: sd_cfg_func {
315 pinctrl-single,pins = <
316 0x004 0x0 /* SD_CMD */
317 0x008 0x0 /* SD_DATA0 */
318 0x00c 0x0 /* SD_DATA1 */
319 0x010 0x0 /* SD_DATA2 */
320 0x014 0x0 /* SD_DATA3 */
322 pinctrl-single,bias-pulldown = <
328 pinctrl-single,bias-pullup = <
334 pinctrl-single,drive-strength = <
341 pmx1: pinmux@fff11000 {
342 compatible = "pinctrl-single";
343 reg = <0x0 0xfff11000 0x0 0x73c>;
344 #gpio-range-cells = <0x3>;
345 #pinctrl-cells = <1>;
346 pinctrl-single,register-width = <0x20>;
347 pinctrl-single,function-mask = <0x7>;
348 /* pin base, nr pins & gpio function */
349 pinctrl-single,gpio-range = <&range 0 46 0>;
352 pmx16: pinmux@fff11800 {
353 compatible = "pinconf-single";
354 reg = <0x0 0xfff11800 0x0 0x73c>;
355 #pinctrl-cells = <1>;
356 pinctrl-single,register-width = <0x20>;