diff options
Diffstat (limited to 'firmware/export')
-rw-r--r-- | firmware/export/config-gigabeat-s.h | 8 | ||||
-rw-r--r-- | firmware/export/mc13783.h | 146 |
2 files changed, 149 insertions, 5 deletions
diff --git a/firmware/export/config-gigabeat-s.h b/firmware/export/config-gigabeat-s.h index e290952ce7..d74f05ce9c 100644 --- a/firmware/export/config-gigabeat-s.h +++ b/firmware/export/config-gigabeat-s.h | |||
@@ -56,12 +56,12 @@ | |||
56 | 56 | ||
57 | #define HAVE_LCD_ENABLE | 57 | #define HAVE_LCD_ENABLE |
58 | 58 | ||
59 | //#define HAVE_BACKLIGHT_BRIGHTNESS | 59 | #define HAVE_BACKLIGHT_BRIGHTNESS |
60 | 60 | ||
61 | /* Main LCD backlight brightness range and defaults */ | 61 | /* Main LCD backlight brightness range and defaults */ |
62 | #define MIN_BRIGHTNESS_SETTING 0 /* 0.5 mA */ | 62 | #define MIN_BRIGHTNESS_SETTING 0 |
63 | #define MAX_BRIGHTNESS_SETTING 63 /* 32 mA */ | 63 | #define MAX_BRIGHTNESS_SETTING 24 |
64 | #define DEFAULT_BRIGHTNESS_SETTING 39 /* 20 mA */ | 64 | #define DEFAULT_BRIGHTNESS_SETTING 12 |
65 | 65 | ||
66 | /* Define this if you have a software controlled poweroff */ | 66 | /* Define this if you have a software controlled poweroff */ |
67 | #define HAVE_SW_POWEROFF | 67 | #define HAVE_SW_POWEROFF |
diff --git a/firmware/export/mc13783.h b/firmware/export/mc13783.h index c941100d1e..bb8787a9ec 100644 --- a/firmware/export/mc13783.h +++ b/firmware/export/mc13783.h | |||
@@ -254,13 +254,156 @@ enum mc13783_regs_enum | |||
254 | /* CHARGER_USB1 */ | 254 | /* CHARGER_USB1 */ |
255 | 255 | ||
256 | /* LED_CONTROL0 */ | 256 | /* LED_CONTROL0 */ |
257 | #define MC13783_LEDEN (1 << 0) | 257 | #define MC13783_LEDEN (0x1 << 0) |
258 | #define MC13783_LEDMDRAMPUP (0x1 << 1) | ||
259 | #define MC13783_LEDADRAMPUP (0x1 << 2) | ||
260 | #define MC13783_LEDKDRAMPUP (0x1 << 3) | ||
261 | #define MC13783_LEDMDRAMPDOWN (0x1 << 4) | ||
262 | #define MC13783_LEDADRAMPDOWN (0x1 << 5) | ||
263 | #define MC13783_LEDKDRAMPDOWN (0x1 << 6) | ||
264 | #define MC13783_TRIODEMD (0x1 << 7) | ||
265 | #define MC13783_TRIODEAD (0x1 << 8) | ||
266 | #define MC13783_TRIODEKD (0x1 << 9) | ||
267 | #define MC13783_BOOSTEN (0x1 << 10) | ||
268 | #define MC13783_ABMODE (0x7 << 11) | ||
269 | #define MC13783_ABMODE_ADAPTIVE_BOOST_DISABLED (0x0 << 11) | ||
270 | #define MC13783_ABMODE_MONCH_LEDMD1 (0x1 << 11) | ||
271 | #define MC13783_ABMODE_MONCH_LEDMD12 (0x2 << 11) | ||
272 | #define MC13783_ABMODE_MONCH_LEDMD123 (0x3 << 11) | ||
273 | #define MC13783_ABMODE_MONCH_LEDMD1234 (0x4 << 11) | ||
274 | #define MC13783_ABMODE_MONCH_LEDMD1234_LEADAD1 (0x5 << 11) | ||
275 | #define MC13783_ABMODE_MONCH_LEDMD1234_LEADAD12 (0x6 << 11) | ||
276 | #define MC13783_ABMODE_MONCH_LEDMD1_LEDAD_ACT (0x7 << 11) | ||
277 | #define MC13783_ABREF (0x3 << 14) | ||
278 | #define MC13783_ABREF_200MV (0x0 << 14) | ||
279 | #define MC13783_ABREF_400MV (0x1 << 14) | ||
280 | #define MC13783_ABREF_600MV (0x2 << 14) | ||
281 | #define MC13783_ABREF_800MV (0x3 << 14) | ||
282 | #define MC13783_FLPATTRN (0xf << 17) | ||
283 | #define MC13783_FLPATTRNw(x) (((x) << 17) & MC13783_FLPATTRN) | ||
284 | #define MC13783_FLPATTRNr(x) (((x) & MC13783_FLPATTRN) >> 17) | ||
285 | #define MC13783_FLBANK1 (0x1 << 21) | ||
286 | #define MC13783_FLBANK2 (0x1 << 22) | ||
287 | #define MC13783_FLBANK3 (0x1 << 23) | ||
258 | 288 | ||
259 | /* LED_CONTROL1 */ | 289 | /* LED_CONTROL1 */ |
290 | #define MC13783_LEDR1RAMPUP (0x1 << 0) | ||
291 | #define MC13783_LEDG1RAMPUP (0x1 << 1) | ||
292 | #define MC13783_LEDB1RAMPUP (0x1 << 2) | ||
293 | #define MC13783_LEDR1RAMPDOWN (0x1 << 3) | ||
294 | #define MC13783_LEDG1RAMPDOWN (0x1 << 4) | ||
295 | #define MC13783_LEDB1RAMPDOWN (0x1 << 5) | ||
296 | #define MC13783_LEDR2RAMPUP (0x1 << 6) | ||
297 | #define MC13783_LEDG2RAMPUP (0x1 << 7) | ||
298 | #define MC13783_LEDB2RAMPUP (0x1 << 8) | ||
299 | #define MC13783_LEDR2RAMPDOWN (0x1 << 9) | ||
300 | #define MC13783_LEDG2RAMPDOWN (0x1 << 10) | ||
301 | #define MC13783_LEDB2RAMPDOWN (0x1 << 11) | ||
302 | #define MC13783_LEDR3RAMPUP (0x1 << 12) | ||
303 | #define MC13783_LEDG3RAMPUP (0x1 << 13) | ||
304 | #define MC13783_LEDB3RAMPUP (0x1 << 14) | ||
305 | #define MC13783_LEDR3RAMPDOWN (0x1 << 15) | ||
306 | #define MC13783_LEDG3RAMPDOWN (0x1 << 16) | ||
307 | #define MC13783_LEDB3RAMPDOWN (0x1 << 17) | ||
308 | #define MC13783_TC1HALF (0x1 << 18) | ||
309 | #define MC13783_SLEWLIMTC (0x1 << 23) | ||
310 | |||
260 | /* LED_CONTROL2 */ | 311 | /* LED_CONTROL2 */ |
312 | #define MC13783_LEDMD (0x7 << 0) | ||
313 | #define MC13783_LEDMDw(x) (((x) << 0) & MC13783_LEDMD) | ||
314 | #define MC13783_LEDMDr(x) (((x) & MC13783_LEDMD) >> 0) | ||
315 | #define MC13783_LEDAD (0x7 << 3) | ||
316 | #define MC13783_LEDADw(x) (((x) << 3) & MC13783_LEDAD) | ||
317 | #define MC13783_LEDADr(x) (((x) & MC13783_LEDAD) >> 3) | ||
318 | #define MC13783_LEDKP (0x7 << 6) | ||
319 | #define MC13783_LEDKPw(x) (((x) << 6) & MC13783_LEDKP) | ||
320 | #define MC13783_LEDKPr(x) (((x) & MC13783_LEDKP) >> 6) | ||
321 | #define MC13783_LEDMDDC (0xf << 9) | ||
322 | #define MC13783_LEDMDDCw(x) (((x) << 9) & MC13783_LEDMDDC) | ||
323 | #define MC13783_LEDMDDCr(x) (((x) & MC13783_LEDMDDC) >> 9) | ||
324 | #define MC13783_LEDADDC (0xf << 13) | ||
325 | #define MC13783_LEDADDCw(x) (((x) << 13) & MC13783_LEDADDC) | ||
326 | #define MC13783_LEDADDCr(x) (((x) & MC13783_LEDADDC) >> 13) | ||
327 | #define MC13783_LEDKPDC (0xf << 17) | ||
328 | #define MC13783_LEDKPDCw(x) (((x) << 17) & MC13783_LEDKPDC) | ||
329 | #define MC13783_LEDKPDCr(x) (((x) & MC13783_LEDKPDC) >> 17) | ||
330 | #define MC13783_BLPERIOD (0x1 << 21) | ||
331 | #define MC13783_BLPERIODw(x) (((x) << 21) & MC13783_BLPERIOD) | ||
332 | #define MC13783_BLPERIODr(x) (((x) & MC13783_BLPERIOD) >> 21) | ||
333 | #define MC13783_SLEWLIMBL (0x1 << 23) | ||
334 | |||
261 | /* LED_CONTROL3 */ | 335 | /* LED_CONTROL3 */ |
336 | #define MC13783_LEDR1 (0x3 << 0) | ||
337 | #define MC13783_LEDR1w(x) (((x) << 0) & MC13783_LEDR1) | ||
338 | #define MC13783_LEDR1r(x) (((x) & MC13783_LEDR1) >> 0) | ||
339 | #define MC13783_LEDG1 (0x3 << 2) | ||
340 | #define MC13783_LEDG1w(x) (((x) << 2) & MC13783_LEDG1) | ||
341 | #define MC13783_LEDG1r(x) (((x) & MC13783_LEDG1) >> 2) | ||
342 | #define MC13783_LEDB1 (0x3 << 4) | ||
343 | #define MC13783_LEDB1w(x) (((x) << 4) & MC13783_LEDB1) | ||
344 | #define MC13783_LEDB1r(x) (((x) & MC13783_LEDB1) >> 4) | ||
345 | #define MC13783_LEDR1DC (0x1f << 6) | ||
346 | #define MC13783_LEDR1DCw(x) (((x) << 6) & MC13783_LEDR1DC) | ||
347 | #define MC13783_LEDR1DCr(x) (((x) & MC13783_LEDR1DC) >> 6) | ||
348 | #define MC13783_LEDG1DC (0x1f << 11) | ||
349 | #define MC13783_LEDG1DCw(x) (((x) << 11) & MC13783_LEDG1DC) | ||
350 | #define MC13783_LEDG1DCr(x) (((x) & MC13783_LEDG1DC) >> 11) | ||
351 | #define MC13783_LEDB1DC (0x1f << 16) | ||
352 | #define MC13783_LEDB1DCw(x) (((x) << 16) & MC13783_LEDB1DC) | ||
353 | #define MC13783_LEDB1DCr(x) (((x) & MC13783_LEDB1DC) >> 16) | ||
354 | #define MC13783_TC1PERIOD (0x3 << 21) | ||
355 | #define MC13783_TC1PERIODw(x) (((x) << 21) & MC13783_TC1PERIOD) | ||
356 | #define MC13783_TC1PERIODr(x) (((x) & MC13783_TC1PERIOD) >> 21) | ||
357 | #define MC13783_TC1TRIODE (0x1 << 23) | ||
358 | |||
262 | /* LED_CONTROL4 */ | 359 | /* LED_CONTROL4 */ |
360 | #define MC13783_LEDR2 (0x3 << 0) | ||
361 | #define MC13783_LEDR2w(x) (((x) << 0) & MC13783_LEDR2) | ||
362 | #define MC13783_LEDR2r(x) (((x) & MC13783_LEDR2) >> 0) | ||
363 | #define MC13783_LEDG2 (0x3 << 2) | ||
364 | #define MC13783_LEDG2w(x) (((x) << 2) & MC13783_LEDG2) | ||
365 | #define MC13783_LEDG2r(x) (((x) & MC13783_LEDG2) >> 2) | ||
366 | #define MC13783_LEDB2 (0x3 << 4) | ||
367 | #define MC13783_LEDB2w(x) (((x) << 4) & MC13783_LEDB2) | ||
368 | #define MC13783_LEDB2r(x) (((x) & MC13783_LEDB2) >> 4) | ||
369 | #define MC13783_LEDR2DC (0x1f << 6) | ||
370 | #define MC13783_LEDR2DCw(x) (((x) << 6) & MC13783_LEDR2DC) | ||
371 | #define MC13783_LEDR2DCr(x) (((x) & MC13783_LEDR2DC) >> 6) | ||
372 | #define MC13783_LEDG2DC (0x1f << 11) | ||
373 | #define MC13783_LEDG2DCw(x) (((x) << 11) & MC13783_LEDG2DC) | ||
374 | #define MC13783_LEDG2DCr(x) (((x) & MC13783_LEDG2DC) >> 11) | ||
375 | #define MC13783_LEDB2DC (0x1f << 16) | ||
376 | #define MC13783_LEDB2DCw(x) (((x) << 16) & MC13783_LEDB2DC) | ||
377 | #define MC13783_LEDB2DCr(x) (((x) & MC13783_LEDB2DC) >> 16) | ||
378 | #define MC13783_TC2PERIOD (0x3 << 21) | ||
379 | #define MC13783_TC2PERIODw(x) (((x) << 21) & MC13783_TC2PERIOD) | ||
380 | #define MC13783_TC2PERIODr(x) (((x) & MC13783_TC2PERIOD) >> 21) | ||
381 | #define MC13783_TC2TRIODE (0x1 << 23) | ||
382 | |||
263 | /* LED_CONTROL5 */ | 383 | /* LED_CONTROL5 */ |
384 | #define MC13783_LEDR3 (0x3 << 0) | ||
385 | #define MC13783_LEDR3w(x) (((x) << 0) & MC13783_LEDR3) | ||
386 | #define MC13783_LEDR3r(x) (((x) & MC13783_LEDR3) >> 0) | ||
387 | #define MC13783_LEDG3 (0x3 << 2) | ||
388 | #define MC13783_LEDG3w(x) (((x) << 2) & MC13783_LEDG3) | ||
389 | #define MC13783_LEDG3r(x) (((x) & MC13783_LEDG3) >> 2) | ||
390 | #define MC13783_LEDB3 (0x3 << 4) | ||
391 | #define MC13783_LEDB3w(x) (((x) << 4) & MC13783_LEDB3) | ||
392 | #define MC13783_LEDB3r(x) (((x) & MC13783_LEDB3) >> 4) | ||
393 | #define MC13783_LEDR3DC (0x1f << 6) | ||
394 | #define MC13783_LEDR3DCw(x) (((x) << 6) & MC13783_LEDR3DC) | ||
395 | #define MC13783_LEDR3DCr(x) (((x) & MC13783_LEDR3DC) >> 6) | ||
396 | #define MC13783_LEDG3DC (0x1f << 11) | ||
397 | #define MC13783_LEDG3DCw(x) (((x) << 11) & MC13783_LEDG3DC) | ||
398 | #define MC13783_LEDG3DCr(x) (((x) & MC13783_LEDG3DC) >> 11) | ||
399 | #define MC13783_LEDB3DC (0x1f << 16) | ||
400 | #define MC13783_LEDB3DCw(x) (((x) << 16) & MC13783_LEDB3DC) | ||
401 | #define MC13783_LEDB3DCr(x) (((x) & MC13783_LEDB3DC) >> 16) | ||
402 | #define MC13783_TC3PERIOD (0x3 << 21) | ||
403 | #define MC13783_TC3PERIODw(x) (((x) << 21) & MC13783_TC3PERIOD) | ||
404 | #define MC13783_TC3PERIODr(x) (((x) & MC13783_TC3PERIOD) >> 21) | ||
405 | #define MC13783_TC3TRIODE (0x1 << 23) | ||
406 | |||
264 | /* TRIM0 */ | 407 | /* TRIM0 */ |
265 | /* TRIM1 */ | 408 | /* TRIM1 */ |
266 | /* TEST0 */ | 409 | /* TEST0 */ |
@@ -272,6 +415,7 @@ void mc13783_init(void); | |||
272 | uint32_t mc13783_set(unsigned address, uint32_t bits); | 415 | uint32_t mc13783_set(unsigned address, uint32_t bits); |
273 | uint32_t mc13783_clear(unsigned address, uint32_t bits); | 416 | uint32_t mc13783_clear(unsigned address, uint32_t bits); |
274 | int mc13783_write(unsigned address, uint32_t data); | 417 | int mc13783_write(unsigned address, uint32_t data); |
418 | uint32_t mc13783_write_masked(unsigned address, uint32_t data, uint32_t mask); | ||
275 | int mc13783_write_multiple(unsigned start, const uint32_t *buffer, int count); | 419 | int mc13783_write_multiple(unsigned start, const uint32_t *buffer, int count); |
276 | int mc13783_write_regset(const unsigned char *regs, const uint32_t *data, int count); | 420 | int mc13783_write_regset(const unsigned char *regs, const uint32_t *data, int count); |
277 | uint32_t mc13783_read(unsigned address); | 421 | uint32_t mc13783_read(unsigned address); |