Enable ATA DMA on pp5020 based players with ATA drives.
[kugel-rb.git] / firmware / export / config / iriverh10.h
blob5365c832398132d3ff335e7243b3590e170cc5a3
1 /*
2 * This config file is for the iriver H10 20Gb
3 */
5 #define TARGET_TREE /* this target is using the target tree system */
7 /* For Rolo and boot loader */
8 #define MODEL_NUMBER 13
9 #define MODEL_NAME "iriver H10 20GB"
11 /* define this if you use an ATA controller */
12 #define CONFIG_STORAGE STORAGE_ATA
14 /* define this if you have recording possibility */
15 #define HAVE_RECORDING
16 /* Define bitmask of input sources - recordable bitmask can be defined
17 explicitly if different */
18 #define INPUT_SRC_CAPS (SRC_CAP_MIC | SRC_CAP_LINEIN | SRC_CAP_FMRADIO)
20 /* define the bitmask of hardware sample rates */
21 #define HW_SAMPR_CAPS (SAMPR_CAP_96 | SAMPR_CAP_88 | SAMPR_CAP_48 | \
22 SAMPR_CAP_44 | SAMPR_CAP_32 | SAMPR_CAP_8)
24 /* define the bitmask of recording sample rates */
25 #define REC_SAMPR_CAPS (SAMPR_CAP_96 | SAMPR_CAP_88 | SAMPR_CAP_48 | \
26 SAMPR_CAP_44 | SAMPR_CAP_32 | SAMPR_CAP_8)
28 /* define this if you have a bitmap LCD display */
29 #define HAVE_LCD_BITMAP
31 /* define this if you have a colour LCD */
32 #define HAVE_LCD_COLOR
34 /* define this if you want album art for this target */
35 #define HAVE_ALBUMART
37 /* define this to enable bitmap scaling */
38 #define HAVE_BMP_SCALING
40 /* define this to enable JPEG decoding */
41 #define HAVE_JPEG
43 /* define this if you have access to the quickscreen */
44 #define HAVE_QUICKSCREEN
46 /* define this if you have access to the pitchscreen */
47 #define HAVE_PITCHSCREEN
49 /* define this if you would like tagcache to build on this target */
50 #define HAVE_TAGCACHE
52 /* LCD dimensions */
53 #define LCD_WIDTH 160
54 #define LCD_HEIGHT 128
55 #define LCD_DEPTH 16 /* 65536 colours */
56 #define LCD_PIXELFORMAT RGB565SWAPPED /* rgb565 byte-swapped */
58 #ifndef BOOTLOADER
59 /* Define this if your LCD can be enabled/disabled */
60 #define HAVE_LCD_ENABLE
62 /* Define this if your LCD can be put to sleep. HAVE_LCD_ENABLE
63 * should be defined as well.
64 * We can currently put the lcd to sleep but it won't wake up properly */
65 #define HAVE_LCD_SLEEP
66 #define HAVE_LCD_SLEEP_SETTING
67 #endif
69 /* define this if you can flip your LCD */
70 #define HAVE_LCD_FLIP
72 /* define this if you can invert the colours on your LCD */
73 #define HAVE_LCD_INVERT
75 /* #define IRAM_LCDFRAMEBUFFER IDATA_ATTR *//* put the lcd frame buffer in IRAM */
77 #define CONFIG_KEYPAD IRIVER_H10_PAD
79 /* Define this to enable morse code input */
80 #define HAVE_MORSE_INPUT
82 /* Define this if you do software codec */
83 #define CONFIG_CODEC SWCODEC
85 /* define this if you have a real-time clock */
86 #ifndef BOOTLOADER
87 #define CONFIG_RTC RTC_E8564
88 #define HAVE_RTC_ALARM
89 #endif
91 /* define this if you have a disk storage, i.e. something
92 that needs spinups and can cause skips when shaked */
93 #define HAVE_DISK_STORAGE
95 /* Define this if you have a software controlled poweroff */
96 #define HAVE_SW_POWEROFF
98 /* The number of bytes reserved for loadable codecs */
99 #define CODEC_SIZE 0x100000
101 /* The number of bytes reserved for loadable plugins */
102 #define PLUGIN_BUFFER_SIZE 0x80000
104 /* Define this if you have the WM8731 audio codec */
105 #define HAVE_WM8731
107 /* WM8731 has no tone controls, so we use the software ones */
108 #define HAVE_SW_TONE_CONTROLS
110 #define AB_REPEAT_ENABLE 1
112 /* FM Tuner */
113 #define CONFIG_TUNER TEA5767
114 #define CONFIG_TUNER_XTAL 32768
116 /* Define this for LCD backlight available */
117 #define HAVE_BACKLIGHT
119 #define AB_REPEAT_ENABLE 1
121 #define BATTERY_CAPACITY_DEFAULT 1550 /* default battery capacity */
122 #define BATTERY_CAPACITY_MIN 1500 /* min. capacity selectable */
123 #define BATTERY_CAPACITY_MAX 3200 /* max. capacity selectable */
124 #define BATTERY_CAPACITY_INC 50 /* capacity increment */
125 #define BATTERY_TYPES_COUNT 1 /* only one type */
127 /* Hardware controlled charging */
128 #define CONFIG_CHARGING CHARGING_SIMPLE
130 /* define this if the unit can be powered or charged via USB */
131 #define HAVE_USB_POWER
133 /* Define this if you have a PortalPlayer PP5020 */
134 #define CONFIG_CPU PP5020
136 /* Define this if you want to use the PP5020 i2c interface */
137 #define CONFIG_I2C I2C_PP5020
139 /* define this if the hardware can be powered off while charging */
140 #define HAVE_POWEROFF_WHILE_CHARGING
142 /* The start address index for ROM builds */
143 #define ROM_START 0x00000000
145 /* The size of the flash ROM */
146 #define FLASH_SIZE 0x100000
148 /* Define this to the CPU frequency */
149 #define CPU_FREQ 75000000
151 /* Type of LCD */
152 #define CONFIG_LCD LCD_H10_20GB
154 /* Define this if your LCD can set contrast */
155 #define HAVE_LCD_CONTRAST
157 #define MIN_CONTRAST_SETTING 0
158 #define MAX_CONTRAST_SETTING 30
159 #define DEFAULT_CONTRAST_SETTING 14 /* Match boot contrast */
161 /* We're able to shut off power to the HDD */
162 #define HAVE_ATA_POWER_OFF
164 /* Offset ( in the firmware file's header ) to the file CRC and data. These are
165 only used when loading the old format rockbox.h10 file */
166 #define FIRMWARE_OFFSET_FILE_CRC 0x0
167 #define FIRMWARE_OFFSET_FILE_DATA 0x8
169 /* USB On-the-go */
170 #define CONFIG_USBOTG USBOTG_ARC
172 /* enable these for the experimental usb stack */
173 #define HAVE_USBSTACK
174 #define USE_ROCKBOX_USB
175 #define USB_VENDOR_ID 0x0B70
176 #define USB_PRODUCT_ID 0x00BA
177 #define HAVE_USB_HID_MOUSE
179 /* Define this if you have adjustable CPU frequency */
180 #define HAVE_ADJUSTABLE_CPU_FREQ
182 #define MI4_FORMAT
183 #define BOOTFILE_EXT "mi4"
184 #define BOOTFILE "rockbox." BOOTFILE_EXT
185 #define BOOTDIR "/.rockbox"
187 #define ICODE_ATTR_TREMOR_NOT_MDCT
190 /* DMA is used only for reading on PP502x because although reads are ~8x faster
191 * writes appear to be ~25% slower.
193 #define HAVE_ATA_DMA