summaryrefslogtreecommitdiff
path: root/firmware/export/config/samsungypr0.h
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/export/config/samsungypr0.h')
-rw-r--r--firmware/export/config/samsungypr0.h168
1 files changed, 168 insertions, 0 deletions
diff --git a/firmware/export/config/samsungypr0.h b/firmware/export/config/samsungypr0.h
new file mode 100644
index 0000000000..25e1906a80
--- /dev/null
+++ b/firmware/export/config/samsungypr0.h
@@ -0,0 +1,168 @@
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 */
5
6#define TARGET_TREE /* this target is using the target tree system */
7
8/* We don't run on hardware directly */
9/* YP-R0 need it too of course */
10#define CONFIG_PLATFORM (PLATFORM_HOSTED)
11
12/* For Rolo and boot loader */
13#define MODEL_NUMBER 100
14
15#define MODEL_NAME "Samsung YP-R0"
16
17/* Indeed to check that */
18/*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
19 */
20/*TODO: implement USB data transfer management -> see safe mode script and think a way to implemtent it in the code */
21#define USB_NONE
22
23/* Hardware controlled charging with monitoring */
24//#define CONFIG_CHARGING CHARGING_MONITOR
25
26/* There is only USB charging */
27//#define HAVE_USB_POWER
28
29/* define this if you have a bitmap LCD display */
30#define HAVE_LCD_BITMAP
31
32/* define this if you have a colour LCD */
33#define HAVE_LCD_COLOR
34
35/* define this if the LCD needs to be shutdown */
36/* TODO: Our framebuffer must be closed... */
37#define HAVE_LCD_SHUTDOWN
38
39/* define this if you want album art for this target */
40#define HAVE_ALBUMART
41
42/* define this to enable bitmap scaling */
43#define HAVE_BMP_SCALING
44
45/* define this to enable JPEG decoding */
46#define HAVE_JPEG
47
48/* define this if you have access to the quickscreen */
49#define HAVE_QUICKSCREEN
50
51/* define this if you have access to the pitchscreen */
52#define HAVE_PITCHSCREEN
53
54/* define this if you would like tagcache to build on this target */
55#define HAVE_TAGCACHE
56
57/* LCD dimensions
58 *
59 * overriden by configure for application builds */
60#ifndef LCD_WIDTH
61#define LCD_WIDTH 240
62#endif
63
64#ifndef LCD_HEIGHT
65#define LCD_HEIGHT 320
66#endif
67
68#define LCD_DEPTH 16
69/* Check that but should not matter */
70#define LCD_PIXELFORMAT 565
71
72/* YP-R0 has the backlight */
73#define HAVE_BACKLIGHT
74
75/* Define this for LCD backlight brightness available */
76#define HAVE_BACKLIGHT_BRIGHTNESS
77
78/* Main LCD backlight brightness range and defaults */
79/* 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 */
80#define MIN_BRIGHTNESS_SETTING 1
81#define MAX_BRIGHTNESS_SETTING 15
82#define DEFAULT_BRIGHTNESS_SETTING 4
83
84/* Which backlight fading type? */
85/* 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 */
86#define CONFIG_BACKLIGHT_FADING BACKLIGHT_FADING_SW_SETTING
87
88/* define this if you have RTC RAM available for settings */
89/* 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 */
90//#define HAVE_RTC_RAM
91
92/* define this if you have a real-time clock */
93//#define CONFIG_RTC APPLICATION
94#define CONFIG_RTC RTC_AS3514
95#define HAVE_RTC_ALARM
96
97/* The number of bytes reserved for loadable codecs */
98#define CODEC_SIZE 0x80000
99
100/* The number of bytes reserved for loadable plugins */
101#define PLUGIN_BUFFER_SIZE 0x100000
102
103/* We can do AB-repeat -> we use User key, our hotkey */
104#define AB_REPEAT_ENABLE
105#define ACTION_WPSAB_SINGLE ACTION_WPS_HOTKEY
106
107/* Define this if you do software codec */
108#define CONFIG_CODEC SWCODEC
109
110/* R0 KeyPad configuration for plugins */
111#define CONFIG_KEYPAD SAMSUNG_YPR0_PAD
112/* It's better to close /dev/r0Btn at shutdown */
113#define BUTTON_DRIVER_CLOSE
114
115/* The YPR0 has a as3534 codec and we use that to control the volume */
116#define HAVE_AS3514
117#define HAVE_AS3543
118
119#define HAVE_SW_TONE_CONTROLS
120
121/* TODO: Make use of the si4703 tuner hardware */
122/* #define CONFIG_TUNER SI4700 */
123/* #define HAVE_TUNER_PWR_CTRL*/
124
125/*TODO: In R0 there is an interrupt for this (figure out ioctls)*/
126/* #define HAVE_HEADPHONE_DETECTION */
127
128/* Define current usage levels. */
129/* TODO: to be filled with correct values after implementing power management */
130#define CURRENT_NORMAL 88 /* 18 hours from a 1600 mAh battery */
131#define CURRENT_BACKLIGHT 30 /* TBD */
132#define CURRENT_RECORD 0 /* no recording yet */
133
134/* TODO: We need to do battery handling */
135//#define BATTERY_CAPACITY_DEFAULT 600 /* default battery capacity */
136//#define BATTERY_CAPACITY_MIN 600 /* min. capacity selectable */
137//#define BATTERY_CAPACITY_MAX 700 /* max. capacity selectable */
138//#define BATTERY_CAPACITY_INC 50 /* capacity increment */
139//#define BATTERY_TYPES_COUNT 1 /* only one type */
140
141/* TODO: We possibly can only watch linux charging */
142//#define CONFIG_CHARGING CHARGING_TARGET
143//#define HAVE_RESET_BATTERY_FILTER
144
145/* same dimensions as gigabeats */
146#define CONFIG_LCD LCD_YPR0
147
148/* Define this if a programmable hotkey is mapped */
149#define HAVE_HOTKEY
150
151/* Define this if you have a software controlled poweroff */
152#define HAVE_SW_POWEROFF
153
154/* Define this if you have adjustable CPU frequency
155 * NOTE: We could do that on this device, but it's probably better
156 * to let linux do it (we set ondemand governor before loading Rockbox) */
157/* #define HAVE_ADJUSTABLE_CPU_FREQ */
158/* Define this to the CPU frequency */
159#define CPU_FREQ 532000000
160/* 0.8Vcore using 200 MHz */
161/* #define CPUFREQ_DEFAULT 200000000 */
162/* This is 400 MHz -> not so powersaving-ful */
163/* #define CPUFREQ_NORMAL 400000000 */
164/* Max IMX37 Cpu Frequency */
165/* #define CPUFREQ_MAX CPU_FREQ */
166
167/* 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 */
168#define BOOTDIR "/.rockbox"