当前位置: 技术问答>linux和unix
framebuffer驱动
来源: 互联网 发布时间:2016-05-05
本文导语: 各位大侠,我现在加一个基于framebuffer的LCD驱动,驱动起来后,屏上有好几个输入光标在闪烁,输入的时候,相应的几个光标处都有输出,太乱了,(我的这个驱动以前用于640*480的LCD都没问题,现在只是修改一下用于80...
各位大侠,我现在加一个基于framebuffer的LCD驱动,驱动起来后,屏上有好几个输入光标在闪烁,输入的时候,相应的几个光标处都有输出,太乱了,(我的这个驱动以前用于640*480的LCD都没问题,现在只是修改一下用于800*600的LCD,现在的LCD改用了LVDS接口的,所以硬件上就是多了一个LVDS驱动芯片,在驱动程序上我修噶了LCD控制器s1d13506的一些寄存器,
宏定义修改:S1D_DISPLAY_WIDTH由640改成了800, S1D_DISPLAY_HEIGHT由480改成了600, S1D_DISPLAY_SCANLINE_BYTES由1280改成了1600,
寄存器修改为:{0x0032,0x63}, // LCD Horizontal Display Width Register
{0x0034,0x1F}, // LCD Horizontal Non-Display Period Register
{0x0035,0x04/*0x00*/}, // TFT FPLINE Start Position Register
{0x0036,0x0F/*0x04*/}, // TFT FPLINE Pulse Width Register
{0x0038,0x57}, // LCD Vertical Display Height Register 0
{0x0039,0x02}, // LCD Vertical Display Height Register 1
{0x003A,0x1B}, // LCD Vertical Non-Display Period Register
{0x003B,0x00/*0x0A*/}, // TFT FPFRAME Start Position Register
{0x003C,0x03/*0x01*/}, // TFT FPFRAME Pulse Width Register
{0x0046,0x20}, // LCD Memory Address Offset Register 0
{0x0047,0x03}, // LCD Memory Address Offset Register 1
),
是不是驱动程序本身还有那些关键的地方需要修改啊?在网上也有一个网友说这可能是控制台切换出现的问题,有清楚的吗?或者是其它什么原因?哪位大侠能给指点指点啊!先谢了!
宏定义修改:S1D_DISPLAY_WIDTH由640改成了800, S1D_DISPLAY_HEIGHT由480改成了600, S1D_DISPLAY_SCANLINE_BYTES由1280改成了1600,
寄存器修改为:{0x0032,0x63}, // LCD Horizontal Display Width Register
{0x0034,0x1F}, // LCD Horizontal Non-Display Period Register
{0x0035,0x04/*0x00*/}, // TFT FPLINE Start Position Register
{0x0036,0x0F/*0x04*/}, // TFT FPLINE Pulse Width Register
{0x0038,0x57}, // LCD Vertical Display Height Register 0
{0x0039,0x02}, // LCD Vertical Display Height Register 1
{0x003A,0x1B}, // LCD Vertical Non-Display Period Register
{0x003B,0x00/*0x0A*/}, // TFT FPFRAME Start Position Register
{0x003C,0x03/*0x01*/}, // TFT FPFRAME Pulse Width Register
{0x0046,0x20}, // LCD Memory Address Offset Register 0
{0x0047,0x03}, // LCD Memory Address Offset Register 1
),
是不是驱动程序本身还有那些关键的地方需要修改啊?在网上也有一个网友说这可能是控制台切换出现的问题,有清楚的吗?或者是其它什么原因?哪位大侠能给指点指点啊!先谢了!
|
原因不是似乎不太容易找? 你可以尝试先把 console的支持关闭试试, LCD其他显示都正常?