arch: cxd56x: Add support for power management debug output
Add support for power management debug output.
This commit is contained in:
parent
7af6b394de
commit
b3389cf751
@ -25,6 +25,7 @@
|
||||
* Included Files
|
||||
****************************************************************************/
|
||||
|
||||
#include <nuttx/config.h>
|
||||
#include <queue.h>
|
||||
|
||||
/****************************************************************************
|
||||
@ -161,7 +162,7 @@ extern "C"
|
||||
|
||||
int up_pmramctrl(int cmd, uintptr_t addr, size_t size);
|
||||
|
||||
#ifdef CONFIG_DEBUG_PM
|
||||
#ifdef CONFIG_CXD56_PM_DEBUG_INFO
|
||||
/****************************************************************************
|
||||
* Name: up_pmstatdump
|
||||
*
|
||||
|
@ -45,14 +45,22 @@
|
||||
* Pre-processor Definitions
|
||||
****************************************************************************/
|
||||
|
||||
#ifdef CONFIG_DEBUG_PM
|
||||
# define pmerr(fmt, ...) logerr(fmt, ## __VA_ARGS__)
|
||||
# define pminfo(fmt, ...) loginfo(fmt, ## __VA_ARGS__)
|
||||
# define pmdbg(fmt, ...) logdebug(fmt, ## __VA_ARGS__)
|
||||
/* Debug */
|
||||
|
||||
#ifdef CONFIG_CXD56_PM_DEBUG_ERROR
|
||||
# define pmerr(format, ...) _err(format, ##__VA_ARGS__)
|
||||
#else
|
||||
# define pmerr(fmt, ...)
|
||||
# define pminfo(fmt, ...)
|
||||
# define pmdbg(fmt, ...)
|
||||
# define pmerr(x, ...)
|
||||
#endif
|
||||
#ifdef CONFIG_CXD56_PM_DEBUG_WARN
|
||||
# define pmwarn(format, ...) _warn(format, ##__VA_ARGS__)
|
||||
#else
|
||||
# define pmwarn(x, ...)
|
||||
#endif
|
||||
#ifdef CONFIG_CXD56_PM_DEBUG_INFO
|
||||
# define pminfo(format, ...) _info(format, ##__VA_ARGS__)
|
||||
#else
|
||||
# define pminfo(x, ...)
|
||||
#endif
|
||||
|
||||
/* For enable_pwd, disable_pwd (digital domain) */
|
||||
@ -2489,8 +2497,8 @@ int up_pmramctrl(int cmd, uintptr_t addr, size_t size)
|
||||
endidx = TILEALIGNIDX(TILEALIGN(addr + size));
|
||||
|
||||
DEBUGASSERT(startidx < 12 && endidx <= 12);
|
||||
pmdbg("%x (size: %x) [%d:%d] -> %d\n", addr, size,
|
||||
startidx, endidx, cmd);
|
||||
pminfo("%x (size: %x) [%d:%d] -> %d\n", addr, size,
|
||||
startidx, endidx, cmd);
|
||||
|
||||
/* Make controls bits for RAM power control */
|
||||
|
||||
@ -2555,7 +2563,7 @@ int up_pmramctrl(int cmd, uintptr_t addr, size_t size)
|
||||
return OK;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_DEBUG_PM
|
||||
#ifdef CONFIG_CXD56_PM_DEBUG_INFO
|
||||
/****************************************************************************
|
||||
* Name: up_pmstatdump
|
||||
*
|
||||
@ -2574,34 +2582,34 @@ void up_pmstatdump(void)
|
||||
stat0 = getreg32(CXD56_TOPREG_APPDSP_RAMMODE_STAT0);
|
||||
stat1 = getreg32(CXD56_TOPREG_APPDSP_RAMMODE_STAT1);
|
||||
|
||||
pmdbg(" 0 1 2 3 4 5 6 7 8 9 A B\n");
|
||||
pmdbg("DSP RAM stat: %c %c %c %c %c %c %c %c %c %c %c %c\n",
|
||||
statch[(stat0 >> 0) & 3],
|
||||
statch[(stat0 >> 2) & 3],
|
||||
statch[(stat0 >> 4) & 3],
|
||||
statch[(stat0 >> 6) & 3],
|
||||
statch[(stat0 >> 8) & 3],
|
||||
statch[(stat0 >> 10) & 3],
|
||||
statch[(stat1 >> 0) & 3],
|
||||
statch[(stat1 >> 2) & 3],
|
||||
statch[(stat1 >> 4) & 3],
|
||||
statch[(stat1 >> 6) & 3],
|
||||
statch[(stat1 >> 8) & 3],
|
||||
statch[(stat1 >> 10) & 3]);
|
||||
pminfo(" 0 1 2 3 4 5 6 7 8 9 A B\n");
|
||||
pminfo("DSP RAM stat: %c %c %c %c %c %c %c %c %c %c %c %c\n",
|
||||
statch[(stat0 >> 0) & 3],
|
||||
statch[(stat0 >> 2) & 3],
|
||||
statch[(stat0 >> 4) & 3],
|
||||
statch[(stat0 >> 6) & 3],
|
||||
statch[(stat0 >> 8) & 3],
|
||||
statch[(stat0 >> 10) & 3],
|
||||
statch[(stat1 >> 0) & 3],
|
||||
statch[(stat1 >> 2) & 3],
|
||||
statch[(stat1 >> 4) & 3],
|
||||
statch[(stat1 >> 6) & 3],
|
||||
statch[(stat1 >> 8) & 3],
|
||||
statch[(stat1 >> 10) & 3]);
|
||||
|
||||
stat0 = getreg32(CXD56_CRG_APP_TILE_CLK_GATING_ENB);
|
||||
pmdbg("Clock gating: %c %c %c %c %c %c %c %c %c %c %c %c\n",
|
||||
gatech[(stat0 >> 0) & 1],
|
||||
gatech[(stat0 >> 1) & 1],
|
||||
gatech[(stat0 >> 2) & 1],
|
||||
gatech[(stat0 >> 3) & 1],
|
||||
gatech[(stat0 >> 4) & 1],
|
||||
gatech[(stat0 >> 5) & 1],
|
||||
gatech[(stat0 >> 6) & 1],
|
||||
gatech[(stat0 >> 7) & 1],
|
||||
gatech[(stat0 >> 8) & 1],
|
||||
gatech[(stat0 >> 9) & 1],
|
||||
gatech[(stat0 >> 10) & 1],
|
||||
gatech[(stat0 >> 11) & 1]);
|
||||
pminfo("Clock gating: %c %c %c %c %c %c %c %c %c %c %c %c\n",
|
||||
gatech[(stat0 >> 0) & 1],
|
||||
gatech[(stat0 >> 1) & 1],
|
||||
gatech[(stat0 >> 2) & 1],
|
||||
gatech[(stat0 >> 3) & 1],
|
||||
gatech[(stat0 >> 4) & 1],
|
||||
gatech[(stat0 >> 5) & 1],
|
||||
gatech[(stat0 >> 6) & 1],
|
||||
gatech[(stat0 >> 7) & 1],
|
||||
gatech[(stat0 >> 8) & 1],
|
||||
gatech[(stat0 >> 9) & 1],
|
||||
gatech[(stat0 >> 10) & 1],
|
||||
gatech[(stat0 >> 11) & 1]);
|
||||
}
|
||||
#endif
|
||||
|
@ -84,14 +84,22 @@
|
||||
|
||||
#define PM_CPUFREQLOCK_FLAG_INITIALIZED (0x8000)
|
||||
|
||||
#ifdef CONFIG_CXD56_PM_DEBUG
|
||||
# define pmerr(format, ...) _err(format, ##__VA_ARGS__)
|
||||
# define pmwarn(format, ...) _warn(format, ##__VA_ARGS__)
|
||||
# define pminfo(format, ...) _info(format, ##__VA_ARGS__)
|
||||
/* Debug */
|
||||
|
||||
#ifdef CONFIG_CXD56_PM_DEBUG_ERROR
|
||||
# define pmerr(format, ...) _err(format, ##__VA_ARGS__)
|
||||
#else
|
||||
# define pmerr(x...)
|
||||
# define pmwarn(x...)
|
||||
# define pminfo(x...)
|
||||
# define pmerr(x, ...)
|
||||
#endif
|
||||
#ifdef CONFIG_CXD56_PM_DEBUG_WARN
|
||||
# define pmwarn(format, ...) _warn(format, ##__VA_ARGS__)
|
||||
#else
|
||||
# define pmwarn(x, ...)
|
||||
#endif
|
||||
#ifdef CONFIG_CXD56_PM_DEBUG_INFO
|
||||
# define pminfo(format, ...) _info(format, ##__VA_ARGS__)
|
||||
#else
|
||||
# define pminfo(x, ...)
|
||||
#endif
|
||||
|
||||
void up_cpuctxload(void);
|
||||
|
@ -46,14 +46,22 @@
|
||||
* Pre-processor Definitions
|
||||
****************************************************************************/
|
||||
|
||||
#ifdef CONFIG_CXD56_PM_DEBUG
|
||||
# define pmerr(format, ...) _err(format, ##__VA_ARGS__)
|
||||
# define pmwarn(format, ...) _warn(format, ##__VA_ARGS__)
|
||||
# define pminfo(format, ...) _info(format, ##__VA_ARGS__)
|
||||
/* Debug */
|
||||
|
||||
#ifdef CONFIG_CXD56_PM_DEBUG_ERROR
|
||||
# define pmerr(format, ...) _err(format, ##__VA_ARGS__)
|
||||
#else
|
||||
# define pmerr(x...)
|
||||
# define pmwarn(x...)
|
||||
# define pminfo(x...)
|
||||
# define pmerr(x, ...)
|
||||
#endif
|
||||
#ifdef CONFIG_CXD56_PM_DEBUG_WARN
|
||||
# define pmwarn(format, ...) _warn(format, ##__VA_ARGS__)
|
||||
#else
|
||||
# define pmwarn(x, ...)
|
||||
#endif
|
||||
#ifdef CONFIG_CXD56_PM_DEBUG_INFO
|
||||
# define pminfo(format, ...) _info(format, ##__VA_ARGS__)
|
||||
#else
|
||||
# define pminfo(x, ...)
|
||||
#endif
|
||||
|
||||
#define PWD_STAT(val, shift) ((val >> shift) & 0x1)
|
||||
@ -280,21 +288,21 @@ static void cxd56_powermgr_procfs_clock(void)
|
||||
len = snprintf(g_powermg_procfs_buffer + g_powermg_procfs_len,
|
||||
g_powermg_procfs_size - g_powermg_procfs_len,
|
||||
"Clock Status [Hz]\n"
|
||||
" |-RTC : %9d"" |-APP : %9d\n"
|
||||
" |-RCOSC : %9d"" ||-DSP0 : %9d\n"
|
||||
" |-XOSC : %9d"" ||-DSP1 : %9d\n"
|
||||
" |-SYSPLL : %9d"" ||-DSP2 : %9d\n"
|
||||
" |-M0P : %9d"" ||-DSP3 : %9d\n"
|
||||
" ||-AHB : %9d"" ||-DSP4 : %9d\n"
|
||||
" | |-APB : %9d"" ||-DSP5 : %9d\n"
|
||||
" |-UART1 : %9d"" ||-UART2 : %9d\n"
|
||||
" |-SFC : %9d"" ||-SPI4 : %9d\n"
|
||||
" |-SCU : %9d"" ||-SPI5 : %9d\n"
|
||||
" ||-LPADC : %9d"" ||-USB : %9d\n"
|
||||
" ||-HPADC : %9d"" ||-EMMC : %9d\n"
|
||||
" |-I2C4 : %9d"" ||-SDIO : %9d\n"
|
||||
" |-GPS : %9d"" ||-VSYNC : %9d\n"
|
||||
" ||-AHB : %9d\n",
|
||||
" |-RTC : %9ld"" |-APP : %9ld\n"
|
||||
" |-RCOSC : %9ld"" ||-DSP0 : %9ld\n"
|
||||
" |-XOSC : %9ld"" ||-DSP1 : %9ld\n"
|
||||
" |-SYSPLL : %9ld"" ||-DSP2 : %9ld\n"
|
||||
" |-M0P : %9ld"" ||-DSP3 : %9ld\n"
|
||||
" ||-AHB : %9ld"" ||-DSP4 : %9ld\n"
|
||||
" | |-APB : %9ld"" ||-DSP5 : %9ld\n"
|
||||
" |-UART1 : %9ld"" ||-UART2 : %9ld\n"
|
||||
" |-SFC : %9ld"" ||-SPI4 : %9ld\n"
|
||||
" |-SCU : %9ld"" ||-SPI5 : %9ld\n"
|
||||
" ||-LPADC : %9ld"" ||-USB : %9ld\n"
|
||||
" ||-HPADC : %9ld"" ||-EMMC : %9ld\n"
|
||||
" |-I2C4 : %9ld"" ||-SDIO : %9ld\n"
|
||||
" |-GPS : %9ld"" ||-VSYNC : %9ld\n"
|
||||
" ||-AHB : %9ld\n",
|
||||
cxd56_get_rtc_clock(), cxd56_get_appsmp_baseclock(),
|
||||
cxd56_get_rcosc_clock(), dsptabl[0],
|
||||
cxd56_get_xosc_clock(), dsptabl[1],
|
||||
|
Loading…
Reference in New Issue
Block a user