Gigabeat S: Not defining HAVE_POWEROFF_WHILE_CHARGING is far too disruptive given...
[kugel-rb.git] / firmware / export / config / gigabeats.h
blobb3e7dc31bd7478e7d9ca7cab3baa0b8d19fb33af
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 /* System source clock frequencies (Hz) */
12 #define CONFIG_CKIL_FREQ 32768 /* RTC Crystal, Tuner */
13 #define CONFIG_CKIH_FREQ 27000000 /* PLL Reference */
15 /* For Rolo and boot loader */
16 #define MODEL_NUMBER 21
18 /* define this if you use an ATA controller */
19 #define CONFIG_STORAGE STORAGE_ATA
21 /*define this if the ATA controller and method of USB access support LBA48 */
22 #define HAVE_LBA48
24 /* define this if you have a bitmap LCD display */
25 #define HAVE_LCD_BITMAP
27 /* define this if you have a colour LCD */
28 #define HAVE_LCD_COLOR
30 /* define this if you want album art for this target */
31 #define HAVE_ALBUMART
33 /* define this to enable bitmap scaling */
34 #define HAVE_BMP_SCALING
36 /* define this to enable JPEG decoding */
37 #define HAVE_JPEG
39 /* define this if you have access to the quickscreen */
40 #define HAVE_QUICKSCREEN
42 /* define this if you have access to the pitchscreen */
43 #define HAVE_PITCHSCREEN
45 /* define this if you would like tagcache to build on this target */
46 #define HAVE_TAGCACHE
48 /* define this if the target has volume keys which can be used in the lists */
49 #define HAVE_VOLUME_IN_LIST
51 /* LCD dimensions */
52 #define LCD_WIDTH 240
53 #define LCD_HEIGHT 320
54 #define LCD_DEPTH 16 /* 65k colours */
55 #define LCD_PIXELFORMAT RGB565 /* rgb565 */
57 #define CONFIG_KEYPAD GIGABEAT_S_PAD
59 /* Define this to enable morse code input */
60 #define HAVE_MORSE_INPUT
62 /* Define this if you do software codec */
63 #define CONFIG_CODEC SWCODEC
65 /* define this if you have a real-time clock */
66 #define CONFIG_RTC RTC_MC13783
68 /* Define if the device can wake from an RTC alarm */
69 #define HAVE_RTC_ALARM
71 /* Define this for LCD backlight available */
72 #define HAVE_BACKLIGHT
74 /* define this if you have a disk storage, i.e. something
75 that needs spinups and can cause skips when shaked */
76 #define HAVE_DISK_STORAGE
78 /* Define this if you have a software controlled poweroff */
79 #define HAVE_SW_POWEROFF
81 /* The number of bytes reserved for loadable codecs */
82 #define CODEC_SIZE 0x100000
84 /* The number of bytes reserved for loadable plugins */
85 #define PLUGIN_BUFFER_SIZE 0x80000
87 /* Define this if you have a SI4700 fm radio tuner */
88 #define CONFIG_TUNER SI4700
90 /* Define this if you have the WM8978 audio codec */
91 #define HAVE_WM8978
93 /* Define bitmask of input sources - recordable bitmask can be defined
94 explicitly if different */
95 #define INPUT_SRC_CAPS SRC_CAP_FMRADIO
97 /* define the bitmask of hardware sample rates */
98 #define HW_SAMPR_CAPS (SAMPR_CAP_48 | SAMPR_CAP_44 | SAMPR_CAP_32 | \
99 SAMPR_CAP_24 | SAMPR_CAP_22 | SAMPR_CAP_16 | \
100 SAMPR_CAP_12 | SAMPR_CAP_11 | SAMPR_CAP_8)
102 /* define the bitmask of recording sample rates */
103 #define REC_SAMPR_CAPS HW_SAMPR_CAPS /* Same as playback */
105 /* define default recording levels */
106 #define DEFAULT_REC_LEFT_GAIN 0
107 #define DEFAULT_REC_RIGHT_GAIN 0
109 /* Define this if you have recording capability */
110 #define HAVE_RECORDING
112 /* Define this if your LCD can be put to sleep. */
113 #define HAVE_LCD_SLEEP
114 /* We don't use a setting but a fixed delay after the backlight has
115 * turned off */
116 #define LCD_SLEEP_TIMEOUT (2*HZ)
118 /* Define this if your LCD can be enabled/disabled */
119 #define HAVE_LCD_ENABLE
121 #ifndef BOOTLOADER
123 #define HAVE_BACKLIGHT_BRIGHTNESS
125 /* Main LCD backlight brightness range and defaults */
126 #define MIN_BRIGHTNESS_SETTING 1
127 #define MAX_BRIGHTNESS_SETTING 24
128 #define DEFAULT_BRIGHTNESS_SETTING 12
130 /* Implementation-defined fading type with bool settings */
131 #define CONFIG_BACKLIGHT_FADING BACKLIGHT_FADING_TARGET
133 #define HAVE_HEADPHONE_DETECTION
134 #endif /* BOOTLOADER */
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 /* Charging 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 /* We don't charge while powered down so maybe implement a
163 finish-charging-and-then-poweroff mode */
164 #define HAVE_POWEROFF_WHILE_CHARGING
166 /* The size of the flash ROM */
167 #define FLASH_SIZE 0x200000
169 /* Define this to the CPU frequency */
170 #define CPU_FREQ 264000000 /* Set by retailOS loader */
172 #define FREQ cpu_frequency
174 /* define this if the unit can be powered or charged via USB */
175 #define HAVE_USB_POWER
176 #define USBPOWER_BUTTON BUTTON_MENU
177 #define USBPOWER_BTN_IGNORE BUTTON_POWER
179 /* define this if the unit has a battery switch or battery can be removed
180 * when running */
181 #define HAVE_BATTERY_SWITCH
183 /* USB On-the-go */
184 #define CONFIG_USBOTG USBOTG_ARC
186 /* enable these for the usb stack */
187 #define USE_ROCKBOX_USB
188 #define HAVE_USBSTACK
189 /* usb stack and driver settings */
190 #define USB_PORTSCX_PHY_TYPE PORTSCX_PTS_ULPI
191 #define USB_VENDOR_ID 0x0930
192 #define USB_PRODUCT_ID 0x0010
193 #define HAVE_USB_HID_MOUSE
195 /* Define this if you have ATA power-off control */
196 #define HAVE_ATA_POWER_OFF
198 /* Define this to add support for ATA DMA */
199 #define HAVE_ATA_DMA
201 #define CONFIG_LCD LCD_GIGABEAT
203 /* Offset ( in the firmware file's header ) to the file CRC */
204 #define FIRMWARE_OFFSET_FILE_CRC 0
206 /* Offset ( in the firmware file's header ) to the real data */
207 #define FIRMWARE_OFFSET_FILE_DATA 8
209 //#define HAVE_SERIAL
210 #define HAVE_VOLUME_IN_LIST
212 /*Remove Comments from UART_INT to enable the UART interrupts,*/
213 /*otherwise iterrupts will be disabled. For now we will test */
214 /*UART state by polling the registers, and if necessary update this */
215 /*method by using the interrupts instead*/
216 //#define UART_INT
218 /* Define this if you have adjustable CPU frequency */
219 /* #define HAVE_ADJUSTABLE_CPU_FREQ */
221 #define HAVE_PCM_DMA_ADDRESS
222 #define HAVE_PCM_REC_DMA_ADDRESS
224 #define BOOTFILE_EXT "gigabeat"
225 #define BOOTFILE "rockbox." BOOTFILE_EXT
226 #define BOOTDIR "/.rockbox"
228 /* Define this if a programmable hotkey is mapped */
229 #define HAVE_HOTKEY