summaryrefslogtreecommitdiff
path: root/firmware/target
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target')
-rw-r--r--firmware/target/arm/rk27xx/backlight-rk27xx.c2
-rw-r--r--firmware/target/arm/rk27xx/debug-rk27xx.c2
-rw-r--r--firmware/target/arm/rk27xx/ma/lcd-ma.c81
-rw-r--r--firmware/target/arm/rk27xx/sd-rk27xx.c2
4 files changed, 84 insertions, 3 deletions
diff --git a/firmware/target/arm/rk27xx/backlight-rk27xx.c b/firmware/target/arm/rk27xx/backlight-rk27xx.c
index 9ea9c9984e..8c10d7af2a 100644
--- a/firmware/target/arm/rk27xx/backlight-rk27xx.c
+++ b/firmware/target/arm/rk27xx/backlight-rk27xx.c
@@ -61,7 +61,7 @@ static const unsigned short lin_brightness[] = {
61 562, 579, 596, 616, 637, 660, 684, 711, 61 562, 579, 596, 616, 637, 660, 684, 711,
62 739, 770, 802, 837, 874, 914, 955, 1000 62 739, 770, 802, 837, 874, 914, 955, 1000
63}; 63};
64#elif defined(MA9) 64#elif defined(MA9) || defined(MA9C)
65static const unsigned short lin_brightness[] = { 65static const unsigned short lin_brightness[] = {
66 2, 4, 7, 10, 15, 21, 28, 36, 66 2, 4, 7, 10, 15, 21, 28, 36,
67 46, 58, 72, 87, 104, 124, 146, 171, 67 46, 58, 72, 87, 104, 124, 146, 171,
diff --git a/firmware/target/arm/rk27xx/debug-rk27xx.c b/firmware/target/arm/rk27xx/debug-rk27xx.c
index a73ca05c77..9f91f58f14 100644
--- a/firmware/target/arm/rk27xx/debug-rk27xx.c
+++ b/firmware/target/arm/rk27xx/debug-rk27xx.c
@@ -32,7 +32,7 @@
32 32
33#ifdef RK27_GENERIC 33#ifdef RK27_GENERIC
34#define DEBUG_CANCEL BUTTON_VOL 34#define DEBUG_CANCEL BUTTON_VOL
35#elif defined(HM60X) || defined(HM801) || defined(MA9) 35#elif defined(HM60X) || defined(HM801) || defined(MA_PAD)
36#define DEBUG_CANCEL BUTTON_LEFT 36#define DEBUG_CANCEL BUTTON_LEFT
37#endif 37#endif
38 38
diff --git a/firmware/target/arm/rk27xx/ma/lcd-ma.c b/firmware/target/arm/rk27xx/ma/lcd-ma.c
index a35f13ba3a..3fecce2d18 100644
--- a/firmware/target/arm/rk27xx/ma/lcd-ma.c
+++ b/firmware/target/arm/rk27xx/ma/lcd-ma.c
@@ -27,8 +27,88 @@
27#include "cpu.h" 27#include "cpu.h"
28#include "lcdif-rk27xx.h" 28#include "lcdif-rk27xx.h"
29 29
30#define ILI9342 0
31#define ILI9342C 1
32#define LCD_DRIVER ILI9342C
33
30static bool display_on = false; 34static bool display_on = false;
31 35
36#if (CONFIG_LCD == LCD_ILI9342C)
37void lcd_display_init(void)
38{
39 unsigned int x, y;
40
41 lcd_cmd(0xC8);
42 lcd_data(0xFF);
43 lcd_data(0x93);
44 lcd_data(0x42);
45
46 lcd_write_reg(0x36, 0xC8);
47
48 lcd_write_reg(0x3A, 0x55);
49
50 lcd_cmd(0xC0);
51 lcd_data(0x14);
52 lcd_data(0x0E);
53
54 lcd_write_reg(0xC1, 0x01);
55
56 lcd_write_reg(0xC5, 0xF4);
57
58 lcd_cmd(0xB1);
59 lcd_data(0x00);
60 lcd_data(0x1B);
61
62 lcd_write_reg(0xB4, 0x02);
63
64 lcd_cmd(0xE0);
65 lcd_data(0x00);
66 lcd_data(0x0A);
67 lcd_data(0x11);
68 lcd_data(0x08);
69 lcd_data(0x16);
70 lcd_data(0x0A);
71 lcd_data(0x3C);
72 lcd_data(0x9B);
73 lcd_data(0x4A);
74 lcd_data(0x09);
75 lcd_data(0x0E);
76 lcd_data(0x0A);
77 lcd_data(0x1C);
78 lcd_data(0x1D);
79 lcd_data(0x0F);
80
81 lcd_cmd(0xE1);
82 lcd_data(0x00);
83 lcd_data(0x23);
84 lcd_data(0x25);
85 lcd_data(0x04);
86 lcd_data(0x10);
87 lcd_data(0x07);
88 lcd_data(0x39);
89 lcd_data(0x46);
90 lcd_data(0x4A);
91 lcd_data(0x03);
92 lcd_data(0x0C);
93 lcd_data(0x0A);
94 lcd_data(0x31);
95 lcd_data(0x36);
96 lcd_data(0x0F);
97
98 /* exit sleep */
99 lcd_cmd(0x11);
100 udelay(5000);
101 lcd_cmd(0x29);
102
103 lcd_cmd(0x2C);
104 for (x = 0; x < LCD_WIDTH; x++)
105 for(y=0; y < LCD_HEIGHT; y++)
106 lcd_data(0x00);
107
108 display_on = true;
109}
110
111#elif (CONFIG_LCD == LCD_ILI9342)
32 112
33void lcd_display_init(void) 113void lcd_display_init(void)
34{ 114{
@@ -131,6 +211,7 @@ void lcd_display_init(void)
131 211
132 display_on = true; 212 display_on = true;
133} 213}
214#endif
134 215
135void lcd_enable (bool on) 216void lcd_enable (bool on)
136{ 217{
diff --git a/firmware/target/arm/rk27xx/sd-rk27xx.c b/firmware/target/arm/rk27xx/sd-rk27xx.c
index ef9845d696..39a4330d2a 100644
--- a/firmware/target/arm/rk27xx/sd-rk27xx.c
+++ b/firmware/target/arm/rk27xx/sd-rk27xx.c
@@ -132,7 +132,7 @@ static inline bool card_detect_target(void)
132 return !(GPIO_PCDR & 0x80); 132 return !(GPIO_PCDR & 0x80);
133#elif defined(HM60X) || defined(HM801) 133#elif defined(HM60X) || defined(HM801)
134 return !(GPIO_PFDR & (1<<2)); 134 return !(GPIO_PFDR & (1<<2));
135#elif defined(MA9) 135#elif defined(MA9) || defined(MA9C)
136 return (GPIO_PCDR & 0x80); 136 return (GPIO_PCDR & 0x80);
137#else 137#else
138#error "Unknown target" 138#error "Unknown target"