1 /* SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause */
2 /*
3  * GPIO definitions for MStar/SigmaStar MSC313 and later SoCs
4  *
5  * Copyright (C) 2020 Daniel Palmer <daniel@thingy.jp>
6  */
7 
8 #ifndef _DT_BINDINGS_MSC313_GPIO_H
9 #define _DT_BINDINGS_MSC313_GPIO_H
10 
11 #define MSC313_GPIO_FUART	0
12 #define MSC313_GPIO_FUART_RX	(MSC313_GPIO_FUART + 0)
13 #define MSC313_GPIO_FUART_TX	(MSC313_GPIO_FUART + 1)
14 #define MSC313_GPIO_FUART_CTS	(MSC313_GPIO_FUART + 2)
15 #define MSC313_GPIO_FUART_RTS	(MSC313_GPIO_FUART + 3)
16 
17 #define MSC313_GPIO_SR		(MSC313_GPIO_FUART_RTS + 1)
18 #define MSC313_GPIO_SR_IO2	(MSC313_GPIO_SR + 0)
19 #define MSC313_GPIO_SR_IO3	(MSC313_GPIO_SR + 1)
20 #define MSC313_GPIO_SR_IO4	(MSC313_GPIO_SR + 2)
21 #define MSC313_GPIO_SR_IO5	(MSC313_GPIO_SR + 3)
22 #define MSC313_GPIO_SR_IO6	(MSC313_GPIO_SR + 4)
23 #define MSC313_GPIO_SR_IO7	(MSC313_GPIO_SR + 5)
24 #define MSC313_GPIO_SR_IO8	(MSC313_GPIO_SR + 6)
25 #define MSC313_GPIO_SR_IO9	(MSC313_GPIO_SR + 7)
26 #define MSC313_GPIO_SR_IO10	(MSC313_GPIO_SR + 8)
27 #define MSC313_GPIO_SR_IO11	(MSC313_GPIO_SR + 9)
28 #define MSC313_GPIO_SR_IO12	(MSC313_GPIO_SR + 10)
29 #define MSC313_GPIO_SR_IO13	(MSC313_GPIO_SR + 11)
30 #define MSC313_GPIO_SR_IO14	(MSC313_GPIO_SR + 12)
31 #define MSC313_GPIO_SR_IO15	(MSC313_GPIO_SR + 13)
32 #define MSC313_GPIO_SR_IO16	(MSC313_GPIO_SR + 14)
33 #define MSC313_GPIO_SR_IO17	(MSC313_GPIO_SR + 15)
34 
35 #define MSC313_GPIO_SD		(MSC313_GPIO_SR_IO17 + 1)
36 #define MSC313_GPIO_SD_CLK	(MSC313_GPIO_SD + 0)
37 #define MSC313_GPIO_SD_CMD	(MSC313_GPIO_SD + 1)
38 #define MSC313_GPIO_SD_D0	(MSC313_GPIO_SD + 2)
39 #define MSC313_GPIO_SD_D1	(MSC313_GPIO_SD + 3)
40 #define MSC313_GPIO_SD_D2	(MSC313_GPIO_SD + 4)
41 #define MSC313_GPIO_SD_D3	(MSC313_GPIO_SD + 5)
42 
43 #define MSC313_GPIO_I2C1	(MSC313_GPIO_SD_D3 + 1)
44 #define MSC313_GPIO_I2C1_SCL	(MSC313_GPIO_I2C1 + 0)
45 #define MSC313_GPIO_I2C1_SDA	(MSC313_GPIO_I2C1 + 1)
46 
47 #define MSC313_GPIO_SPI0	(MSC313_GPIO_I2C1_SDA + 1)
48 #define MSC313_GPIO_SPI0_CZ	(MSC313_GPIO_SPI0 + 0)
49 #define MSC313_GPIO_SPI0_CK	(MSC313_GPIO_SPI0 + 1)
50 #define MSC313_GPIO_SPI0_DI	(MSC313_GPIO_SPI0 + 2)
51 #define MSC313_GPIO_SPI0_DO	(MSC313_GPIO_SPI0 + 3)
52 
53 /* SSD20x */
54 #define SSD20XD_GPIO_FUART	0
55 #define SSD20XD_GPIO_FUART_RX	(SSD20XD_GPIO_FUART + 0)
56 #define SSD20XD_GPIO_FUART_TX	(SSD20XD_GPIO_FUART + 1)
57 #define SSD20XD_GPIO_FUART_CTS	(SSD20XD_GPIO_FUART + 2)
58 #define SSD20XD_GPIO_FUART_RTS	(SSD20XD_GPIO_FUART + 3)
59 
60 #define SSD20XD_GPIO_SD		(SSD20XD_GPIO_FUART_RTS + 1)
61 #define SSD20XD_GPIO_SD_CLK	(SSD20XD_GPIO_SD + 0)
62 #define SSD20XD_GPIO_SD_CMD	(SSD20XD_GPIO_SD + 1)
63 #define SSD20XD_GPIO_SD_D0	(SSD20XD_GPIO_SD + 2)
64 #define SSD20XD_GPIO_SD_D1	(SSD20XD_GPIO_SD + 3)
65 #define SSD20XD_GPIO_SD_D2	(SSD20XD_GPIO_SD + 4)
66 #define SSD20XD_GPIO_SD_D3	(SSD20XD_GPIO_SD + 5)
67 
68 #define SSD20XD_GPIO_UART0	(SSD20XD_GPIO_SD_D3 + 1)
69 #define SSD20XD_GPIO_UART0_RX	(SSD20XD_GPIO_UART0 + 0)
70 #define SSD20XD_GPIO_UART0_TX	(SSD20XD_GPIO_UART0 + 1)
71 
72 #define SSD20XD_GPIO_UART1	(SSD20XD_GPIO_UART0_TX + 1)
73 #define SSD20XD_GPIO_UART1_RX	(SSD20XD_GPIO_UART1 + 0)
74 #define SSD20XD_GPIO_UART1_TX	(SSD20XD_GPIO_UART1 + 1)
75 
76 #define SSD20XD_GPIO_TTL	(SSD20XD_GPIO_UART1_TX + 1)
77 #define SSD20XD_GPIO_TTL0	(SSD20XD_GPIO_TTL + 0)
78 #define SSD20XD_GPIO_TTL1	(SSD20XD_GPIO_TTL + 1)
79 #define SSD20XD_GPIO_TTL2	(SSD20XD_GPIO_TTL + 2)
80 #define SSD20XD_GPIO_TTL3	(SSD20XD_GPIO_TTL + 3)
81 #define SSD20XD_GPIO_TTL4	(SSD20XD_GPIO_TTL + 4)
82 #define SSD20XD_GPIO_TTL5	(SSD20XD_GPIO_TTL + 5)
83 #define SSD20XD_GPIO_TTL6	(SSD20XD_GPIO_TTL + 6)
84 #define SSD20XD_GPIO_TTL7	(SSD20XD_GPIO_TTL + 7)
85 #define SSD20XD_GPIO_TTL8	(SSD20XD_GPIO_TTL + 8)
86 #define SSD20XD_GPIO_TTL9	(SSD20XD_GPIO_TTL + 9)
87 #define SSD20XD_GPIO_TTL10	(SSD20XD_GPIO_TTL + 10)
88 #define SSD20XD_GPIO_TTL11	(SSD20XD_GPIO_TTL + 11)
89 #define SSD20XD_GPIO_TTL12	(SSD20XD_GPIO_TTL + 12)
90 #define SSD20XD_GPIO_TTL13	(SSD20XD_GPIO_TTL + 13)
91 #define SSD20XD_GPIO_TTL14	(SSD20XD_GPIO_TTL + 14)
92 #define SSD20XD_GPIO_TTL15	(SSD20XD_GPIO_TTL + 15)
93 #define SSD20XD_GPIO_TTL16	(SSD20XD_GPIO_TTL + 16)
94 #define SSD20XD_GPIO_TTL17	(SSD20XD_GPIO_TTL + 17)
95 #define SSD20XD_GPIO_TTL18	(SSD20XD_GPIO_TTL + 18)
96 #define SSD20XD_GPIO_TTL19	(SSD20XD_GPIO_TTL + 19)
97 #define SSD20XD_GPIO_TTL20	(SSD20XD_GPIO_TTL + 20)
98 #define SSD20XD_GPIO_TTL21	(SSD20XD_GPIO_TTL + 21)
99 #define SSD20XD_GPIO_TTL22	(SSD20XD_GPIO_TTL + 22)
100 #define SSD20XD_GPIO_TTL23	(SSD20XD_GPIO_TTL + 23)
101 #define SSD20XD_GPIO_TTL24	(SSD20XD_GPIO_TTL + 24)
102 #define SSD20XD_GPIO_TTL25	(SSD20XD_GPIO_TTL + 25)
103 #define SSD20XD_GPIO_TTL26	(SSD20XD_GPIO_TTL + 26)
104 #define SSD20XD_GPIO_TTL27	(SSD20XD_GPIO_TTL + 27)
105 
106 #define SSD20XD_GPIO_GPIO	(SSD20XD_GPIO_TTL27 + 1)
107 #define SSD20XD_GPIO_GPIO0	(SSD20XD_GPIO_GPIO + 0)
108 #define SSD20XD_GPIO_GPIO1	(SSD20XD_GPIO_GPIO + 1)
109 #define SSD20XD_GPIO_GPIO2	(SSD20XD_GPIO_GPIO + 2)
110 #define SSD20XD_GPIO_GPIO3	(SSD20XD_GPIO_GPIO + 3)
111 #define SSD20XD_GPIO_GPIO4	(SSD20XD_GPIO_GPIO + 4)
112 #define SSD20XD_GPIO_GPIO5	(SSD20XD_GPIO_GPIO + 5)
113 #define SSD20XD_GPIO_GPIO6	(SSD20XD_GPIO_GPIO + 6)
114 #define SSD20XD_GPIO_GPIO7	(SSD20XD_GPIO_GPIO + 7)
115 #define SSD20XD_GPIO_GPIO10	(SSD20XD_GPIO_GPIO + 8)
116 #define SSD20XD_GPIO_GPIO11	(SSD20XD_GPIO_GPIO + 9)
117 #define SSD20XD_GPIO_GPIO12	(SSD20XD_GPIO_GPIO + 10)
118 #define SSD20XD_GPIO_GPIO13	(SSD20XD_GPIO_GPIO + 11)
119 #define SSD20XD_GPIO_GPIO14	(SSD20XD_GPIO_GPIO + 12)
120 #define SSD20XD_GPIO_GPIO85	(SSD20XD_GPIO_GPIO + 13)
121 #define SSD20XD_GPIO_GPIO86	(SSD20XD_GPIO_GPIO + 14)
122 #define SSD20XD_GPIO_GPIO90	(SSD20XD_GPIO_GPIO + 15)
123 
124 #endif /* _DT_BINDINGS_MSC313_GPIO_H */
125