forked from len0rd/rockbox
Patch FS#4841 from Ralf Herz, debug more io ports on the PP5020 based ipods
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9088 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
b09573120a
commit
d00d58896b
2 changed files with 130 additions and 1 deletions
|
|
@ -1022,6 +1022,8 @@ bool dbg_ports(void)
|
|||
#elif CONFIG_CPU == PP5020
|
||||
|
||||
unsigned int gpio_a, gpio_b, gpio_c, gpio_d;
|
||||
unsigned int gpio_e, gpio_f, gpio_g, gpio_h;
|
||||
unsigned int gpio_i, gpio_j, gpio_k, gpio_l;
|
||||
|
||||
char buf[128];
|
||||
int button;
|
||||
|
|
@ -1049,7 +1051,37 @@ bool dbg_ports(void)
|
|||
lcd_puts(0, line++, buf);
|
||||
snprintf(buf, sizeof(buf), "GPIO_D: %02x", gpio_d);
|
||||
lcd_puts(0, line++, buf);
|
||||
|
||||
line++;
|
||||
|
||||
gpio_e = GPIOE_INPUT_VAL;
|
||||
gpio_f = GPIOF_INPUT_VAL;
|
||||
gpio_g = GPIOG_INPUT_VAL;
|
||||
gpio_h = GPIOH_INPUT_VAL;
|
||||
|
||||
snprintf(buf, sizeof(buf), "GPIO_E: %02x", gpio_e);
|
||||
lcd_puts(0, line++, buf);
|
||||
snprintf(buf, sizeof(buf), "GPIO_F: %02x", gpio_f);
|
||||
lcd_puts(0, line++, buf);
|
||||
snprintf(buf, sizeof(buf), "GPIO_G: %02x", gpio_g);
|
||||
lcd_puts(0, line++, buf);
|
||||
snprintf(buf, sizeof(buf), "GPIO_H: %02x", gpio_h);
|
||||
lcd_puts(0, line++, buf);
|
||||
line++;
|
||||
|
||||
gpio_i = GPIOI_INPUT_VAL;
|
||||
gpio_j = GPIOJ_INPUT_VAL;
|
||||
gpio_k = GPIOK_INPUT_VAL;
|
||||
gpio_l = GPIOL_INPUT_VAL;
|
||||
|
||||
snprintf(buf, sizeof(buf), "GPIO_I: %02x", gpio_i);
|
||||
lcd_puts(0, line++, buf);
|
||||
snprintf(buf, sizeof(buf), "GPIO_J: %02x", gpio_j);
|
||||
lcd_puts(0, line++, buf);
|
||||
snprintf(buf, sizeof(buf), "GPIO_K: %02x", gpio_k);
|
||||
lcd_puts(0, line++, buf);
|
||||
snprintf(buf, sizeof(buf), "GPIO_L: %02x", gpio_l);
|
||||
lcd_puts(0, line++, buf);
|
||||
|
||||
lcd_update();
|
||||
button = button_get_w_tmo(HZ/10);
|
||||
|
||||
|
|
@ -1309,9 +1341,40 @@ bool view_battery(void)
|
|||
lcd_puts(0, 6, buf);
|
||||
lcd_puts(0, 7, power_message);
|
||||
#else /* !HAVE_CHARGE_CTRL */
|
||||
#if defined IPOD_ARCH
|
||||
#if defined APPLE_IPODNANO || defined APPLE_IPODVIDEO
|
||||
int usb_pwr = (GPIOL_INPUT_VAL & 0x10)?true:false;
|
||||
int ext_pwr = (GPIOL_INPUT_VAL & 0x08)?false:true;
|
||||
int dock = (GPIOA_INPUT_VAL & 0x10)?true:false;
|
||||
int charging = (GPIOB_INPUT_VAL & 0x01)?false:true;
|
||||
int headphone= (GPIOA_INPUT_VAL & 0x80)?true:false;
|
||||
|
||||
snprintf(buf, 30, "USB pwr: %s",
|
||||
usb_pwr ? "present" : "absent");
|
||||
lcd_puts(0, 3, buf);
|
||||
snprintf(buf, 30, "EXT pwr: %s",
|
||||
ext_pwr ? "present" : "absent");
|
||||
lcd_puts(0, 4, buf);
|
||||
snprintf(buf, 30, "Battery: %s",
|
||||
charging ? "charging" : (usb_pwr||ext_pwr) ? "charged" : "discharging");
|
||||
lcd_puts(0, 5, buf);
|
||||
snprintf(buf, 30, "Dock mode: %s",
|
||||
dock ? "enabled" : "disabled");
|
||||
lcd_puts(0, 6, buf);
|
||||
snprintf(buf, 30, "Headphone: %s",
|
||||
headphone ? "connected" : "disconnected");
|
||||
lcd_puts(0, 7, buf);
|
||||
#else
|
||||
/* other ipod devices go here */
|
||||
snprintf(buf, 30, "Charger: %s",
|
||||
charger_inserted() ? "present" : "absent");
|
||||
lcd_puts(0, 3, buf);
|
||||
#endif
|
||||
#elif
|
||||
snprintf(buf, 30, "Charger: %s",
|
||||
charger_inserted() ? "present" : "absent");
|
||||
lcd_puts(0, 3, buf);
|
||||
#endif
|
||||
#endif /* !HAVE_CHARGE_CTRL */
|
||||
#endif /* HAVE_CHARGING */
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -56,6 +56,72 @@
|
|||
#define GPIOC_INT_CLR (*(volatile unsigned long *)(0x6000d078))
|
||||
#define GPIOD_INT_CLR (*(volatile unsigned long *)(0x6000d07c))
|
||||
|
||||
#define GPIOE_ENABLE (*(volatile unsigned long *)(0x6000d080))
|
||||
#define GPIOF_ENABLE (*(volatile unsigned long *)(0x6000d084))
|
||||
#define GPIOG_ENABLE (*(volatile unsigned long *)(0x6000d088))
|
||||
#define GPIOH_ENABLE (*(volatile unsigned long *)(0x6000d08c))
|
||||
#define GPIOE_OUTPUT_EN (*(volatile unsigned long *)(0x6000d090))
|
||||
#define GPIOF_OUTPUT_EN (*(volatile unsigned long *)(0x6000d094))
|
||||
#define GPIOG_OUTPUT_EN (*(volatile unsigned long *)(0x6000d098))
|
||||
#define GPIOH_OUTPUT_EN (*(volatile unsigned long *)(0x6000d09c))
|
||||
#define GPIOE_OUTPUT_VAL (*(volatile unsigned long *)(0x6000d0a0))
|
||||
#define GPIOF_OUTPUT_VAL (*(volatile unsigned long *)(0x6000d0a4))
|
||||
#define GPIOG_OUTPUT_VAL (*(volatile unsigned long *)(0x6000d0a8))
|
||||
#define GPIOH_OUTPUT_VAL (*(volatile unsigned long *)(0x6000d0ac))
|
||||
#define GPIOE_INPUT_VAL (*(volatile unsigned long *)(0x6000d0b0))
|
||||
#define GPIOF_INPUT_VAL (*(volatile unsigned long *)(0x6000d0b4))
|
||||
#define GPIOG_INPUT_VAL (*(volatile unsigned long *)(0x6000d0b8))
|
||||
#define GPIOH_INPUT_VAL (*(volatile unsigned long *)(0x6000d0bc))
|
||||
#define GPIOE_INT_STAT (*(volatile unsigned long *)(0x6000d0c0))
|
||||
#define GPIOF_INT_STAT (*(volatile unsigned long *)(0x6000d0c4))
|
||||
#define GPIOG_INT_STAT (*(volatile unsigned long *)(0x6000d0c8))
|
||||
#define GPIOH_INT_STAT (*(volatile unsigned long *)(0x6000d0cc))
|
||||
#define GPIOE_INT_EN (*(volatile unsigned long *)(0x6000d0d0))
|
||||
#define GPIOF_INT_EN (*(volatile unsigned long *)(0x6000d0d4))
|
||||
#define GPIOG_INT_EN (*(volatile unsigned long *)(0x6000d0d8))
|
||||
#define GPIOH_INT_EN (*(volatile unsigned long *)(0x6000d0dc))
|
||||
#define GPIOE_INT_LEV (*(volatile unsigned long *)(0x6000d0e0))
|
||||
#define GPIOF_INT_LEV (*(volatile unsigned long *)(0x6000d0e4))
|
||||
#define GPIOG_INT_LEV (*(volatile unsigned long *)(0x6000d0e8))
|
||||
#define GPIOH_INT_LEV (*(volatile unsigned long *)(0x6000d0ec))
|
||||
#define GPIOE_INT_CLR (*(volatile unsigned long *)(0x6000d0f0))
|
||||
#define GPIOF_INT_CLR (*(volatile unsigned long *)(0x6000d0f4))
|
||||
#define GPIOG_INT_CLR (*(volatile unsigned long *)(0x6000d0f8))
|
||||
#define GPIOH_INT_CLR (*(volatile unsigned long *)(0x6000d0fc))
|
||||
|
||||
#define GPIOI_ENABLE (*(volatile unsigned long *)(0x6000d100))
|
||||
#define GPIOJ_ENABLE (*(volatile unsigned long *)(0x6000d104))
|
||||
#define GPIOK_ENABLE (*(volatile unsigned long *)(0x6000d108))
|
||||
#define GPIOL_ENABLE (*(volatile unsigned long *)(0x6000d10c))
|
||||
#define GPIOI_OUTPUT_EN (*(volatile unsigned long *)(0x6000d110))
|
||||
#define GPIOJ_OUTPUT_EN (*(volatile unsigned long *)(0x6000d114))
|
||||
#define GPIOK_OUTPUT_EN (*(volatile unsigned long *)(0x6000d118))
|
||||
#define GPIOL_OUTPUT_EN (*(volatile unsigned long *)(0x6000d11c))
|
||||
#define GPIOI_OUTPUT_VAL (*(volatile unsigned long *)(0x6000d120))
|
||||
#define GPIOJ_OUTPUT_VAL (*(volatile unsigned long *)(0x6000d124))
|
||||
#define GPIOK_OUTPUT_VAL (*(volatile unsigned long *)(0x6000d128))
|
||||
#define GPIOL_OUTPUT_VAL (*(volatile unsigned long *)(0x6000d12c))
|
||||
#define GPIOI_INPUT_VAL (*(volatile unsigned long *)(0x6000d130))
|
||||
#define GPIOJ_INPUT_VAL (*(volatile unsigned long *)(0x6000d134))
|
||||
#define GPIOK_INPUT_VAL (*(volatile unsigned long *)(0x6000d138))
|
||||
#define GPIOL_INPUT_VAL (*(volatile unsigned long *)(0x6000d13c))
|
||||
#define GPIOI_INT_STAT (*(volatile unsigned long *)(0x6000d140))
|
||||
#define GPIOJ_INT_STAT (*(volatile unsigned long *)(0x6000d144))
|
||||
#define GPIOK_INT_STAT (*(volatile unsigned long *)(0x6000d148))
|
||||
#define GPIOL_INT_STAT (*(volatile unsigned long *)(0x6000d14c))
|
||||
#define GPIOI_INT_EN (*(volatile unsigned long *)(0x6000d150))
|
||||
#define GPIOJ_INT_EN (*(volatile unsigned long *)(0x6000d154))
|
||||
#define GPIOK_INT_EN (*(volatile unsigned long *)(0x6000d158))
|
||||
#define GPIOL_INT_EN (*(volatile unsigned long *)(0x6000d15c))
|
||||
#define GPIOI_INT_LEV (*(volatile unsigned long *)(0x6000d160))
|
||||
#define GPIOJ_INT_LEV (*(volatile unsigned long *)(0x6000d164))
|
||||
#define GPIOK_INT_LEV (*(volatile unsigned long *)(0x6000d168))
|
||||
#define GPIOL_INT_LEV (*(volatile unsigned long *)(0x6000d16c))
|
||||
#define GPIOI_INT_CLR (*(volatile unsigned long *)(0x6000d170))
|
||||
#define GPIOJ_INT_CLR (*(volatile unsigned long *)(0x6000d174))
|
||||
#define GPIOK_INT_CLR (*(volatile unsigned long *)(0x6000d178))
|
||||
#define GPIOL_INT_CLR (*(volatile unsigned long *)(0x6000d17c))
|
||||
|
||||
#define DEV_RS (*(volatile unsigned long *)(0x60006004))
|
||||
#define DEV_EN (*(volatile unsigned long *)(0x6000600c))
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue