Linux下写驱动控制gpio时,有两种方法:
- 用request_mem_region函数和ioremap等得到控制寄存器的地址,然后用iowrite32函数控制该gpio
- 用gpio_request 和 gpio_set_value函数来控制gpio引脚
- 第二个是内核提供的gpio 子系统,一般就用它。第一个就是你自己实现一个和第二个相似的东西。
Linux3.0内核的操作办法
由于之前移植的是Linux4.0内核,不知道gpio_num无法使用内核提供的GPIO操作没有EXYNOS4_GPL1(0)的宏,所以自己实现一个引脚操作使能LVDS: