diff options
author | Björn Stenberg <bjorn@haxx.se> | 2009-01-13 14:51:44 +0000 |
---|---|---|
committer | Björn Stenberg <bjorn@haxx.se> | 2009-01-13 14:51:44 +0000 |
commit | 7bc29086ecc830fef644446843980031d66546d8 (patch) | |
tree | 5165cf7808e0d2ce000a4080b3fcc4dca408b09a | |
parent | 738a5643ad3248ee9fb9fc47134160681a19068c (diff) | |
download | rockbox-7bc29086ecc830fef644446843980031d66546d8.tar.gz rockbox-7bc29086ecc830fef644446843980031d66546d8.zip |
Minor Clip button changes: UP|REPEAT no longer goes to wps. Volume adjustment activated in list + tree.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19760 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r-- | apps/keymaps/keymap-clip.c | 8 | ||||
-rw-r--r-- | apps/plugins/SOURCES | 1 | ||||
-rw-r--r-- | firmware/export/config-clip.h | 3 | ||||
-rw-r--r-- | firmware/target/coldfire/iriver/system-iriver.c | 156 | ||||
-rw-r--r-- | firmware/target/coldfire/system-target.h | 8 |
5 files changed, 94 insertions, 82 deletions
diff --git a/apps/keymaps/keymap-clip.c b/apps/keymaps/keymap-clip.c index 2dcc7e342a..5a4c990fe7 100644 --- a/apps/keymaps/keymap-clip.c +++ b/apps/keymaps/keymap-clip.c | |||
@@ -109,11 +109,17 @@ static const struct button_mapping button_context_list[] = { | |||
109 | { ACTION_LISTTREE_PGUP, BUTTON_HOME|BUTTON_LEFT, BUTTON_HOME }, | 109 | { ACTION_LISTTREE_PGUP, BUTTON_HOME|BUTTON_LEFT, BUTTON_HOME }, |
110 | { ACTION_LISTTREE_PGDOWN, BUTTON_HOME|BUTTON_RIGHT, BUTTON_HOME }, | 110 | { ACTION_LISTTREE_PGDOWN, BUTTON_HOME|BUTTON_RIGHT, BUTTON_HOME }, |
111 | 111 | ||
112 | #ifdef HAVE_VOLUME_IN_LIST | ||
113 | { ACTION_LIST_VOLUP, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
114 | { ACTION_LIST_VOLUP, BUTTON_VOL_UP, BUTTON_NONE }, | ||
115 | |||
116 | { ACTION_LIST_VOLDOWN, BUTTON_VOL_DOWN, BUTTON_NONE }, | ||
117 | { ACTION_LIST_VOLDOWN, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
118 | #endif | ||
112 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) | 119 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) |
113 | }; /* button_context_list */ | 120 | }; /* button_context_list */ |
114 | 121 | ||
115 | static const struct button_mapping button_context_tree[] = { | 122 | static const struct button_mapping button_context_tree[] = { |
116 | { ACTION_TREE_WPS, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
117 | { ACTION_TREE_STOP, BUTTON_POWER|BUTTON_REL, BUTTON_POWER }, | 123 | { ACTION_TREE_STOP, BUTTON_POWER|BUTTON_REL, BUTTON_POWER }, |
118 | 124 | ||
119 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_LIST), | 125 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_LIST), |
diff --git a/apps/plugins/SOURCES b/apps/plugins/SOURCES index 7d48be60c1..8f461f37e2 100644 --- a/apps/plugins/SOURCES +++ b/apps/plugins/SOURCES | |||
@@ -151,3 +151,4 @@ superdom.c | |||
151 | #endif /* m:robe 500 */ | 151 | #endif /* m:robe 500 */ |
152 | 152 | ||
153 | md5sum.c | 153 | md5sum.c |
154 | test_boost.c | ||
diff --git a/firmware/export/config-clip.h b/firmware/export/config-clip.h index 0a6164fbb6..63b4fd8617 100644 --- a/firmware/export/config-clip.h +++ b/firmware/export/config-clip.h | |||
@@ -75,6 +75,9 @@ | |||
75 | 75 | ||
76 | #define CONFIG_KEYPAD SANSA_CLIP_PAD | 76 | #define CONFIG_KEYPAD SANSA_CLIP_PAD |
77 | 77 | ||
78 | /* define this if the target has volume keys which can be used in the lists */ | ||
79 | #define HAVE_VOLUME_IN_LIST | ||
80 | |||
78 | /* Define this if you do software codec */ | 81 | /* Define this if you do software codec */ |
79 | #define CONFIG_CODEC SWCODEC | 82 | #define CONFIG_CODEC SWCODEC |
80 | /* There is no hardware tone control */ | 83 | /* There is no hardware tone control */ |
diff --git a/firmware/target/coldfire/iriver/system-iriver.c b/firmware/target/coldfire/iriver/system-iriver.c index 1916eec0cd..aa24f6ecc9 100644 --- a/firmware/target/coldfire/iriver/system-iriver.c +++ b/firmware/target/coldfire/iriver/system-iriver.c | |||
@@ -50,22 +50,15 @@ | |||
50 | */ | 50 | */ |
51 | 51 | ||
52 | #if MEM < 32 | 52 | #if MEM < 32 |
53 | #define MAX_REFRESH_TIMER 59 | 53 | #define MAX_REFRESH_TIMER 54 |
54 | #define NORMAL_REFRESH_TIMER 21 | 54 | #define NORMAL_REFRESH_TIMER 10 |
55 | #define DEFAULT_REFRESH_TIMER 4 | 55 | #define DEFAULT_REFRESH_TIMER 4 |
56 | #else | 56 | #else |
57 | #define MAX_REFRESH_TIMER 29 | 57 | #define MAX_REFRESH_TIMER 26 |
58 | #define NORMAL_REFRESH_TIMER 10 | 58 | #define NORMAL_REFRESH_TIMER 4 |
59 | #define DEFAULT_REFRESH_TIMER 1 | 59 | #define DEFAULT_REFRESH_TIMER 1 |
60 | #endif | 60 | #endif |
61 | 61 | ||
62 | #ifdef IRIVER_H300_SERIES | ||
63 | #define RECALC_DELAYS(f) \ | ||
64 | pcf50606_i2c_recalc_delay(f) | ||
65 | #else | ||
66 | #define RECALC_DELAYS(f) | ||
67 | #endif | ||
68 | |||
69 | #ifdef HAVE_SERIAL | 62 | #ifdef HAVE_SERIAL |
70 | #define BAUD_RATE 57600 | 63 | #define BAUD_RATE 57600 |
71 | #define BAUDRATE_DIV_DEFAULT (CPUFREQ_DEFAULT/(BAUD_RATE*32*2)) | 64 | #define BAUDRATE_DIV_DEFAULT (CPUFREQ_DEFAULT/(BAUD_RATE*32*2)) |
@@ -73,6 +66,21 @@ | |||
73 | #define BAUDRATE_DIV_MAX (CPUFREQ_MAX/(BAUD_RATE*32*2)) | 66 | #define BAUDRATE_DIV_MAX (CPUFREQ_MAX/(BAUD_RATE*32*2)) |
74 | #endif | 67 | #endif |
75 | 68 | ||
69 | static bool pll_initialized = false; | ||
70 | |||
71 | static void init_pll(void) | ||
72 | { | ||
73 | /* Refresh timer for bypass frequency */ | ||
74 | PLLCR &= ~1; /* Bypass mode */ | ||
75 | PLLCR = 0x0189e025 | (PLLCR & 0x70400000); /* set 112 MHz */ | ||
76 | |||
77 | /* Wait until the PLL has locked. This may take up to 10ms! */ | ||
78 | while(!(PLLCR & 0x80000000)) {}; | ||
79 | |||
80 | pll_initialized = true; | ||
81 | } | ||
82 | |||
83 | |||
76 | #ifdef HAVE_ADJUSTABLE_CPU_FREQ | 84 | #ifdef HAVE_ADJUSTABLE_CPU_FREQ |
77 | void set_cpu_frequency (long) __attribute__ ((section (".icode"))); | 85 | void set_cpu_frequency (long) __attribute__ ((section (".icode"))); |
78 | void set_cpu_frequency(long frequency) | 86 | void set_cpu_frequency(long frequency) |
@@ -81,84 +89,78 @@ void cf_set_cpu_frequency (long) __attribute__ ((section (".icode"))); | |||
81 | void cf_set_cpu_frequency(long frequency) | 89 | void cf_set_cpu_frequency(long frequency) |
82 | #endif | 90 | #endif |
83 | { | 91 | { |
92 | if (!pll_initialized) | ||
93 | init_pll(); | ||
94 | |||
84 | switch(frequency) | 95 | switch(frequency) |
85 | { | 96 | { |
86 | case CPUFREQ_MAX: | 97 | case CPUFREQ_MAX: |
87 | DCR = (0x8200 | DEFAULT_REFRESH_TIMER); | 98 | CSCR0 = 0x00001180; /* Flash: 4 wait states */ |
88 | /* Refresh timer for bypass frequency */ | 99 | CSCR1 = 0x00001580; /* LCD: 5 wait states */ |
89 | PLLCR &= ~1; /* Bypass mode */ | ||
90 | timers_adjust_prescale(CPUFREQ_DEFAULT_MULT, false); | ||
91 | RECALC_DELAYS(CPUFREQ_MAX); | ||
92 | PLLCR = 0x018ae025 | (PLLCR & 0x70400000); | ||
93 | CSCR0 = 0x00001180; /* Flash: 4 wait states */ | ||
94 | CSCR1 = 0x00001580; /* LCD: 5 wait states */ | ||
95 | #if CONFIG_USBOTG == USBOTG_ISP1362 | 100 | #if CONFIG_USBOTG == USBOTG_ISP1362 |
96 | CSCR3 = 0x00002180; /* USBOTG: 8 wait states */ | 101 | CSCR3 = 0x00002180; /* USBOTG: 8 wait states */ |
97 | #endif | 102 | #endif |
98 | while(!(PLLCR & 0x80000000)) {}; /* Wait until the PLL has locked. | 103 | #if CONFIG_RTC == RTC_PCF50606 |
99 | This may take up to 10ms! */ | 104 | pcf50606_i2c_recalc_delay(CPUFREQ_MAX); |
100 | timers_adjust_prescale(CPUFREQ_MAX_MULT, true); | ||
101 | DCR = (0x8200 | MAX_REFRESH_TIMER); /* Refresh timer */ | ||
102 | cpu_frequency = CPUFREQ_MAX; | ||
103 | IDECONFIG1 = 0x10100000 | (1 << 13) | (3 << 10); | ||
104 | /* SRE active on write (H300 USBOTG) | BUFEN2 enable | CS2Post | CS2Pre */ | ||
105 | IDECONFIG2 = 0x40000 | (1 << 8); /* TA enable + CS2wait */ | ||
106 | |||
107 | #ifdef HAVE_SERIAL | ||
108 | UBG10 = BAUDRATE_DIV_MAX >> 8; | ||
109 | UBG20 = BAUDRATE_DIV_MAX & 0xff; | ||
110 | #endif | 105 | #endif |
111 | break; | 106 | timers_adjust_prescale(CPUFREQ_MAX_MULT, true); |
112 | 107 | DCR = (0x8200 | MAX_REFRESH_TIMER); /* Refresh timer */ | |
113 | case CPUFREQ_NORMAL: | 108 | IDECONFIG1 = 0x10100000 | (1 << 13) | (3 << 10); |
114 | DCR = (DCR & ~0x01ff) | DEFAULT_REFRESH_TIMER; | 109 | /* SRE active on write (H300 USBOTG) | BUFEN2 enable | CS2Post | CS2Pre */ |
115 | /* Refresh timer for bypass frequency */ | 110 | IDECONFIG2 = 0x40000 | (1 << 8); /* TA enable 2 + CS2wait */ |
116 | PLLCR &= ~1; /* Bypass mode */ | 111 | |
117 | timers_adjust_prescale(CPUFREQ_DEFAULT_MULT, false); | 112 | PLLCR = (PLLCR & ~0x07000000) | (1 << 24); /* set CPUDIV */ |
118 | RECALC_DELAYS(CPUFREQ_NORMAL); | 113 | DCR = (0x8200 | MAX_REFRESH_TIMER); /* DRAM refresh timer */ |
119 | PLLCR = 0x0589e021 | (PLLCR & 0x70400000); | 114 | cpu_frequency = CPUFREQ_MAX; |
120 | CSCR0 = 0x00000580; /* Flash: 1 wait state */ | 115 | break; |
121 | CSCR1 = 0x00000180; /* LCD: 0 wait states */ | 116 | |
117 | case CPUFREQ_NORMAL: | ||
118 | PLLCR = (PLLCR & ~0x07000000) | (5 << 24); /* set CPUDIV */ | ||
119 | DCR = (0x8000 | NORMAL_REFRESH_TIMER); /* DRAM refresh timer */ | ||
120 | cpu_frequency = CPUFREQ_MAX; | ||
121 | |||
122 | CSCR0 = 0x00000580; /* Flash: 1 wait state */ | ||
123 | CSCR1 = 0x00000180; /* LCD: 0 wait states */ | ||
122 | #if CONFIG_USBOTG == USBOTG_ISP1362 | 124 | #if CONFIG_USBOTG == USBOTG_ISP1362 |
123 | CSCR3 = 0x00000580; /* USBOTG: 1 wait state */ | 125 | CSCR3 = 0x00000580; /* USBOTG: 1 wait state */ |
124 | #endif | 126 | #endif |
125 | while(!(PLLCR & 0x80000000)) {}; /* Wait until the PLL has locked. | 127 | #if CONFIG_RTC == RTC_PCF50606 |
126 | This may take up to 10ms! */ | 128 | pcf50606_i2c_recalc_delay(CPUFREQ_NORMAL); |
127 | timers_adjust_prescale(CPUFREQ_NORMAL_MULT, true); | 129 | #endif |
128 | DCR = (0x8000 | NORMAL_REFRESH_TIMER); /* Refresh timer */ | 130 | timers_adjust_prescale(CPUFREQ_NORMAL_MULT, true); |
129 | cpu_frequency = CPUFREQ_NORMAL; | ||
130 | IDECONFIG1 = 0x10100000 | (1 << 13) | (1 << 10); | ||
131 | /* SRE active on write (H300 USBOTG) | BUFEN2 enable | CS2Post | CS2Pre */ | ||
132 | IDECONFIG2 = 0x40000 | (0 << 8); /* TA enable + CS2wait */ | ||
133 | 131 | ||
134 | #ifdef HAVE_SERIAL | 132 | IDECONFIG1 = 0x10100000 | (1 << 13) | (1 << 10); |
135 | UBG10 = BAUDRATE_DIV_NORMAL >> 8; | 133 | /* SRE active on write (H300 USBOTG) | BUFEN2 enable | CS2Post | CS2Pre */ |
136 | UBG20 = BAUDRATE_DIV_NORMAL & 0xff; | 134 | IDECONFIG2 = 0x40000; /* TA enable 2 */ |
135 | break; | ||
136 | |||
137 | default: | ||
138 | DCR = (DCR & ~0x01ff) | DEFAULT_REFRESH_TIMER; | ||
139 | /* Refresh timer for bypass frequency */ | ||
140 | PLLCR &= ~1; /* Bypass mode */ | ||
141 | timers_adjust_prescale(CPUFREQ_DEFAULT_MULT, true); | ||
142 | #if CONFIG_RTC == RTC_PCF50606 | ||
143 | pcf50606_i2c_recalc_delay(CPUFREQ_DEFAULT_MULT); | ||
137 | #endif | 144 | #endif |
138 | break; | 145 | /* Power down PLL, but keep CRSEL and CLSEL */ |
139 | default: | 146 | PLLCR = 0x00800200 | (PLLCR & 0x70400000); |
140 | DCR = (DCR & ~0x01ff) | DEFAULT_REFRESH_TIMER; | 147 | CSCR0 = 0x00000180; /* Flash: 0 wait states */ |
141 | /* Refresh timer for bypass frequency */ | 148 | CSCR1 = 0x00000180; /* LCD: 0 wait states */ |
142 | PLLCR &= ~1; /* Bypass mode */ | ||
143 | timers_adjust_prescale(CPUFREQ_DEFAULT_MULT, true); | ||
144 | RECALC_DELAYS(CPUFREQ_DEFAULT); | ||
145 | /* Power down PLL, but keep CRSEL and CLSEL */ | ||
146 | PLLCR = 0x00800200 | (PLLCR & 0x70400000); | ||
147 | CSCR0 = 0x00000180; /* Flash: 0 wait states */ | ||
148 | CSCR1 = 0x00000180; /* LCD: 0 wait states */ | ||
149 | #if CONFIG_USBOTG == USBOTG_ISP1362 | 149 | #if CONFIG_USBOTG == USBOTG_ISP1362 |
150 | CSCR3 = 0x00000180; /* USBOTG: 0 wait states */ | 150 | CSCR3 = 0x00000180; /* USBOTG: 0 wait states */ |
151 | #endif | 151 | #endif |
152 | DCR = (0x8000 | DEFAULT_REFRESH_TIMER); /* Refresh timer */ | 152 | DCR = (0x8000 | DEFAULT_REFRESH_TIMER); /* Refresh timer */ |
153 | cpu_frequency = CPUFREQ_DEFAULT; | 153 | cpu_frequency = CPUFREQ_DEFAULT; |
154 | IDECONFIG1 = 0x10100000 | (1 << 13) | (1 << 10); | 154 | IDECONFIG1 = 0x10100000 | (1 << 13) | (1 << 10); |
155 | /* SRE active on write (H300 USBOTG) | BUFEN2 enable | CS2Post | CS2Pre */ | 155 | /* SRE active on write (H300 USBOTG) | BUFEN2 enable | CS2Post | CS2Pre */ |
156 | IDECONFIG2 = 0x40000 | (0 << 8); /* TA enable + CS2wait */ | 156 | IDECONFIG2 = 0x40000; /* TA enable 2 */ |
157 | |||
158 | pll_initialized = false; | ||
159 | break; | ||
160 | } | ||
157 | 161 | ||
158 | #ifdef HAVE_SERIAL | 162 | #ifdef HAVE_SERIAL |
159 | UBG10 = BAUDRATE_DIV_DEFAULT >> 8; | 163 | UBG10 = BAUDRATE_DIV_NORMAL >> 8; |
160 | UBG20 = BAUDRATE_DIV_DEFAULT & 0xff; | 164 | UBG20 = BAUDRATE_DIV_NORMAL & 0xff; |
161 | #endif | 165 | #endif |
162 | break; | ||
163 | } | ||
164 | } | 166 | } |
diff --git a/firmware/target/coldfire/system-target.h b/firmware/target/coldfire/system-target.h index 84ec6ed4b0..892cbe89cf 100644 --- a/firmware/target/coldfire/system-target.h +++ b/firmware/target/coldfire/system-target.h | |||
@@ -215,11 +215,11 @@ extern void cf_set_cpu_frequency(long frequency); | |||
215 | /* 11.2896 MHz */ | 215 | /* 11.2896 MHz */ |
216 | #define CPUFREQ_DEFAULT_MULT 1 | 216 | #define CPUFREQ_DEFAULT_MULT 1 |
217 | #define CPUFREQ_DEFAULT (CPUFREQ_DEFAULT_MULT * CPU_FREQ) | 217 | #define CPUFREQ_DEFAULT (CPUFREQ_DEFAULT_MULT * CPU_FREQ) |
218 | /* 45.1584 MHz */ | 218 | /* 22.5792 MHz */ |
219 | #define CPUFREQ_NORMAL_MULT 4 | 219 | #define CPUFREQ_NORMAL_MULT 2 |
220 | #define CPUFREQ_NORMAL (CPUFREQ_NORMAL_MULT * CPU_FREQ) | 220 | #define CPUFREQ_NORMAL (CPUFREQ_NORMAL_MULT * CPU_FREQ) |
221 | /* 124.1856 MHz */ | 221 | /* 112.896 MHz */ |
222 | #define CPUFREQ_MAX_MULT 11 | 222 | #define CPUFREQ_MAX_MULT 10 |
223 | #define CPUFREQ_MAX (CPUFREQ_MAX_MULT * CPU_FREQ) | 223 | #define CPUFREQ_MAX (CPUFREQ_MAX_MULT * CPU_FREQ) |
224 | 224 | ||
225 | #endif /* SYSTEM_TARGET_H */ | 225 | #endif /* SYSTEM_TARGET_H */ |