RK方案有时一开机要设置GPIO口点平
有时候RK方案,需要一开机就设置GPIO口电平,需要在uboot阶段,board.c
#define GPIO_BANK0 0
#define GPIO_BANK1 32
#define GPIO_BANK2 64
#define GPIO_BANK3 96
#define GPIO_BANK4 128
#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_USB_SWITCH (GPIO_BANK0 + RK_PC5) // 3566 usb switch
#define GPIO_WIFI_PWR (GPIO_BANK0 + RK_PA0) // 3566 wifi power
#define GPIO_WIFI_RET (GPIO_BANK0 + RK_PD3) // 3566 wifi
#define GPIO_LED_W_PWR_DOWN (GPIO_BANK0 + RK_PA5) // back white LED
void init_customer_gpio(void)
{
gpio_request(GPIO_USB_SWITCH, "GPIO_USB_SWITCH");
gpio_direction_output(GPIO_USB_SWITCH, 1);
gpio_request(GPIO_WIFI_PWR, "GPIO_WIFI_PWR");
gpio_direction_output(GPIO_WIFI_PWR, 0);
gpio_request(GPIO_WIFI_RET, "GPIO_WIFI_RET");
gpio_direction_output(GPIO_WIFI_RET, 0);
gpio_request(GPIO_LED_W_PWR_DOWN, "GPIO_LED_W_PWR_DOWN");
gpio_direction_output(GPIO_LED_W_PWR_DOWN, 1);
}
在board_init 函数下面添加:init_customer_gpio