1 /* 2 * Copyright (c) 2023 Realtek, SIBG-SD7 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 */ 6 7 #ifndef ZEPHYR_SOC_REALTEK_RTS5912_REG_GPIO_H 8 #define ZEPHYR_SOC_REALTEK_RTS5912_REG_GPIO_H 9 10 /* 11 * @brief GPIO Controller (GPIO) 12 */ 13 14 typedef struct { 15 volatile uint32_t GCR[132]; 16 } GPIO_Type; 17 18 /* GCR */ 19 #define GPIO_GCR_DIR_Pos (0UL) 20 #define GPIO_GCR_DIR_Msk BIT(GPIO_GCR_DIR_Pos) 21 #define GPIO_GCR_INDETEN_Pos (1UL) 22 #define GPIO_GCR_INDETEN_Msk BIT(GPIO_GCR_INDETEN_Pos) 23 #define GPIO_GCR_INVOLMD_Pos (2UL) 24 #define GPIO_GCR_INVOLMD_Msk BIT(GPIO_GCR_INVOLMD_Pos) 25 #define GPIO_GCR_PINSTS_Pos (3UL) 26 #define GPIO_GCR_PINSTS_Msk BIT(GPIO_GCR_PINSTS_Pos) 27 #define GPIO_GCR_MFCTRL_Pos (8UL) 28 #define GPIO_GCR_MFCTRL_Msk GENMASK(10, 8) 29 #define GPIO_GCR_OUTDRV_Pos (11UL) 30 #define GPIO_GCR_OUTDRV_Msk BIT(GPIO_GCR_OUTDRV_Pos) 31 #define GPIO_GCR_SLEWRATE_Pos (12UL) 32 #define GPIO_GCR_SLEWRATE_Msk BIT(GPIO_GCR_SLEWRATE_Pos) 33 #define GPIO_GCR_PULLDWEN_Pos (13UL) 34 #define GPIO_GCR_PULLDWEN_Msk BIT(GPIO_GCR_PULLDWEN_Pos) 35 #define GPIO_GCR_PULLUPEN_Pos (14UL) 36 #define GPIO_GCR_PULLUPEN_Msk BIT(GPIO_GCR_PULLUPEN_Pos) 37 #define GPIO_GCR_SCHEN_Pos (15UL) 38 #define GPIO_GCR_SCHEN_Msk BIT(GPIO_GCR_SCHEN_Pos) 39 #define GPIO_GCR_OUTMD_Pos (16UL) 40 #define GPIO_GCR_OUTMD_Msk BIT(GPIO_GCR_OUTMD_Pos) 41 #define GPIO_GCR_OUTCTRL_Pos (17UL) 42 #define GPIO_GCR_OUTCTRL_Msk BIT(GPIO_GCR_OUTCTRL_Pos) 43 #define GPIO_GCR_INTCTRL_Pos (24UL) 44 #define GPIO_GCR_INTCTRL_Msk GENMASK(26, 24) 45 #define GPIO_GCR_INTEN_Pos (28UL) 46 #define GPIO_GCR_INTEN_Msk BIT(GPIO_GCR_INTEN_Pos) 47 #define GPIO_GCR_INTSTS_Pos (31UL) 48 #define GPIO_GCR_INTSTS_Msk BIT(GPIO_GCR_INTSTS_Pos) 49 50 #endif /* ZEPHYR_SOC_REALTEK_RTS5912_REG_GPIO_H */ 51