blob: d6d9b51f647d25e8b2e8014f15a0e2ddfbf5514d [file] [log] [blame]
b.liu85565a72023-11-09 16:47:40 +08001/**
2 * \file gpio-define.h
3 * \brief A Documented file.
4 *
5 * Detailed description
6 * \Author: Sniper <js.wang@mobiletek.cn>
7 * \Version: 1.0.0
8 * \Date: 2022-04-26
9 */
10
11#ifndef __GPIO_DEFINE_H__
12#define __GPIO_DEFINE_H__
13
14typedef unsigned int uint32; /* Unsigned 32 bit value */
15typedef unsigned short uint16; /* Unsigned 16 bit value */
16typedef unsigned char uint8; /* Unsigned 8 bit value */
17
18
19/*
204组GPIO共128个GPIO,分别从GPIO_0到GPIO_127
21GPIO22位于0xd4019000这一组的BIT22
22
23GPIO0_BASE 0xD4019000
24GPIO1_BASE 0xD4019004
25GPIO2_BASE 0xD4019008
26GPIO3_BASE 0xD4019100
27 */
b.liu85565a72023-11-09 16:47:40 +080028
b.liu85565a72023-11-09 16:47:40 +080029#define GPIO_FUNC_MMC1_DAT3 0xD401E094
30#define GPIO_FUNC_MMC1_DAT2 0xD401E098
31#define GPIO_FUNC_MMC1_DAT1 0xD401E09C
32#define GPIO_FUNC_MMC1_DAT0 0xD401E0A0
wangyouqiangb1deff32024-03-05 13:31:27 +080033#define GPIO_FUNC_MMC1_CMD 0xD401E0A4
34#define GPIO_FUNC_MMC1_CLK 0xD401E0A8
35#define GPIO_FUNC_MMC1_CD 0xD401E0AC
b.liu85565a72023-11-09 16:47:40 +080036#define GPIO_FUNC_USB_ID 0xD401E0B0
37#define GPIO_FUNC_PRI_TDI 0xD401E0B4
38#define GPIO_FUNC_PRI_TMS 0xD401E0B8
39#define GPIO_FUNC_PRI_TCK 0xD401E0BC
40#define GPIO_FUNC_PRI_TDO 0xD401E0C0
41#define GPIO_FUNC_QSPI_VMODE_GPIO 0xD401E0C4
42#define GPIO_FUNC_VBUS_DRV 0xD401E0C8
43#define GPIO_FUNC_CLK_REQ 0xD401E0CC
44#define GPIO_FUNC_VCXO_REQ 0xD401E0D4
45#define GPIO_FUNC_VCXO_OUT 0xD401E0D8
wangyouqiangb1deff32024-03-05 13:31:27 +080046
b.liu85565a72023-11-09 16:47:40 +080047#define GPIO_FUNC_GPIO_00 0xD401E0DC
48#define GPIO_FUNC_GPIO_01 0xD401E0E0
49#define GPIO_FUNC_GPIO_02 0xD401E0E4
50#define GPIO_FUNC_GPIO_03 0xD401E0E8
51#define GPIO_FUNC_GPIO_04 0xD401E0EC
52#define GPIO_FUNC_GPIO_05 0xD401E0F0
53#define GPIO_FUNC_GPIO_06 0xD401E0F4
54#define GPIO_FUNC_GPIO_07 0xD401E0F8
55#define GPIO_FUNC_GPIO_08 0xD401E0FC
56#define GPIO_FUNC_GPIO_09 0xD401E100
57#define GPIO_FUNC_GPIO_10 0xD401E104
wangyouqiangb1deff32024-03-05 13:31:27 +080058
b.liu85565a72023-11-09 16:47:40 +080059#define GPIO_FUNC_GPIO_11 0xD401E108
60#define GPIO_FUNC_GPIO_12 0xD401E10C
61#define GPIO_FUNC_GPIO_13 0xD401E110
62#define GPIO_FUNC_GPIO_14 0xD401E114
63#define GPIO_FUNC_GPIO_15 0xD401E118
64#define GPIO_FUNC_GPIO_16 0xD401E11C
65#define GPIO_FUNC_GPIO_17 0xD401E120
66#define GPIO_FUNC_GPIO_18 0xD401E124
67#define GPIO_FUNC_GPIO_19 0xD401E128
68#define GPIO_FUNC_GPIO_20 0xD401E12C
wangyouqiangb1deff32024-03-05 13:31:27 +080069
b.liu85565a72023-11-09 16:47:40 +080070#define GPIO_FUNC_GPIO_21 0xD401E130
71#define GPIO_FUNC_GPIO_22 0xD401E134
72#define GPIO_FUNC_GPIO_23 0xD401E138
73#define GPIO_FUNC_GPIO_24 0xD401E13C
74#define GPIO_FUNC_GPIO_25 0xD401E140
75#define GPIO_FUNC_GPIO_26 0xD401E144
76#define GPIO_FUNC_GPIO_27 0xD401E148
77#define GPIO_FUNC_GPIO_28 0xD401E14C
78#define GPIO_FUNC_GPIO_29 0xD401E150
79#define GPIO_FUNC_GPIO_30 0xD401E154
wangyouqiangb1deff32024-03-05 13:31:27 +080080
b.liu85565a72023-11-09 16:47:40 +080081#define GPIO_FUNC_GPIO_31 0xD401E158
82#define GPIO_FUNC_GPIO_32 0xD401E15C
83#define GPIO_FUNC_GPIO_33 0xD401E160
84#define GPIO_FUNC_GPIO_34 0xD401E164
85#define GPIO_FUNC_GPIO_35 0xD401E168
86#define GPIO_FUNC_GPIO_36 0xD401E16C
wangyouqiangb1deff32024-03-05 13:31:27 +080087#define GPIO_FUNC_GPIO_37 0xD401E170
88#define GPIO_FUNC_GPIO_38 0xD401E174
89#define GPIO_FUNC_GPIO_39 0xD401E178
90#define GPIO_FUNC_GPIO_40 0xD401E17C
91
92#define GPIO_FUNC_GPIO_41 0xD401E180
93#define GPIO_FUNC_GPIO_42 0xD401E184
wangyouqiang7775cbf2023-12-29 16:35:24 +080094#define GPIO_FUNC_GPIO_43 0xD401E188
95#define GPIO_FUNC_GPIO_44 0xD401E18C
96#define GPIO_FUNC_GPIO_45 0xD401E190
97#define GPIO_FUNC_GPIO_46 0xD401E194
98#define GPIO_FUNC_GPIO_47 0xD401E198
99#define GPIO_FUNC_GPIO_48 0xD401E19C
b.liu85565a72023-11-09 16:47:40 +0800100#define GPIO_FUNC_GPIO_49 0xD401E1A0
101#define GPIO_FUNC_GPIO_50 0xD401E1A4
wangyouqiangb1deff32024-03-05 13:31:27 +0800102
b.liu85565a72023-11-09 16:47:40 +0800103#define GPIO_FUNC_GPIO_51 0xD401E1A8
104#define GPIO_FUNC_GPIO_52 0xD401E1AC
105#define GPIO_FUNC_GPIO_53 0xD401E1B0
106#define GPIO_FUNC_GPIO_54 0xD401E1B4
107#define GPIO_FUNC_DVL_0 0xD401E2B4
108#define GPIO_FUNC_DVL_1 0xD401E2B8
109#define GPIO_FUNC_GPIO_69 0xD401E2BC
110#define GPIO_FUNC_GPIO_70 0xD401E2C0
wangyouqiangb1deff32024-03-05 13:31:27 +0800111
b.liu85565a72023-11-09 16:47:40 +0800112#define GPIO_FUNC_QSPI_DAT3 0xD401E2C4
113#define GPIO_FUNC_QSPI_DAT2 0xD401E2C8
114#define GPIO_FUNC_QSPI_DAT1 0xD401E2CC
115#define GPIO_FUNC_QSPI_DAT0 0xD401E2D0
116#define GPIO_FUNC_QSPI_CLK 0xD401E2D4
117#define GPIO_FUNC_QSPI_CS1 0xD401E2D8
118#define GPIO_FUNC_GPIO_77 0xD401E2DC
119#define GPIO_FUNC_GPIO_78 0xD401E2E0
120#define GPIO_FUNC_GPIO_79 0xD401E2E4
121#define GPIO_FUNC_GPIO_80 0xD401E2E8
wangyouqiangb1deff32024-03-05 13:31:27 +0800122
b.liu85565a72023-11-09 16:47:40 +0800123#define GPIO_FUNC_SDIO_DAT3 0xD401E2EC
124#define GPIO_FUNC_SDIO_DAT2 0xD401E2F0
125#define GPIO_FUNC_SDIO_DAT1 0xD401E2F4
126#define GPIO_FUNC_SDIO_DAT0 0xD401E2F8
127#define GPIO_FUNC_SDIO_CMD 0xD401E2FC
128#define GPIO_FUNC_SDIO_CLK 0xD401E300
129#define GPIO_FUNC_GPIO_60 0xD401E304
130#define GPIO_FUNC_USIM_UCLK 0xD401E320
131#define GPIO_FUNC_USIM_UIO 0xD401E324
132#define GPIO_FUNC_USIM_URSTn 0xD401E328
133
wangyouqiang7775cbf2023-12-29 16:35:24 +0800134#define MMC1_DAT3 0x
135
136
b.liu85565a72023-11-09 16:47:40 +0800137
138#define GPIO0_BASE 0xD4019000
139#define GPIO1_BASE 0xD4019004
140#define GPIO2_BASE 0xD4019008
141#define GPIO3_BASE 0xD4019100
142
143struct gpio_register_function
144{
145 int reg;
146 int func_gpio; // 第 [func_gpio] 功能为 GPIO
147};
148
149typedef struct
150{
151 uint16 output_pin;
152 uint16 input_pin;
153 uint8 mbtk_gpio_test_result; // 0 is pass, 1 is low failed, 2 is high failed
154}mbtk_gpio_test_pin_paired;
155
156
157#endif /*__GPIO_DEFINE_H__*/
158