diff options
Diffstat (limited to 'firmware/target/mips')
-rw-r--r-- | firmware/target/mips/ingenic_jz47xx/onda_vx747/lcd-onda_vx747.c | 139 |
1 files changed, 70 insertions, 69 deletions
diff --git a/firmware/target/mips/ingenic_jz47xx/onda_vx747/lcd-onda_vx747.c b/firmware/target/mips/ingenic_jz47xx/onda_vx747/lcd-onda_vx747.c index d46cee6884..05e4d3a9fc 100644 --- a/firmware/target/mips/ingenic_jz47xx/onda_vx747/lcd-onda_vx747.c +++ b/firmware/target/mips/ingenic_jz47xx/onda_vx747/lcd-onda_vx747.c | |||
@@ -21,6 +21,7 @@ | |||
21 | 21 | ||
22 | #include "config.h" | 22 | #include "config.h" |
23 | #include "jz4740.h" | 23 | #include "jz4740.h" |
24 | #include "r61509.h" | ||
24 | #include "lcd-target.h" | 25 | #include "lcd-target.h" |
25 | 26 | ||
26 | #define PIN_CS_N (32*1+17) /* Chip select */ | 27 | #define PIN_CS_N (32*1+17) /* Chip select */ |
@@ -60,81 +61,81 @@ static void _display_on(void) | |||
60 | { | 61 | { |
61 | int i; | 62 | int i; |
62 | 63 | ||
63 | SLCD_SEND_COMMAND(0x600, 1); | 64 | SLCD_SEND_COMMAND(REG_SOFT_RESET, SOFT_RESET_EN); |
64 | SLEEP(700000); | 65 | SLEEP(700000); |
65 | SLCD_SEND_COMMAND(0x600, 0); | 66 | SLCD_SEND_COMMAND(REG_SOFT_RESET, SOFT_RESET_DIS); |
66 | SLEEP(700000); | 67 | SLEEP(700000); |
67 | SLCD_SEND_COMMAND(0x606, 0); | 68 | SLCD_SEND_COMMAND(REG_ENDIAN_CTRL, 0); |
68 | 69 | ||
69 | SLCD_SEND_COMMAND(1, 0x100); | 70 | SLCD_SEND_COMMAND(REG_DRIVER_OUTPUT, 0x100); |
70 | SLCD_SEND_COMMAND(2, 0x100); | 71 | SLCD_SEND_COMMAND(REG_LCD_DR_WAVE_CTRL, 0x100); |
71 | SLCD_SEND_COMMAND(3, 0x1028); | 72 | SLCD_SEND_COMMAND(REG_ENTRY_MODE, 0x1028); |
72 | SLCD_SEND_COMMAND(8, 0x503); | 73 | SLCD_SEND_COMMAND(REG_DISP_CTRL2, 0x503); |
73 | SLCD_SEND_COMMAND(9, 1); | 74 | SLCD_SEND_COMMAND(REG_DISP_CTRL3, 1); |
74 | SLCD_SEND_COMMAND(0xB, 0x10); | 75 | SLCD_SEND_COMMAND(REG_LPCTRL, 0x10); |
75 | SLCD_SEND_COMMAND(0xC, 0); | 76 | SLCD_SEND_COMMAND(REG_EXT_DISP_CTRL1, 0); |
76 | SLCD_SEND_COMMAND(0xF, 0); | 77 | SLCD_SEND_COMMAND(REG_EXT_DISP_CTRL2, 0); |
77 | SLCD_SEND_COMMAND(7, 1); | 78 | SLCD_SEND_COMMAND(REG_DISP_CTRL1, 1); |
78 | SLCD_SEND_COMMAND(0x10, 0x12); | 79 | SLCD_SEND_COMMAND(REG_PAN_INTF_CTRL1, 0x12); |
79 | SLCD_SEND_COMMAND(0x11, 0x202); | 80 | SLCD_SEND_COMMAND(REG_PAN_INTF_CTRL2, 0x202); |
80 | SLCD_SEND_COMMAND(0x12, 0x300); | 81 | SLCD_SEND_COMMAND(REG_PAN_INTF_CTRL3, 0x300); |
81 | SLCD_SEND_COMMAND(0x20, 0x21e); | 82 | SLCD_SEND_COMMAND(REG_PAN_INTF_CTRL4, 0x21e); |
82 | SLCD_SEND_COMMAND(0x21, 0x202); | 83 | SLCD_SEND_COMMAND(REG_PAN_INTF_CTRL5, 0x202); |
83 | SLCD_SEND_COMMAND(0x22, 0x100); | 84 | SLCD_SEND_COMMAND(REG_PAN_INTF_CTRL6, 0x100); |
84 | SLCD_SEND_COMMAND(0x90, 0x8000); | 85 | SLCD_SEND_COMMAND(REG_FRM_MRKR_CTRL, 0x8000); |
85 | SLCD_SEND_COMMAND(0x100, 0x16b0); | 86 | SLCD_SEND_COMMAND(REG_PWR_CTRL1, 0x16b0); |
86 | SLCD_SEND_COMMAND(0x101, 0x147); | 87 | SLCD_SEND_COMMAND(REG_PWR_CTRL2, 0x147); |
87 | SLCD_SEND_COMMAND(0x102, 0x1bd); | 88 | SLCD_SEND_COMMAND(REG_PWR_CTRL3, 0x1bd); |
88 | SLCD_SEND_COMMAND(0x103, 0x2f00); | 89 | SLCD_SEND_COMMAND(REG_PWR_CTRL4, 0x2f00); |
89 | SLCD_SEND_COMMAND(0x107, 0); | 90 | SLCD_SEND_COMMAND(REG_PWR_CTRL5, 0); |
90 | SLCD_SEND_COMMAND(0x110, 1); | 91 | SLCD_SEND_COMMAND(REG_PWR_CTRL6, 1); |
91 | SLCD_SEND_COMMAND(0x200, 0); /* set cursor at x_start */ | 92 | SLCD_SEND_COMMAND(REG_RAM_HADDR_SET, 0); /* set cursor at x_start */ |
92 | SLCD_SEND_COMMAND(0x201, 0); /* set cursor at y_start */ | 93 | SLCD_SEND_COMMAND(REG_RAM_VADDR_SET, 0); /* set cursor at y_start */ |
93 | SLCD_SEND_COMMAND(0x210, 0); /* y_start*/ | 94 | SLCD_SEND_COMMAND(REG_RAM_HADDR_START, 0); /* y_start*/ |
94 | SLCD_SEND_COMMAND(0x211, 239); /* y_end */ | 95 | SLCD_SEND_COMMAND(REG_RAM_HADDR_END, 239); /* y_end */ |
95 | SLCD_SEND_COMMAND(0x212, 0); /* x_start */ | 96 | SLCD_SEND_COMMAND(REG_RAM_VADDR_START, 0); /* x_start */ |
96 | SLCD_SEND_COMMAND(0x213, 399); /* x_end */ | 97 | SLCD_SEND_COMMAND(REG_RAM_VADDR_END, 399); /* x_end */ |
97 | SLCD_SEND_COMMAND(0x280, 0); | 98 | SLCD_SEND_COMMAND(REG_RW_NVM, 0); |
98 | SLCD_SEND_COMMAND(0x281, 6); | 99 | SLCD_SEND_COMMAND(REG_VCOM_HVOLTAGE1, 6); |
99 | SLCD_SEND_COMMAND(0x282, 0); | 100 | SLCD_SEND_COMMAND(REG_VCOM_HVOLTAGE2, 0); |
100 | SLCD_SEND_COMMAND(0x300, 0x101); | 101 | SLCD_SEND_COMMAND(REG_GAMMA_CTRL1, 0x101); |
101 | SLCD_SEND_COMMAND(0x301, 0xb27); | 102 | SLCD_SEND_COMMAND(REG_GAMMA_CTRL2, 0xb27); |
102 | SLCD_SEND_COMMAND(0x302, 0x132a); | 103 | SLCD_SEND_COMMAND(REG_GAMMA_CTRL3, 0x132a); |
103 | SLCD_SEND_COMMAND(0x303, 0x2a13); | 104 | SLCD_SEND_COMMAND(REG_GAMMA_CTRL4, 0x2a13); |
104 | SLCD_SEND_COMMAND(0x304, 0x270b); | 105 | SLCD_SEND_COMMAND(REG_GAMMA_CTRL5, 0x270b); |
105 | SLCD_SEND_COMMAND(0x305, 0x101); | 106 | SLCD_SEND_COMMAND(REG_GAMMA_CTRL6, 0x101); |
106 | SLCD_SEND_COMMAND(0x306, 0x1205); | 107 | SLCD_SEND_COMMAND(REG_GAMMA_CTRL7, 0x1205); |
107 | SLCD_SEND_COMMAND(0x307, 0x512); | 108 | SLCD_SEND_COMMAND(REG_GAMMA_CTRL8, 0x512); |
108 | SLCD_SEND_COMMAND(0x308, 5); | 109 | SLCD_SEND_COMMAND(REG_GAMMA_CTRL9, 5); |
109 | SLCD_SEND_COMMAND(0x309, 3); | 110 | SLCD_SEND_COMMAND(REG_GAMMA_CTRL10, 3); |
110 | SLCD_SEND_COMMAND(0x30a, 0xf04); | 111 | SLCD_SEND_COMMAND(REG_GAMMA_CTRL11, 0xf04); |
111 | SLCD_SEND_COMMAND(0x30b, 0xf00); | 112 | SLCD_SEND_COMMAND(REG_GAMMA_CTRL12, 0xf00); |
112 | SLCD_SEND_COMMAND(0x30c, 0xf); | 113 | SLCD_SEND_COMMAND(REG_GAMMA_CTRL13, 0xf); |
113 | SLCD_SEND_COMMAND(0x30d, 0x40f); | 114 | SLCD_SEND_COMMAND(REG_GAMMA_CTRL14, 0x40f); |
114 | SLCD_SEND_COMMAND(0x30e, 0x300); | 115 | SLCD_SEND_COMMAND(0x30e, 0x300); |
115 | SLCD_SEND_COMMAND(0x30f, 0x500); | 116 | SLCD_SEND_COMMAND(0x30f, 0x500); |
116 | SLCD_SEND_COMMAND(0x400, 0x3100); | 117 | SLCD_SEND_COMMAND(REG_BIMG_NR_LINE, 0x3100); |
117 | SLCD_SEND_COMMAND(0x401, 1); | 118 | SLCD_SEND_COMMAND(REG_BIMG_DISP_CTRL, 1); |
118 | SLCD_SEND_COMMAND(0x404, 0); | 119 | SLCD_SEND_COMMAND(REG_BIMG_VSCROLL_CTRL, 0); |
119 | SLCD_SEND_COMMAND(0x500, 0); | 120 | SLCD_SEND_COMMAND(REG_PARTIMG1_POS, 0); |
120 | SLCD_SEND_COMMAND(0x501, 0); | 121 | SLCD_SEND_COMMAND(REG_PARTIMG1_RAM_START, 0); |
121 | SLCD_SEND_COMMAND(0x502, 0); | 122 | SLCD_SEND_COMMAND(REG_PARTIMG1_RAM_END, 0); |
122 | SLCD_SEND_COMMAND(0x503, 0); | 123 | SLCD_SEND_COMMAND(REG_PARTIMG2_POS, 0); |
123 | SLCD_SEND_COMMAND(0x504, 0); | 124 | SLCD_SEND_COMMAND(REG_PARTIMG2_RAM_START, 0); |
124 | SLCD_SEND_COMMAND(0x505, 0); | 125 | SLCD_SEND_COMMAND(REG_PARTIMG2_RAM_END, 0); |
125 | SLCD_SEND_COMMAND(0x606, 0); | 126 | SLCD_SEND_COMMAND(REG_ENDIAN_CTRL, 0); |
126 | SLCD_SEND_COMMAND(0x6f0, 0); | 127 | SLCD_SEND_COMMAND(REG_NVM_ACCESS_CTRL, 0); |
127 | SLCD_SEND_COMMAND(0x7f0, 0x5420); | 128 | SLCD_SEND_COMMAND(0x7f0, 0x5420); |
128 | SLCD_SEND_COMMAND(0x7f3, 0x288a); | 129 | SLCD_SEND_COMMAND(0x7f3, 0x288a); |
129 | SLCD_SEND_COMMAND(0x7f4, 0x22); | 130 | SLCD_SEND_COMMAND(0x7f4, 0x22); |
130 | SLCD_SEND_COMMAND(0x7f5, 1); | 131 | SLCD_SEND_COMMAND(0x7f5, 1); |
131 | SLCD_SEND_COMMAND(0x7f0, 0); | 132 | SLCD_SEND_COMMAND(0x7f0, 0); |
132 | 133 | ||
133 | SLCD_SEND_COMMAND(7, 0x173); | 134 | SLCD_SEND_COMMAND(REG_DISP_CTRL1, 0x173); |
134 | SLEEP(3500000); | 135 | SLEEP(3500000); |
135 | SLCD_SEND_COMMAND(7, 0x171); | 136 | SLCD_SEND_COMMAND(REG_DISP_CTRL1, 0x171); |
136 | SLEEP(3500000); | 137 | SLEEP(3500000); |
137 | SLCD_SEND_COMMAND(7, 0x173); | 138 | SLCD_SEND_COMMAND(REG_DISP_CTRL1, 0x173); |
138 | SLEEP(3500000); | 139 | SLEEP(3500000); |
139 | } | 140 | } |
140 | 141 | ||
@@ -181,13 +182,13 @@ void lcd_init_controller(void) | |||
181 | 182 | ||
182 | void lcd_set_target(short x, short y, short width, short height) | 183 | void lcd_set_target(short x, short y, short width, short height) |
183 | { | 184 | { |
184 | SLCD_SEND_COMMAND(0x210, y); /* y_start */ | 185 | SLCD_SEND_COMMAND(REG_RAM_HADDR_START, y); /* y_start */ |
185 | SLCD_SEND_COMMAND(0x211, y+height); /* y_end */ | 186 | SLCD_SEND_COMMAND(REG_RAM_HADDR_END, y+height); /* y_end */ |
186 | SLCD_SEND_COMMAND(0x212, x); /* x_start */ | 187 | SLCD_SEND_COMMAND(REG_RAM_VADDR_START, x); /* x_start */ |
187 | SLCD_SEND_COMMAND(0x213, x+width); /* x_end */ | 188 | SLCD_SEND_COMMAND(REG_RAM_VADDR_END, x+width); /* x_end */ |
188 | SLCD_SEND_COMMAND(0x200, x); /* set cursor at x_start */ | 189 | SLCD_SEND_COMMAND(REG_RAM_HADDR_SET, x); /* set cursor at x_start */ |
189 | SLCD_SEND_COMMAND(0x201, y); /* set cursor at y_start */ | 190 | SLCD_SEND_COMMAND(REG_RAM_VADDR_SET, y); /* set cursor at y_start */ |
190 | SLCD_SET_COMMAND(0x202); /* write data? */ | 191 | SLCD_SET_COMMAND(REG_RW_GRAM); /* write data to GRAM */ |
191 | } | 192 | } |
192 | 193 | ||
193 | void lcd_on(void) | 194 | void lcd_on(void) |