diff options
author | Michael Giacomelli <giac2000@hotmail.com> | 2014-09-28 21:08:29 +0200 |
---|---|---|
committer | Michael Giacomelli <giac2000@hotmail.com> | 2014-09-28 21:36:17 +0200 |
commit | f014a768660ec9b14a18b5d574b83bc865f3f48c (patch) | |
tree | bc661779481a775b43eb5ec8f05b365ba969690c /firmware | |
parent | 23dc0b01794fe8001a76eb4371afdc9326648357 (diff) | |
download | rockbox-f014a768660ec9b14a18b5d574b83bc865f3f48c.tar.gz rockbox-f014a768660ec9b14a18b5d574b83bc865f3f48c.zip |
Add various additional AS3525v2 SOC voltages to the debug screen.
Change-Id: I8c110771f73f5248e949b027fbe1c281c6b1f6f7
Reviewed-on: http://gerrit.rockbox.org/991
Reviewed-by: Michael Giacomelli <giac2000@hotmail.com>
Tested: Michael Giacomelli <giac2000@hotmail.com>
Diffstat (limited to 'firmware')
-rw-r--r-- | firmware/target/arm/as3525/debug-as3525.c | 43 |
1 files changed, 41 insertions, 2 deletions
diff --git a/firmware/target/arm/as3525/debug-as3525.c b/firmware/target/arm/as3525/debug-as3525.c index ab70f73165..b8c5d883e9 100644 --- a/firmware/target/arm/as3525/debug-as3525.c +++ b/firmware/target/arm/as3525/debug-as3525.c | |||
@@ -437,6 +437,14 @@ end: | |||
437 | return false; | 437 | return false; |
438 | } | 438 | } |
439 | 439 | ||
440 | void adc_set_voltage_mux(int channel) | ||
441 | { | ||
442 | ascodec_lock(); | ||
443 | /*this register also controls which subregister is subsequently written, so be careful*/ | ||
444 | ascodec_write(AS3543_PMU_ENABLE, 8 | channel << 4 ); | ||
445 | ascodec_unlock(); | ||
446 | } | ||
447 | |||
440 | bool dbg_ports(void) | 448 | bool dbg_ports(void) |
441 | { | 449 | { |
442 | int line, btn, i; | 450 | int line, btn, i; |
@@ -510,10 +518,22 @@ bool dbg_ports(void) | |||
510 | "I_CHGact", | 518 | "I_CHGact", |
511 | "I_CHGref", | 519 | "I_CHGref", |
512 | }; | 520 | }; |
521 | |||
522 | static const char *adc_mux_name[10] = { | ||
523 | NULL, | ||
524 | "AVDD27 ", | ||
525 | "AVDD17 ", | ||
526 | "PVDD1 ", | ||
527 | "PVDD2 ", | ||
528 | "CVDD1 ", | ||
529 | "CVDD2 ", | ||
530 | "RVDD ", | ||
531 | "FVDD ", | ||
532 | "PWGD ", | ||
533 | }; | ||
513 | #endif | 534 | #endif |
514 | 535 | ||
515 | lcd_clear_display(); | 536 | lcd_clear_display(); |
516 | |||
517 | while(1) | 537 | while(1) |
518 | { | 538 | { |
519 | line = 0; | 539 | line = 0; |
@@ -550,6 +570,7 @@ bool dbg_ports(void) | |||
550 | for(; i<16; i++) | 570 | for(; i<16; i++) |
551 | lcd_putsf(0, line++, "%s: %d mV", adc_name[i], adc_read(i)); | 571 | lcd_putsf(0, line++, "%s: %d mV", adc_name[i], adc_read(i)); |
552 | #endif | 572 | #endif |
573 | |||
553 | lcd_update(); | 574 | lcd_update(); |
554 | 575 | ||
555 | btn = button_get_w_tmo(HZ/10); | 576 | btn = button_get_w_tmo(HZ/10); |
@@ -558,7 +579,25 @@ bool dbg_ports(void) | |||
558 | else if(btn == (BUTTON_DOWN|BUTTON_REL)) | 579 | else if(btn == (BUTTON_DOWN|BUTTON_REL)) |
559 | break; | 580 | break; |
560 | } | 581 | } |
561 | } | 582 | #if CONFIG_CPU == AS3525v2 /*extend AS3543 voltage registers*/ |
583 | lcd_clear_display(); | ||
584 | while(1) | ||
585 | { | ||
586 | line = 0; | ||
587 | for(i=1; i<9; i++){ | ||
588 | adc_set_voltage_mux(i); /*change the voltage mux to a new channel*/ | ||
589 | lcd_putsf(0, line++, "%s: %d mV", adc_mux_name[i], adc_read(5) * 5); | ||
590 | } | ||
591 | lcd_update(); | ||
592 | |||
593 | btn = button_get_w_tmo(HZ/10); | ||
594 | if(btn == (DEBUG_CANCEL|BUTTON_REL)) | ||
595 | goto end; | ||
596 | else if(btn == (BUTTON_DOWN|BUTTON_REL)) | ||
597 | break; | ||
598 | } | ||
599 | #endif | ||
600 | } | ||
562 | 601 | ||
563 | end: | 602 | end: |
564 | lcd_setfont(FONT_UI); | 603 | lcd_setfont(FONT_UI); |