提交 be077edb 编写于 作者: J Johannes H. Jensen 提交者: Greg Kroah-Hartman

staging: fbtft: fb_ssd1331: fix mirrored display

When the row scan order is reversed (the default) we also need to
reverse the column scan order. This was not done previously, resulting
in a mirrored display.

Also add support for 180 degree display rotation, in which case simply
disable reversed row and column scan order.

Tested on an Adafruit 0.96" mini Color OLED display.
Signed-off-by: NJohannes H. Jensen <joh@pseudoberries.com>
Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
上级 0088d782
...@@ -26,7 +26,13 @@ static int init_display(struct fbtft_par *par) ...@@ -26,7 +26,13 @@ static int init_display(struct fbtft_par *par)
par->fbtftops.reset(par); par->fbtftops.reset(par);
write_reg(par, 0xae); /* Display Off */ write_reg(par, 0xae); /* Display Off */
write_reg(par, 0xa0, 0x70 | (par->bgr << 2)); /* Set Colour Depth */
/* Set Column Address Mapping, COM Scan Direction and Colour Depth */
if (par->info->var.rotate == 180)
write_reg(par, 0xa0, 0x60 | (par->bgr << 2));
else
write_reg(par, 0xa0, 0x72 | (par->bgr << 2));
write_reg(par, 0x72); /* RGB colour */ write_reg(par, 0x72); /* RGB colour */
write_reg(par, 0xa1, 0x00); /* Set Display Start Line */ write_reg(par, 0xa1, 0x00); /* Set Display Start Line */
write_reg(par, 0xa2, 0x00); /* Set Display Offset */ write_reg(par, 0xa2, 0x00); /* Set Display Offset */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册