summaryrefslogtreecommitdiff
path: root/firmware
diff options
context:
space:
mode:
authorAmaury Pouly <amaury.pouly@gmail.com>2014-02-04 00:26:32 +0100
committerAmaury Pouly <amaury.pouly@gmail.com>2014-02-10 23:14:25 +0100
commitdb5d74503eb97c1ed9d86c2f0c43663762c0b3d7 (patch)
treeae7c5f5c4be81355c8ddf2ee4065e5e6dbe1e7f4 /firmware
parent65d5c426a798e6738999b02187d34728c306165a (diff)
downloadrockbox-db5d74503eb97c1ed9d86c2f0c43663762c0b3d7.tar.gz
rockbox-db5d74503eb97c1ed9d86c2f0c43663762c0b3d7.zip
imx233: add button debug screen
Change-Id: Iab85f1215a06507c06bffb746f2eac596e8c7992
Diffstat (limited to 'firmware')
-rw-r--r--firmware/target/arm/imx233/debug-imx233.c77
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
1000bool 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
999static struct 1075static 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