diff options
Diffstat (limited to 'drivers/gdisp/S6D1121/gdisp_lld.c')
-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; |