Support building beastpatcher with MinGW.
[kugel-rb.git] / firmware / export / config-gigabeat-s.h
blobd122edbf7487df0a212e20fd4c70c35af2c546c9
1 /*
2 * This config file is for toshiba Gigabeat S
3 */
5 #define TARGET_TREE /* this target is using the target tree system */
7 #define TOSHIBA_GIGABEAT_S 1
9 #define MODEL_NAME "Toshiba Gigabeat S"
11 /* For Rolo and boot loader */
12 #define MODEL_NUMBER 21
14 /* define this if you use an ATA controller */
15 #define CONFIG_STORAGE STORAGE_ATA
17 /* define this if you have a bitmap LCD display */
18 #define HAVE_LCD_BITMAP
20 /* define this if you have a colour LCD */
21 #define HAVE_LCD_COLOR
23 /* define this if you want album art for this target */
24 #define HAVE_ALBUMART
26 /* define this to enable bitmap scaling */
27 #define HAVE_BMP_SCALING
29 /* define this to enable JPEG decoding */
30 #define HAVE_JPEG
32 /* define this if you have access to the quickscreen */
33 #define HAVE_QUICKSCREEN
35 /* define this if you have access to the pitchscreen */
36 #define HAVE_PITCHSCREEN
38 /* define this if you would like tagcache to build on this target */
39 #define HAVE_TAGCACHE
41 /* define this if the target has volume keys which can be used in the lists */
42 #define HAVE_VOLUME_IN_LIST
44 /* LCD dimensions */
45 #define LCD_WIDTH 240
46 #define LCD_HEIGHT 320
47 #define LCD_DEPTH 16 /* 65k colours */
48 #define LCD_PIXELFORMAT RGB565 /* rgb565 */
50 #define CONFIG_KEYPAD GIGABEAT_S_PAD
52 /* Define keyboard features */
53 #define KBD_CURSOR_KEYS /* allow non-line edit cursor movement */
54 #define KBD_MODES /* enable line edit */
55 #define KBD_MORSE_INPUT /* enable morse code input */
57 /* Define this if you do software codec */
58 #define CONFIG_CODEC SWCODEC
60 /* define this if you have a real-time clock */
61 #define CONFIG_RTC RTC_MC13783
63 /* Define if the device can wake from an RTC alarm */
64 #define HAVE_RTC_ALARM
66 /* Define this for LCD backlight available */
67 #define HAVE_BACKLIGHT
69 /* define this if you have a disk storage, i.e. something
70 that needs spinups and can cause skips when shaked */
71 #define HAVE_DISK_STORAGE
73 /* Define this if you have a software controlled poweroff */
74 #define HAVE_SW_POWEROFF
76 /* The number of bytes reserved for loadable codecs */
77 #define CODEC_SIZE 0x100000
79 /* The number of bytes reserved for loadable plugins */
80 #define PLUGIN_BUFFER_SIZE 0x80000
82 /* Define this if you have a SI4700 fm radio tuner */
83 #define CONFIG_TUNER SI4700
85 /* Define this if you have the WM8978 audio codec */
86 #define HAVE_WM8978
88 /* Define bitmask of input sources - recordable bitmask can be defined
89 explicitly if different */
90 #define INPUT_SRC_CAPS SRC_CAP_FMRADIO
92 /* define the bitmask of hardware sample rates */
93 #define HW_SAMPR_CAPS (SAMPR_CAP_48 | SAMPR_CAP_44 | SAMPR_CAP_32 | \
94 SAMPR_CAP_24 | SAMPR_CAP_22 | SAMPR_CAP_16 | \
95 SAMPR_CAP_12 | SAMPR_CAP_11 | SAMPR_CAP_8)
97 /* define the bitmask of recording sample rates */
98 #define REC_SAMPR_CAPS HW_SAMPR_CAPS /* Same as playback */
100 /* define default recording levels */
101 #define DEFAULT_REC_LEFT_GAIN 0
102 #define DEFAULT_REC_RIGHT_GAIN 0
104 /* Define this if you have recording capability */
105 #define HAVE_RECORDING
107 /* Define this if your LCD can be put to sleep. */
108 #define HAVE_LCD_SLEEP
109 /* We don't use a setting but a fixed delay after the backlight has
110 * turned off */
111 #define LCD_SLEEP_TIMEOUT (2*HZ)
113 /* Define this if your LCD can be enabled/disabled */
114 #define HAVE_LCD_ENABLE
116 #ifndef BOOTLOADER
118 #define HAVE_BACKLIGHT_BRIGHTNESS
120 /* Main LCD backlight brightness range and defaults */
121 #define MIN_BRIGHTNESS_SETTING 1
122 #define MAX_BRIGHTNESS_SETTING 24
123 #define DEFAULT_BRIGHTNESS_SETTING 12
125 /* Implementation-defined fading type with bool settings */
126 #define CONFIG_BACKLIGHT_FADING BACKLIGHT_FADING_TARGET
128 #define HAVE_HEADPHONE_DETECTION
129 #endif /* BOOTLOADER */
131 #ifndef SIMULATOR
133 /* The LCD on a Gigabeat is 240x320 - it is portrait */
134 #define HAVE_PORTRAIT_LCD
136 #define CONFIG_CPU IMX31L
138 /* Define this if you want to use imx31l's i2c interface */
139 #define CONFIG_I2C I2C_IMX31L
141 /* Define the bitmask of modules used */
142 #define SPI_MODULE_MASK (USE_CSPI2_MODULE)
143 #define I2C_MODULE_MASK (USE_I2C1_MODULE | USE_I2C2_MODULE)
144 #define GPIO_EVENT_MASK (USE_GPIO1_EVENTS)
146 /* Define this if target has an additional number of threads specific to it */
147 #define TARGET_EXTRA_THREADS 2
149 /* Type of mobile power - check this out */
150 #define BATTERY_CAPACITY_DEFAULT 700 /* default battery capacity */
151 #define BATTERY_CAPACITY_MIN 700 /* min. capacity selectable */
152 #define BATTERY_CAPACITY_MAX 1200 /* max. capacity selectable */
153 #define BATTERY_CAPACITY_INC 25 /* capacity increment */
154 #define BATTERY_TYPES_COUNT 1 /* only one type */
156 /* TODO: have a proper status displayed in the bootloader and have it
157 * work! */
158 /* Charing implemented in a target-specific algorithm */
159 #define CONFIG_CHARGING CHARGING_TARGET
161 /* define this if the hardware can be powered off while charging */
162 #define HAVE_POWEROFF_WHILE_CHARGING
164 /* The size of the flash ROM */
165 #define FLASH_SIZE 0x400000
167 /* Define this to the CPU frequency */
168 /* TODO */
169 #define CPU_FREQ 264000000 /* Set by retailOS loader */
171 /* define this if the unit can be powered or charged via USB */
172 #define HAVE_USB_POWER
173 #define USBPOWER_BUTTON BUTTON_MENU
174 #define USBPOWER_BTN_IGNORE BUTTON_POWER
176 /* define this if the unit has a battery switch or battery can be removed
177 * when running */
178 #define HAVE_BATTERY_SWITCH
180 /* USB On-the-go */
181 #define CONFIG_USBOTG USBOTG_ARC
183 /* enable these for the usb stack */
184 #define USE_ROCKBOX_USB
185 #define HAVE_USBSTACK
186 #define USB_STORAGE
187 /* usb stack and driver settings */
188 #define USB_PORTSCX_PHY_TYPE PORTSCX_PTS_ULPI
189 #define USB_VENDOR_ID 0x0930
190 #define USB_PRODUCT_ID 0x0010
192 /* Define this if you have ATA power-off control */
193 #define HAVE_ATA_POWER_OFF
195 /* Define this to add support for ATA DMA */
196 #define HAVE_ATA_DMA
198 /* Virtual LED (icon) */
199 #define CONFIG_LED LED_VIRTUAL
201 #define CONFIG_LCD LCD_GIGABEAT
203 /* define this if the backlight can be set to a brightness */
204 //#define HAVE_BACKLIGHT_SET_FADING
205 #define __BACKLIGHT_INIT
207 /* Offset ( in the firmware file's header ) to the file CRC */
208 #define FIRMWARE_OFFSET_FILE_CRC 0
210 /* Offset ( in the firmware file's header ) to the real data */
211 #define FIRMWARE_OFFSET_FILE_DATA 8
213 //#define HAVE_SERIAL
214 #define HAVE_VOLUME_IN_LIST
216 /*Remove Comments from UART_INT to enable the UART interrupts,*/
217 /*otherwise iterrupts will be disabled. For now we will test */
218 /*UART state by polling the registers, and if necessary update this */
219 /*method by using the interrupts instead*/
220 //#define UART_INT
222 /* Define this if you have adjustable CPU frequency */
223 /* #define HAVE_ADJUSTABLE_CPU_FREQ */
225 #define HAVE_PCM_DMA_ADDRESS
227 #define BOOTFILE_EXT "gigabeat"
228 #define BOOTFILE "rockbox." BOOTFILE_EXT
229 #define BOOTDIR "/.rockbox"
231 #endif