GT9xx系列------从lk里传递gpio的value到kernel中

 目前由于要针对多种屏幕,所以需要在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.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值