TARGET_TREE is not needed anymore
[maemo-rb.git] / firmware / export / config / samsungypr0.h
blobcbc17567ec2db63ba1a60a57227b5a419cf3b9b1
1 /*
2 * This config file is for the RockBox as application on the Samsung YP-R0 player.
3 * The target name for ifdefs is: SAMSUNG_YPR0; or CONFIG_PLATFORM & PLAFTORM_YPR0
4 */
6 /* We don't run on hardware directly */
7 /* YP-R0 need it too of course */
8 #define CONFIG_PLATFORM (PLATFORM_HOSTED)
10 /* For Rolo and boot loader */
11 #define MODEL_NUMBER 100
13 #define MODEL_NAME "Samsung YP-R0"
15 /* Indeed to check that */
16 /*TODO: R0 should charge battery automatically, no software stuff to manage that. Just to know about some as3543 registers, that should be set after loading samsung's afe.ko module
18 /*TODO: implement USB data transfer management -> see safe mode script and think a way to implemtent it in the code */
19 #define USB_NONE
21 /* There is only USB charging */
22 //#define HAVE_USB_POWER
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 the LCD needs to be shutdown */
31 /* TODO: Our framebuffer must be closed... */
32 #define HAVE_LCD_SHUTDOWN
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
54 * overriden by configure for application builds */
55 #ifndef LCD_WIDTH
56 #define LCD_WIDTH 240
57 #endif
59 #ifndef LCD_HEIGHT
60 #define LCD_HEIGHT 320
61 #endif
63 #define LCD_DEPTH 16
64 /* Check that but should not matter */
65 #define LCD_PIXELFORMAT 565
67 /* YP-R0 has the backlight */
68 #define HAVE_BACKLIGHT
70 /* Define this for LCD backlight brightness available */
71 #define HAVE_BACKLIGHT_BRIGHTNESS
73 /* Main LCD backlight brightness range and defaults */
74 /* 0 is turned off. 31 is the real maximum for the ASCODEC DCDC but samsung doesn't use any value over 15, so it safer to don't go up too much */
75 #define MIN_BRIGHTNESS_SETTING 1
76 #define MAX_BRIGHTNESS_SETTING 15
77 #define DEFAULT_BRIGHTNESS_SETTING 4
79 /* Which backlight fading type? */
80 /* TODO: ASCODEC has an auto dim feature, so disabling the supply to leds should do the trick. But for now I tested SW fading only */
81 #define CONFIG_BACKLIGHT_FADING BACKLIGHT_FADING_SW_SETTING
83 /* define this if you have RTC RAM available for settings */
84 /* TODO: in theory we could use that, ascodec offers us such a ram. we have also a small device, part of the nand of 1 MB size, that Samsung uses to store region code etc and it's almost unused space */
85 //#define HAVE_RTC_RAM
87 /* define this if you have a real-time clock */
88 //#define CONFIG_RTC APPLICATION
89 #define CONFIG_RTC RTC_AS3514
90 #define HAVE_RTC_ALARM
92 /* The number of bytes reserved for loadable codecs */
93 #define CODEC_SIZE 0x80000
95 /* The number of bytes reserved for loadable plugins */
96 #define PLUGIN_BUFFER_SIZE 0x100000
98 /* We can do AB-repeat -> we use User key, our hotkey */
99 #define AB_REPEAT_ENABLE
100 #define ACTION_WPSAB_SINGLE ACTION_WPS_HOTKEY
102 /* Define this if you do software codec */
103 #define CONFIG_CODEC SWCODEC
105 /* R0 KeyPad configuration for plugins */
106 #define CONFIG_KEYPAD SAMSUNG_YPR0_PAD
107 /* It's better to close /dev/r0Btn at shutdown */
108 #define BUTTON_DRIVER_CLOSE
110 /* The YPR0 has a as3534 codec and we use that to control the volume */
111 #define HAVE_AS3514
112 #define HAVE_AS3543
114 #define HAVE_SW_TONE_CONTROLS
116 /* TODO: Make use of the si4703 tuner hardware */
117 /* #define CONFIG_TUNER SI4700 */
118 /* #define HAVE_TUNER_PWR_CTRL*/
120 /* We have a GPIO that detects it */
121 #define HAVE_HEADPHONE_DETECTION
123 #define BATTERY_CAPACITY_DEFAULT 600 /* default battery capacity */
124 #define BATTERY_CAPACITY_MIN 600 /* min. capacity selectable */
125 #define BATTERY_CAPACITY_MAX 600 /* max. capacity selectable */
126 #define BATTERY_CAPACITY_INC 0 /* capacity increment */
127 #define BATTERY_TYPES_COUNT 1 /* only one type */
129 /* Define current usage levels. */
130 #define CURRENT_NORMAL 24 /* ~25h, on 600mAh that's about 24mA */
131 #define CURRENT_BACKLIGHT 62 /* ~6,5h -> 92mA. Minus 24mA normal that gives us 68mA */
133 #define CONFIG_BATTERY_MEASURE VOLTAGE_MEASURE
135 /* Linux controlls charging, we can monitor */
136 #define CONFIG_CHARGING CHARGING_MONITOR
138 /* same dimensions as gigabeats */
139 #define CONFIG_LCD LCD_YPR0
141 /* Define this if a programmable hotkey is mapped */
142 #define HAVE_HOTKEY
144 /* Define this if you have a software controlled poweroff */
145 #define HAVE_SW_POWEROFF
147 /* Define this if you have adjustable CPU frequency
148 * NOTE: We could do that on this device, but it's probably better
149 * to let linux do it (we set ondemand governor before loading Rockbox) */
150 /* #define HAVE_ADJUSTABLE_CPU_FREQ */
151 /* Define this to the CPU frequency */
152 #define CPU_FREQ 532000000
153 /* 0.8Vcore using 200 MHz */
154 /* #define CPUFREQ_DEFAULT 200000000 */
155 /* This is 400 MHz -> not so powersaving-ful */
156 /* #define CPUFREQ_NORMAL 400000000 */
157 /* Max IMX37 Cpu Frequency */
158 /* #define CPUFREQ_MAX CPU_FREQ */
160 /* TODO: my idea is to create a folder in the cramfs [/.rockbox], mounting it by the starter script as the current working directory, so no issues of any type keeping the rockbox folder as in all other players */
161 #define BOOTDIR "/.rockbox"