diff options
author | Abhishek Kumar <abhishek@kumar> | 2013-03-30 16:08:47 +0530 |
---|---|---|
committer | Abhishek Kumar <abhishek@kumar> | 2013-03-30 16:08:47 +0530 |
commit | 674bcb52d2b981b7c3d0b0b313fe6f17b8e4ff1d (patch) | |
tree | 22c9ed446c862964e80e2942daf364d8291f6da4 /drivers/gdisp/S6D1121 | |
parent | f938c720448b81f53310c9b0aaa8b29d0aee71e9 (diff) | |
download | uGFX-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.c | 12 |
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; |