56 lines
1.7 KiB
C
56 lines
1.7 KiB
C
/*
|
|
* Copyright (c) 2023 ENE Technology Inc.
|
|
*
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
#ifndef ENE_KB1200_GPIO_H
|
|
#define ENE_KB1200_GPIO_H
|
|
|
|
/**
|
|
* Structure type to access General Purpose Input/Output (GPIO).
|
|
*/
|
|
struct gpio_regs {
|
|
volatile uint32_t GPIOFS; /*Function Selection Register */
|
|
volatile uint32_t Reserved1[3];
|
|
volatile uint32_t GPIOOE; /*Output Enable Register */
|
|
volatile uint32_t Reserved2[3];
|
|
volatile uint32_t GPIOD; /*Output Data Register */
|
|
volatile uint32_t Reserved3[3];
|
|
volatile uint32_t GPIOIN; /*Input Data Register */
|
|
volatile uint32_t Reserved4[3];
|
|
volatile uint32_t GPIOPU; /*Pull Up Register */
|
|
volatile uint32_t Reserved5[3];
|
|
volatile uint32_t GPIOOD; /*Open Drain Register */
|
|
volatile uint32_t Reserved6[3];
|
|
volatile uint32_t GPIOIE; /*Input Enable Register */
|
|
volatile uint32_t Reserved7[3];
|
|
volatile uint32_t GPIODC; /*Driving Control Register */
|
|
volatile uint32_t Reserved8[3];
|
|
volatile uint32_t GPIOLV; /*Low Voltage Mode Enable Register */
|
|
volatile uint32_t Reserved9[3];
|
|
volatile uint32_t GPIOPD; /*Pull Down Register */
|
|
volatile uint32_t Reserved10[3];
|
|
volatile uint32_t GPIOFL; /*Function Lock Register */
|
|
volatile uint32_t Reserved11[3];
|
|
};
|
|
|
|
#define NUM_KB1200_GPIO_PORTS 4
|
|
|
|
/*-- Constant Define --------------------------------------------*/
|
|
#define GPIO00_PWMLED0_PWM8 0x00
|
|
#define GPIO01_SERRXD1_UARTSIN 0x01
|
|
#define GPIO03_SERTXD1_UARTSOUT 0x03
|
|
#define GPIO22_ESBDAT_PWM9 0x22
|
|
#define GPIO28_32KOUT_SERCLK2 0x28
|
|
#define GPIO36_UARTSOUT_SERTXD2 0x36
|
|
#define GPIO5C_KSO6_P80DAT 0x5C
|
|
#define GPIO5D_KSO7_P80CLK 0x5D
|
|
#define GPIO5E_KSO8_SERRXD1 0x5E
|
|
#define GPIO5F_KSO9_SERTXD1 0x5F
|
|
#define GPIO71_SDA8_UARTRTS 0x71
|
|
#define GPIO38_SCL4_PWM1 0x38
|
|
|
|
|
|
#endif /* ENE_KB1200_GPIO_H */
|