| b.liu | 85565a7 | 2023-11-09 16:47:40 +0800 | [diff] [blame] | 1 | /** | 
|  | 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 |  | 
|  | 14 | typedef unsigned int uint32; /* Unsigned 32 bit value */ | 
|  | 15 | typedef unsigned short uint16; /* Unsigned 16 bit value */ | 
|  | 16 | typedef unsigned char uint8; /* Unsigned 8  bit value */ | 
|  | 17 |  | 
|  | 18 |  | 
|  | 19 | /* | 
|  | 20 | 4组GPIO共128个GPIO,分别从GPIO_0到GPIO_127 | 
|  | 21 | GPIO22位于0xd4019000这一组的BIT22 | 
|  | 22 |  | 
|  | 23 | GPIO0_BASE 0xD4019000 | 
|  | 24 | GPIO1_BASE 0xD4019004 | 
|  | 25 | GPIO2_BASE 0xD4019008 | 
|  | 26 | GPIO3_BASE 0xD4019100 | 
|  | 27 | */ | 
| b.liu | 85565a7 | 2023-11-09 16:47:40 +0800 | [diff] [blame] | 28 |  | 
| b.liu | 85565a7 | 2023-11-09 16:47:40 +0800 | [diff] [blame] | 29 | #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 | 
| wangyouqiang | b1deff3 | 2024-03-05 13:31:27 +0800 | [diff] [blame] | 33 | #define  GPIO_FUNC_MMC1_CMD	    0xD401E0A4 | 
|  | 34 | #define  GPIO_FUNC_MMC1_CLK	    0xD401E0A8 | 
|  | 35 | #define  GPIO_FUNC_MMC1_CD	    0xD401E0AC | 
| b.liu | 85565a7 | 2023-11-09 16:47:40 +0800 | [diff] [blame] | 36 | #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 | 
| wangyouqiang | b1deff3 | 2024-03-05 13:31:27 +0800 | [diff] [blame] | 46 |  | 
| b.liu | 85565a7 | 2023-11-09 16:47:40 +0800 | [diff] [blame] | 47 | #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 | 
| wangyouqiang | b1deff3 | 2024-03-05 13:31:27 +0800 | [diff] [blame] | 58 |  | 
| b.liu | 85565a7 | 2023-11-09 16:47:40 +0800 | [diff] [blame] | 59 | #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 | 
| wangyouqiang | b1deff3 | 2024-03-05 13:31:27 +0800 | [diff] [blame] | 69 |  | 
| b.liu | 85565a7 | 2023-11-09 16:47:40 +0800 | [diff] [blame] | 70 | #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 | 
| wangyouqiang | b1deff3 | 2024-03-05 13:31:27 +0800 | [diff] [blame] | 80 |  | 
| b.liu | 85565a7 | 2023-11-09 16:47:40 +0800 | [diff] [blame] | 81 | #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 | 
| wangyouqiang | b1deff3 | 2024-03-05 13:31:27 +0800 | [diff] [blame] | 87 | #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 | 
| wangyouqiang | 7775cbf | 2023-12-29 16:35:24 +0800 | [diff] [blame] | 94 | #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.liu | 85565a7 | 2023-11-09 16:47:40 +0800 | [diff] [blame] | 100 | #define  GPIO_FUNC_GPIO_49	0xD401E1A0 | 
|  | 101 | #define  GPIO_FUNC_GPIO_50	0xD401E1A4 | 
| wangyouqiang | b1deff3 | 2024-03-05 13:31:27 +0800 | [diff] [blame] | 102 |  | 
| b.liu | 85565a7 | 2023-11-09 16:47:40 +0800 | [diff] [blame] | 103 | #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 | 
| wangyouqiang | b1deff3 | 2024-03-05 13:31:27 +0800 | [diff] [blame] | 111 |  | 
| b.liu | 85565a7 | 2023-11-09 16:47:40 +0800 | [diff] [blame] | 112 | #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 | 
| wangyouqiang | b1deff3 | 2024-03-05 13:31:27 +0800 | [diff] [blame] | 122 |  | 
| b.liu | 85565a7 | 2023-11-09 16:47:40 +0800 | [diff] [blame] | 123 | #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 |  | 
| wangyouqiang | 7775cbf | 2023-12-29 16:35:24 +0800 | [diff] [blame] | 134 | #define  MMC1_DAT3  0x | 
|  | 135 |  | 
|  | 136 |  | 
| b.liu | 85565a7 | 2023-11-09 16:47:40 +0800 | [diff] [blame] | 137 |  | 
|  | 138 | #define  GPIO0_BASE 0xD4019000 | 
|  | 139 | #define  GPIO1_BASE 0xD4019004 | 
|  | 140 | #define  GPIO2_BASE 0xD4019008 | 
|  | 141 | #define  GPIO3_BASE 0xD4019100 | 
|  | 142 |  | 
|  | 143 | struct gpio_register_function | 
|  | 144 | { | 
|  | 145 | int  reg; | 
|  | 146 | int  func_gpio; // 第 [func_gpio] 功能为 GPIO | 
|  | 147 | }; | 
|  | 148 |  | 
|  | 149 | typedef 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 |  | 
| gy.tang | 71ea7ff | 2024-06-21 16:01:56 +0800 | [diff] [blame] | 157 | typedef struct | 
|  | 158 | { | 
|  | 159 | uint16 output_pin; | 
|  | 160 | uint16 output_gpio; | 
|  | 161 | uint16 input_gpio; | 
|  | 162 | uint16 input_pin; | 
|  | 163 | uint8 mbtk_gpio_test_result; // 0 is pass, 1 is low failed, 2 is high failed | 
|  | 164 | }mbtk_gpio_paired_info_struct; | 
|  | 165 |  | 
| b.liu | 85565a7 | 2023-11-09 16:47:40 +0800 | [diff] [blame] | 166 | #endif /*__GPIO_DEFINE_H__*/ | 
|  | 167 |  |