打印

210的tft做硬件把数据线画反了,rgb 做成bgr了 求助内核改哪里能调整

[复制链接]
2288|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ADu_MSN|  楼主 | 2013-1-29 10:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
修改以下函数,但只能修改是引导正确。进入安卓后颜色还是不对,求助大侠给予帮助。叩首再叩首!
static void s3cfb_set_bitfield(struct fb_var_screeninfo *var)
{
    switch (var->bits_per_pixel) {
    case 16:
        if (var->transp.length == 1) {
            var->red.offset = 10;
            var->red.length = 5;
            var->green.offset = 5;
            var->green.length = 5;
            var->blue.offset = 0;
            var->blue.length = 5;
            var->transp.offset = 15;
        } else if (var->transp.length == 4) {
            var->red.offset = 8;
            var->red.length = 4;
            var->green.offset = 4;
            var->green.length = 4;
            var->blue.offset = 0;
            var->blue.length = 4;
            var->transp.offset = 12;
        } else {
            var->red.offset = 11;
            var->red.length = 5;
            var->green.offset = 5;
            var->green.length = 6;
            var->blue.offset = 0;
            var->blue.length = 5;
            var->transp.offset = 0;
        }
        break;

    case 24:
        var->red.offset = 16;
        var->red.length = 8;
        var->green.offset = 8;
        var->green.length = 8;
        var->blue.offset = 0;
        var->blue.length = 8;
        var->transp.offset = 0;
        var->transp.length = 0;
        break;

    case 32:
        var->red.offset = 16;
        var->red.length = 8;
        var->green.offset = 8;
        var->green.length = 8;
        var->blue.offset = 0;
        var->blue.length = 8;
        var->transp.offset = 24;
        var->transp.length = 8;

        break;
    }
}

相关帖子

沙发
shell.albert| | 2013-1-29 11:11 | 只看该作者
那你不是在这里修改啊。
应该在底层的具体到寄存器的操作函数中修改。
类似于
#define R P1
#define G P2
#define B P3
应该修改这里才对啊。
就是修改对应的GPIO PIN。具体在哪里我还真不知道。
你可以找找TFT的底层驱动程序文件看看,里面肯定有的。
好好分析一下。

使用特权

评论回复
板凳
ADu_MSN|  楼主 | 2013-1-29 11:17 | 只看该作者
shell.albert 发表于 2013-1-29 11:11
那你不是在这里修改啊。
应该在底层的具体到寄存器的操作函数中修改。
类似于

感谢您的回复,但不正确
我使用的安卓系统,应是在驱动程序的摸个部分直接调一下就行。我用的是rgb接口的处理器。
三星Samsung S5PV210,

使用特权

评论回复
地板
shell.albert| | 2013-1-29 11:28 | 只看该作者
Android没有搞过。
现在只做Linux,不过,应该并不多。Android based on linux
你这种情况,肯定要修改驱动程序啊。
驱动程序驱动具体的PIN。

使用特权

评论回复
5
ADu_MSN|  楼主 | 2013-1-29 11:42 | 只看该作者
shell.albert 发表于 2013-1-29 11:28
Android没有搞过。
现在只做Linux,不过,应该并不多。Android based on linux
你这种情况,肯定要修改驱动 ...

感谢您的回复
rgb对应内存地址三个字节,只要把写数据的过程倒过来就可以了
涉及到实现是驱动程序的一个细节,不知道在那里修改。不用去修改具体的iopin脚定义。

使用特权

评论回复
6
llf021421| | 2013-1-29 11:51 | 只看该作者

在210的显示控制器的寄存器上可以设置数据的rgb顺序,你看一下数据手册1213页就知道了

使用特权

评论回复
7
ADu_MSN|  楼主 | 2013-1-29 12:01 | 只看该作者
llf021421 发表于 2013-1-29 11:51
在210的显示控制器的寄存器上可以设置数据的rgb顺序,你看一下数据手册1213页就知道了 ...

大侠就是大侠,感谢您的回复。
和我预想的改驱动不太一样,还是叩首感谢!
下面是我还想知道可以不可以改驱动实现,而不改初始化实现。
我有问题,其实实现就好,小虫我想多了。

使用特权

评论回复
8
llf021421| | 2013-1-29 13:42 | 只看该作者
这个我不太清楚 ,我使用的是wince系统,没有使用用andriod

使用特权

评论回复
9
ADu_MSN|  楼主 | 2013-1-31 08:43 | 只看该作者
感谢您的回复,谢谢!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

5

帖子

1

粉丝