68 lines
1.3 KiB
C
Executable File
68 lines
1.3 KiB
C
Executable File
/*
|
|
* Copyright (c) 2022 rockchip
|
|
*
|
|
*/
|
|
#ifndef _GPIO_H_
|
|
#define _GPIO_H_
|
|
|
|
#include <stdbool.h>
|
|
#include <stdint.h>
|
|
|
|
#define RK_GPIO0 0
|
|
#define RK_GPIO1 1
|
|
#define RK_GPIO2 2
|
|
#define RK_GPIO3 3
|
|
#define RK_GPIO4 4
|
|
#define RK_GPIO6 6
|
|
|
|
#define RK_PA0 0
|
|
#define RK_PA1 1
|
|
#define RK_PA2 2
|
|
#define RK_PA3 3
|
|
#define RK_PA4 4
|
|
#define RK_PA5 5
|
|
#define RK_PA6 6
|
|
#define RK_PA7 7
|
|
#define RK_PB0 8
|
|
#define RK_PB1 9
|
|
#define RK_PB2 10
|
|
#define RK_PB3 11
|
|
#define RK_PB4 12
|
|
#define RK_PB5 13
|
|
#define RK_PB6 14
|
|
#define RK_PB7 15
|
|
#define RK_PC0 16
|
|
#define RK_PC1 17
|
|
#define RK_PC2 18
|
|
#define RK_PC3 19
|
|
#define RK_PC4 20
|
|
#define RK_PC5 21
|
|
#define RK_PC6 22
|
|
#define RK_PC7 23
|
|
#define RK_PD0 24
|
|
#define RK_PD1 25
|
|
#define RK_PD2 26
|
|
#define RK_PD3 27
|
|
#define RK_PD4 28
|
|
#define RK_PD5 29
|
|
#define RK_PD6 30
|
|
#define RK_PD7 31
|
|
|
|
#define GPIO(bank, pin) ((((bank) * 32) + (pin)))
|
|
|
|
enum gpio_direction
|
|
{
|
|
GPIO_DIRECTION_OUTPUT = 0,
|
|
GPIO_DIRECTION_INPUT,
|
|
};
|
|
|
|
int rk_gpio_export(uint32_t gpio);
|
|
int rk_gpio_unexport(uint32_t gpio);
|
|
int rk_gpio_set_direction(uint32_t gpio, enum gpio_direction input);
|
|
int rk_gpio_get_direction(uint32_t gpio);
|
|
int rk_gpio_export_direction(uint32_t gpio, enum gpio_direction input);
|
|
int rk_gpio_set_value(uint32_t gpio, int value);
|
|
int rk_gpio_get_value(uint32_t gpio);
|
|
|
|
#endif
|