aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gdisp/S6D1121
diff options
context:
space:
mode:
authorAbhishek Kumar <abhishek@kumar>2013-03-30 16:08:47 +0530
committerAbhishek Kumar <abhishek@kumar>2013-03-30 16:08:47 +0530
commit674bcb52d2b981b7c3d0b0b313fe6f17b8e4ff1d (patch)
tree22c9ed446c862964e80e2942daf364d8291f6da4 /drivers/gdisp/S6D1121
parentf938c720448b81f53310c9b0aaa8b29d0aee71e9 (diff)
downloaduGFX-674bcb52d2b981b7c3d0b0b313fe6f17b8e4ff1d.tar.gz
uGFX-674bcb52d2b981b7c3d0b0b313fe6f17b8e4ff1d.tar.bz2
uGFX-674bcb52d2b981b7c3d0b0b313fe6f17b8e4ff1d.zip
GPIO interface-related fixes
Adding acquire_bus() and release_bus() so that orientation setting commands are not ignored.
Diffstat (limited to 'drivers/gdisp/S6D1121')
-rw-r--r--drivers/gdisp/S6D1121/gdisp_lld.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/gdisp/S6D1121/gdisp_lld.c b/drivers/gdisp/S6D1121/gdisp_lld.c
index 982e788b..671b8f86 100644
--- a/drivers/gdisp/S6D1121/gdisp_lld.c
+++ b/drivers/gdisp/S6D1121/gdisp_lld.c
@@ -524,26 +524,38 @@ void gdisp_lld_draw_pixel(coord_t x, coord_t y, color_t color) {
return;
switch((gdisp_orientation_t)value) {
case GDISP_ROTATE_0:
+ acquire_bus();
write_reg(0x0001,0x0127);
write_reg(0x03, 0b0011);
+ release_bus();
+
GDISP.Height = GDISP_SCREEN_HEIGHT;
GDISP.Width = GDISP_SCREEN_WIDTH;
break;
case GDISP_ROTATE_90:
+ acquire_bus();
write_reg(0x0001,0x0027);
write_reg(0x0003, 0b1011);
+ release_bus();
+
GDISP.Height = GDISP_SCREEN_WIDTH;
GDISP.Width = GDISP_SCREEN_HEIGHT;
break;
case GDISP_ROTATE_180:
+ acquire_bus();
write_reg(0x0001,0x0127);
write_reg(0x0003, 0b0000);
+ release_bus();
+
GDISP.Height = GDISP_SCREEN_HEIGHT;
GDISP.Width = GDISP_SCREEN_WIDTH;
break;
case GDISP_ROTATE_270:
+ acquire_bus();
write_reg(0x0001,0x0027);
write_reg(0x0003, 0b1000);
+ release_bus();
+
GDISP.Height = GDISP_SCREEN_WIDTH;
GDISP.Width = GDISP_SCREEN_HEIGHT;
break;