diff options
Diffstat (limited to 'firmware')
-rw-r--r-- | firmware/SOURCES | 22 | ||||
-rw-r--r-- | firmware/export/config-meizu-m3.h | 175 | ||||
-rw-r--r-- | firmware/export/config-meizu-m6sp.h | 175 | ||||
-rw-r--r-- | firmware/export/config.h | 6 | ||||
-rw-r--r-- | firmware/target/arm/s5l8700/meizu-m3/adc-target.h | 35 | ||||
-rw-r--r-- | firmware/target/arm/s5l8700/meizu-m3/backlight-target.h | 29 | ||||
-rw-r--r-- | firmware/target/arm/s5l8700/meizu-m3/button-target.h | 54 | ||||
-rw-r--r-- | firmware/target/arm/s5l8700/meizu-m3/lcd-m3.c | 135 | ||||
-rw-r--r-- | firmware/target/arm/s5l8700/meizu-m6sp/adc-target.h | 35 | ||||
-rw-r--r-- | firmware/target/arm/s5l8700/meizu-m6sp/backlight-target.h | 29 | ||||
-rw-r--r-- | firmware/target/arm/s5l8700/meizu-m6sp/button-target.h | 54 | ||||
-rw-r--r-- | firmware/target/arm/s5l8700/meizu-m6sp/lcd-m6sp.c | 135 |
12 files changed, 883 insertions, 1 deletions
diff --git a/firmware/SOURCES b/firmware/SOURCES index d000447b6b..a120c88fa2 100644 --- a/firmware/SOURCES +++ b/firmware/SOURCES | |||
@@ -1082,9 +1082,12 @@ target/arm/tcc780x/cowond2/audio-cowond2.c | |||
1082 | #endif /* SIMULATOR */ | 1082 | #endif /* SIMULATOR */ |
1083 | #endif /* COWON_D2 */ | 1083 | #endif /* COWON_D2 */ |
1084 | 1084 | ||
1085 | #ifdef MEIZU_M6SL | 1085 | #if CONFIG_CPU==S5L8700 |
1086 | target/arm/s5l8700/system-s5l8700.c | 1086 | target/arm/s5l8700/system-s5l8700.c |
1087 | target/arm/s5l8700/ata-nand-s5l8700.c | 1087 | target/arm/s5l8700/ata-nand-s5l8700.c |
1088 | #endif | ||
1089 | |||
1090 | #ifdef MEIZU_M6SL | ||
1088 | target/arm/s5l8700/meizu-m6sl/lcd-m6sl.c | 1091 | target/arm/s5l8700/meizu-m6sl/lcd-m6sl.c |
1089 | drivers/qt1106.c | 1092 | drivers/qt1106.c |
1090 | #ifndef SIMULATOR | 1093 | #ifndef SIMULATOR |
@@ -1093,6 +1096,23 @@ drivers/qt1106.c | |||
1093 | #endif /* SIMULATOR */ | 1096 | #endif /* SIMULATOR */ |
1094 | #endif /* MEIZU_M6SL */ | 1097 | #endif /* MEIZU_M6SL */ |
1095 | 1098 | ||
1099 | #ifdef MEIZU_M6SP | ||
1100 | target/arm/s5l8700/meizu-m6sp/lcd-m6sp.c | ||
1101 | #ifndef SIMULATOR | ||
1102 | #ifndef BOOTLOADER | ||
1103 | #endif /* BOOTLOADER */ | ||
1104 | #endif /* SIMULATOR */ | ||
1105 | #endif /* MEIZU_M6SP */ | ||
1106 | |||
1107 | #ifdef MEIZU_M3 | ||
1108 | target/arm/s5l8700/meizu-m3/lcd-m3.c | ||
1109 | drivers/qt1106.c | ||
1110 | #ifndef SIMULATOR | ||
1111 | #ifndef BOOTLOADER | ||
1112 | #endif /* BOOTLOADER */ | ||
1113 | #endif /* SIMULATOR */ | ||
1114 | #endif /* MEIZU_M3 */ | ||
1115 | |||
1096 | #if CONFIG_CPU==JZ4732 | 1116 | #if CONFIG_CPU==JZ4732 |
1097 | target/mips/ingenic_jz47xx/ata-nand-jz4740.c | 1117 | target/mips/ingenic_jz47xx/ata-nand-jz4740.c |
1098 | target/mips/ingenic_jz47xx/lcd-jz4740.c | 1118 | target/mips/ingenic_jz47xx/lcd-jz4740.c |
diff --git a/firmware/export/config-meizu-m3.h b/firmware/export/config-meizu-m3.h new file mode 100644 index 0000000000..7a07339bcb --- /dev/null +++ b/firmware/export/config-meizu-m3.h | |||
@@ -0,0 +1,175 @@ | |||
1 | /* | ||
2 | * This config file is for Meizu M3 | ||
3 | */ | ||
4 | #define TARGET_TREE /* this target is using the target tree system */ | ||
5 | |||
6 | /* For Rolo and boot loader */ | ||
7 | #define MODEL_NUMBER 1 | ||
8 | |||
9 | #define MODEL_NAME "Meizu M3" | ||
10 | |||
11 | /* define this if you have recording possibility */ | ||
12 | //#define HAVE_RECORDING | ||
13 | |||
14 | /* Define bitmask of input sources - recordable bitmask can be defined | ||
15 | explicitly if different */ | ||
16 | #define INPUT_SRC_CAPS (SRC_CAP_MIC | SRC_CAP_LINEIN | SRC_CAP_FMRADIO) | ||
17 | |||
18 | /* define the bitmask of hardware sample rates */ | ||
19 | #define HW_SAMPR_CAPS (SAMPR_CAP_88 | SAMPR_CAP_44 | SAMPR_CAP_22 | SAMPR_CAP_11) | ||
20 | |||
21 | /* define the bitmask of recording sample rates */ | ||
22 | #define REC_SAMPR_CAPS (SAMPR_CAP_88 | SAMPR_CAP_44 | SAMPR_CAP_22 | SAMPR_CAP_11) | ||
23 | |||
24 | /* define this if you have a bitmap LCD display */ | ||
25 | #define HAVE_LCD_BITMAP | ||
26 | |||
27 | /* define this if you can flip your LCD */ | ||
28 | //#define HAVE_LCD_FLIP | ||
29 | |||
30 | /* define this if you have a colour LCD */ | ||
31 | #define HAVE_LCD_COLOR | ||
32 | |||
33 | /* define this if you want album art for this target */ | ||
34 | #define HAVE_ALBUMART | ||
35 | |||
36 | /* define this if you can invert the colours on your LCD */ | ||
37 | //#define HAVE_LCD_INVERT | ||
38 | |||
39 | /* define this if you have access to the quickscreen */ | ||
40 | #define HAVE_QUICKSCREEN | ||
41 | |||
42 | /* define this if you have access to the pitchscreen */ | ||
43 | #define HAVE_PITCHSCREEN | ||
44 | |||
45 | /* define this if you would like tagcache to build on this target */ | ||
46 | #define HAVE_TAGCACHE | ||
47 | |||
48 | /* define this if you have a flash memory storage */ | ||
49 | #define HAVE_FLASH_STORAGE | ||
50 | |||
51 | /* LCD dimensions */ | ||
52 | #define LCD_WIDTH 176 | ||
53 | #define LCD_HEIGHT 132 | ||
54 | #define LCD_DEPTH 16 /* pseudo 262.144 colors */ | ||
55 | #define LCD_PIXELFORMAT RGB565 /* rgb565 */ | ||
56 | |||
57 | /* Define this if your LCD can be enabled/disabled */ | ||
58 | //#define HAVE_LCD_ENABLE | ||
59 | |||
60 | /* Define this if your LCD can be put to sleep. HAVE_LCD_ENABLE | ||
61 | should be defined as well. */ | ||
62 | //#define HAVE_LCD_SLEEP | ||
63 | |||
64 | #define CONFIG_KEYPAD MEIZU_M3_PAD | ||
65 | |||
66 | //#define AB_REPEAT_ENABLE 1 | ||
67 | //#define ACTION_WPSAB_SINGLE ACTION_WPS_BROWSE | ||
68 | |||
69 | /* Define this if you do software codec */ | ||
70 | #define CONFIG_CODEC SWCODEC | ||
71 | |||
72 | /* define this if you have a real-time clock */ | ||
73 | #define CONFIG_RTC RTC_S5L8700 | ||
74 | //#define CONFIG_RTC RTC_S35390A | ||
75 | |||
76 | #define CONFIG_LCD LCD_MEIZUM6 | ||
77 | |||
78 | /* Define this if you have the WM8975 audio codec */ | ||
79 | #define HAVE_WM8751 //FIXME | ||
80 | |||
81 | /* Define this for LCD backlight available */ | ||
82 | #define HAVE_BACKLIGHT | ||
83 | #define HAVE_BACKLIGHT_BRIGHTNESS | ||
84 | |||
85 | /* Define this if you have a software controlled poweroff */ | ||
86 | #define HAVE_SW_POWEROFF | ||
87 | |||
88 | /* The number of bytes reserved for loadable codecs */ | ||
89 | #define CODEC_SIZE 0x80000 | ||
90 | |||
91 | /* The number of bytes reserved for loadable plugins */ | ||
92 | #define PLUGIN_BUFFER_SIZE 0x80000 | ||
93 | |||
94 | /* FM Tuner */ | ||
95 | #define CONFIG_TUNER TEA5760 | ||
96 | #define CONFIG_TUNER_XTAL 32768 | ||
97 | |||
98 | //#define HAVE_TLV320 | ||
99 | |||
100 | /* TLV320 has no tone controls, so we use the software ones */ | ||
101 | #define HAVE_SW_TONE_CONTROLS | ||
102 | |||
103 | #define BATTERY_CAPACITY_DEFAULT 700 /* default battery capacity */ | ||
104 | #define BATTERY_CAPACITY_MIN 500 /* min. capacity selectable */ | ||
105 | #define BATTERY_CAPACITY_MAX 2250 /* max. capacity selectable */ | ||
106 | #define BATTERY_CAPACITY_INC 50 /* capacity increment */ | ||
107 | #define BATTERY_TYPES_COUNT 1 /* only one type */ | ||
108 | |||
109 | /* Hardware controlled charging? FIXME */ | ||
110 | #define CONFIG_CHARGING CHARGING_SIMPLE | ||
111 | |||
112 | #ifndef SIMULATOR | ||
113 | |||
114 | /* Define this if your LCD can set contrast */ | ||
115 | //#define HAVE_LCD_CONTRAST | ||
116 | |||
117 | /* Define this if you have a Motorola SCF5250 */ | ||
118 | #define CONFIG_CPU S5L8700 | ||
119 | |||
120 | /* Define this if you want to use coldfire's i2c interface */ | ||
121 | #define CONFIG_I2C I2C_S5L8700 | ||
122 | |||
123 | /* define this if the hardware can be powered off while charging */ | ||
124 | #define HAVE_POWEROFF_WHILE_CHARGING | ||
125 | |||
126 | /* The size of the flash ROM */ | ||
127 | #define FLASH_SIZE 0x400000 | ||
128 | |||
129 | /* Define this to the CPU frequency */ | ||
130 | #define CPU_FREQ 11289600 | ||
131 | |||
132 | /* Define this if you have ATA power-off control */ | ||
133 | //#define HAVE_ATA_POWER_OFF | ||
134 | |||
135 | /* Virtual LED (icon) */ | ||
136 | #define CONFIG_LED LED_VIRTUAL | ||
137 | |||
138 | /* Offset ( in the firmware file's header ) to the file CRC */ | ||
139 | #define FIRMWARE_OFFSET_FILE_CRC 0 | ||
140 | |||
141 | /* Offset ( in the firmware file's header ) to the real data */ | ||
142 | #define FIRMWARE_OFFSET_FILE_DATA 8 | ||
143 | |||
144 | /* USB On-the-go */ | ||
145 | //#define CONFIG_USBOTG USBOTG_M5636 | ||
146 | |||
147 | /* Define this if you have adjustable CPU frequency */ | ||
148 | #define HAVE_ADJUSTABLE_CPU_FREQ | ||
149 | |||
150 | #define BOOTFILE_EXT "meizu" | ||
151 | #define BOOTFILE "rockbox." BOOTFILE_EXT | ||
152 | #define BOOTDIR "/.rockbox" | ||
153 | |||
154 | #define BOOTLOADER_ENTRYPOINT 0x001F0000 | ||
155 | #define FLASH_ENTRYPOINT 0x00001000 | ||
156 | #define FLASH_MAGIC 0xfbfbfbf1 | ||
157 | |||
158 | #endif /* SIMULATOR */ | ||
159 | |||
160 | /* Define this for FM radio input available */ | ||
161 | #define HAVE_FMRADIO_IN | ||
162 | |||
163 | /** Port-specific settings **/ | ||
164 | |||
165 | /* Main LCD contrast range and defaults */ | ||
166 | #define MIN_CONTRAST_SETTING 1 | ||
167 | #define MAX_CONTRAST_SETTING 30 | ||
168 | #define DEFAULT_CONTRAST_SETTING 19 /* Match boot contrast */ | ||
169 | |||
170 | /* Main LCD backlight brightness range and defaults */ | ||
171 | /* PCF50506 can output 0%-100% duty cycle but D305A expects %15-100%. */ | ||
172 | #define MIN_BRIGHTNESS_SETTING 1 /* 15/16 (93.75%) */ | ||
173 | #define MAX_BRIGHTNESS_SETTING 13 /* 3/16 (18.75%) */ | ||
174 | #define DEFAULT_BRIGHTNESS_SETTING 8 /* 8/16 (50.00%) = x5 boot default */ | ||
175 | |||
diff --git a/firmware/export/config-meizu-m6sp.h b/firmware/export/config-meizu-m6sp.h new file mode 100644 index 0000000000..4867904f4d --- /dev/null +++ b/firmware/export/config-meizu-m6sp.h | |||
@@ -0,0 +1,175 @@ | |||
1 | /* | ||
2 | * This config file is for Meizu M6SP | ||
3 | */ | ||
4 | #define TARGET_TREE /* this target is using the target tree system */ | ||
5 | |||
6 | /* For Rolo and boot loader */ | ||
7 | #define MODEL_NUMBER 1 | ||
8 | |||
9 | #define MODEL_NAME "Meizu M6SP" | ||
10 | |||
11 | /* define this if you have recording possibility */ | ||
12 | //#define HAVE_RECORDING | ||
13 | |||
14 | /* Define bitmask of input sources - recordable bitmask can be defined | ||
15 | explicitly if different */ | ||
16 | #define INPUT_SRC_CAPS (SRC_CAP_MIC | SRC_CAP_LINEIN | SRC_CAP_FMRADIO) | ||
17 | |||
18 | /* define the bitmask of hardware sample rates */ | ||
19 | #define HW_SAMPR_CAPS (SAMPR_CAP_88 | SAMPR_CAP_44 | SAMPR_CAP_22 | SAMPR_CAP_11) | ||
20 | |||
21 | /* define the bitmask of recording sample rates */ | ||
22 | #define REC_SAMPR_CAPS (SAMPR_CAP_88 | SAMPR_CAP_44 | SAMPR_CAP_22 | SAMPR_CAP_11) | ||
23 | |||
24 | /* define this if you have a bitmap LCD display */ | ||
25 | #define HAVE_LCD_BITMAP | ||
26 | |||
27 | /* define this if you can flip your LCD */ | ||
28 | //#define HAVE_LCD_FLIP | ||
29 | |||
30 | /* define this if you have a colour LCD */ | ||
31 | #define HAVE_LCD_COLOR | ||
32 | |||
33 | /* define this if you want album art for this target */ | ||
34 | #define HAVE_ALBUMART | ||
35 | |||
36 | /* define this if you can invert the colours on your LCD */ | ||
37 | //#define HAVE_LCD_INVERT | ||
38 | |||
39 | /* define this if you have access to the quickscreen */ | ||
40 | #define HAVE_QUICKSCREEN | ||
41 | |||
42 | /* define this if you have access to the pitchscreen */ | ||
43 | #define HAVE_PITCHSCREEN | ||
44 | |||
45 | /* define this if you would like tagcache to build on this target */ | ||
46 | #define HAVE_TAGCACHE | ||
47 | |||
48 | /* define this if you have a flash memory storage */ | ||
49 | #define HAVE_FLASH_STORAGE | ||
50 | |||
51 | /* LCD dimensions */ | ||
52 | #define LCD_WIDTH 320 | ||
53 | #define LCD_HEIGHT 240 | ||
54 | #define LCD_DEPTH 16 /* pseudo 262.144 colors */ | ||
55 | #define LCD_PIXELFORMAT RGB565 /* rgb565 */ | ||
56 | |||
57 | /* Define this if your LCD can be enabled/disabled */ | ||
58 | //#define HAVE_LCD_ENABLE | ||
59 | |||
60 | /* Define this if your LCD can be put to sleep. HAVE_LCD_ENABLE | ||
61 | should be defined as well. */ | ||
62 | //#define HAVE_LCD_SLEEP | ||
63 | |||
64 | #define CONFIG_KEYPAD MEIZU_M6SP_PAD | ||
65 | |||
66 | //#define AB_REPEAT_ENABLE 1 | ||
67 | //#define ACTION_WPSAB_SINGLE ACTION_WPS_BROWSE | ||
68 | |||
69 | /* Define this if you do software codec */ | ||
70 | #define CONFIG_CODEC SWCODEC | ||
71 | |||
72 | /* define this if you have a real-time clock */ | ||
73 | #define CONFIG_RTC RTC_S5L8700 | ||
74 | //#define CONFIG_RTC RTC_S35390A | ||
75 | |||
76 | #define CONFIG_LCD LCD_MEIZUM6 | ||
77 | |||
78 | /* Define this if you have the WM8975 audio codec */ | ||
79 | #define HAVE_WM8751 //FIXME | ||
80 | |||
81 | /* Define this for LCD backlight available */ | ||
82 | #define HAVE_BACKLIGHT | ||
83 | #define HAVE_BACKLIGHT_BRIGHTNESS | ||
84 | |||
85 | /* Define this if you have a software controlled poweroff */ | ||
86 | #define HAVE_SW_POWEROFF | ||
87 | |||
88 | /* The number of bytes reserved for loadable codecs */ | ||
89 | #define CODEC_SIZE 0x80000 | ||
90 | |||
91 | /* The number of bytes reserved for loadable plugins */ | ||
92 | #define PLUGIN_BUFFER_SIZE 0x80000 | ||
93 | |||
94 | /* FM Tuner */ | ||
95 | #define CONFIG_TUNER TEA5760 | ||
96 | #define CONFIG_TUNER_XTAL 32768 | ||
97 | |||
98 | //#define HAVE_TLV320 | ||
99 | |||
100 | /* TLV320 has no tone controls, so we use the software ones */ | ||
101 | #define HAVE_SW_TONE_CONTROLS | ||
102 | |||
103 | #define BATTERY_CAPACITY_DEFAULT 700 /* default battery capacity */ | ||
104 | #define BATTERY_CAPACITY_MIN 500 /* min. capacity selectable */ | ||
105 | #define BATTERY_CAPACITY_MAX 2250 /* max. capacity selectable */ | ||
106 | #define BATTERY_CAPACITY_INC 50 /* capacity increment */ | ||
107 | #define BATTERY_TYPES_COUNT 1 /* only one type */ | ||
108 | |||
109 | /* Hardware controlled charging? FIXME */ | ||
110 | #define CONFIG_CHARGING CHARGING_SIMPLE | ||
111 | |||
112 | #ifndef SIMULATOR | ||
113 | |||
114 | /* Define this if your LCD can set contrast */ | ||
115 | //#define HAVE_LCD_CONTRAST | ||
116 | |||
117 | /* Define this if you have a Motorola SCF5250 */ | ||
118 | #define CONFIG_CPU S5L8700 | ||
119 | |||
120 | /* Define this if you want to use coldfire's i2c interface */ | ||
121 | #define CONFIG_I2C I2C_S5L8700 | ||
122 | |||
123 | /* define this if the hardware can be powered off while charging */ | ||
124 | #define HAVE_POWEROFF_WHILE_CHARGING | ||
125 | |||
126 | /* The size of the flash ROM */ | ||
127 | #define FLASH_SIZE 0x400000 | ||
128 | |||
129 | /* Define this to the CPU frequency */ | ||
130 | #define CPU_FREQ 11289600 | ||
131 | |||
132 | /* Define this if you have ATA power-off control */ | ||
133 | //#define HAVE_ATA_POWER_OFF | ||
134 | |||
135 | /* Virtual LED (icon) */ | ||
136 | #define CONFIG_LED LED_VIRTUAL | ||
137 | |||
138 | /* Offset ( in the firmware file's header ) to the file CRC */ | ||
139 | #define FIRMWARE_OFFSET_FILE_CRC 0 | ||
140 | |||
141 | /* Offset ( in the firmware file's header ) to the real data */ | ||
142 | #define FIRMWARE_OFFSET_FILE_DATA 8 | ||
143 | |||
144 | /* USB On-the-go */ | ||
145 | //#define CONFIG_USBOTG USBOTG_M5636 | ||
146 | |||
147 | /* Define this if you have adjustable CPU frequency */ | ||
148 | #define HAVE_ADJUSTABLE_CPU_FREQ | ||
149 | |||
150 | #define BOOTFILE_EXT "meizu" | ||
151 | #define BOOTFILE "rockbox." BOOTFILE_EXT | ||
152 | #define BOOTDIR "/.rockbox" | ||
153 | |||
154 | #define BOOTLOADER_ENTRYPOINT 0x001F0000 | ||
155 | #define FLASH_ENTRYPOINT 0x00001000 | ||
156 | #define FLASH_MAGIC 0xfbfbfbf1 | ||
157 | |||
158 | #endif /* SIMULATOR */ | ||
159 | |||
160 | /* Define this for FM radio input available */ | ||
161 | #define HAVE_FMRADIO_IN | ||
162 | |||
163 | /** Port-specific settings **/ | ||
164 | |||
165 | /* Main LCD contrast range and defaults */ | ||
166 | #define MIN_CONTRAST_SETTING 1 | ||
167 | #define MAX_CONTRAST_SETTING 30 | ||
168 | #define DEFAULT_CONTRAST_SETTING 19 /* Match boot contrast */ | ||
169 | |||
170 | /* Main LCD backlight brightness range and defaults */ | ||
171 | /* PCF50506 can output 0%-100% duty cycle but D305A expects %15-100%. */ | ||
172 | #define MIN_BRIGHTNESS_SETTING 1 /* 15/16 (93.75%) */ | ||
173 | #define MAX_BRIGHTNESS_SETTING 13 /* 3/16 (18.75%) */ | ||
174 | #define DEFAULT_BRIGHTNESS_SETTING 8 /* 8/16 (50.00%) = x5 boot default */ | ||
175 | |||
diff --git a/firmware/export/config.h b/firmware/export/config.h index fe2cff0ea6..f6ec686b1f 100644 --- a/firmware/export/config.h +++ b/firmware/export/config.h | |||
@@ -95,6 +95,8 @@ | |||
95 | #define MEIZU_M6SL_PAD 30 | 95 | #define MEIZU_M6SL_PAD 30 |
96 | #define ONDAVX747_PAD 31 | 96 | #define ONDAVX747_PAD 31 |
97 | #define ONDAVX767_PAD 32 | 97 | #define ONDAVX767_PAD 32 |
98 | #define MEIZU_M6SP_PAD 33 | ||
99 | #define MEIZU_M3_PAD 34 | ||
98 | 100 | ||
99 | /* CONFIG_REMOTE_KEYPAD */ | 101 | /* CONFIG_REMOTE_KEYPAD */ |
100 | #define H100_REMOTE 1 | 102 | #define H100_REMOTE 1 |
@@ -291,6 +293,10 @@ | |||
291 | #include "config-c100.h" | 293 | #include "config-c100.h" |
292 | #elif defined(MEIZU_M6SL) | 294 | #elif defined(MEIZU_M6SL) |
293 | #include "config-meizu-m6sl.h" | 295 | #include "config-meizu-m6sl.h" |
296 | #elif defined(MEIZU_M6SP) | ||
297 | #include "config-meizu-m6sp.h" | ||
298 | #elif defined(MEIZU_M3) | ||
299 | #include "config-meizu-m3.h" | ||
294 | #elif defined(ONDA_VX747) | 300 | #elif defined(ONDA_VX747) |
295 | #include "config-ondavx747.h" | 301 | #include "config-ondavx747.h" |
296 | #elif defined(ONDA_VX767) | 302 | #elif defined(ONDA_VX767) |
diff --git a/firmware/target/arm/s5l8700/meizu-m3/adc-target.h b/firmware/target/arm/s5l8700/meizu-m3/adc-target.h new file mode 100644 index 0000000000..d21d401735 --- /dev/null +++ b/firmware/target/arm/s5l8700/meizu-m3/adc-target.h | |||
@@ -0,0 +1,35 @@ | |||
1 | /*************************************************************************** | ||
2 | * __________ __ ___. | ||
3 | * Open \______ \ ____ ____ | | _\_ |__ _______ ___ | ||
4 | * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / | ||
5 | * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < | ||
6 | * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ | ||
7 | * \/ \/ \/ \/ \/ | ||
8 | * $Id$ | ||
9 | * | ||
10 | * Copyright (C) 2006 by Barry Wardell | ||
11 | * | ||
12 | * This program is free software; you can redistribute it and/or | ||
13 | * modify it under the terms of the GNU General Public License | ||
14 | * as published by the Free Software Foundation; either version 2 | ||
15 | * of the License, or (at your option) any later version. | ||
16 | * | ||
17 | * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY | ||
18 | * KIND, either express or implied. | ||
19 | * | ||
20 | ****************************************************************************/ | ||
21 | #ifndef _ADC_TARGET_H_ | ||
22 | #define _ADC_TARGET_H_ | ||
23 | |||
24 | /* only two channels used by the Gigabeat */ | ||
25 | #define NUM_ADC_CHANNELS 1 | ||
26 | |||
27 | #define ADC_UNKNOWN_1 0 | ||
28 | #define ADC_UNKNOWN_2 1 | ||
29 | #define ADC_BATTERY 2 | ||
30 | #define ADC_UNKNOWN_4 3 | ||
31 | |||
32 | #define ADC_UNREG_POWER ADC_BATTERY /* For compatibility */ | ||
33 | #define ADC_READ_ERROR 0xFFFF | ||
34 | |||
35 | #endif | ||
diff --git a/firmware/target/arm/s5l8700/meizu-m3/backlight-target.h b/firmware/target/arm/s5l8700/meizu-m3/backlight-target.h new file mode 100644 index 0000000000..91579b080d --- /dev/null +++ b/firmware/target/arm/s5l8700/meizu-m3/backlight-target.h | |||
@@ -0,0 +1,29 @@ | |||
1 | /*************************************************************************** | ||
2 | * __________ __ ___. | ||
3 | * Open \______ \ ____ ____ | | _\_ |__ _______ ___ | ||
4 | * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / | ||
5 | * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < | ||
6 | * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ | ||
7 | * \/ \/ \/ \/ \/ | ||
8 | * $Id$ | ||
9 | * | ||
10 | * Copyright (C) 2008 by Marcoen Hirschberg | ||
11 | * | ||
12 | * This program is free software; you can redistribute it and/or | ||
13 | * modify it under the terms of the GNU General Public License | ||
14 | * as published by the Free Software Foundation; either version 2 | ||
15 | * of the License, or (at your option) any later version. | ||
16 | * | ||
17 | * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY | ||
18 | * KIND, either express or implied. | ||
19 | * | ||
20 | ****************************************************************************/ | ||
21 | #ifndef BACKLIGHT_TARGET_H | ||
22 | #define BACKLIGHT_TARGET_H | ||
23 | |||
24 | bool _backlight_init(void); | ||
25 | void _backlight_on(void); | ||
26 | void _backlight_off(void); | ||
27 | void _backlight_set_brightness(int brightness); | ||
28 | |||
29 | #endif | ||
diff --git a/firmware/target/arm/s5l8700/meizu-m3/button-target.h b/firmware/target/arm/s5l8700/meizu-m3/button-target.h new file mode 100644 index 0000000000..7fab9c4d64 --- /dev/null +++ b/firmware/target/arm/s5l8700/meizu-m3/button-target.h | |||
@@ -0,0 +1,54 @@ | |||
1 | /*************************************************************************** | ||
2 | * __________ __ ___. | ||
3 | * Open \______ \ ____ ____ | | _\_ |__ _______ ___ | ||
4 | * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / | ||
5 | * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < | ||
6 | * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ | ||
7 | * \/ \/ \/ \/ \/ | ||
8 | * $Id$ | ||
9 | * | ||
10 | * Copyright (C) 2006 by Linus Nielsen Feltzing | ||
11 | * | ||
12 | * This program is free software; you can redistribute it and/or | ||
13 | * modify it under the terms of the GNU General Public License | ||
14 | * as published by the Free Software Foundation; either version 2 | ||
15 | * of the License, or (at your option) any later version. | ||
16 | * | ||
17 | * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY | ||
18 | * KIND, either express or implied. | ||
19 | * | ||
20 | ****************************************************************************/ | ||
21 | #ifndef _BUTTON_TARGET_H_ | ||
22 | #define _BUTTON_TARGET_H_ | ||
23 | |||
24 | #include <stdbool.h> | ||
25 | #include "config.h" | ||
26 | |||
27 | #define HAS_BUTTON_HOLD | ||
28 | |||
29 | bool button_hold(void); | ||
30 | void button_init_device(void); | ||
31 | int button_read_device(void); | ||
32 | |||
33 | /* Toshiba Gigabeat specific button codes */ | ||
34 | |||
35 | #define BUTTON_LEFT 0x00000001 | ||
36 | #define BUTTON_RIGHT 0x00000002 | ||
37 | #define BUTTON_UP 0x00000004 | ||
38 | #define BUTTON_DOWN 0x00000008 | ||
39 | |||
40 | #define BUTTON_SELECT 0x00000010 | ||
41 | |||
42 | #define BUTTON_MENU 0x00000020 | ||
43 | #define BUTTON_PLAY 0x00000040 | ||
44 | |||
45 | |||
46 | #define BUTTON_MAIN (BUTTON_MENU|BUTTON_LEFT|BUTTON_RIGHT\ | ||
47 | |BUTTON_UP|BUTTON_DOWN|BUTTON_SELECT|BUTTON_PLAY) | ||
48 | |||
49 | #define BUTTON_REMOTE 0 | ||
50 | |||
51 | #define POWEROFF_BUTTON BUTTON_PLAY | ||
52 | #define POWEROFF_COUNT 10 | ||
53 | |||
54 | #endif /* _BUTTON_TARGET_H_ */ | ||
diff --git a/firmware/target/arm/s5l8700/meizu-m3/lcd-m3.c b/firmware/target/arm/s5l8700/meizu-m3/lcd-m3.c new file mode 100644 index 0000000000..1affab3b01 --- /dev/null +++ b/firmware/target/arm/s5l8700/meizu-m3/lcd-m3.c | |||
@@ -0,0 +1,135 @@ | |||
1 | /*************************************************************************** | ||
2 | * __________ __ ___. | ||
3 | * Open \______ \ ____ ____ | | _\_ |__ _______ ___ | ||
4 | * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / | ||
5 | * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < | ||
6 | * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ | ||
7 | * \/ \/ \/ \/ \/ | ||
8 | * $Id$ | ||
9 | * | ||
10 | * Copyright (C) 2002 by Alan Korr | ||
11 | * | ||
12 | * This program is free software; you can redistribute it and/or | ||
13 | * modify it under the terms of the GNU General Public License | ||
14 | * as published by the Free Software Foundation; either version 2 | ||
15 | * of the License, or (at your option) any later version. | ||
16 | * | ||
17 | * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY | ||
18 | * KIND, either express or implied. | ||
19 | * | ||
20 | ****************************************************************************/ | ||
21 | #include "config.h" | ||
22 | |||
23 | #include "hwcompat.h" | ||
24 | #include "kernel.h" | ||
25 | #include "lcd.h" | ||
26 | #include "system.h" | ||
27 | #include "cpu.h" | ||
28 | |||
29 | /*** definitions ***/ | ||
30 | |||
31 | |||
32 | /** globals **/ | ||
33 | |||
34 | static int xoffset; /* needed for flip */ | ||
35 | |||
36 | /*** hardware configuration ***/ | ||
37 | |||
38 | int lcd_default_contrast(void) | ||
39 | { | ||
40 | return 0x1f; | ||
41 | } | ||
42 | |||
43 | void lcd_set_contrast(int val) | ||
44 | { | ||
45 | } | ||
46 | |||
47 | void lcd_set_invert_display(bool yesno) | ||
48 | { | ||
49 | } | ||
50 | |||
51 | /* turn the display upside down (call lcd_update() afterwards) */ | ||
52 | void lcd_set_flip(bool yesno) | ||
53 | { | ||
54 | /* TODO: flip mode isn't working. The commands in the else part of | ||
55 | this function are how the original firmware inits the LCD */ | ||
56 | |||
57 | if (yesno) | ||
58 | { | ||
59 | xoffset = 132 - LCD_WIDTH; /* 132 colums minus the 128 we have */ | ||
60 | } | ||
61 | else | ||
62 | { | ||
63 | xoffset = 0; | ||
64 | } | ||
65 | } | ||
66 | |||
67 | |||
68 | /* LCD init */ | ||
69 | void lcd_init_device(void) | ||
70 | { | ||
71 | } | ||
72 | |||
73 | /*** Update functions ***/ | ||
74 | |||
75 | /* Performance function that works with an external buffer | ||
76 | note that by and bheight are in 8-pixel units! */ | ||
77 | void lcd_blit_mono(const unsigned char *data, int x, int by, int width, | ||
78 | int bheight, int stride) | ||
79 | { | ||
80 | /* Copy display bitmap to hardware */ | ||
81 | while (bheight--) | ||
82 | { | ||
83 | } | ||
84 | } | ||
85 | |||
86 | |||
87 | /* Performance function that works with an external buffer | ||
88 | note that by and bheight are in 8-pixel units! */ | ||
89 | void lcd_blit_grey_phase_blit(unsigned char *values, unsigned char *phases, | ||
90 | int x, int by, int width, int bheight, int stride) | ||
91 | { | ||
92 | (void)values; | ||
93 | (void)phases; | ||
94 | (void)x; | ||
95 | (void)by; | ||
96 | (void)width; | ||
97 | (void)bheight; | ||
98 | (void)stride; | ||
99 | } | ||
100 | |||
101 | /* Update the display. | ||
102 | This must be called after all other LCD functions that change the display. */ | ||
103 | void lcd_update(void) ICODE_ATTR; | ||
104 | void lcd_update(void) | ||
105 | { | ||
106 | int y; | ||
107 | |||
108 | /* Copy display bitmap to hardware */ | ||
109 | for (y = 0; y < LCD_FBHEIGHT; y++) | ||
110 | { | ||
111 | } | ||
112 | } | ||
113 | |||
114 | /* Update a fraction of the display. */ | ||
115 | void lcd_update_rect(int, int, int, int) ICODE_ATTR; | ||
116 | void lcd_update_rect(int x, int y, int width, int height) | ||
117 | { | ||
118 | int ymax; | ||
119 | |||
120 | /* The Y coordinates have to work on even 8 pixel rows */ | ||
121 | ymax = (y + height-1) >> 3; | ||
122 | y >>= 3; | ||
123 | |||
124 | if(x + width > LCD_WIDTH) | ||
125 | width = LCD_WIDTH - x; | ||
126 | if (width <= 0) | ||
127 | return; /* nothing left to do, 0 is harmful to lcd_write_data() */ | ||
128 | if(ymax >= LCD_FBHEIGHT) | ||
129 | ymax = LCD_FBHEIGHT-1; | ||
130 | |||
131 | /* Copy specified rectange bitmap to hardware */ | ||
132 | for (; y <= ymax; y++) | ||
133 | { | ||
134 | } | ||
135 | } | ||
diff --git a/firmware/target/arm/s5l8700/meizu-m6sp/adc-target.h b/firmware/target/arm/s5l8700/meizu-m6sp/adc-target.h new file mode 100644 index 0000000000..d21d401735 --- /dev/null +++ b/firmware/target/arm/s5l8700/meizu-m6sp/adc-target.h | |||
@@ -0,0 +1,35 @@ | |||
1 | /*************************************************************************** | ||
2 | * __________ __ ___. | ||
3 | * Open \______ \ ____ ____ | | _\_ |__ _______ ___ | ||
4 | * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / | ||
5 | * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < | ||
6 | * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ | ||
7 | * \/ \/ \/ \/ \/ | ||
8 | * $Id$ | ||
9 | * | ||
10 | * Copyright (C) 2006 by Barry Wardell | ||
11 | * | ||
12 | * This program is free software; you can redistribute it and/or | ||
13 | * modify it under the terms of the GNU General Public License | ||
14 | * as published by the Free Software Foundation; either version 2 | ||
15 | * of the License, or (at your option) any later version. | ||
16 | * | ||
17 | * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY | ||
18 | * KIND, either express or implied. | ||
19 | * | ||
20 | ****************************************************************************/ | ||
21 | #ifndef _ADC_TARGET_H_ | ||
22 | #define _ADC_TARGET_H_ | ||
23 | |||
24 | /* only two channels used by the Gigabeat */ | ||
25 | #define NUM_ADC_CHANNELS 1 | ||
26 | |||
27 | #define ADC_UNKNOWN_1 0 | ||
28 | #define ADC_UNKNOWN_2 1 | ||
29 | #define ADC_BATTERY 2 | ||
30 | #define ADC_UNKNOWN_4 3 | ||
31 | |||
32 | #define ADC_UNREG_POWER ADC_BATTERY /* For compatibility */ | ||
33 | #define ADC_READ_ERROR 0xFFFF | ||
34 | |||
35 | #endif | ||
diff --git a/firmware/target/arm/s5l8700/meizu-m6sp/backlight-target.h b/firmware/target/arm/s5l8700/meizu-m6sp/backlight-target.h new file mode 100644 index 0000000000..91579b080d --- /dev/null +++ b/firmware/target/arm/s5l8700/meizu-m6sp/backlight-target.h | |||
@@ -0,0 +1,29 @@ | |||
1 | /*************************************************************************** | ||
2 | * __________ __ ___. | ||
3 | * Open \______ \ ____ ____ | | _\_ |__ _______ ___ | ||
4 | * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / | ||
5 | * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < | ||
6 | * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ | ||
7 | * \/ \/ \/ \/ \/ | ||
8 | * $Id$ | ||
9 | * | ||
10 | * Copyright (C) 2008 by Marcoen Hirschberg | ||
11 | * | ||
12 | * This program is free software; you can redistribute it and/or | ||
13 | * modify it under the terms of the GNU General Public License | ||
14 | * as published by the Free Software Foundation; either version 2 | ||
15 | * of the License, or (at your option) any later version. | ||
16 | * | ||
17 | * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY | ||
18 | * KIND, either express or implied. | ||
19 | * | ||
20 | ****************************************************************************/ | ||
21 | #ifndef BACKLIGHT_TARGET_H | ||
22 | #define BACKLIGHT_TARGET_H | ||
23 | |||
24 | bool _backlight_init(void); | ||
25 | void _backlight_on(void); | ||
26 | void _backlight_off(void); | ||
27 | void _backlight_set_brightness(int brightness); | ||
28 | |||
29 | #endif | ||
diff --git a/firmware/target/arm/s5l8700/meizu-m6sp/button-target.h b/firmware/target/arm/s5l8700/meizu-m6sp/button-target.h new file mode 100644 index 0000000000..7fab9c4d64 --- /dev/null +++ b/firmware/target/arm/s5l8700/meizu-m6sp/button-target.h | |||
@@ -0,0 +1,54 @@ | |||
1 | /*************************************************************************** | ||
2 | * __________ __ ___. | ||
3 | * Open \______ \ ____ ____ | | _\_ |__ _______ ___ | ||
4 | * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / | ||
5 | * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < | ||
6 | * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ | ||
7 | * \/ \/ \/ \/ \/ | ||
8 | * $Id$ | ||
9 | * | ||
10 | * Copyright (C) 2006 by Linus Nielsen Feltzing | ||
11 | * | ||
12 | * This program is free software; you can redistribute it and/or | ||
13 | * modify it under the terms of the GNU General Public License | ||
14 | * as published by the Free Software Foundation; either version 2 | ||
15 | * of the License, or (at your option) any later version. | ||
16 | * | ||
17 | * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY | ||
18 | * KIND, either express or implied. | ||
19 | * | ||
20 | ****************************************************************************/ | ||
21 | #ifndef _BUTTON_TARGET_H_ | ||
22 | #define _BUTTON_TARGET_H_ | ||
23 | |||
24 | #include <stdbool.h> | ||
25 | #include "config.h" | ||
26 | |||
27 | #define HAS_BUTTON_HOLD | ||
28 | |||
29 | bool button_hold(void); | ||
30 | void button_init_device(void); | ||
31 | int button_read_device(void); | ||
32 | |||
33 | /* Toshiba Gigabeat specific button codes */ | ||
34 | |||
35 | #define BUTTON_LEFT 0x00000001 | ||
36 | #define BUTTON_RIGHT 0x00000002 | ||
37 | #define BUTTON_UP 0x00000004 | ||
38 | #define BUTTON_DOWN 0x00000008 | ||
39 | |||
40 | #define BUTTON_SELECT 0x00000010 | ||
41 | |||
42 | #define BUTTON_MENU 0x00000020 | ||
43 | #define BUTTON_PLAY 0x00000040 | ||
44 | |||
45 | |||
46 | #define BUTTON_MAIN (BUTTON_MENU|BUTTON_LEFT|BUTTON_RIGHT\ | ||
47 | |BUTTON_UP|BUTTON_DOWN|BUTTON_SELECT|BUTTON_PLAY) | ||
48 | |||
49 | #define BUTTON_REMOTE 0 | ||
50 | |||
51 | #define POWEROFF_BUTTON BUTTON_PLAY | ||
52 | #define POWEROFF_COUNT 10 | ||
53 | |||
54 | #endif /* _BUTTON_TARGET_H_ */ | ||
diff --git a/firmware/target/arm/s5l8700/meizu-m6sp/lcd-m6sp.c b/firmware/target/arm/s5l8700/meizu-m6sp/lcd-m6sp.c new file mode 100644 index 0000000000..1affab3b01 --- /dev/null +++ b/firmware/target/arm/s5l8700/meizu-m6sp/lcd-m6sp.c | |||
@@ -0,0 +1,135 @@ | |||
1 | /*************************************************************************** | ||
2 | * __________ __ ___. | ||
3 | * Open \______ \ ____ ____ | | _\_ |__ _______ ___ | ||
4 | * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / | ||
5 | * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < | ||
6 | * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ | ||
7 | * \/ \/ \/ \/ \/ | ||
8 | * $Id$ | ||
9 | * | ||
10 | * Copyright (C) 2002 by Alan Korr | ||
11 | * | ||
12 | * This program is free software; you can redistribute it and/or | ||
13 | * modify it under the terms of the GNU General Public License | ||
14 | * as published by the Free Software Foundation; either version 2 | ||
15 | * of the License, or (at your option) any later version. | ||
16 | * | ||
17 | * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY | ||
18 | * KIND, either express or implied. | ||
19 | * | ||
20 | ****************************************************************************/ | ||
21 | #include "config.h" | ||
22 | |||
23 | #include "hwcompat.h" | ||
24 | #include "kernel.h" | ||
25 | #include "lcd.h" | ||
26 | #include "system.h" | ||
27 | #include "cpu.h" | ||
28 | |||
29 | /*** definitions ***/ | ||
30 | |||
31 | |||
32 | /** globals **/ | ||
33 | |||
34 | static int xoffset; /* needed for flip */ | ||
35 | |||
36 | /*** hardware configuration ***/ | ||
37 | |||
38 | int lcd_default_contrast(void) | ||
39 | { | ||
40 | return 0x1f; | ||
41 | } | ||
42 | |||
43 | void lcd_set_contrast(int val) | ||
44 | { | ||
45 | } | ||
46 | |||
47 | void lcd_set_invert_display(bool yesno) | ||
48 | { | ||
49 | } | ||
50 | |||
51 | /* turn the display upside down (call lcd_update() afterwards) */ | ||
52 | void lcd_set_flip(bool yesno) | ||
53 | { | ||
54 | /* TODO: flip mode isn't working. The commands in the else part of | ||
55 | this function are how the original firmware inits the LCD */ | ||
56 | |||
57 | if (yesno) | ||
58 | { | ||
59 | xoffset = 132 - LCD_WIDTH; /* 132 colums minus the 128 we have */ | ||
60 | } | ||
61 | else | ||
62 | { | ||
63 | xoffset = 0; | ||
64 | } | ||
65 | } | ||
66 | |||
67 | |||
68 | /* LCD init */ | ||
69 | void lcd_init_device(void) | ||
70 | { | ||
71 | } | ||
72 | |||
73 | /*** Update functions ***/ | ||
74 | |||
75 | /* Performance function that works with an external buffer | ||
76 | note that by and bheight are in 8-pixel units! */ | ||
77 | void lcd_blit_mono(const unsigned char *data, int x, int by, int width, | ||
78 | int bheight, int stride) | ||
79 | { | ||
80 | /* Copy display bitmap to hardware */ | ||
81 | while (bheight--) | ||
82 | { | ||
83 | } | ||
84 | } | ||
85 | |||
86 | |||
87 | /* Performance function that works with an external buffer | ||
88 | note that by and bheight are in 8-pixel units! */ | ||
89 | void lcd_blit_grey_phase_blit(unsigned char *values, unsigned char *phases, | ||
90 | int x, int by, int width, int bheight, int stride) | ||
91 | { | ||
92 | (void)values; | ||
93 | (void)phases; | ||
94 | (void)x; | ||
95 | (void)by; | ||
96 | (void)width; | ||
97 | (void)bheight; | ||
98 | (void)stride; | ||
99 | } | ||
100 | |||
101 | /* Update the display. | ||
102 | This must be called after all other LCD functions that change the display. */ | ||
103 | void lcd_update(void) ICODE_ATTR; | ||
104 | void lcd_update(void) | ||
105 | { | ||
106 | int y; | ||
107 | |||
108 | /* Copy display bitmap to hardware */ | ||
109 | for (y = 0; y < LCD_FBHEIGHT; y++) | ||
110 | { | ||
111 | } | ||
112 | } | ||
113 | |||
114 | /* Update a fraction of the display. */ | ||
115 | void lcd_update_rect(int, int, int, int) ICODE_ATTR; | ||
116 | void lcd_update_rect(int x, int y, int width, int height) | ||
117 | { | ||
118 | int ymax; | ||
119 | |||
120 | /* The Y coordinates have to work on even 8 pixel rows */ | ||
121 | ymax = (y + height-1) >> 3; | ||
122 | y >>= 3; | ||
123 | |||
124 | if(x + width > LCD_WIDTH) | ||
125 | width = LCD_WIDTH - x; | ||
126 | if (width <= 0) | ||
127 | return; /* nothing left to do, 0 is harmful to lcd_write_data() */ | ||
128 | if(ymax >= LCD_FBHEIGHT) | ||
129 | ymax = LCD_FBHEIGHT-1; | ||
130 | |||
131 | /* Copy specified rectange bitmap to hardware */ | ||
132 | for (; y <= ymax; y++) | ||
133 | { | ||
134 | } | ||
135 | } | ||