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

source code of linux/include/dt-bindings/gpio/msc313-gpio.h