diff options
Diffstat (limited to 'firmware/target/arm/imx233/debug-imx233.c')
-rw-r--r-- | firmware/target/arm/imx233/debug-imx233.c | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/firmware/target/arm/imx233/debug-imx233.c b/firmware/target/arm/imx233/debug-imx233.c index 4da6985cc9..9ca33ff715 100644 --- a/firmware/target/arm/imx233/debug-imx233.c +++ b/firmware/target/arm/imx233/debug-imx233.c | |||
@@ -41,6 +41,7 @@ | |||
41 | #include "string.h" | 41 | #include "string.h" |
42 | #include "stdio.h" | 42 | #include "stdio.h" |
43 | #include "button.h" | 43 | #include "button.h" |
44 | #include "button-lradc-imx233.h" | ||
44 | 45 | ||
45 | #define ACT_NONE 0 | 46 | #define ACT_NONE 0 |
46 | #define ACT_CANCEL 1 | 47 | #define ACT_CANCEL 1 |
@@ -996,6 +997,81 @@ bool dbg_hw_info_timrot(void) | |||
996 | } | 997 | } |
997 | } | 998 | } |
998 | 999 | ||
1000 | bool dbg_hw_info_button(void) | ||
1001 | { | ||
1002 | lcd_setfont(FONT_SYSFIXED); | ||
1003 | #if IMX233_SUBTARGET >= 3700 && defined(IMX233_BUTTON_LRADC_VDDIO) | ||
1004 | int orig_vddio_val, orig_vddio_brownout; | ||
1005 | imx233_power_get_regulator(REGULATOR_VDDIO, &orig_vddio_val, &orig_vddio_brownout); | ||
1006 | int vddio_val = orig_vddio_val; | ||
1007 | int vddio_brownout = orig_vddio_brownout; | ||
1008 | #endif | ||
1009 | |||
1010 | while(1) | ||
1011 | { | ||
1012 | int btn = my_get_action(0); | ||
1013 | switch(btn) | ||
1014 | { | ||
1015 | #if IMX233_SUBTARGET >= 3700 && defined(IMX233_BUTTON_LRADC_VDDIO) | ||
1016 | case ACT_PREV: | ||
1017 | vddio_val -= 100; /* mV */ | ||
1018 | vddio_brownout -= 100; /* mV */ | ||
1019 | imx233_power_set_regulator(REGULATOR_VDDIO, vddio_val, vddio_brownout); | ||
1020 | break; | ||
1021 | case ACT_NEXT: | ||
1022 | vddio_val += 100; /* mV */ | ||
1023 | vddio_brownout += 100; /* mV */ | ||
1024 | imx233_power_set_regulator(REGULATOR_VDDIO, vddio_val, vddio_brownout); | ||
1025 | break; | ||
1026 | #endif | ||
1027 | case ACT_OK: | ||
1028 | #if IMX233_SUBTARGET >= 3700 && defined(IMX233_BUTTON_LRADC_VDDIO) | ||
1029 | imx233_power_set_regulator(REGULATOR_VDDIO, orig_vddio_val, orig_vddio_brownout); | ||
1030 | #endif | ||
1031 | lcd_setfont(FONT_UI); | ||
1032 | return true; | ||
1033 | case ACT_CANCEL: | ||
1034 | #if IMX233_SUBTARGET >= 3700 && defined(IMX233_BUTTON_LRADC_VDDIO) | ||
1035 | imx233_power_set_regulator(REGULATOR_VDDIO, orig_vddio_val, orig_vddio_brownout); | ||
1036 | #endif | ||
1037 | lcd_setfont(FONT_UI); | ||
1038 | return false; | ||
1039 | } | ||
1040 | |||
1041 | lcd_clear_display(); | ||
1042 | int line = 0; | ||
1043 | |||
1044 | #ifdef HAVE_BUTTON_DATA | ||
1045 | int data; | ||
1046 | btn = button_read_device(&data); | ||
1047 | #else | ||
1048 | btn = button_read_device(); | ||
1049 | #endif | ||
1050 | lcd_putsf(0, line++, "raw buttons: %x", btn); | ||
1051 | #ifdef IMX233_BUTTON_LRADC_CHANNEL | ||
1052 | lcd_putsf(0, line++, "raw lradc: %d", imx233_button_lradc_read_raw()); | ||
1053 | #ifdef IMX233_BUTTON_LRADC_VDDIO | ||
1054 | lcd_putsf(0, line++, "vddio: %d", imx233_button_lradc_read_vddio()); | ||
1055 | #endif | ||
1056 | #endif | ||
1057 | #ifdef HAS_BUTTON_HOLD | ||
1058 | lcd_putsf(0, line++, "hold: %d", button_hold()); | ||
1059 | #endif | ||
1060 | #ifdef HAVE_HEADPHONE_DETECTION | ||
1061 | lcd_putsf(0, line++, "headphones: %d", headphones_inserted()); | ||
1062 | #endif | ||
1063 | #ifdef HAVE_BUTTON_DATA | ||
1064 | #ifdef HAVE_TOUCHSCREEN | ||
1065 | lcd_putsf(0, line++, "touch: x=%d y=%d", data >> 16, data & 0xffff); | ||
1066 | #else | ||
1067 | lcd_putsf(0, line++, "data: %d", data); | ||
1068 | #endif | ||
1069 | #endif | ||
1070 | lcd_update(); | ||
1071 | yield(); | ||
1072 | } | ||
1073 | } | ||
1074 | |||
999 | static struct | 1075 | static struct |
1000 | { | 1076 | { |
1001 | const char *name; | 1077 | const char *name; |
@@ -1017,6 +1093,7 @@ static struct | |||
1017 | {"emi", dbg_hw_info_emi}, | 1093 | {"emi", dbg_hw_info_emi}, |
1018 | {"audio", dbg_hw_info_audio}, | 1094 | {"audio", dbg_hw_info_audio}, |
1019 | {"timrot", dbg_hw_info_timrot}, | 1095 | {"timrot", dbg_hw_info_timrot}, |
1096 | {"button", dbg_hw_info_button}, | ||
1020 | {"target", dbg_hw_target_info}, | 1097 | {"target", dbg_hw_target_info}, |
1021 | }; | 1098 | }; |
1022 | 1099 | ||