S3C2410_GPIO的一些宏定义文件位置
2011-12-15 15:18
197 查看
自己查找方便,做个记录:
s3c2410_gpio_cfgpin(S3C2410_GPG(0), S3C2410_GPIO_OUTPUT);
s3c2410_gpio_cfgpin()的定义在arch/arm/march-2410/include/mach/gpio-fns.h
S3C2410_GPG()的定义在arch/arm/march-2410/include/mach/gpio-nrs.h
S3C2410_GPIO_OUTPUT的定义在arch/arm/march-2410/include/mach/regs-gpio.h
我要用GPF0~6 和GPG0,则根据头文件
arch/arm/march-2410/include/mach/gpio-nrs.h中
/* GPIO bank sizes */
#define S3C2410_GPIO_A_NR (32)
#define S3C2410_GPIO_B_NR (32)
#define S3C2410_GPIO_C_NR (32)
#define S3C2410_GPIO_D_NR (32)
#define S3C2410_GPIO_E_NR (32)
#define S3C2410_GPIO_F_NR (32)
#define S3C2410_GPIO_G_NR (32)
#define S3C2410_GPIO_H_NR (32)
#define S3C2410_GPIO_J_NR (32) /* technically 16. */
#define S3C2410_GPIO_K_NR (32) /* technically 16. */
#define S3C2410_GPIO_L_NR (32) /* technically 15. */
#define S3C2410_GPIO_M_NR (32) /* technically 2. */
#if CONFIG_S3C_GPIO_SPACE != 0
#error CONFIG_S3C_GPIO_SPACE cannot be zero at the moment
#endif
#define S3C2410_GPIO_NEXT(__gpio) /
((__gpio##_START) + (__gpio##_NR) + CONFIG_S3C_GPIO_SPACE + 0)
//这里的CONFIG_S3C_GPIO_SPAC是内核配置选项,在.config中可以找到,一般配置都是:
CONFIG_S3C_GPIO_SPACE = 0
蓝色字体的意思就是宏定义传递,比如我要用GPG0,则
S3C2410_GPIO_NEXT(S3C2410_GPIO_F) +0 =>
(S3C2410_GPIO_F_START + S3C2410_GPIO_F_NR + CONFIG_S3C_GPIO_SPACE + 0) + 0 =>
这样一步一步传递,可以得出GPG0的地址
所以才有S3C2410_GPG(0)
s3c2410_gpio_cfgpin(S3C2410_GPG(0), S3C2410_GPIO_OUTPUT);
s3c2410_gpio_cfgpin()的定义在arch/arm/march-2410/include/mach/gpio-fns.h
S3C2410_GPG()的定义在arch/arm/march-2410/include/mach/gpio-nrs.h
S3C2410_GPIO_OUTPUT的定义在arch/arm/march-2410/include/mach/regs-gpio.h
我要用GPF0~6 和GPG0,则根据头文件
arch/arm/march-2410/include/mach/gpio-nrs.h中
/* GPIO bank sizes */
#define S3C2410_GPIO_A_NR (32)
#define S3C2410_GPIO_B_NR (32)
#define S3C2410_GPIO_C_NR (32)
#define S3C2410_GPIO_D_NR (32)
#define S3C2410_GPIO_E_NR (32)
#define S3C2410_GPIO_F_NR (32)
#define S3C2410_GPIO_G_NR (32)
#define S3C2410_GPIO_H_NR (32)
#define S3C2410_GPIO_J_NR (32) /* technically 16. */
#define S3C2410_GPIO_K_NR (32) /* technically 16. */
#define S3C2410_GPIO_L_NR (32) /* technically 15. */
#define S3C2410_GPIO_M_NR (32) /* technically 2. */
#if CONFIG_S3C_GPIO_SPACE != 0
#error CONFIG_S3C_GPIO_SPACE cannot be zero at the moment
#endif
#define S3C2410_GPIO_NEXT(__gpio) /
((__gpio##_START) + (__gpio##_NR) + CONFIG_S3C_GPIO_SPACE + 0)
//这里的CONFIG_S3C_GPIO_SPAC是内核配置选项,在.config中可以找到,一般配置都是:
CONFIG_S3C_GPIO_SPACE = 0
蓝色字体的意思就是宏定义传递,比如我要用GPG0,则
S3C2410_GPIO_NEXT(S3C2410_GPIO_F) +0 =>
(S3C2410_GPIO_F_START + S3C2410_GPIO_F_NR + CONFIG_S3C_GPIO_SPACE + 0) + 0 =>
这样一步一步传递,可以得出GPG0的地址
所以才有S3C2410_GPG(0)
相关文章推荐
- s3c2410的相关gpio的位置定义的文件
- mvc一些配置文件的存放位置
- 【Kernel学习】基础篇——01一些标准宏定义和文件include关系
- 一些linux工具在windows版本下的文件放置位置
- GPIO宏定义的位置
- Cocos2dx常用的一些宏定义和头文件
- 【Kernel学习】基础篇——01一些标准宏定义和文件include关系
- 关于MYSQL的配置文件my.cnf 一些存放位置和配置说明
- Linux一些配置文件位置
- pch文件的使用, 头文件使用, 常量(const)的定义,以及一些常用的宏定义
- Linux内核头文件中关于s3c2410 GPIO的宏定义分析
- android 一些文件的位置和作用
- DEDECMS织梦中一些经常需要修改的文件位置
- Android中调用系统摄像并且保存到指定位置的一些问题&Uri转文件路径方法
- Maven pom 文件的一些说明
- SELinux Mysql的error-log文件位置的指定
- Android文件操作的一些小总结
- sybase 日志文件存放位置
- 备份配置及开机日志文件存放位置大全