Make sure we dont over write any ROM status and move "register" macros into memory.h.
Signed-off-by: Liam Girdwood liam.r.girdwood@linux.intel.com --- src/platform/apollolake/include/platform/memory.h | 6 ++++++ src/platform/apollolake/include/platform/platform.h | 14 ++------------ src/platform/cannonlake/include/platform/memory.h | 6 ++++++ src/platform/cannonlake/include/platform/platform.h | 16 +++------------- 4 files changed, 17 insertions(+), 25 deletions(-)
diff --git a/src/platform/apollolake/include/platform/memory.h b/src/platform/apollolake/include/platform/memory.h index eca9a53..157be82 100644 --- a/src/platform/apollolake/include/platform/memory.h +++ b/src/platform/apollolake/include/platform/memory.h @@ -244,6 +244,12 @@ #define SRAM_SW_REG_BASE (SRAM_INBOX_BASE + SRAM_INBOX_SIZE) #define SRAM_SW_REG_SIZE 0x1000
+/* SRAM window 0 FW "registers" */ +#define SRAM_REG_ROM_STATUS 0x0 +#define SRAM_REG_FW_STATUS 0x4 +#define SRAM_REG_FW_TRACEP 0x8 +#define SRAM_REG_FW_END 0xc + #define SRAM_OUTBOX_BASE (SRAM_SW_REG_BASE + SRAM_SW_REG_SIZE) #define SRAM_OUTBOX_SIZE 0x1000
diff --git a/src/platform/apollolake/include/platform/platform.h b/src/platform/apollolake/include/platform/platform.h index 4165b95..8e18d53 100644 --- a/src/platform/apollolake/include/platform/platform.h +++ b/src/platform/apollolake/include/platform/platform.h @@ -85,10 +85,6 @@ struct reef; /* Host finish work(drain from host to dai) timeout in microseconds */ #define PLATFORM_HOST_FINISH_TIMEOUT 50000
-// TODO: move to SW reg header -#define SW_REG_STATUS 0x0 -#define SW_REG_ERRCODE 0x04 - /* local buffer size of DMA tracing */ #define DMA_TRACE_LOCAL_SIZE HOST_PAGE_SIZE
@@ -109,17 +105,11 @@ struct reef;
/* Platform defined panic code */ #define platform_panic(__x) \ - sw_reg_write(SW_REG_STATUS, (0xdead000 | __x) & 0x3fffffff) + sw_reg_write(SRAM_REG_FW_STATUS, (0xdead000 | __x) & 0x3fffffff)
/* Platform defined trace code */ -#if USE_SW_REG_STATUS -#define platform_trace_point(__x) \ - sw_reg_write(SW_REG_STATUS, (0xace0000 | __x) & 0x3fffffff));\ - sw_reg_write(SW_REG_ERRCODE, __x) -#else //using SW_REG_STATUS may influence the ROM status, don't do that atm. #define platform_trace_point(__x) \ - sw_reg_write(SW_REG_ERRCODE, __x) -#endif + sw_reg_write(SRAM_REG_FW_TRACEP, __x)
struct timer *platform_timer;
diff --git a/src/platform/cannonlake/include/platform/memory.h b/src/platform/cannonlake/include/platform/memory.h index 06b27f3..7e7af82 100644 --- a/src/platform/cannonlake/include/platform/memory.h +++ b/src/platform/cannonlake/include/platform/memory.h @@ -189,6 +189,12 @@ #define SRAM_SW_REG_BASE (HP_SRAM_BASE + 0x4000) #define SRAM_SW_REG_SIZE 0x1000
+/* SRAM window 0 FW "registers" */ +#define SRAM_REG_ROM_STATUS 0x0 +#define SRAM_REG_FW_STATUS 0x4 +#define SRAM_REG_FW_TRACEP 0x8 +#define SRAM_REG_FW_END 0xc + #define SRAM_OUTBOX_BASE (SRAM_SW_REG_BASE + SRAM_SW_REG_SIZE) #define SRAM_OUTBOX_SIZE 0x1000
diff --git a/src/platform/cannonlake/include/platform/platform.h b/src/platform/cannonlake/include/platform/platform.h index f29af95..06a5599 100644 --- a/src/platform/cannonlake/include/platform/platform.h +++ b/src/platform/cannonlake/include/platform/platform.h @@ -89,10 +89,6 @@ struct reef; /* Host finish work(drain from host to dai) timeout in microseconds */ #define PLATFORM_HOST_FINISH_TIMEOUT 50000
-// TODO: move to SW reg header -#define SW_REG_STATUS 0x0 -#define SW_REG_ERRCODE 0x04 - /* local buffer size of DMA tracing */ #define DMA_TRACE_LOCAL_SIZE HOST_PAGE_SIZE
@@ -111,19 +107,13 @@ struct reef; /* DSP should be idle in this time frame */ #define PLATFORM_IDLE_TIME 750000
-/* Platform defined panic code */ +/* Platform defined trace code */ #define platform_panic(__x) \ - sw_reg_write(SW_REG_STATUS, (0xdead000 | __x) & 0x3fffffff) + sw_reg_write(SRAM_REG_FW_STATUS, (0xdead000 | __x) & 0x3fffffff)
/* Platform defined trace code */ -#if USE_SW_REG_STATUS #define platform_trace_point(__x) \ - sw_reg_write(SW_REG_STATUS, (0xace0000 | __x) & 0x3fffffff));\ - sw_reg_write(SW_REG_ERRCODE, __x) -#else //using SW_REG_STATUS may influence the ROM status, don't do that atm. -#define platform_trace_point(__x) \ - sw_reg_write(SW_REG_ERRCODE, __x) -#endif + sw_reg_write(SRAM_REG_FW_TRACEP, __x)
struct timer *platform_timer;