162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause */
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * GPIO definitions for MStar/SigmaStar MSC313 and later SoCs
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * Copyright (C) 2020 Daniel Palmer <daniel@thingy.jp>
662306a36Sopenharmony_ci */
762306a36Sopenharmony_ci
862306a36Sopenharmony_ci#ifndef _DT_BINDINGS_MSC313_GPIO_H
962306a36Sopenharmony_ci#define _DT_BINDINGS_MSC313_GPIO_H
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_ci#define MSC313_GPIO_FUART	0
1262306a36Sopenharmony_ci#define MSC313_GPIO_FUART_RX	(MSC313_GPIO_FUART + 0)
1362306a36Sopenharmony_ci#define MSC313_GPIO_FUART_TX	(MSC313_GPIO_FUART + 1)
1462306a36Sopenharmony_ci#define MSC313_GPIO_FUART_CTS	(MSC313_GPIO_FUART + 2)
1562306a36Sopenharmony_ci#define MSC313_GPIO_FUART_RTS	(MSC313_GPIO_FUART + 3)
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ci#define MSC313_GPIO_SR		(MSC313_GPIO_FUART_RTS + 1)
1862306a36Sopenharmony_ci#define MSC313_GPIO_SR_IO2	(MSC313_GPIO_SR + 0)
1962306a36Sopenharmony_ci#define MSC313_GPIO_SR_IO3	(MSC313_GPIO_SR + 1)
2062306a36Sopenharmony_ci#define MSC313_GPIO_SR_IO4	(MSC313_GPIO_SR + 2)
2162306a36Sopenharmony_ci#define MSC313_GPIO_SR_IO5	(MSC313_GPIO_SR + 3)
2262306a36Sopenharmony_ci#define MSC313_GPIO_SR_IO6	(MSC313_GPIO_SR + 4)
2362306a36Sopenharmony_ci#define MSC313_GPIO_SR_IO7	(MSC313_GPIO_SR + 5)
2462306a36Sopenharmony_ci#define MSC313_GPIO_SR_IO8	(MSC313_GPIO_SR + 6)
2562306a36Sopenharmony_ci#define MSC313_GPIO_SR_IO9	(MSC313_GPIO_SR + 7)
2662306a36Sopenharmony_ci#define MSC313_GPIO_SR_IO10	(MSC313_GPIO_SR + 8)
2762306a36Sopenharmony_ci#define MSC313_GPIO_SR_IO11	(MSC313_GPIO_SR + 9)
2862306a36Sopenharmony_ci#define MSC313_GPIO_SR_IO12	(MSC313_GPIO_SR + 10)
2962306a36Sopenharmony_ci#define MSC313_GPIO_SR_IO13	(MSC313_GPIO_SR + 11)
3062306a36Sopenharmony_ci#define MSC313_GPIO_SR_IO14	(MSC313_GPIO_SR + 12)
3162306a36Sopenharmony_ci#define MSC313_GPIO_SR_IO15	(MSC313_GPIO_SR + 13)
3262306a36Sopenharmony_ci#define MSC313_GPIO_SR_IO16	(MSC313_GPIO_SR + 14)
3362306a36Sopenharmony_ci#define MSC313_GPIO_SR_IO17	(MSC313_GPIO_SR + 15)
3462306a36Sopenharmony_ci
3562306a36Sopenharmony_ci#define MSC313_GPIO_SD		(MSC313_GPIO_SR_IO17 + 1)
3662306a36Sopenharmony_ci#define MSC313_GPIO_SD_CLK	(MSC313_GPIO_SD + 0)
3762306a36Sopenharmony_ci#define MSC313_GPIO_SD_CMD	(MSC313_GPIO_SD + 1)
3862306a36Sopenharmony_ci#define MSC313_GPIO_SD_D0	(MSC313_GPIO_SD + 2)
3962306a36Sopenharmony_ci#define MSC313_GPIO_SD_D1	(MSC313_GPIO_SD + 3)
4062306a36Sopenharmony_ci#define MSC313_GPIO_SD_D2	(MSC313_GPIO_SD + 4)
4162306a36Sopenharmony_ci#define MSC313_GPIO_SD_D3	(MSC313_GPIO_SD + 5)
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_ci#define MSC313_GPIO_I2C1	(MSC313_GPIO_SD_D3 + 1)
4462306a36Sopenharmony_ci#define MSC313_GPIO_I2C1_SCL	(MSC313_GPIO_I2C1 + 0)
4562306a36Sopenharmony_ci#define MSC313_GPIO_I2C1_SDA	(MSC313_GPIO_I2C1 + 1)
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_ci#define MSC313_GPIO_SPI0	(MSC313_GPIO_I2C1_SDA + 1)
4862306a36Sopenharmony_ci#define MSC313_GPIO_SPI0_CZ	(MSC313_GPIO_SPI0 + 0)
4962306a36Sopenharmony_ci#define MSC313_GPIO_SPI0_CK	(MSC313_GPIO_SPI0 + 1)
5062306a36Sopenharmony_ci#define MSC313_GPIO_SPI0_DI	(MSC313_GPIO_SPI0 + 2)
5162306a36Sopenharmony_ci#define MSC313_GPIO_SPI0_DO	(MSC313_GPIO_SPI0 + 3)
5262306a36Sopenharmony_ci
5362306a36Sopenharmony_ci/* SSD20x */
5462306a36Sopenharmony_ci#define SSD20XD_GPIO_FUART	0
5562306a36Sopenharmony_ci#define SSD20XD_GPIO_FUART_RX	(SSD20XD_GPIO_FUART + 0)
5662306a36Sopenharmony_ci#define SSD20XD_GPIO_FUART_TX	(SSD20XD_GPIO_FUART + 1)
5762306a36Sopenharmony_ci#define SSD20XD_GPIO_FUART_CTS	(SSD20XD_GPIO_FUART + 2)
5862306a36Sopenharmony_ci#define SSD20XD_GPIO_FUART_RTS	(SSD20XD_GPIO_FUART + 3)
5962306a36Sopenharmony_ci
6062306a36Sopenharmony_ci#define SSD20XD_GPIO_SD		(SSD20XD_GPIO_FUART_RTS + 1)
6162306a36Sopenharmony_ci#define SSD20XD_GPIO_SD_CLK	(SSD20XD_GPIO_SD + 0)
6262306a36Sopenharmony_ci#define SSD20XD_GPIO_SD_CMD	(SSD20XD_GPIO_SD + 1)
6362306a36Sopenharmony_ci#define SSD20XD_GPIO_SD_D0	(SSD20XD_GPIO_SD + 2)
6462306a36Sopenharmony_ci#define SSD20XD_GPIO_SD_D1	(SSD20XD_GPIO_SD + 3)
6562306a36Sopenharmony_ci#define SSD20XD_GPIO_SD_D2	(SSD20XD_GPIO_SD + 4)
6662306a36Sopenharmony_ci#define SSD20XD_GPIO_SD_D3	(SSD20XD_GPIO_SD + 5)
6762306a36Sopenharmony_ci
6862306a36Sopenharmony_ci#define SSD20XD_GPIO_UART0	(SSD20XD_GPIO_SD_D3 + 1)
6962306a36Sopenharmony_ci#define SSD20XD_GPIO_UART0_RX	(SSD20XD_GPIO_UART0 + 0)
7062306a36Sopenharmony_ci#define SSD20XD_GPIO_UART0_TX	(SSD20XD_GPIO_UART0 + 1)
7162306a36Sopenharmony_ci
7262306a36Sopenharmony_ci#define SSD20XD_GPIO_UART1	(SSD20XD_GPIO_UART0_TX + 1)
7362306a36Sopenharmony_ci#define SSD20XD_GPIO_UART1_RX	(SSD20XD_GPIO_UART1 + 0)
7462306a36Sopenharmony_ci#define SSD20XD_GPIO_UART1_TX	(SSD20XD_GPIO_UART1 + 1)
7562306a36Sopenharmony_ci
7662306a36Sopenharmony_ci#define SSD20XD_GPIO_TTL	(SSD20XD_GPIO_UART1_TX + 1)
7762306a36Sopenharmony_ci#define SSD20XD_GPIO_TTL0	(SSD20XD_GPIO_TTL + 0)
7862306a36Sopenharmony_ci#define SSD20XD_GPIO_TTL1	(SSD20XD_GPIO_TTL + 1)
7962306a36Sopenharmony_ci#define SSD20XD_GPIO_TTL2	(SSD20XD_GPIO_TTL + 2)
8062306a36Sopenharmony_ci#define SSD20XD_GPIO_TTL3	(SSD20XD_GPIO_TTL + 3)
8162306a36Sopenharmony_ci#define SSD20XD_GPIO_TTL4	(SSD20XD_GPIO_TTL + 4)
8262306a36Sopenharmony_ci#define SSD20XD_GPIO_TTL5	(SSD20XD_GPIO_TTL + 5)
8362306a36Sopenharmony_ci#define SSD20XD_GPIO_TTL6	(SSD20XD_GPIO_TTL + 6)
8462306a36Sopenharmony_ci#define SSD20XD_GPIO_TTL7	(SSD20XD_GPIO_TTL + 7)
8562306a36Sopenharmony_ci#define SSD20XD_GPIO_TTL8	(SSD20XD_GPIO_TTL + 8)
8662306a36Sopenharmony_ci#define SSD20XD_GPIO_TTL9	(SSD20XD_GPIO_TTL + 9)
8762306a36Sopenharmony_ci#define SSD20XD_GPIO_TTL10	(SSD20XD_GPIO_TTL + 10)
8862306a36Sopenharmony_ci#define SSD20XD_GPIO_TTL11	(SSD20XD_GPIO_TTL + 11)
8962306a36Sopenharmony_ci#define SSD20XD_GPIO_TTL12	(SSD20XD_GPIO_TTL + 12)
9062306a36Sopenharmony_ci#define SSD20XD_GPIO_TTL13	(SSD20XD_GPIO_TTL + 13)
9162306a36Sopenharmony_ci#define SSD20XD_GPIO_TTL14	(SSD20XD_GPIO_TTL + 14)
9262306a36Sopenharmony_ci#define SSD20XD_GPIO_TTL15	(SSD20XD_GPIO_TTL + 15)
9362306a36Sopenharmony_ci#define SSD20XD_GPIO_TTL16	(SSD20XD_GPIO_TTL + 16)
9462306a36Sopenharmony_ci#define SSD20XD_GPIO_TTL17	(SSD20XD_GPIO_TTL + 17)
9562306a36Sopenharmony_ci#define SSD20XD_GPIO_TTL18	(SSD20XD_GPIO_TTL + 18)
9662306a36Sopenharmony_ci#define SSD20XD_GPIO_TTL19	(SSD20XD_GPIO_TTL + 19)
9762306a36Sopenharmony_ci#define SSD20XD_GPIO_TTL20	(SSD20XD_GPIO_TTL + 20)
9862306a36Sopenharmony_ci#define SSD20XD_GPIO_TTL21	(SSD20XD_GPIO_TTL + 21)
9962306a36Sopenharmony_ci#define SSD20XD_GPIO_TTL22	(SSD20XD_GPIO_TTL + 22)
10062306a36Sopenharmony_ci#define SSD20XD_GPIO_TTL23	(SSD20XD_GPIO_TTL + 23)
10162306a36Sopenharmony_ci#define SSD20XD_GPIO_TTL24	(SSD20XD_GPIO_TTL + 24)
10262306a36Sopenharmony_ci#define SSD20XD_GPIO_TTL25	(SSD20XD_GPIO_TTL + 25)
10362306a36Sopenharmony_ci#define SSD20XD_GPIO_TTL26	(SSD20XD_GPIO_TTL + 26)
10462306a36Sopenharmony_ci#define SSD20XD_GPIO_TTL27	(SSD20XD_GPIO_TTL + 27)
10562306a36Sopenharmony_ci
10662306a36Sopenharmony_ci#define SSD20XD_GPIO_GPIO	(SSD20XD_GPIO_TTL27 + 1)
10762306a36Sopenharmony_ci#define SSD20XD_GPIO_GPIO0	(SSD20XD_GPIO_GPIO + 0)
10862306a36Sopenharmony_ci#define SSD20XD_GPIO_GPIO1	(SSD20XD_GPIO_GPIO + 1)
10962306a36Sopenharmony_ci#define SSD20XD_GPIO_GPIO2	(SSD20XD_GPIO_GPIO + 2)
11062306a36Sopenharmony_ci#define SSD20XD_GPIO_GPIO3	(SSD20XD_GPIO_GPIO + 3)
11162306a36Sopenharmony_ci#define SSD20XD_GPIO_GPIO4	(SSD20XD_GPIO_GPIO + 4)
11262306a36Sopenharmony_ci#define SSD20XD_GPIO_GPIO5	(SSD20XD_GPIO_GPIO + 5)
11362306a36Sopenharmony_ci#define SSD20XD_GPIO_GPIO6	(SSD20XD_GPIO_GPIO + 6)
11462306a36Sopenharmony_ci#define SSD20XD_GPIO_GPIO7	(SSD20XD_GPIO_GPIO + 7)
11562306a36Sopenharmony_ci#define SSD20XD_GPIO_GPIO10	(SSD20XD_GPIO_GPIO + 8)
11662306a36Sopenharmony_ci#define SSD20XD_GPIO_GPIO11	(SSD20XD_GPIO_GPIO + 9)
11762306a36Sopenharmony_ci#define SSD20XD_GPIO_GPIO12	(SSD20XD_GPIO_GPIO + 10)
11862306a36Sopenharmony_ci#define SSD20XD_GPIO_GPIO13	(SSD20XD_GPIO_GPIO + 11)
11962306a36Sopenharmony_ci#define SSD20XD_GPIO_GPIO14	(SSD20XD_GPIO_GPIO + 12)
12062306a36Sopenharmony_ci#define SSD20XD_GPIO_GPIO85	(SSD20XD_GPIO_GPIO + 13)
12162306a36Sopenharmony_ci#define SSD20XD_GPIO_GPIO86	(SSD20XD_GPIO_GPIO + 14)
12262306a36Sopenharmony_ci#define SSD20XD_GPIO_GPIO90	(SSD20XD_GPIO_GPIO + 15)
12362306a36Sopenharmony_ci
12462306a36Sopenharmony_ci#endif /* _DT_BINDINGS_MSC313_GPIO_H */
125