1、打开~/3588-linux/u-boot/arch/arm/mach-rockchip/board.c
__weak int rk_board_init(void)
{
gpio_request(32,"gpio_3v3_en");
gpio_direction_output(32,1);
gpio_request(128,"gpio_24v_en");
gpio_direction_output(128,1);
gpio_request(129,"gpio_5v_en");
gpio_direction_output(129,1);
gpio_request(141,"gpio_12v_en");
gpio_direction_output(32,1);
gpio_request(131,"gpio_5v_usb_en");
gpio_direction_output(131,1);
//pwm pow+
gpio_request(121,"BKL_UP_L");
gpio_direction_input(121);
//int blk_up=gpio_get_value(121);
//printf("blk_up:%d\n",blk_up);
//pwm pow-
gpio_request(35,"BKL_DOWN_L");
gpio_direction_input(35);
//int blk_down=gpio_get_value(35);
//printf("blk_down:%d\n",blk_down);
//printf("==========lvds_gpio======\n");
#if 0
gpio_request(130,"rk628_enable_gpios");
gpio_direction_output(130,1);
gpio_request(136,"rk628_reset_gpios");
gpio_direction_output(136,0);
mdelay(1);
gpio_direction_output(136,1);
mdelay(1);
gpio_direction_output(136,0);
#endif
return 0;
}
2、GPIO计算
例如:gpio32对应GPIO1_PA0。
GPIO*的需乘32
PA 需乘8,PA,PB,PC,PD对应{0 , 1 , 2 , 3 }
0直接输出0
(GPIO* x 32) + (0 x 8 ) + 0 = 32