ARM技术论坛
直播中

五斤麻辣油

8年用户 1290经验值
擅长:电源/新能源
私信 关注
[问答]

am335x中的GPIO驱动文件是怎样进行分配的

GPIO
User Layer   write read of /sys/class/gpio
               GPIO Chip
               GPIO   drivers/gpio/gpio-omap.c   /drivers/gpio/gpiolib.c
               SoC  GPIO Controller
这是gpio自顶向下的分层
GPIO 驱动文件在内核文件的drivers/char/am335x_gpio.c文件中里面包含了读写功能
看具体GPIO的分配情况在内核文件的arch/arm/mach-omap2/board-am335xevm.c文件中
由于需要gpmc_a6,gpmc_a7作为gpio口则需要在这个文件的static struct pinmux_config gpio_pin_mux[]数组中添加{"gpmc_a6.gpio1_22",OMAP_MUX_MODE7 | AM33XX_PIN_INPUT},
{"gpmc_a7.gpio1_23",OMAP_MUX_MODE7 |AM33XX_PIN_INPUT},
根据芯片手册对应好IO口,将gpmc_a6,gpmc_a7配置成IO口功能。配置完成后重新编译内核并烧写。
有些被其他占用了就不能配置成IO口,如nandflash已经占用了一些如gpmc_ad0.gpmc_ad0,所以不能再重新配置成gpio口的模式。因此后续根据自己的需要已经引脚占用情况,合理分配。

原作者:weixin_39939425

更多回帖

发帖
×
20
完善资料,
赚取积分