Skip to content
This repository was archived by the owner on Oct 5, 2018. It is now read-only.

Commit 8bf353c

Browse files
xiaoyin0208docularxu
authored andcommitted
arm64: dts: hisilicon: add dtsi file for Hisilicon Hi3660 SOC (#25)
This patch adds pinctrl dtsi file Signed-off-by: Wang Xiaoyin <[email protected]>
1 parent 751b198 commit 8bf353c

File tree

2 files changed

+293
-1
lines changed

2 files changed

+293
-1
lines changed

arch/arm64/boot/dts/hisilicon/hi3660-hikey960.dts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
#include "hi3660.dtsi"
1111
/*#include "hi3660-ion.dtsi"*/
12-
/*#include "hikey960-pinctrl.dtsi"*/
12+
#include "hikey960-pinctrl.dtsi"
1313

1414
/ {
1515
model = "HiKey960";
Lines changed: 292 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,292 @@
1+
/*
2+
* pinctrl dts fils for Hislicon HiKey960 development board
3+
*
4+
*/
5+
6+
#include <dt-bindings/pinctrl/hisi.h>
7+
8+
/ {
9+
soc {
10+
/* [IOMG_000, IOMG_123] */
11+
range: gpio-range {
12+
#pinctrl-single,gpio-range-cells = <3>;
13+
};
14+
pmx0: pinmux@e896c000 {
15+
compatible = "pinctrl-single";
16+
reg = <0x0 0xe896c000 0x0 0x1f0>;
17+
#pinctrl-cells = <1>;
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 = <
23+
&range 0 7 0
24+
&range 8 116 0>;
25+
26+
isp0_pmx_func: isp0_pmx_func {
27+
pinctrl-single,pins = <
28+
0x058 MUX_M1 /* ISP_CLK0 */
29+
0x064 MUX_M1 /* ISP_SCL0 */
30+
0x068 MUX_M1 /* ISP_SDA0 */
31+
>;
32+
};
33+
34+
isp1_pmx_func: isp1_pmx_func {
35+
pinctrl-single,pins = <
36+
0x05c MUX_M1 /* ISP_CLK1 */
37+
0x06c MUX_M1 /* ISP_SCL1 */
38+
0x070 MUX_M1 /* ISP_SDA1 */
39+
>;
40+
};
41+
42+
i2c3_pmx_func: i2c3_pmx_func {
43+
pinctrl-single,pins = <
44+
0x02c MUX_M1 /* I2C3_SCL */
45+
0x030 MUX_M1 /* I2C3_SDA */
46+
>;
47+
};
48+
49+
i2c4_pmx_func: i2c4_pmx_func {
50+
pinctrl-single,pins = <
51+
0x090 MUX_M1 /* I2C4_SCL */
52+
0x094 MUX_M1 /* I2C4_SDA */
53+
>;
54+
};
55+
56+
pcie_perstn_pmx_func: pcie_perstn_pmx_func {
57+
pinctrl-single,pins = <
58+
0x15c MUX_M1 /* PCIE_PERST_N */
59+
>;
60+
};
61+
62+
usbhub5734_pmx_func: usbhub5734_pmx_func {
63+
pinctrl-single,pins = <
64+
0x11c MUX_M0 /* GPIO_073 */
65+
0x120 MUX_M0 /* GPIO_074 */
66+
>;
67+
};
68+
69+
spi1_pmx_func: spi1_pmx_func {
70+
pinctrl-single,pins = <
71+
0x034 MUX_M1 /* SPI1_CLK */
72+
0x038 MUX_M1 /* SPI1_DI */
73+
0x03c MUX_M1 /* SPI1_DO */
74+
0x040 MUX_M1 /* SPI1_CS_N */
75+
>;
76+
};
77+
78+
uart0_pmx_func: uart0_pmx_func {
79+
pinctrl-single,pins = <
80+
0x0cc MUX_M2 /* UART0_RXD */
81+
0x0d0 MUX_M2 /* UART0_TXD */
82+
0x0d4 MUX_M2 /* UART0_RXD_M */
83+
0x0d8 MUX_M2 /* UART0_TXD_M */
84+
>;
85+
};
86+
87+
uart1_pmx_func: uart1_pmx_func {
88+
pinctrl-single,pins = <
89+
0x0b0 MUX_M2 /* UART1_CTS_N */
90+
0x0b4 MUX_M2 /* UART1_RTS_N */
91+
0x0a8 MUX_M2 /* UART1_RXD */
92+
0x0ac MUX_M2 /* UART1_TXD */
93+
>;
94+
};
95+
96+
uart2_pmx_func: uart2_pmx_func {
97+
pinctrl-single,pins = <
98+
0x0bc MUX_M2 /* UART2_CTS_N */
99+
0x0c0 MUX_M2 /* UART2_RTS_N */
100+
0x0c8 MUX_M2 /* UART2_RXD */
101+
0x0c4 MUX_M2 /* UART2_TXD */
102+
>;
103+
};
104+
105+
uart3_pmx_func: uart3_pmx_func {
106+
pinctrl-single,pins = <
107+
0x0dc MUX_M1 /* UART3_CTS_N */
108+
0x0e0 MUX_M1 /* UART3_RTS_N */
109+
0x0e4 MUX_M1 /* UART3_RXD */
110+
0x0e8 MUX_M1 /* UART3_TXD */
111+
>;
112+
};
113+
114+
uart4_pmx_func: uart4_pmx_func {
115+
pinctrl-single,pins = <
116+
0x0ec MUX_M1 /* UART4_CTS_N */
117+
0x0f0 MUX_M1 /* UART4_RTS_N */
118+
0x0f4 MUX_M1 /* UART4_RXD */
119+
0x0f8 MUX_M1 /* UART4_TXD */
120+
>;
121+
};
122+
123+
uart5_pmx_func: uart5_pmx_func {
124+
pinctrl-single,pins = <
125+
0x0c4 MUX_M3 /* UART5_CTS_N */
126+
0x0c8 MUX_M3 /* UART5_RTS_N */
127+
0x0bc MUX_M3 /* UART5_RXD */
128+
0x0c0 MUX_M3 /* UART5_TXD */
129+
>;
130+
};
131+
132+
uart6_pmx_func: uart6_pmx_func {
133+
pinctrl-single,pins = <
134+
0x0cc MUX_M1 /* UART6_CTS_N */
135+
0x0d0 MUX_M1 /* UART6_RTS_N */
136+
0x0d4 MUX_M1 /* UART6_RXD */
137+
0x0d8 MUX_M1 /* UART6_TXD */
138+
>;
139+
};
140+
};
141+
142+
/* [IOMG_MMC0_000, IOMG_MMC0_005] */
143+
pmx1: pinmux@ff37e000 {
144+
compatible = "pinctrl-single";
145+
reg = <0x0 0xff37e000 0x0 0x18>;
146+
#gpio-range-cells = <0x3>;
147+
#pinctrl-cells = <1>;
148+
pinctrl-single,register-width = <0x20>;
149+
pinctrl-single,function-mask = <0x7>;
150+
/* pin base, nr pins & gpio function */
151+
pinctrl-single,gpio-range = <&range 0 6 0>;
152+
153+
sdcard_pmx_func: sdcard_pmx_func {
154+
pinctrl-single,pins = <
155+
0x000 MUX_M1 /* SD_CLK */
156+
0x004 MUX_M1 /* SD_CMD */
157+
0x008 MUX_M1 /* SD_DATA0 */
158+
0x00c MUX_M1 /* SD_DATA1 */
159+
0x010 MUX_M1 /* SD_DATA2 */
160+
0x014 MUX_M1 /* SD_DATA3 */
161+
>;
162+
};
163+
};
164+
165+
/* [IOMG_FIX_000, IOMG_FIX_011] */
166+
pmx2: pinmux@ff3b6000 {
167+
compatible = "pinctrl-single";
168+
reg = <0x0 0xff3b6000 0x0 0x30>;
169+
#pinctrl-cells = <1>;
170+
#gpio-range-cells = <0x3>;
171+
pinctrl-single,register-width = <0x20>;
172+
pinctrl-single,function-mask = <0x7>;
173+
/* pin base, nr pins & gpio function */
174+
pinctrl-single,gpio-range = <&range 0 12 0>;
175+
176+
spi3_pmx_func: spi3_pmx_func {
177+
pinctrl-single,pins = <
178+
0x008 MUX_M1 /* SPI3_CLK */
179+
0x00c MUX_M1 /* SPI3_DI */
180+
0x010 MUX_M1 /* SPI3_DO */
181+
0x014 MUX_M1 /* SPI3_CS0_N */
182+
>;
183+
};
184+
};
185+
186+
/* [IOMG_MMC1_000, IOMG_MMC1_005] */
187+
pmx3: pinmux@ff3fd000 {
188+
compatible = "pinctrl-single";
189+
reg = <0x0 0xff3fd000 0x0 0x18>;
190+
#pinctrl-cells = <1>;
191+
#gpio-range-cells = <0x3>;
192+
pinctrl-single,register-width = <0x20>;
193+
pinctrl-single,function-mask = <0x7>;
194+
/* pin base, nr pins & gpio function */
195+
pinctrl-single,gpio-range = <&range 0 6 0>;
196+
197+
sdio_pmx_func: sdio_pmx_func {
198+
pinctrl-single,pins = <
199+
0x000 MUX_M1 /* SDIO_CLK */
200+
0x004 MUX_M1 /* SDIO_CMD */
201+
0x008 MUX_M1 /* SDIO_DATA0 */
202+
0x00c MUX_M1 /* SDIO_DATA1 */
203+
0x010 MUX_M1 /* SDIO_DATA2 */
204+
0x014 MUX_M1 /* SDIO_DATA3 */
205+
>;
206+
};
207+
};
208+
209+
/* [IOMG_AO_000, IOMG_AO_041] */
210+
pmx4: pinmux@fff11000 {
211+
compatible = "pinctrl-single";
212+
reg = <0x0 0xfff11000 0x0 0xa8>;
213+
#pinctrl-cells = <1>;
214+
#gpio-range-cells = <0x3>;
215+
pinctrl-single,register-width = <0x20>;
216+
pinctrl-single,function-mask = <0x7>;
217+
/* pin base in node, nr pins & gpio function */
218+
pinctrl-single,gpio-range = <&range 0 42 0>;
219+
220+
i2s2_pmx_func: i2s2_pmx_func {
221+
pinctrl-single,pins = <
222+
0x044 MUX_M1 /* I2S2_DI */
223+
0x048 MUX_M1 /* I2S2_DO */
224+
0x04c MUX_M1 /* I2S2_XCLK */
225+
0x050 MUX_M1 /* I2S2_XFS */
226+
>;
227+
};
228+
229+
slimbus_pmx_func: slimbus_pmx_func {
230+
pinctrl-single,pins = <
231+
0x02c MUX_M1 /* SLIMBUS_CLK */
232+
0x030 MUX_M1 /* SLIMBUS_DATA */
233+
>;
234+
};
235+
236+
i2c0_pmx_func: i2c0_pmx_func {
237+
pinctrl-single,pins = <
238+
0x014 MUX_M1 /* I2C0_SCL */
239+
0x018 MUX_M1 /* I2C0_SDA */
240+
>;
241+
};
242+
243+
i2c1_pmx_func: i2c1_pmx_func {
244+
pinctrl-single,pins = <
245+
0x01c MUX_M1 /* I2C1_SCL */
246+
0x020 MUX_M1 /* I2C1_SDA */
247+
>;
248+
};
249+
250+
i2c2_pmx_func: i2c2_pmx_func {
251+
pinctrl-single,pins = <
252+
0x024 MUX_M1 /* I2C2_SCL */
253+
0x028 MUX_M1 /* I2C2_SDA */
254+
>;
255+
};
256+
257+
i2c7_pmx_func: i2c7_pmx_func {
258+
pinctrl-single,pins = <
259+
0x024 MUX_M3 /* I2C7_SCL */
260+
0x028 MUX_M3 /* I2C7_SDA */
261+
>;
262+
};
263+
264+
spi2_pmx_func: spi2_pmx_func {
265+
pinctrl-single,pins = <
266+
0x08c MUX_M1 /* SPI2_CLK */
267+
0x090 MUX_M1 /* SPI2_DI */
268+
0x094 MUX_M1 /* SPI2_DO */
269+
0x098 MUX_M1 /* SPI2_CS0_N */
270+
>;
271+
};
272+
273+
spi4_pmx_func: spi4_pmx_func {
274+
pinctrl-single,pins = <
275+
0x08c MUX_M4 /* SPI4_CLK */
276+
0x090 MUX_M4 /* SPI4_DI */
277+
0x094 MUX_M4 /* SPI4_DO */
278+
0x098 MUX_M4 /* SPI4_CS0_N */
279+
>;
280+
};
281+
282+
i2s0_pmx_func: i2s0_pmx_func {
283+
pinctrl-single,pins = <
284+
0x034 MUX_M1 /* I2S0_DI */
285+
0x038 MUX_M1 /* I2S0_DO */
286+
0x03c MUX_M1 /* I2S0_XCLK */
287+
0x040 MUX_M1 /* I2S0_XFS */
288+
>;
289+
};
290+
};
291+
};
292+
};

0 commit comments

Comments
 (0)