GT9xx系列------从lk里传递gpio的value到kernel中
2016-04-06 15:04
585 查看
目前由于要针对多种屏幕,所以需要在lk里读取panel id信息传给kernel使用,也就是通过cmd line来做
首先获取gpio信息
lcd_id = (gpio_get(41)<<1) | (gpio_get(48));
这里获取了当前gpio的电平状态
sprintf(cmd_lcd_id, " LCD_ID=%d ", lcd_id);
把值写到cmd_lcd_id里
然后到
Aboot.c (bootloader\lk\app\aboot):extern char cmd_lcd_id[64];
const char *src;
unsigned char *dst;
cmdline_final = (unsigned char*) malloc((cmdline_len + 4) & (~3));
ASSERT(cmdline_final != NULL);
memset((void *)cmdline_final, 0, sizeof(*cmdline_final));
dst = cmdline_final;
cmdline_len += strlen(cmd_lcd_id);
Aboot.c (bootloader\lk\app\aboot): src = cmd_lcd_id;
src = cmd_lcd_id;
if (have_cmdline) --dst;
have_cmdline = 1;
while ((*dst++ = *src++));
然后到了kernel中
char lcd_id[2] = {0};
EXPORT_SYMBOL(lcd_id);
static int get_lcd_id(char *str)
{
strcpy(lcd_id,str);
printk("matt-lcd_id = %s\n ", lcd_id);
return 0;
}
__setup("LCD_ID=", get_lcd_id); //从cmd line中获取参数
然后到具体的driver里使用
extern char asus_lcd_id[2];
ftxxxx_ts->lcd_vendor=lcd_id[0]; //这里传过来的其实是对应的数字的ack||码,也就是说lk里是3的话这边就是3的码0x33.
首先获取gpio信息
lcd_id = (gpio_get(41)<<1) | (gpio_get(48));
这里获取了当前gpio的电平状态
sprintf(cmd_lcd_id, " LCD_ID=%d ", lcd_id);
把值写到cmd_lcd_id里
然后到
Aboot.c (bootloader\lk\app\aboot):extern char cmd_lcd_id[64];
const char *src;
unsigned char *dst;
cmdline_final = (unsigned char*) malloc((cmdline_len + 4) & (~3));
ASSERT(cmdline_final != NULL);
memset((void *)cmdline_final, 0, sizeof(*cmdline_final));
dst = cmdline_final;
cmdline_len += strlen(cmd_lcd_id);
Aboot.c (bootloader\lk\app\aboot): src = cmd_lcd_id;
src = cmd_lcd_id;
if (have_cmdline) --dst;
have_cmdline = 1;
while ((*dst++ = *src++));
然后到了kernel中
char lcd_id[2] = {0};
EXPORT_SYMBOL(lcd_id);
static int get_lcd_id(char *str)
{
strcpy(lcd_id,str);
printk("matt-lcd_id = %s\n ", lcd_id);
return 0;
}
__setup("LCD_ID=", get_lcd_id); //从cmd line中获取参数
然后到具体的driver里使用
extern char asus_lcd_id[2];
ftxxxx_ts->lcd_vendor=lcd_id[0]; //这里传过来的其实是对应的数字的ack||码,也就是说lk里是3的话这边就是3的码0x33.
相关文章推荐
- easyui edatagrid 触发编辑行回掉onEdit
- CADisplayLink结合UIBezierPath的神奇妙用
- FluentData微型ORM
- 一直在Gradle Build Running导致电脑假死的一种解决办法
- UITableViewCell根据内容自动高度
- pcduino v3B 安装ROS
- iOS多设备UI适配规范方案
- zkui的安装与部署
- ios UIScrollView不能响应TouchesBegin:的事件的解决办法
- 利用Qemu Guest Agent (Qemu-ga) 实现 Openstack 监控平台
- NSOperation、NSOperationQueue
- iOS中UISearchBar(搜索框)使用总结
- The JSP specification requires that an attribute name is preceded by whitespace
- hdu 1242 Rescue BFS+优先队列
- 2016.04.06,英语,《Vocabulary Builder》Unit 10
- 部署zookeeper,zkui,kafka
- leetcode之Range Sum Query - Immutab
- Jenkins上svn: E175002: Processing REPORT request response failed问题的排查过程
- iCheck如何获得id与value
- Android MeasuerSpce using