mirror of
https://github.com/Rockbox/rockbox.git
synced 2025-10-14 02:27:39 -04:00
imx233: add icoll debug screen
Change-Id: Icbd91c2ea24dcf61cc6a649122263a4354f09ff4
This commit is contained in:
parent
068443caaf
commit
d57e1e048e
1 changed files with 87 additions and 1 deletions
|
@ -48,6 +48,46 @@ static struct
|
||||||
{ "ssp2", APB_SSP(2) },
|
{ "ssp2", APB_SSP(2) },
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct
|
||||||
|
{
|
||||||
|
const char *name;
|
||||||
|
unsigned src;
|
||||||
|
} dbg_irqs[] =
|
||||||
|
{
|
||||||
|
{ "ssp2_err", INT_SRC_SSP2_ERROR },
|
||||||
|
{ "vdd5v", INT_SRC_VDD5V },
|
||||||
|
{ "dac_dma", INT_SRC_DAC_DMA },
|
||||||
|
{ "dac_err", INT_SRC_DAC_ERROR },
|
||||||
|
{ "adc_dma", INT_SRC_ADC_DMA },
|
||||||
|
{ "adc_err", INT_SRC_ADC_ERROR },
|
||||||
|
{ "usbctrl", INT_SRC_USB_CTRL },
|
||||||
|
{ "ssp1_dma", INT_SRC_SSP1_DMA },
|
||||||
|
{ "ssp1_err", INT_SRC_SSP1_ERROR },
|
||||||
|
{ "gpio0", INT_SRC_GPIO0 },
|
||||||
|
{ "gpio1", INT_SRC_GPIO1 },
|
||||||
|
{ "gpio2", INT_SRC_GPIO2 },
|
||||||
|
{ "ssp2_dma", INT_SRC_SSP2_DMA },
|
||||||
|
{ "i2c_dma", INT_SRC_I2C_DMA },
|
||||||
|
{ "i2c_err", INT_SRC_I2C_ERROR },
|
||||||
|
{ "timer0", INT_SRC_TIMER(0) },
|
||||||
|
{ "timer1", INT_SRC_TIMER(1) },
|
||||||
|
{ "timer2", INT_SRC_TIMER(2) },
|
||||||
|
{ "timer3", INT_SRC_TIMER(3) },
|
||||||
|
{ "touch_det", INT_SRC_TOUCH_DETECT },
|
||||||
|
{ "lradc_ch0", INT_SRC_LRADC_CHx(0) },
|
||||||
|
{ "lradc_ch1", INT_SRC_LRADC_CHx(1) },
|
||||||
|
{ "lradc_ch2", INT_SRC_LRADC_CHx(2) },
|
||||||
|
{ "lradc_ch3", INT_SRC_LRADC_CHx(3) },
|
||||||
|
{ "lradc_ch4", INT_SRC_LRADC_CHx(4) },
|
||||||
|
{ "lradc_ch5", INT_SRC_LRADC_CHx(5) },
|
||||||
|
{ "lradc_ch6", INT_SRC_LRADC_CHx(6) },
|
||||||
|
{ "lradc_ch7", INT_SRC_LRADC_CHx(7) },
|
||||||
|
{ "lcdif_dma", INT_SRC_LCDIF_DMA },
|
||||||
|
{ "lcdif_err", INT_SRC_LCDIF_ERROR },
|
||||||
|
{ "rtc_1msec", INT_SRC_RTC_1MSEC },
|
||||||
|
{ "dcp", INT_SRC_DCP },
|
||||||
|
};
|
||||||
|
|
||||||
bool dbg_hw_info_dma(void)
|
bool dbg_hw_info_dma(void)
|
||||||
{
|
{
|
||||||
lcd_setfont(FONT_SYSFIXED);
|
lcd_setfont(FONT_SYSFIXED);
|
||||||
|
@ -395,6 +435,51 @@ bool dbg_hw_info_dcp(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool dbg_hw_info_icoll(void)
|
||||||
|
{
|
||||||
|
lcd_setfont(FONT_SYSFIXED);
|
||||||
|
|
||||||
|
int first_irq = 0;
|
||||||
|
int dbg_irqs_count = sizeof(dbg_irqs) / sizeof(dbg_irqs[0]);
|
||||||
|
int line_count = lcd_getheight() / font_get(lcd_getfont())->height;
|
||||||
|
|
||||||
|
while(1)
|
||||||
|
{
|
||||||
|
int button = get_action(CONTEXT_STD, HZ / 10);
|
||||||
|
switch(button)
|
||||||
|
{
|
||||||
|
case ACTION_STD_NEXT:
|
||||||
|
first_irq++;
|
||||||
|
if(first_irq >= dbg_irqs_count)
|
||||||
|
first_irq = dbg_irqs_count - 1;
|
||||||
|
break;
|
||||||
|
case ACTION_STD_PREV:
|
||||||
|
first_irq--;
|
||||||
|
if(first_irq < 0)
|
||||||
|
first_irq = 0;
|
||||||
|
break;
|
||||||
|
case ACTION_STD_OK:
|
||||||
|
case ACTION_STD_MENU:
|
||||||
|
lcd_setfont(FONT_UI);
|
||||||
|
return true;
|
||||||
|
case ACTION_STD_CANCEL:
|
||||||
|
lcd_setfont(FONT_UI);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
lcd_clear_display();
|
||||||
|
for(int i = first_irq, j = 0; i < dbg_irqs_count && j < line_count; i++, j++)
|
||||||
|
{
|
||||||
|
struct imx233_icoll_irq_info_t info = imx233_icoll_get_irq_info(dbg_irqs[i].src);
|
||||||
|
lcd_putsf(0, j, "%s", dbg_irqs[i].name);
|
||||||
|
if(info.enabled)
|
||||||
|
lcd_putsf(10, j, "%d", info.freq);
|
||||||
|
}
|
||||||
|
lcd_update();
|
||||||
|
yield();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
bool dbg_hw_info_pinctrl(void)
|
bool dbg_hw_info_pinctrl(void)
|
||||||
{
|
{
|
||||||
lcd_setfont(FONT_SYSFIXED);
|
lcd_setfont(FONT_SYSFIXED);
|
||||||
|
@ -456,7 +541,8 @@ bool dbg_hw_info(void)
|
||||||
{
|
{
|
||||||
return dbg_hw_info_clkctrl() && dbg_hw_info_dma() && dbg_hw_info_adc() &&
|
return dbg_hw_info_clkctrl() && dbg_hw_info_dma() && dbg_hw_info_adc() &&
|
||||||
dbg_hw_info_power() && dbg_hw_info_powermgmt() && dbg_hw_info_rtc() &&
|
dbg_hw_info_power() && dbg_hw_info_powermgmt() && dbg_hw_info_rtc() &&
|
||||||
dbg_hw_info_dcp() && dbg_hw_info_pinctrl() && dbg_hw_target_info();
|
dbg_hw_info_dcp() && dbg_hw_info_pinctrl() && dbg_hw_info_icoll() &&
|
||||||
|
dbg_hw_target_info();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool dbg_ports(void)
|
bool dbg_ports(void)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue