S3C6410 GPIO 驱动(一) ----引脚配置

1.配置引脚功能

         s3c_gpio_cfgpin(S3C64XX_GPK(0),S3C_GPIO_INPUT) 配置引脚为输出、输入功能等等。

         S3C64XX_GPK(0)是在kernel/arch/arm/mach-s3c64xx/include/mach/gpio.h 当中定义的。其他引脚的类似定义也在这个文件当中。

        S3C_GPIO_INPUT,S3C_GPIO_OUTPUT,S3C_GPIO_SFN(X)定义在kernel/arch/arm/plat-samsung/include/plat/gpio-cfg.h当中

       s3c_gpio_getcfg(S3C64XX_GPK(0)) 获取引脚状态输出、输入功能等。

      s3c_gpio_setpull(S3C64XX_GPK(0),S3C_GPIO_PULL_NONE)  上拉、下拉、不拉电阻

     S3C_GPIO_PULL_NONE、S3C_GPIO_PULL_DOWN、S3C_GPIO_PULL_UP 定义在kernel/arch/arm/plat-samsung/include/plat/gpio-cfg.h当中

    s3c_gpio_cfgpin()  s3c_gpio_getcfg() s3c_gpio_setpull() 都定义在kernel/arch/arm/plat-samsung/include/plat/gpio-cfg.h当中

 

2 读取功能引脚

    tmp = readl(S3C64XX_GPKDAT)  读取引脚状态

   S3C64XX_GPKDAT S3C64XX_GPKCON S3C64XX_GPKCON1等都定义在kernel/arch/arm/mach-s3c64xx/include/mach/gpio-bank-k.h当中

   writel(tmp,S3C64XX_GPKDAT)  写入引脚状态

 

3相关头文件

  S3C64XX_VA_GPIO 定义在kernel/arch/arm/mach-s3c64xx/include/mach/map.h当中

witlel() readl() 定义在asm/io.h 当中

 

你可能感兴趣的:(c,input,UP,output)