diff options
Diffstat (limited to 'firmware')
-rwxr-xr-x[-rw-r--r--] | firmware/SOURCES | 2 | ||||
-rwxr-xr-x[-rw-r--r--] | firmware/export/config-ondavx747.h | 2 | ||||
-rwxr-xr-x | firmware/export/config-ondavx747p.h | 164 | ||||
-rwxr-xr-x[-rw-r--r--] | firmware/export/config-ondavx767.h | 16 | ||||
-rwxr-xr-x[-rw-r--r--] | firmware/export/config.h | 6 | ||||
-rwxr-xr-x[-rw-r--r--] | firmware/target/mips/ingenic_jz47xx/onda_vx747/sadc-onda_vx747.c | 27 | ||||
-rwxr-xr-x[-rw-r--r--] | firmware/target/mips/ingenic_jz47xx/onda_vx767/usb-target.h | 20 |
7 files changed, 213 insertions, 24 deletions
diff --git a/firmware/SOURCES b/firmware/SOURCES index 278fcda9d6..711a7c0c56 100644..100755 --- a/firmware/SOURCES +++ b/firmware/SOURCES | |||
@@ -1215,7 +1215,7 @@ target/mips/ingenic_jz47xx/usb-jz4740.c | |||
1215 | drivers/nand_id.c | 1215 | drivers/nand_id.c |
1216 | #endif | 1216 | #endif |
1217 | 1217 | ||
1218 | #ifdef ONDA_VX747 | 1218 | #if defined(ONDA_VX747) || defined(ONDA_VX747P) |
1219 | target/mips/ingenic_jz47xx/onda_vx747/backlight-onda_vx747.c | 1219 | target/mips/ingenic_jz47xx/onda_vx747/backlight-onda_vx747.c |
1220 | target/mips/ingenic_jz47xx/onda_vx747/lcd-onda_vx747.c | 1220 | target/mips/ingenic_jz47xx/onda_vx747/lcd-onda_vx747.c |
1221 | target/mips/ingenic_jz47xx/onda_vx747/sadc-onda_vx747.c | 1221 | target/mips/ingenic_jz47xx/onda_vx747/sadc-onda_vx747.c |
diff --git a/firmware/export/config-ondavx747.h b/firmware/export/config-ondavx747.h index e92e5a9829..2856e7e16d 100644..100755 --- a/firmware/export/config-ondavx747.h +++ b/firmware/export/config-ondavx747.h | |||
@@ -161,6 +161,4 @@ | |||
161 | #define USB_VENDOR_ID 0x041e | 161 | #define USB_VENDOR_ID 0x041e |
162 | #define USB_PRODUCT_ID 0x4133 | 162 | #define USB_PRODUCT_ID 0x4133 |
163 | 163 | ||
164 | #include <stdbool.h> /* HACKY */ | ||
165 | |||
166 | #endif | 164 | #endif |
diff --git a/firmware/export/config-ondavx747p.h b/firmware/export/config-ondavx747p.h new file mode 100755 index 0000000000..5c4d3e7aea --- /dev/null +++ b/firmware/export/config-ondavx747p.h | |||
@@ -0,0 +1,164 @@ | |||
1 | /*************************************************************************** | ||
2 | * __________ __ ___. | ||
3 | * Open \______ \ ____ ____ | | _\_ |__ _______ ___ | ||
4 | * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / | ||
5 | * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < | ||
6 | * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ | ||
7 | * \/ \/ \/ \/ \/ | ||
8 | * $Id$ | ||
9 | * | ||
10 | * Copyright (C) 2008 by Olivier Barbut | ||
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 | |||
22 | /* | ||
23 | * This config file is for the Onda VX747+ | ||
24 | */ | ||
25 | #define TARGET_TREE /* this target is using the target tree system */ | ||
26 | |||
27 | #define CONFIG_SDRAM_START 0x80004000 | ||
28 | |||
29 | #define ONDA_VX747P 1 | ||
30 | |||
31 | #define MODEL_NAME "Onda VX747+" | ||
32 | |||
33 | /* For Rolo and boot loader */ | ||
34 | #define MODEL_NUMBER 44 | ||
35 | |||
36 | //#define HAVE_ATA_SD | ||
37 | //#define HAVE_HOTSWAP | ||
38 | |||
39 | //#define CONFIG_STORAGE (STORAGE_NAND | STORAGE_SD) | ||
40 | #define CONFIG_STORAGE STORAGE_RAMDISK /* Multivolume currently handled at firmware/target/ level */ | ||
41 | |||
42 | #define CONFIG_NAND NAND_CC | ||
43 | |||
44 | #define HAVE_MULTIVOLUME | ||
45 | |||
46 | /* define this if you have a bitmap LCD display */ | ||
47 | #define HAVE_LCD_BITMAP | ||
48 | |||
49 | /* define this if you have a colour LCD */ | ||
50 | #define HAVE_LCD_COLOR | ||
51 | |||
52 | /* define this if you have access to the quickscreen */ | ||
53 | #define HAVE_QUICKSCREEN | ||
54 | |||
55 | /* define this if you have access to the pitchscreen */ | ||
56 | #define HAVE_PITCHSCREEN | ||
57 | |||
58 | /* define this if you would like tagcache to build on this target */ | ||
59 | #define HAVE_TAGCACHE | ||
60 | |||
61 | /* define this if the target has volume keys which can be used in the lists */ | ||
62 | #define HAVE_VOLUME_IN_LIST | ||
63 | |||
64 | /* LCD dimensions */ | ||
65 | #define CONFIG_LCD LCD_ONDAVX747 | ||
66 | |||
67 | #define LCD_WIDTH 240 | ||
68 | #define LCD_HEIGHT 400 | ||
69 | |||
70 | #define LCD_DEPTH 16 /* 16bit colours */ | ||
71 | #define LCD_PIXELFORMAT RGB565 /* rgb565 */ | ||
72 | |||
73 | /* Define this if your LCD can be enabled/disabled */ | ||
74 | #define HAVE_LCD_ENABLE | ||
75 | |||
76 | #define CONFIG_KEYPAD ONDAVX747_PAD | ||
77 | #define HAVE_TOUCHSCREEN | ||
78 | #define HAVE_BUTTON_DATA | ||
79 | |||
80 | /* Define this if you do software codec */ | ||
81 | #define CONFIG_CODEC SWCODEC | ||
82 | |||
83 | /* define this if you have a real-time clock */ | ||
84 | #define CONFIG_RTC RTC_JZ47XX | ||
85 | |||
86 | /* Define this for LCD backlight available */ | ||
87 | #define HAVE_BACKLIGHT | ||
88 | |||
89 | #define HAVE_BACKLIGHT_BRIGHTNESS | ||
90 | |||
91 | /* Main LCD backlight brightness range and defaults */ | ||
92 | #define MIN_BRIGHTNESS_SETTING 100 | ||
93 | #define MAX_BRIGHTNESS_SETTING 300 | ||
94 | #define DEFAULT_BRIGHTNESS_SETTING 300 /* "full brightness" */ | ||
95 | #define DEFAULT_DIMNESS_SETTING 100 /* "most dim" */ | ||
96 | |||
97 | /* Define this if you have a software controlled poweroff */ | ||
98 | //#define HAVE_SW_POWEROFF | ||
99 | |||
100 | /* The number of bytes reserved for loadable codecs */ | ||
101 | #define CODEC_SIZE 0x100000 | ||
102 | |||
103 | /* The number of bytes reserved for loadable plugins */ | ||
104 | #define PLUGIN_BUFFER_SIZE 0x100000 | ||
105 | |||
106 | /* Define this if you have the */ | ||
107 | //#define HAVE_INGENIC_CODEC | ||
108 | |||
109 | #define CONFIG_I2C I2C_JZ47XX | ||
110 | |||
111 | /* TLV320 has no tone controls, so we use the software ones */ | ||
112 | //#define HAVE_SW_TONE_CONTROLS | ||
113 | |||
114 | /*#define HW_SAMPR_CAPS (SAMPR_CAP_88 | SAMPR_CAP_44 | SAMPR_CAP_22 | \ | ||
115 | SAMPR_CAP_11)*/ | ||
116 | |||
117 | #define BATTERY_CAPACITY_DEFAULT 1250 /* default battery capacity */ | ||
118 | #define BATTERY_CAPACITY_MIN 500 /* min. capacity selectable */ | ||
119 | #define BATTERY_CAPACITY_MAX 2500 /* max. capacity selectable */ | ||
120 | #define BATTERY_CAPACITY_INC 100 /* capacity increment */ | ||
121 | #define BATTERY_TYPES_COUNT 1 /* only one type */ | ||
122 | |||
123 | /* Hardware controlled charging with monitoring */ | ||
124 | //#define CONFIG_CHARGING CHARGING_MONITOR | ||
125 | |||
126 | #ifndef SIMULATOR | ||
127 | |||
128 | /* Define this if you have a Ingenic JZ4732 */ | ||
129 | #define CONFIG_CPU JZ4732 | ||
130 | |||
131 | /* define this if the hardware can be powered off while charging */ | ||
132 | #define HAVE_POWEROFF_WHILE_CHARGING | ||
133 | |||
134 | /* Define this to the CPU frequency */ | ||
135 | #define CPU_FREQ 3686400 | ||
136 | |||
137 | /* define this if you have a flash memory storage */ | ||
138 | #define HAVE_FLASH_STORAGE | ||
139 | |||
140 | /* Virtual LED (icon) */ | ||
141 | #define CONFIG_LED LED_VIRTUAL | ||
142 | |||
143 | /* define this if the backlight can be set to a brightness */ | ||
144 | #define __BACKLIGHT_INIT | ||
145 | |||
146 | /* Offset ( in the firmware file's header ) to the file CRC */ | ||
147 | #define FIRMWARE_OFFSET_FILE_CRC 0 | ||
148 | |||
149 | /* Offset ( in the firmware file's header ) to the real data */ | ||
150 | #define FIRMWARE_OFFSET_FILE_DATA 8 | ||
151 | |||
152 | /* Define this if you have adjustable CPU frequency */ | ||
153 | /* #define HAVE_ADJUSTABLE_CPU_FREQ */ | ||
154 | |||
155 | #define BOOTFILE_EXT "vx747p" | ||
156 | #define BOOTFILE "rockbox." BOOTFILE_EXT | ||
157 | #define BOOTDIR "/.rockbox" | ||
158 | |||
159 | #define CONFIG_USBOTG USBOTG_JZ4740 | ||
160 | #define HAVE_USBSTACK | ||
161 | #define USB_VENDOR_ID 0x041e | ||
162 | #define USB_PRODUCT_ID 0x4133 | ||
163 | |||
164 | #endif | ||
diff --git a/firmware/export/config-ondavx767.h b/firmware/export/config-ondavx767.h index 7a635b50e9..7216ef0d35 100644..100755 --- a/firmware/export/config-ondavx767.h +++ b/firmware/export/config-ondavx767.h | |||
@@ -33,11 +33,13 @@ | |||
33 | /* For Rolo and boot loader */ | 33 | /* For Rolo and boot loader */ |
34 | #define MODEL_NUMBER 36 | 34 | #define MODEL_NUMBER 36 |
35 | 35 | ||
36 | /* define this if you use an ATA controller */ | 36 | //#define HAVE_ATA_SD |
37 | //#define CONFIG_STORAGE STORAGE_ATA | 37 | //#define HAVE_HOTSWAP |
38 | 38 | ||
39 | #define HAVE_ATA_SD | 39 | //#define CONFIG_STORAGE (STORAGE_NAND | STORAGE_SD) |
40 | #define HAVE_HOTSWAP | 40 | #define CONFIG_STORAGE STORAGE_RAMDISK /* Multivolume currently handled at firmware/target/ level */ |
41 | |||
42 | #define CONFIG_NAND NAND_CC | ||
41 | 43 | ||
42 | #define HAVE_MULTIVOLUME | 44 | #define HAVE_MULTIVOLUME |
43 | 45 | ||
@@ -152,11 +154,9 @@ | |||
152 | #define BOOTFILE "rockbox." BOOTFILE_EXT | 154 | #define BOOTFILE "rockbox." BOOTFILE_EXT |
153 | #define BOOTDIR "/.rockbox" | 155 | #define BOOTDIR "/.rockbox" |
154 | 156 | ||
155 | /*#define CONFIG_USBOTG USBOTG_INGENIC | 157 | #define CONFIG_USBOTG USBOTG_JZ4740 |
156 | #define HAVE_USBSTACK | 158 | #define HAVE_USBSTACK |
157 | #define USB_VENDOR_ID 0x041e | 159 | #define USB_VENDOR_ID 0x041e |
158 | #define USB_PRODUCT_ID 0x4133*/ | 160 | #define USB_PRODUCT_ID 0x4133 |
159 | |||
160 | #include <stdbool.h> /* HACKY */ | ||
161 | 161 | ||
162 | #endif | 162 | #endif |
diff --git a/firmware/export/config.h b/firmware/export/config.h index 221e9a8124..75aa76a898 100644..100755 --- a/firmware/export/config.h +++ b/firmware/export/config.h | |||
@@ -316,6 +316,8 @@ | |||
316 | #include "config-meizu-m3.h" | 316 | #include "config-meizu-m3.h" |
317 | #elif defined(ONDA_VX747) | 317 | #elif defined(ONDA_VX747) |
318 | #include "config-ondavx747.h" | 318 | #include "config-ondavx747.h" |
319 | #elif defined(ONDA_VX747P) | ||
320 | #include "config-ondavx747p.h" | ||
319 | #elif defined(ONDA_VX767) | 321 | #elif defined(ONDA_VX767) |
320 | #include "config-ondavx767.h" | 322 | #include "config-ondavx767.h" |
321 | #elif defined(SANSA_CLIP) | 323 | #elif defined(SANSA_CLIP) |
@@ -634,4 +636,8 @@ | |||
634 | #define STORAGE_GET_INFO | 636 | #define STORAGE_GET_INFO |
635 | #endif | 637 | #endif |
636 | 638 | ||
639 | #ifdef CPU_MIPS | ||
640 | #include <stdbool.h> /* MIPS GCC fix? */ | ||
641 | #endif | ||
642 | |||
637 | #endif /* __CONFIG_H__ */ | 643 | #endif /* __CONFIG_H__ */ |
diff --git a/firmware/target/mips/ingenic_jz47xx/onda_vx747/sadc-onda_vx747.c b/firmware/target/mips/ingenic_jz47xx/onda_vx747/sadc-onda_vx747.c index 2624eb3d82..1aa98819fe 100644..100755 --- a/firmware/target/mips/ingenic_jz47xx/onda_vx747/sadc-onda_vx747.c +++ b/firmware/target/mips/ingenic_jz47xx/onda_vx747/sadc-onda_vx747.c | |||
@@ -27,11 +27,22 @@ | |||
27 | #include "powermgmt.h" | 27 | #include "powermgmt.h" |
28 | #include "kernel.h" | 28 | #include "kernel.h" |
29 | 29 | ||
30 | #ifdef ONDA_VX747 | ||
30 | #define BTN_OFF (1 << 29) | 31 | #define BTN_OFF (1 << 29) |
31 | #define BTN_VOL_DOWN (1 << 27) | 32 | #define BTN_VOL_DOWN (1 << 27) |
32 | #define BTN_HOLD (1 << 16) | 33 | #define BTN_HOLD (1 << 16) |
33 | #define BTN_MENU (1 << 1) | 34 | #define BTN_MENU (1 << 1) |
34 | #define BTN_VOL_UP (1 << 0) | 35 | #define BTN_VOL_UP (1 << 0) |
36 | #elif defined(ONDA_VX747P) | ||
37 | #define BTN_OFF (1 << 29) | ||
38 | #define BTN_VOL_DOWN (1 << 27) | ||
39 | #define BTN_HOLD (1 << 22) /* on REG_GPIO_PXPIN(2) */ | ||
40 | #define BTN_MENU (1 << 20) | ||
41 | #define BTN_VOL_UP (1 << 19) | ||
42 | #else | ||
43 | #error No buttons defined! | ||
44 | #endif | ||
45 | |||
35 | #define BTN_MASK (BTN_OFF | BTN_VOL_DOWN | \ | 46 | #define BTN_MASK (BTN_OFF | BTN_VOL_DOWN | \ |
36 | BTN_MENU | BTN_VOL_UP) | 47 | BTN_MENU | BTN_VOL_UP) |
37 | 48 | ||
@@ -130,11 +141,19 @@ void button_init_device(void) | |||
130 | REG_SADC_CTRL = (~(SADC_CTRL_PENDM | SADC_CTRL_PENUM | SADC_CTRL_TSRDYM | SADC_CTRL_PBATRDYM)); | 141 | REG_SADC_CTRL = (~(SADC_CTRL_PENDM | SADC_CTRL_PENUM | SADC_CTRL_TSRDYM | SADC_CTRL_PBATRDYM)); |
131 | REG_SADC_ENA = (SADC_ENA_TSEN | SADC_ENA_PBATEN); | 142 | REG_SADC_ENA = (SADC_ENA_TSEN | SADC_ENA_PBATEN); |
132 | 143 | ||
144 | #ifdef ONDA_VX747 | ||
133 | __gpio_as_input(32*3 + 29); | 145 | __gpio_as_input(32*3 + 29); |
134 | __gpio_as_input(32*3 + 27); | 146 | __gpio_as_input(32*3 + 27); |
135 | __gpio_as_input(32*3 + 16); | 147 | __gpio_as_input(32*3 + 16); |
136 | __gpio_as_input(32*3 + 1); | 148 | __gpio_as_input(32*3 + 1); |
137 | __gpio_as_input(32*3 + 0); | 149 | __gpio_as_input(32*3 + 0); |
150 | #elif defined(ONDA_VX747P) | ||
151 | __gpio_as_input(32*3 + 29); | ||
152 | __gpio_as_input(32*3 + 27); | ||
153 | __gpio_as_input(32*3 + 20); | ||
154 | __gpio_as_input(32*3 + 19); | ||
155 | __gpio_as_input(32*2 + 22); | ||
156 | #endif | ||
138 | 157 | ||
139 | mutex_init(&battery_mtx); | 158 | mutex_init(&battery_mtx); |
140 | } | 159 | } |
@@ -173,7 +192,13 @@ int button_read_device(int *data) | |||
173 | int ret = 0, tmp; | 192 | int ret = 0, tmp; |
174 | 193 | ||
175 | /* Filter button events out if HOLD button is pressed at firmware/ level */ | 194 | /* Filter button events out if HOLD button is pressed at firmware/ level */ |
176 | if((~REG_GPIO_PXPIN(3)) & BTN_HOLD) | 195 | if( |
196 | #ifdef ONDA_VX747 | ||
197 | (~REG_GPIO_PXPIN(3)) & BTN_HOLD | ||
198 | #elif defined(ONDA_VX747P) | ||
199 | (~REG_GPIO_PXPIN(2)) & BTN_HOLD | ||
200 | #endif | ||
201 | ) | ||
177 | return 0; | 202 | return 0; |
178 | 203 | ||
179 | tmp = (~REG_GPIO_PXPIN(3)) & BTN_MASK; | 204 | tmp = (~REG_GPIO_PXPIN(3)) & BTN_MASK; |
diff --git a/firmware/target/mips/ingenic_jz47xx/onda_vx767/usb-target.h b/firmware/target/mips/ingenic_jz47xx/onda_vx767/usb-target.h index c681bdaa12..887d7415d0 100644..100755 --- a/firmware/target/mips/ingenic_jz47xx/onda_vx767/usb-target.h +++ b/firmware/target/mips/ingenic_jz47xx/onda_vx767/usb-target.h | |||
@@ -24,23 +24,19 @@ | |||
24 | 24 | ||
25 | #include "config.h" | 25 | #include "config.h" |
26 | 26 | ||
27 | #define __gpio_as_usb_detect() \ | ||
28 | do { \ | ||
29 | REG_GPIO_PXFUNS(3) = 0x10000000; \ | ||
30 | REG_GPIO_PXSELS(3) = 0x10000000; \ | ||
31 | REG_GPIO_PXPES(3) = 0x10000000; \ | ||
32 | } while (0) | ||
33 | |||
34 | #define GPIO_UDC_DETE (32 * 3 + 28) | 27 | #define GPIO_UDC_DETE (32 * 3 + 28) |
35 | #define IRQ_GPIO_UDC_DETE (IRQ_GPIO_0 + GPIO_UDC_DETE) | 28 | #define IRQ_GPIO_UDC_DETE (IRQ_GPIO_0 + GPIO_UDC_DETE) |
36 | 29 | ||
37 | static inline void usb_init_gpio(void) | 30 | #define USB_INIT_GPIO() \ |
38 | { | 31 | { \ |
39 | __gpio_as_usb_detect(); | 32 | REG_GPIO_PXFUNS(3) = 0x10000000; \ |
40 | system_enable_irq(IRQ_UDC); | 33 | REG_GPIO_PXSELS(3) = 0x10000000; \ |
41 | __gpio_as_input(GPIO_UDC_DETE); | 34 | REG_GPIO_PXPES(3) = 0x10000000; \ |
35 | __gpio_as_input(GPIO_UDC_DETE); \ | ||
42 | } | 36 | } |
43 | 37 | ||
38 | #define USB_DRV_CONNECTED() (__gpio_get_pin(GPIO_UDC_DETE) == 1) | ||
39 | |||
44 | int usb_detect(void); | 40 | int usb_detect(void); |
45 | void usb_init_device(void); | 41 | void usb_init_device(void); |
46 | bool usb_drv_connected(void); | 42 | bool usb_drv_connected(void); |