aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUsama Arif <usama.arif@arm.com>2020-09-23 10:55:29 +0100
committerChris Kay <chris@cjkay.com>2020-09-25 13:33:26 +0100
commit251eec399f29b2f5f7d50fcaed464a13bcff7fbe (patch)
treeca363ea62a3bc8e83eeaad89c88021af505f11d3
parenta0f3d7e9a9d7116e9ec0fff5326ca727d1d5f6ad (diff)
tc0: apply clang-format to platform
Any new patches apply clang-format to them. This patch will allow consistency to entire platform. Change-Id: I295b0e00eeb22affb97062a5fa243d0dafdd5654 Signed-off-by: Usama Arif <usama.arif@arm.com>
-rw-r--r--product/tc0/include/clock_soc.h4
-rw-r--r--product/tc0/include/cpu_pik.h109
-rw-r--r--product/tc0/include/dpu_pik.h50
-rw-r--r--product/tc0/include/scp_css_mmap.h43
-rw-r--r--product/tc0/include/scp_mmap.h14
-rw-r--r--product/tc0/include/scp_pik.h157
-rw-r--r--product/tc0/include/scp_soc_mmap.h20
-rw-r--r--product/tc0/include/scp_software_mmap.h49
-rw-r--r--product/tc0/include/system_pik.h100
-rw-r--r--product/tc0/include/tc0_core.h6
-rw-r--r--product/tc0/include/tc0_power_domain.h11
-rw-r--r--product/tc0/include/tc0_sds.h37
-rw-r--r--product/tc0/module/tc0_system/src/mod_tc0_system.c97
-rw-r--r--product/tc0/scp_ramfw/RTX_Config.h60
-rw-r--r--product/tc0/scp_ramfw/config_armv7m_mpu.c62
-rw-r--r--product/tc0/scp_ramfw/config_clock.c106
-rw-r--r--product/tc0/scp_ramfw/config_css_clock.c88
-rw-r--r--product/tc0/scp_ramfw/config_dvfs.c13
-rw-r--r--product/tc0/scp_ramfw/config_gtimer.c20
-rw-r--r--product/tc0/scp_ramfw/config_mhu2.c44
-rw-r--r--product/tc0/scp_ramfw/config_pik_clock.c3
-rw-r--r--product/tc0/scp_ramfw/config_pl011.c27
-rw-r--r--product/tc0/scp_ramfw/config_power_domain.c37
-rw-r--r--product/tc0/scp_ramfw/config_ppu_v1.c72
-rw-r--r--product/tc0/scp_ramfw/config_psu.c11
-rw-r--r--product/tc0/scp_ramfw/config_resource_perms.c98
-rw-r--r--product/tc0/scp_ramfw/config_scmi.c84
-rw-r--r--product/tc0/scp_ramfw/config_scmi_clock.c22
-rw-r--r--product/tc0/scp_ramfw/config_scmi_perf.c3
-rw-r--r--product/tc0/scp_ramfw/config_scmi_system_power.c5
-rw-r--r--product/tc0/scp_ramfw/config_sds.c34
-rw-r--r--product/tc0/scp_ramfw/config_smt.c65
-rw-r--r--product/tc0/scp_ramfw/config_system_pll.c164
-rw-r--r--product/tc0/scp_ramfw/config_system_power.c63
-rw-r--r--product/tc0/scp_ramfw/config_timer.c19
-rw-r--r--product/tc0/scp_romfw/config_clock.c46
-rw-r--r--product/tc0/scp_romfw/config_css_clock.c46
-rw-r--r--product/tc0/scp_romfw/config_gtimer.c20
-rw-r--r--product/tc0/scp_romfw/config_msys_rom.c2
-rw-r--r--product/tc0/scp_romfw/config_pik_clock.c190
-rw-r--r--product/tc0/scp_romfw/config_pl011.c21
-rw-r--r--product/tc0/scp_romfw/config_ppu_v1.c34
-rw-r--r--product/tc0/scp_romfw/config_sds.c37
-rw-r--r--product/tc0/scp_romfw/config_system_pll.c79
-rw-r--r--product/tc0/scp_romfw/config_timer.c17
45 files changed, 1201 insertions, 1088 deletions
diff --git a/product/tc0/include/clock_soc.h b/product/tc0/include/clock_soc.h
index d129c872..1303cf5f 100644
--- a/product/tc0/include/clock_soc.h
+++ b/product/tc0/include/clock_soc.h
@@ -10,8 +10,8 @@
#include <fwk_macros.h>
-#define CLOCK_RATE_REFCLK (100UL * FWK_MHZ)
-#define CLOCK_RATE_SYSPLLCLK (2000UL * FWK_MHZ)
+#define CLOCK_RATE_REFCLK (100UL * FWK_MHZ)
+#define CLOCK_RATE_SYSPLLCLK (2000UL * FWK_MHZ)
/*
* PLL clock indexes.
diff --git a/product/tc0/include/cpu_pik.h b/product/tc0/include/cpu_pik.h
index 5ec66456..ab3fd95a 100644
--- a/product/tc0/include/cpu_pik.h
+++ b/product/tc0/include/cpu_pik.h
@@ -14,78 +14,77 @@
#include <stdint.h>
-
/*!
* \brief PE Static Configuration register definitions
*/
struct static_config_reg {
- FWK_RW uint32_t STATIC_CONFIG;
- FWK_RW uint32_t RVBARADDR_LW;
- FWK_RW uint32_t RVBARADDR_UP;
- uint32_t RESERVED;
+ FWK_RW uint32_t STATIC_CONFIG;
+ FWK_RW uint32_t RVBARADDR_LW;
+ FWK_RW uint32_t RVBARADDR_UP;
+ uint32_t RESERVED;
};
/*!
* \brief AP cores clock control register definitions
*/
struct coreclk_reg {
- FWK_RW uint32_t CTRL;
- FWK_RW uint32_t DIV;
- uint32_t RESERVED;
- FWK_RW uint32_t MOD;
+ FWK_RW uint32_t CTRL;
+ FWK_RW uint32_t DIV;
+ uint32_t RESERVED;
+ FWK_RW uint32_t MOD;
};
/*!
* \brief CPU (V8.2) PIK register definitions
*/
struct pik_cpu_reg {
- FWK_RW uint32_t CLUSTER_CONFIG;
- uint8_t RESERVED0[0x10 - 0x4];
+ FWK_RW uint32_t CLUSTER_CONFIG;
+ uint8_t RESERVED0[0x10 - 0x4];
struct static_config_reg STATIC_CONFIG[16];
- uint8_t RESERVED1[0x800 - 0x110];
- FWK_RW uint32_t PPUCLK_CTRL;
- FWK_RW uint32_t PPUCLK_DIV1;
- uint8_t RESERVED2[0x810 - 0x808];
- FWK_RW uint32_t PCLK_CTRL;
- uint8_t RESERVED3[0x820 - 0x814];
- FWK_RW uint32_t DBGCLK_CTRL;
- FWK_RW uint32_t DBGCLK_DIV1;
- uint8_t RESERVED4[0x830 - 0x828];
- FWK_RW uint32_t GICCLK_CTRL;
- uint8_t RESERVED5[0x840 - 0x834];
- FWK_RW uint32_t AMBACLK_CTRL;
- uint8_t RESERVED6[0x850 - 0x844];
- FWK_RW uint32_t CLUSCLK_CTRL;
- FWK_RW uint32_t CLUSCLK_DIV1;
- uint8_t RESERVED7[0x860 - 0x858];
- struct coreclk_reg CORECLK[8];
- uint8_t RESERVED8[0xA00 - 0x8E0];
- FWK_R uint32_t CLKFORCE_STATUS;
- FWK_W uint32_t CLKFORCE_SET;
- FWK_W uint32_t CLKFORCE_CLR;
- uint8_t RESERVED9[0xB00 - 0xA0C];
- FWK_R uint32_t NERRIQ_INT_STATUS;
- FWK_R uint32_t NFAULTIQ_INT_STATUS;
- uint8_t RESERVED10[0xFB4 - 0xB08];
- FWK_R uint32_t CAP3;
- FWK_R uint32_t CAP2;
- FWK_R uint32_t CAP;
- FWK_R uint32_t PCL_CONFIG;
- uint8_t RESERVED11[0xFD0 - 0xFC4];
- FWK_R uint32_t PID4;
- FWK_R uint32_t PID5;
- FWK_R uint32_t PID6;
- FWK_R uint32_t PID7;
- FWK_R uint32_t PID0;
- FWK_R uint32_t PID1;
- FWK_R uint32_t PID2;
- FWK_R uint32_t PID3;
- FWK_R uint32_t ID0;
- FWK_R uint32_t ID1;
- FWK_R uint32_t ID2;
- FWK_R uint32_t ID3;
+ uint8_t RESERVED1[0x800 - 0x110];
+ FWK_RW uint32_t PPUCLK_CTRL;
+ FWK_RW uint32_t PPUCLK_DIV1;
+ uint8_t RESERVED2[0x810 - 0x808];
+ FWK_RW uint32_t PCLK_CTRL;
+ uint8_t RESERVED3[0x820 - 0x814];
+ FWK_RW uint32_t DBGCLK_CTRL;
+ FWK_RW uint32_t DBGCLK_DIV1;
+ uint8_t RESERVED4[0x830 - 0x828];
+ FWK_RW uint32_t GICCLK_CTRL;
+ uint8_t RESERVED5[0x840 - 0x834];
+ FWK_RW uint32_t AMBACLK_CTRL;
+ uint8_t RESERVED6[0x850 - 0x844];
+ FWK_RW uint32_t CLUSCLK_CTRL;
+ FWK_RW uint32_t CLUSCLK_DIV1;
+ uint8_t RESERVED7[0x860 - 0x858];
+ struct coreclk_reg CORECLK[8];
+ uint8_t RESERVED8[0xA00 - 0x8E0];
+ FWK_R uint32_t CLKFORCE_STATUS;
+ FWK_W uint32_t CLKFORCE_SET;
+ FWK_W uint32_t CLKFORCE_CLR;
+ uint8_t RESERVED9[0xB00 - 0xA0C];
+ FWK_R uint32_t NERRIQ_INT_STATUS;
+ FWK_R uint32_t NFAULTIQ_INT_STATUS;
+ uint8_t RESERVED10[0xFB4 - 0xB08];
+ FWK_R uint32_t CAP3;
+ FWK_R uint32_t CAP2;
+ FWK_R uint32_t CAP;
+ FWK_R uint32_t PCL_CONFIG;
+ uint8_t RESERVED11[0xFD0 - 0xFC4];
+ FWK_R uint32_t PID4;
+ FWK_R uint32_t PID5;
+ FWK_R uint32_t PID6;
+ FWK_R uint32_t PID7;
+ FWK_R uint32_t PID0;
+ FWK_R uint32_t PID1;
+ FWK_R uint32_t PID2;
+ FWK_R uint32_t PID3;
+ FWK_R uint32_t ID0;
+ FWK_R uint32_t ID1;
+ FWK_R uint32_t ID2;
+ FWK_R uint32_t ID3;
};
-#define CLUSTER_PIK_PTR(IDX) ((struct pik_cpu_reg *) SCP_PIK_CLUSTER_BASE(IDX))
+#define CLUSTER_PIK_PTR(IDX) ((struct pik_cpu_reg *)SCP_PIK_CLUSTER_BASE(IDX))
-#endif /* CPU_PIK_H */
+#endif /* CPU_PIK_H */
diff --git a/product/tc0/include/dpu_pik.h b/product/tc0/include/dpu_pik.h
index bce45dbb..25af0404 100644
--- a/product/tc0/include/dpu_pik.h
+++ b/product/tc0/include/dpu_pik.h
@@ -18,31 +18,31 @@
* \brief DPU PIK register definitions
*/
struct pik_dpu_reg {
- FWK_R uint8_t RESERVED0[0x830];
- FWK_RW uint32_t ACLKDP_CTRL;
- FWK_RW uint32_t ACLKDP_DIV1;
- FWK_RW uint32_t ACLKDP_DIV2;
- uint8_t RESERVED3[0xA00 - 0x83C];
- FWK_R uint32_t CLKFORCE_STATUS;
- FWK_W uint32_t CLKFORCE_SET;
- FWK_W uint32_t CLKFORCE_CLR;
- uint8_t RESERVED4[0xFC0 - 0xA0C];
- FWK_RW uint32_t PCL_CONFIG;
- uint8_t RESERVED5[0xFD0 - 0xFC4];
- FWK_R uint32_t PID4;
- FWK_R uint32_t PID5;
- FWK_R uint32_t PID6;
- FWK_R uint32_t PID7;
- FWK_R uint32_t PID0;
- FWK_R uint32_t PID1;
- FWK_R uint32_t PID2;
- FWK_R uint32_t PID3;
- FWK_R uint32_t ID0;
- FWK_R uint32_t ID1;
- FWK_R uint32_t ID2;
- FWK_R uint32_t ID3;
+ FWK_R uint8_t RESERVED0[0x830];
+ FWK_RW uint32_t ACLKDP_CTRL;
+ FWK_RW uint32_t ACLKDP_DIV1;
+ FWK_RW uint32_t ACLKDP_DIV2;
+ uint8_t RESERVED3[0xA00 - 0x83C];
+ FWK_R uint32_t CLKFORCE_STATUS;
+ FWK_W uint32_t CLKFORCE_SET;
+ FWK_W uint32_t CLKFORCE_CLR;
+ uint8_t RESERVED4[0xFC0 - 0xA0C];
+ FWK_RW uint32_t PCL_CONFIG;
+ uint8_t RESERVED5[0xFD0 - 0xFC4];
+ FWK_R uint32_t PID4;
+ FWK_R uint32_t PID5;
+ FWK_R uint32_t PID6;
+ FWK_R uint32_t PID7;
+ FWK_R uint32_t PID0;
+ FWK_R uint32_t PID1;
+ FWK_R uint32_t PID2;
+ FWK_R uint32_t PID3;
+ FWK_R uint32_t ID0;
+ FWK_R uint32_t ID1;
+ FWK_R uint32_t ID2;
+ FWK_R uint32_t ID3;
};
-#define DPU_PIK_PTR ((struct pik_dpu_reg *) SCP_PIK_DPU_BASE)
+#define DPU_PIK_PTR ((struct pik_dpu_reg *)SCP_PIK_DPU_BASE)
-#endif /* DPU_PIK_H */
+#endif /* DPU_PIK_H */
diff --git a/product/tc0/include/scp_css_mmap.h b/product/tc0/include/scp_css_mmap.h
index f9f7975b..301c4d43 100644
--- a/product/tc0/include/scp_css_mmap.h
+++ b/product/tc0/include/scp_css_mmap.h
@@ -10,35 +10,32 @@
#include "scp_mmap.h"
-#define SCP_CMN_BOOKER_BASE (SCP_SYSTEM_ACCESS_PORT0_BASE + 0x10000000)
+#define SCP_CMN_BOOKER_BASE (SCP_SYSTEM_ACCESS_PORT0_BASE + 0x10000000)
-#define SCP_REFCLK_CNTCONTROL_BASE (SCP_SYSTEM_ACCESS_PORT1_BASE + 0x2A430000)
-#define SCP_REFCLK_CNTCTL_BASE (SCP_PERIPHERAL_BASE + 0x0000)
-#define SCP_REFCLK_CNTBASE0_BASE (SCP_PERIPHERAL_BASE + 0x1000)
-#define SCP_UART_BASE (SCP_PERIPHERAL_BASE + 0x2000)
-#define SCP_MHU_AP_BASE (SCP_PERIPHERAL_BASE + 0x1000000)
+#define SCP_REFCLK_CNTCONTROL_BASE (SCP_SYSTEM_ACCESS_PORT1_BASE + 0x2A430000)
+#define SCP_REFCLK_CNTCTL_BASE (SCP_PERIPHERAL_BASE + 0x0000)
+#define SCP_REFCLK_CNTBASE0_BASE (SCP_PERIPHERAL_BASE + 0x1000)
+#define SCP_UART_BASE (SCP_PERIPHERAL_BASE + 0x2000)
+#define SCP_MHU_AP_BASE (SCP_PERIPHERAL_BASE + 0x1000000)
-#define SCP_PIK_SCP_BASE (SCP_ELEMENT_MANAGEMENT_PERIPHERAL_BASE)
-#define SCP_PIK_CLUSTER_BASE(n) ((SCP_ELEMENT_MANAGEMENT_PERIPHERAL_BASE \
- + 0x60000) + ((n) * 0x20000))
-#define SCP_PIK_SYSTEM_BASE (SCP_ELEMENT_MANAGEMENT_PERIPHERAL_BASE \
- + 0x40000)
+#define SCP_PIK_SCP_BASE (SCP_ELEMENT_MANAGEMENT_PERIPHERAL_BASE)
+#define SCP_PIK_CLUSTER_BASE(n) \
+ ((SCP_ELEMENT_MANAGEMENT_PERIPHERAL_BASE + 0x60000) + ((n)*0x20000))
+#define SCP_PIK_SYSTEM_BASE (SCP_ELEMENT_MANAGEMENT_PERIPHERAL_BASE + 0x40000)
-#define SCP_PIK_DPU_BASE (SCP_ELEMENT_MANAGEMENT_PERIPHERAL_BASE \
- + 0x860000)
+#define SCP_PIK_DPU_BASE (SCP_ELEMENT_MANAGEMENT_PERIPHERAL_BASE + 0x860000)
-#define SCP_PPU_CLUSTER_BASE(n) (SCP_PIK_CLUSTER_BASE((n)) + 0x1000)
-#define SCP_PPU_CORE_BASE(n, m) (SCP_PPU_CLUSTER_BASE((n)) + \
- ((m) + 1) * 0x1000)
+#define SCP_PPU_CLUSTER_BASE(n) (SCP_PIK_CLUSTER_BASE((n)) + 0x1000)
+#define SCP_PPU_CORE_BASE(n, m) (SCP_PPU_CLUSTER_BASE((n)) + ((m) + 1) * 0x1000)
-#define SCP_PPU_SYS0_BASE (SCP_PIK_SYSTEM_BASE + 0x1000)
-#define SCP_PPU_SYS1_BASE (SCP_PIK_SYSTEM_BASE + 0x5000)
+#define SCP_PPU_SYS0_BASE (SCP_PIK_SYSTEM_BASE + 0x1000)
+#define SCP_PPU_SYS1_BASE (SCP_PIK_SYSTEM_BASE + 0x5000)
-#define SCP_PPU_BASE(n) (SCP_PIK_CLUSTER_BASE(n) + 0x2000)
+#define SCP_PPU_BASE(n) (SCP_PIK_CLUSTER_BASE(n) + 0x2000)
-#define SCP_MHU_SCP_AP_SND_NS_CLUS0 (SCP_MHU_AP_BASE + 0x00000)
-#define SCP_MHU_SCP_AP_RCV_NS_CLUS0 (SCP_MHU_AP_BASE + 0x10000)
-#define SCP_MHU_SCP_AP_SND_S_CLUS0 (SCP_MHU_AP_BASE + 0x400000)
-#define SCP_MHU_SCP_AP_RCV_S_CLUS0 (SCP_MHU_AP_BASE + 0x410000)
+#define SCP_MHU_SCP_AP_SND_NS_CLUS0 (SCP_MHU_AP_BASE + 0x00000)
+#define SCP_MHU_SCP_AP_RCV_NS_CLUS0 (SCP_MHU_AP_BASE + 0x10000)
+#define SCP_MHU_SCP_AP_SND_S_CLUS0 (SCP_MHU_AP_BASE + 0x400000)
+#define SCP_MHU_SCP_AP_RCV_S_CLUS0 (SCP_MHU_AP_BASE + 0x410000)
#endif /* SCP_CSS_MMAP_H */
diff --git a/product/tc0/include/scp_mmap.h b/product/tc0/include/scp_mmap.h
index e048ce7a..68bc7ad1 100644
--- a/product/tc0/include/scp_mmap.h
+++ b/product/tc0/include/scp_mmap.h
@@ -8,13 +8,13 @@
#ifndef SCP_MMAP_H
#define SCP_MMAP_H
-#define SCP_BOOT_ROM_BASE 0x00000000
-#define SCP_ITC_RAM_BASE 0x00800000
-#define SCP_DTC_RAM_BASE 0x20000000
-#define SCP_SOC_EXPANSION3_BASE 0x40000000
-#define SCP_PERIPHERAL_BASE 0x44000000
+#define SCP_BOOT_ROM_BASE 0x00000000
+#define SCP_ITC_RAM_BASE 0x00800000
+#define SCP_DTC_RAM_BASE 0x20000000
+#define SCP_SOC_EXPANSION3_BASE 0x40000000
+#define SCP_PERIPHERAL_BASE 0x44000000
#define SCP_ELEMENT_MANAGEMENT_PERIPHERAL_BASE 0x50000000
-#define SCP_SYSTEM_ACCESS_PORT0_BASE 0x60000000
-#define SCP_SYSTEM_ACCESS_PORT1_BASE 0xA0000000
+#define SCP_SYSTEM_ACCESS_PORT0_BASE 0x60000000
+#define SCP_SYSTEM_ACCESS_PORT1_BASE 0xA0000000
#endif /* SCP_MMAP_H */
diff --git a/product/tc0/include/scp_pik.h b/product/tc0/include/scp_pik.h
index a90efda9..1a6df42c 100644
--- a/product/tc0/include/scp_pik.h
+++ b/product/tc0/include/scp_pik.h
@@ -21,88 +21,87 @@
* \brief SCP PIK register definitions
*/
struct pik_scp_reg {
- uint8_t RESERVED0[0x10 - 0x0];
- FWK_RW uint32_t RESET_SYNDROME;
- uint8_t RESERVED1[0x20 - 0x14];
- FWK_RW uint32_t SURVIVAL_RESET_STATUS;
- uint8_t RESERVED2[0x34 - 0x24];
- FWK_RW uint32_t ADDR_TRANS;
- FWK_RW uint32_t DBG_ADDR_TRANS;
- uint8_t RESERVED3[0x40 - 0x3C];
- FWK_RW uint32_t WS1_TIMER_MATCH;
- FWK_RW uint32_t WS1_TIMER_EN;
- uint8_t RESERVED4[0x200 - 0x48];
- FWK_R uint32_t SS_RESET_STATUS;
- FWK_W uint32_t SS_RESET_SET;
- FWK_W uint32_t SS_RESET_CLR;
- uint8_t RESERVED5[0x810 - 0x20C];
- FWK_RW uint32_t CORECLK_CTRL;
- FWK_RW uint32_t CORECLK_DIV1;
- uint8_t RESERVED6[0x820 - 0x818];
- FWK_RW uint32_t ACLK_CTRL;
- FWK_RW uint32_t ACLK_DIV1;
- uint8_t RESERVED7[0x830 - 0x828];
- FWK_RW uint32_t GTSYNCCLK_CTRL;
- FWK_RW uint32_t GTSYNCCLK_DIV1;
- uint8_t RESERVED8[0xA10 - 0x838];
- FWK_R uint32_t PLL_STATUS[17];
- uint8_t RESERVED9[0xA60 - 0xA54];
- FWK_R uint32_t CONS_MMUTCU_INT_STATUS;
- FWK_R uint32_t CONS_MMUTBU_INT_STATUS0;
- FWK_R uint32_t CONS_MMUTBU_INT_STATUS1;
- FWK_W uint32_t CONS_MMUTCU_INT_CLR;
- FWK_W uint32_t CONS_MMUTBU_INT_CLR0;
- FWK_W uint32_t CONS_MMUTBU_INT_CLR1;
- uint8_t RESERVED10[0xB00 - 0xA78];
- FWK_R uint32_t MHU_NS_INT_STATUS;
- FWK_R uint32_t MHU_S_INT_STATUS;
- uint8_t RESERVED11[0xB20 - 0xB08];
- FWK_R uint32_t CPU_PPU_INT_STATUS[8];
- FWK_R uint32_t CLUS_PPU_INT_STATUS;
- uint8_t RESERVED12[0xB60 - 0xB44];
- FWK_R uint32_t TIMER_INT_STATUS[8];
- FWK_R uint32_t CPU_PLL_LOCK_STATUS[8];
- uint8_t RESERVED13[0xBC0 - 0xBA0];
- FWK_R uint32_t CPU_PLL_UNLOCK_STATUS[8];
- uint8_t RESERVED14[0xBF0 - 0xBE0];
- FWK_R uint32_t CLUSTER_PLL_LOCK_STATUS;
- FWK_R uint32_t CLUSTER_PLL_UNLOCK_STATUS;
- uint8_t RESERVED15[0xC00 - 0xBF8];
- FWK_R uint32_t CLUS_FAULT_INT_STATUS;
- uint8_t RESERVED16[0xC30 - 0xC04];
- FWK_R uint32_t CLUSTER_ECCERR_INT_STATUS;
- uint8_t RESERVED17[0xD00 - 0xC34];
- FWK_R uint32_t DMC0_4_INT_STATUS;
- FWK_R uint32_t DMC1_5_INT_STATUS;
- FWK_R uint32_t DMC2_6_INT_STATUS;
- FWK_R uint32_t DMC3_7_INT_STATUS;
- uint8_t RESERVED18[0xFC0 - 0xD10];
- FWK_R uint32_t PCL_CFG;
- uint8_t RESERVED19[0xFD0 - 0xFC4];
- FWK_R uint32_t PID4;
- FWK_R uint32_t PID5;
- FWK_R uint32_t PID6;
- FWK_R uint32_t PID7;
- FWK_R uint32_t PID0;
- FWK_R uint32_t PID1;
- FWK_R uint32_t PID2;
- FWK_R uint32_t PID3;
- FWK_R uint32_t ID0;
- FWK_R uint32_t ID1;
- FWK_R uint32_t ID2;
- FWK_R uint32_t ID3;
+ uint8_t RESERVED0[0x10 - 0x0];
+ FWK_RW uint32_t RESET_SYNDROME;
+ uint8_t RESERVED1[0x20 - 0x14];
+ FWK_RW uint32_t SURVIVAL_RESET_STATUS;
+ uint8_t RESERVED2[0x34 - 0x24];
+ FWK_RW uint32_t ADDR_TRANS;
+ FWK_RW uint32_t DBG_ADDR_TRANS;
+ uint8_t RESERVED3[0x40 - 0x3C];
+ FWK_RW uint32_t WS1_TIMER_MATCH;
+ FWK_RW uint32_t WS1_TIMER_EN;
+ uint8_t RESERVED4[0x200 - 0x48];
+ FWK_R uint32_t SS_RESET_STATUS;
+ FWK_W uint32_t SS_RESET_SET;
+ FWK_W uint32_t SS_RESET_CLR;
+ uint8_t RESERVED5[0x810 - 0x20C];
+ FWK_RW uint32_t CORECLK_CTRL;
+ FWK_RW uint32_t CORECLK_DIV1;
+ uint8_t RESERVED6[0x820 - 0x818];
+ FWK_RW uint32_t ACLK_CTRL;
+ FWK_RW uint32_t ACLK_DIV1;
+ uint8_t RESERVED7[0x830 - 0x828];
+ FWK_RW uint32_t GTSYNCCLK_CTRL;
+ FWK_RW uint32_t GTSYNCCLK_DIV1;
+ uint8_t RESERVED8[0xA10 - 0x838];
+ FWK_R uint32_t PLL_STATUS[17];
+ uint8_t RESERVED9[0xA60 - 0xA54];
+ FWK_R uint32_t CONS_MMUTCU_INT_STATUS;
+ FWK_R uint32_t CONS_MMUTBU_INT_STATUS0;
+ FWK_R uint32_t CONS_MMUTBU_INT_STATUS1;
+ FWK_W uint32_t CONS_MMUTCU_INT_CLR;
+ FWK_W uint32_t CONS_MMUTBU_INT_CLR0;
+ FWK_W uint32_t CONS_MMUTBU_INT_CLR1;
+ uint8_t RESERVED10[0xB00 - 0xA78];
+ FWK_R uint32_t MHU_NS_INT_STATUS;
+ FWK_R uint32_t MHU_S_INT_STATUS;
+ uint8_t RESERVED11[0xB20 - 0xB08];
+ FWK_R uint32_t CPU_PPU_INT_STATUS[8];
+ FWK_R uint32_t CLUS_PPU_INT_STATUS;
+ uint8_t RESERVED12[0xB60 - 0xB44];
+ FWK_R uint32_t TIMER_INT_STATUS[8];
+ FWK_R uint32_t CPU_PLL_LOCK_STATUS[8];
+ uint8_t RESERVED13[0xBC0 - 0xBA0];
+ FWK_R uint32_t CPU_PLL_UNLOCK_STATUS[8];
+ uint8_t RESERVED14[0xBF0 - 0xBE0];
+ FWK_R uint32_t CLUSTER_PLL_LOCK_STATUS;
+ FWK_R uint32_t CLUSTER_PLL_UNLOCK_STATUS;
+ uint8_t RESERVED15[0xC00 - 0xBF8];
+ FWK_R uint32_t CLUS_FAULT_INT_STATUS;
+ uint8_t RESERVED16[0xC30 - 0xC04];
+ FWK_R uint32_t CLUSTER_ECCERR_INT_STATUS;
+ uint8_t RESERVED17[0xD00 - 0xC34];
+ FWK_R uint32_t DMC0_4_INT_STATUS;
+ FWK_R uint32_t DMC1_5_INT_STATUS;
+ FWK_R uint32_t DMC2_6_INT_STATUS;
+ FWK_R uint32_t DMC3_7_INT_STATUS;
+ uint8_t RESERVED18[0xFC0 - 0xD10];
+ FWK_R uint32_t PCL_CFG;
+ uint8_t RESERVED19[0xFD0 - 0xFC4];
+ FWK_R uint32_t PID4;
+ FWK_R uint32_t PID5;
+ FWK_R uint32_t PID6;
+ FWK_R uint32_t PID7;
+ FWK_R uint32_t PID0;
+ FWK_R uint32_t PID1;
+ FWK_R uint32_t PID2;
+ FWK_R uint32_t PID3;
+ FWK_R uint32_t ID0;
+ FWK_R uint32_t ID1;
+ FWK_R uint32_t ID2;
+ FWK_R uint32_t ID3;
};
-#define PLL_STATUS_0_REFCLK UINT32_C(0x00000001)
-#define PLL_STATUS_0_SYSPLLLOCK UINT32_C(0x00000002)
-#define PLL_STATUS_0_DDRPLLLOCK UINT32_C(0x00000004)
-#define PLL_STATUS_0_INTPLLLOCK UINT32_C(0x00000008)
-#define PLL_STATUS_0_DISPLAYPLLLOCK UINT32_C(0x00000040)
+#define PLL_STATUS_0_REFCLK UINT32_C(0x00000001)
+#define PLL_STATUS_0_SYSPLLLOCK UINT32_C(0x00000002)
+#define PLL_STATUS_0_DDRPLLLOCK UINT32_C(0x00000004)
+#define PLL_STATUS_0_INTPLLLOCK UINT32_C(0x00000008)
+#define PLL_STATUS_0_DISPLAYPLLLOCK UINT32_C(0x00000040)
-
-#define PLL_STATUS_CPUPLLLOCK(CPU) ((uint32_t)(1 << (CPU % 32)))
+#define PLL_STATUS_CPUPLLLOCK(CPU) ((uint32_t)(1 << (CPU % 32)))
/* Pointer to SCP PIK */
-#define SCP_PIK_PTR ((struct pik_scp_reg *) SCP_PIK_SCP_BASE)
+#define SCP_PIK_PTR ((struct pik_scp_reg *)SCP_PIK_SCP_BASE)
-#endif /* SCP_PIK_H */
+#endif /* SCP_PIK_H */
diff --git a/product/tc0/include/scp_soc_mmap.h b/product/tc0/include/scp_soc_mmap.h
index e59924c3..433f9092 100644
--- a/product/tc0/include/scp_soc_mmap.h
+++ b/product/tc0/include/scp_soc_mmap.h
@@ -10,17 +10,17 @@
#include "scp_mmap.h"
-#define SCP_PLL_BASE (SCP_SOC_EXPANSION3_BASE + 0x03000000)
+#define SCP_PLL_BASE (SCP_SOC_EXPANSION3_BASE + 0x03000000)
-#define SCP_PLL_SYSPLL (SCP_PLL_BASE + 0x00000000)
-#define SCP_PLL_DISPLAY (SCP_PLL_BASE + 0x00000014)
-#define SCP_PLL_PIX0 (SCP_PLL_BASE + 0x00000018)
-#define SCP_PLL_PIX1 (SCP_PLL_BASE + 0x0000001C)
-#define SCP_PLL_INTERCONNECT (SCP_PLL_BASE + 0x00000020)
+#define SCP_PLL_SYSPLL (SCP_PLL_BASE + 0x00000000)
+#define SCP_PLL_DISPLAY (SCP_PLL_BASE + 0x00000014)
+#define SCP_PLL_PIX0 (SCP_PLL_BASE + 0x00000018)
+#define SCP_PLL_PIX1 (SCP_PLL_BASE + 0x0000001C)
+#define SCP_PLL_INTERCONNECT (SCP_PLL_BASE + 0x00000020)
-#define SCP_PLL_CPU0 (SCP_PLL_BASE + 0x00000100)
-#define SCP_PLL_CPU1 (SCP_PLL_BASE + 0x00000104)
-#define SCP_PLL_CPU2 (SCP_PLL_BASE + 0x00000108)
-#define SCP_PLL_CPU3 (SCP_PLL_BASE + 0x0000010C)
+#define SCP_PLL_CPU0 (SCP_PLL_BASE + 0x00000100)
+#define SCP_PLL_CPU1 (SCP_PLL_BASE + 0x00000104)
+#define SCP_PLL_CPU2 (SCP_PLL_BASE + 0x00000108)
+#define SCP_PLL_CPU3 (SCP_PLL_BASE + 0x0000010C)
#endif /* SCP_SOC_MMAP_H */
diff --git a/product/tc0/include/scp_software_mmap.h b/product/tc0/include/scp_software_mmap.h
index 12d75406..93eefe65 100644
--- a/product/tc0/include/scp_software_mmap.h
+++ b/product/tc0/include/scp_software_mmap.h
@@ -8,51 +8,46 @@
#ifndef SCP_SOFTWARE_MMAP_H
#define SCP_SOFTWARE_MMAP_H
-
#include "scp_soc_mmap.h"
#include <fwk_macros.h>
/* SCP ROM and RAM firmware size loaded on main memory */
-#define SCP_BOOT_ROM_SIZE (64 * 1024)
-#define SCP_DTC_RAM_SIZE (256 * 1024)
-#define SCP_ITC_RAM_SIZE (256 * 1024)
+#define SCP_BOOT_ROM_SIZE (64 * 1024)
+#define SCP_DTC_RAM_SIZE (256 * 1024)
+#define SCP_ITC_RAM_SIZE (256 * 1024)
/* SCP trusted and non-trusted RAM base address */
-#define SCP_TRUSTED_RAM_BASE (SCP_SYSTEM_ACCESS_PORT1_BASE + \
- 0x04000000)
-#define SCP_NONTRUSTED_RAM_BASE (SCP_SYSTEM_ACCESS_PORT1_BASE + \
- 0x06000000)
+#define SCP_TRUSTED_RAM_BASE (SCP_SYSTEM_ACCESS_PORT1_BASE + 0x04000000)
+#define SCP_NONTRUSTED_RAM_BASE (SCP_SYSTEM_ACCESS_PORT1_BASE + 0x06000000)
/* Secure Shared memory between AP and SCP */
-#define SCP_AP_SHARED_SECURE_BASE (SCP_TRUSTED_RAM_BASE)
-#define SCP_AP_SHARED_SECURE_SIZE (4 * FWK_KIB)
+#define SCP_AP_SHARED_SECURE_BASE (SCP_TRUSTED_RAM_BASE)
+#define SCP_AP_SHARED_SECURE_SIZE (4 * FWK_KIB)
/* Non-secure Shared memory between AP and SCP */
-#define SCP_AP_SHARED_NONSECURE_BASE (SCP_NONTRUSTED_RAM_BASE)
-#define SCP_AP_SHARED_NONSECURE_SIZE (4 * FWK_KIB)
+#define SCP_AP_SHARED_NONSECURE_BASE (SCP_NONTRUSTED_RAM_BASE)
+#define SCP_AP_SHARED_NONSECURE_SIZE (4 * FWK_KIB)
/* AP Context Area */
-#define SCP_AP_CONTEXT_BASE (SCP_AP_SHARED_SECURE_BASE + \
- SCP_AP_SHARED_SECURE_SIZE - \
- SCP_AP_CONTEXT_SIZE)
-#define SCP_AP_CONTEXT_SIZE (64)
+#define SCP_AP_CONTEXT_BASE \
+ (SCP_AP_SHARED_SECURE_BASE + SCP_AP_SHARED_SECURE_SIZE - \
+ SCP_AP_CONTEXT_SIZE)
+#define SCP_AP_CONTEXT_SIZE (64)
/* SDS Memory Region */
-#define SCP_SDS_MEM_BASE (SCP_AP_SHARED_SECURE_BASE)
-#define SCP_SDS_MEM_SIZE (3520)
+#define SCP_SDS_MEM_BASE (SCP_AP_SHARED_SECURE_BASE)
+#define SCP_SDS_MEM_SIZE (3520)
/* SCMI Secure Payload Areas */
-#define SCP_SCMI_PAYLOAD_SIZE (128)
-#define SCP_SCMI_PAYLOAD_S_A2P_BASE (SCP_SDS_MEM_BASE + \
- SCP_SDS_MEM_SIZE)
-#define SCP_SCMI_PAYLOAD_S_P2A_BASE (SCP_SCMI_PAYLOAD_S_A2P_BASE + \
- SCP_SCMI_PAYLOAD_SIZE)
+#define SCP_SCMI_PAYLOAD_SIZE (128)
+#define SCP_SCMI_PAYLOAD_S_A2P_BASE (SCP_SDS_MEM_BASE + SCP_SDS_MEM_SIZE)
+#define SCP_SCMI_PAYLOAD_S_P2A_BASE \
+ (SCP_SCMI_PAYLOAD_S_A2P_BASE + SCP_SCMI_PAYLOAD_SIZE)
/* SCMI Non-Secure Payload Areas */
-#define SCP_SCMI_PAYLOAD_NS_A2P_BASE (SCP_AP_SHARED_NONSECURE_BASE)
-#define SCP_SCMI_PAYLOAD_NS_P2A_BASE (SCP_SCMI_PAYLOAD_NS_A2P_BASE + \
- SCP_SCMI_PAYLOAD_SIZE)
-
+#define SCP_SCMI_PAYLOAD_NS_A2P_BASE (SCP_AP_SHARED_NONSECURE_BASE)
+#define SCP_SCMI_PAYLOAD_NS_P2A_BASE \
+ (SCP_SCMI_PAYLOAD_NS_A2P_BASE + SCP_SCMI_PAYLOAD_SIZE)
#endif /* SCP_SOFTWARE_MMAP_H */
diff --git a/product/tc0/include/system_pik.h b/product/tc0/include/system_pik.h
index d83bd1de..495d0af7 100644
--- a/product/tc0/include/system_pik.h
+++ b/product/tc0/include/system_pik.h
@@ -18,62 +18,62 @@
* \brief TCU clock register definitions
*/
struct tcuclk_ctrl_reg {
- FWK_RW uint32_t TCUCLK_CTRL;
- FWK_RW uint32_t TCUCLK_DIV1;
+ FWK_RW uint32_t TCUCLK_CTRL;
+ FWK_RW uint32_t TCUCLK_DIV1;
};
/*!
* \brief System PIK register definitions
*/
struct pik_system_reg {
- uint8_t RESERVED0[0x800 - 0x0];
- FWK_RW uint32_t PPUCLK_CTRL;
- FWK_RW uint32_t PPUCLK_DIV1;
- uint8_t RESERVED1[0x820 - 0x808];
- FWK_RW uint32_t INTCLK_CTRL;
- FWK_RW uint32_t INTCLK_DIV1;
- uint8_t RESERVED2[0x830 - 0x828];
- struct tcuclk_ctrl_reg TCUCLK[4];
- FWK_RW uint32_t GICCLK_CTRL;
- FWK_RW uint32_t GICCLK_DIV1;
- uint8_t RESERVED3[0x860 - 0x858];
- FWK_RW uint32_t PCLKSCP_CTRL;
- FWK_RW uint32_t PCLKSCP_DIV1;
- uint8_t RESERVED4[0x870 - 0x868];
- FWK_RW uint32_t SYSPERCLK_CTRL;
- FWK_RW uint32_t SYSPERCLK_DIV1;
- uint8_t RESERVED5[0x880 - 0x878];
- FWK_RW uint32_t DMCCLK_CTRL;
- FWK_RW uint32_t DMCCLK_DIV1;
- uint8_t RESERVED6[0x890 - 0x888];
- FWK_RW uint32_t SYSPCLKDBG_CTRL;
- FWK_RW uint32_t SYSPCLKDBG_DIV1;
- uint8_t RESERVED7[0x8A0 - 0x898];
- FWK_RW uint32_t UARTCLK_CTRL;
- FWK_RW uint32_t UARTCLK_DIV1;
- uint8_t RESERVED8[0xA00 - 0x8A8];
- FWK_R uint32_t CLKFORCE_STATUS;
- FWK_W uint32_t CLKFORCE_SET;
- FWK_W uint32_t CLKFORCE_CLR;
- uint8_t RESERVED9[0xB0C - 0xA0C];
- FWK_RW uint32_t SYSTOP_RST_DLY;
- uint8_t RESERVED10[0xFC0 - 0xB10];
- FWK_R uint32_t PCL_CONFIG;
- uint8_t RESERVED11[0xFD0 - 0xFC4];
- FWK_R uint32_t PID4;
- FWK_R uint32_t PID5;
- FWK_R uint32_t PID6;
- FWK_R uint32_t PID7;
- FWK_R uint32_t PID0;
- FWK_R uint32_t PID1;
- FWK_R uint32_t PID2;
- FWK_R uint32_t PID3;
- FWK_R uint32_t ID0;
- FWK_R uint32_t ID1;
- FWK_R uint32_t ID2;
- FWK_R uint32_t ID3;
+ uint8_t RESERVED0[0x800 - 0x0];
+ FWK_RW uint32_t PPUCLK_CTRL;
+ FWK_RW uint32_t PPUCLK_DIV1;
+ uint8_t RESERVED1[0x820 - 0x808];
+ FWK_RW uint32_t INTCLK_CTRL;
+ FWK_RW uint32_t INTCLK_DIV1;
+ uint8_t RESERVED2[0x830 - 0x828];
+ struct tcuclk_ctrl_reg TCUCLK[4];
+ FWK_RW uint32_t GICCLK_CTRL;
+ FWK_RW uint32_t GICCLK_DIV1;
+ uint8_t RESERVED3[0x860 - 0x858];
+ FWK_RW uint32_t PCLKSCP_CTRL;
+ FWK_RW uint32_t PCLKSCP_DIV1;
+ uint8_t RESERVED4[0x870 - 0x868];
+ FWK_RW uint32_t SYSPERCLK_CTRL;
+ FWK_RW uint32_t SYSPERCLK_DIV1;
+ uint8_t RESERVED5[0x880 - 0x878];
+ FWK_RW uint32_t DMCCLK_CTRL;
+ FWK_RW uint32_t DMCCLK_DIV1;
+ uint8_t RESERVED6[0x890 - 0x888];
+ FWK_RW uint32_t SYSPCLKDBG_CTRL;
+ FWK_RW uint32_t SYSPCLKDBG_DIV1;
+ uint8_t RESERVED7[0x8A0 - 0x898];
+ FWK_RW uint32_t UARTCLK_CTRL;
+ FWK_RW uint32_t UARTCLK_DIV1;
+ uint8_t RESERVED8[0xA00 - 0x8A8];
+ FWK_R uint32_t CLKFORCE_STATUS;
+ FWK_W uint32_t CLKFORCE_SET;
+ FWK_W uint32_t CLKFORCE_CLR;
+ uint8_t RESERVED9[0xB0C - 0xA0C];
+ FWK_RW uint32_t SYSTOP_RST_DLY;
+ uint8_t RESERVED10[0xFC0 - 0xB10];
+ FWK_R uint32_t PCL_CONFIG;
+ uint8_t RESERVED11[0xFD0 - 0xFC4];
+ FWK_R uint32_t PID4;
+ FWK_R uint32_t PID5;
+ FWK_R uint32_t PID6;
+ FWK_R uint32_t PID7;
+ FWK_R uint32_t PID0;
+ FWK_R uint32_t PID1;
+ FWK_R uint32_t PID2;
+ FWK_R uint32_t PID3;
+ FWK_R uint32_t ID0;
+ FWK_R uint32_t ID1;
+ FWK_R uint32_t ID2;
+ FWK_R uint32_t ID3;
};
-#define SYSTEM_PIK_PTR ((struct pik_system_reg *) SCP_PIK_SYSTEM_BASE)
+#define SYSTEM_PIK_PTR ((struct pik_system_reg *)SCP_PIK_SYSTEM_BASE)
-#endif /* SYSTEM_PIK_H */
+#endif /* SYSTEM_PIK_H */
diff --git a/product/tc0/include/tc0_core.h b/product/tc0/include/tc0_core.h
index 508e3883..493086e0 100644
--- a/product/tc0/include/tc0_core.h
+++ b/product/tc0/include/tc0_core.h
@@ -12,8 +12,8 @@
#define TC0_CORE_PER_CLUSTER_MAX 4
-#define CORES_PER_CLUSTER 4
-#define NUMBER_OF_CLUSTERS 1
+#define CORES_PER_CLUSTER 4
+#define NUMBER_OF_CLUSTERS 1
static inline unsigned int tc0_core_get_cluster_count(void)
{
@@ -31,7 +31,7 @@ static inline unsigned int tc0_core_get_core_per_cluster_count(
static inline unsigned int tc0_core_get_core_count(void)
{
return tc0_core_get_core_per_cluster_count(0) *
- tc0_core_get_cluster_count();
+ tc0_core_get_cluster_count();
}
#endif /* TC0_CORE_H */
diff --git a/product/tc0/include/tc0_power_domain.h b/product/tc0/include/tc0_power_domain.h
index f7ef2363..6eab1612 100644
--- a/product/tc0/include/tc0_power_domain.h
+++ b/product/tc0/include/tc0_power_domain.h
@@ -11,15 +11,10 @@
#include <mod_power_domain.h>
/*! Mask for the cluster valid power states */
-#define TC0_CLUSTER_VALID_STATE_MASK ( \
- MOD_PD_STATE_OFF_MASK | \
- MOD_PD_STATE_ON_MASK \
- )
+#define TC0_CLUSTER_VALID_STATE_MASK \
+ (MOD_PD_STATE_OFF_MASK | MOD_PD_STATE_ON_MASK)
/*! Mask for the core valid power states */
-#define TC0_CORE_VALID_STATE_MASK ( \
- MOD_PD_STATE_OFF_MASK | \
- MOD_PD_STATE_ON_MASK \
- )
+#define TC0_CORE_VALID_STATE_MASK (MOD_PD_STATE_OFF_MASK | MOD_PD_STATE_ON_MASK)
#endif /* TC0_POWER_DOMAIN_H */
diff --git a/product/tc0/include/tc0_sds.h b/product/tc0/include/tc0_sds.h
index e8d9ae25..ccf0d864 100644
--- a/product/tc0/include/tc0_sds.h
+++ b/product/tc0/include/tc0_sds.h
@@ -19,44 +19,41 @@ enum tc0_sds_struct_id {
TC0_SDS_BOOTLOADER = 9 | (1 << MOD_SDS_ID_VERSION_MAJOR_POS),
};
-enum tc0_sds_region_idx {
- TC0_SDS_REGION_SECURE,
- TC0_SDS_REGION_COUNT
-};
+enum tc0_sds_region_idx { TC0_SDS_REGION_SECURE, TC0_SDS_REGION_COUNT };
/*
* Structure sizes.
*/
-#define TC0_SDS_CPU_INFO_SIZE 4
+#define TC0_SDS_CPU_INFO_SIZE 4
#define TC0_SDS_FEATURE_AVAILABILITY_SIZE 4
-#define TC0_SDS_BOOTLOADER_SIZE 12
+#define TC0_SDS_BOOTLOADER_SIZE 12
/*
* Field masks and offsets for TC0_SDS_AP_CPU_INFO structure.
*/
-#define TC0_SDS_CPU_INFO_PRIMARY_MASK 0xFFFFFFFF
-#define TC0_SDS_CPU_INFO_PRIMARY_POS 0
+#define TC0_SDS_CPU_INFO_PRIMARY_MASK 0xFFFFFFFF
+#define TC0_SDS_CPU_INFO_PRIMARY_POS 0
/*
* Field masks and offsets for TC0_SDS_FEATURE_AVAILABILITY structure.
*/
-#define TC0_SDS_FEATURE_FIRMWARE_MASK 0x1
-#define TC0_SDS_FEATURE_DMC_MASK 0x2
-#define TC0_SDS_FEATURE_MESSAGING_MASK 0x4
+#define TC0_SDS_FEATURE_FIRMWARE_MASK 0x1
+#define TC0_SDS_FEATURE_DMC_MASK 0x2
+#define TC0_SDS_FEATURE_MESSAGING_MASK 0x4
-#define TC0_SDS_FEATURE_FIRMWARE_POS 0
-#define TC0_SDS_FEATURE_DMC_POS 1
-#define TC0_SDS_FEATURE_MESSAGING_POS 2
+#define TC0_SDS_FEATURE_FIRMWARE_POS 0
+#define TC0_SDS_FEATURE_DMC_POS 1
+#define TC0_SDS_FEATURE_MESSAGING_POS 2
/*
* Field masks and offsets for the TC0_SDS_BOOTLOADER structure.
*/
-#define TC0_SDS_BOOTLOADER_VALID_MASK 0x1
-#define TC0_SDS_BOOTLOADER_OFFSET_MASK 0xFFFFFFFF
-#define TC0_SDS_BOOTLOADER_SIZE_MASK 0xFFFFFFFF
+#define TC0_SDS_BOOTLOADER_VALID_MASK 0x1
+#define TC0_SDS_BOOTLOADER_OFFSET_MASK 0xFFFFFFFF
+#define TC0_SDS_BOOTLOADER_SIZE_MASK 0xFFFFFFFF
-#define TC0_SDS_BOOTLOADER_VALID_POS 0
-#define TC0_SDS_BOOTLOADER_OFFSET_POS 0
-#define TC0_SDS_BOOTLOADER_SIZE_POS 0
+#define TC0_SDS_BOOTLOADER_VALID_POS 0
+#define TC0_SDS_BOOTLOADER_OFFSET_POS 0
+#define TC0_SDS_BOOTLOADER_SIZE_POS 0
#endif /* TC0_SDS_H */
diff --git a/product/tc0/module/tc0_system/src/mod_tc0_system.c b/product/tc0/module/tc0_system/src/mod_tc0_system.c
index cfbb3928..e375f6f4 100644
--- a/product/tc0/module/tc0_system/src/mod_tc0_system.c
+++ b/product/tc0/module/tc0_system/src/mod_tc0_system.c
@@ -63,9 +63,9 @@ struct tc0_system_isr {
static struct tc0_system_ctx tc0_system_ctx;
const struct fwk_module_config config_tc0_system = { 0 };
-static const uint32_t feature_flags = (TC0_SDS_FEATURE_FIRMWARE_MASK |
- TC0_SDS_FEATURE_DMC_MASK |
- TC0_SDS_FEATURE_MESSAGING_MASK);
+static const uint32_t feature_flags =
+ (TC0_SDS_FEATURE_FIRMWARE_MASK | TC0_SDS_FEATURE_DMC_MASK |
+ TC0_SDS_FEATURE_MESSAGING_MASK);
static fwk_id_t sds_feature_availability_id =
FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_SDS, 1);
@@ -112,34 +112,26 @@ static void ppu_cores_isr(unsigned int first, uint32_t status)
static void ppu_cores_isr_0(void)
{
- ppu_cores_isr(0,
- tc0_system_ctx.pik_scp_reg->CPU_PPU_INT_STATUS[0]);
- ppu_cores_isr(128,
- tc0_system_ctx.pik_scp_reg->CPU_PPU_INT_STATUS[4]);
+ ppu_cores_isr(0, tc0_system_ctx.pik_scp_reg->CPU_PPU_INT_STATUS[0]);
+ ppu_cores_isr(128, tc0_system_ctx.pik_scp_reg->CPU_PPU_INT_STATUS[4]);
}
static void ppu_cores_isr_1(void)
{
- ppu_cores_isr(32,
- tc0_system_ctx.pik_scp_reg->CPU_PPU_INT_STATUS[1]);
- ppu_cores_isr(160,
- tc0_system_ctx.pik_scp_reg->CPU_PPU_INT_STATUS[5]);
+ ppu_cores_isr(32, tc0_system_ctx.pik_scp_reg->CPU_PPU_INT_STATUS[1]);
+ ppu_cores_isr(160, tc0_system_ctx.pik_scp_reg->CPU_PPU_INT_STATUS[5]);
}
static void ppu_cores_isr_2(void)
{
- ppu_cores_isr(64,
- tc0_system_ctx.pik_scp_reg->CPU_PPU_INT_STATUS[2]);
- ppu_cores_isr(192,
- tc0_system_ctx.pik_scp_reg->CPU_PPU_INT_STATUS[6]);
+ ppu_cores_isr(64, tc0_system_ctx.pik_scp_reg->CPU_PPU_INT_STATUS[2]);
+ ppu_cores_isr(192, tc0_system_ctx.pik_scp_reg->CPU_PPU_INT_STATUS[6]);
}
static void ppu_cores_isr_3(void)
{
- ppu_cores_isr(96,
- tc0_system_ctx.pik_scp_reg->CPU_PPU_INT_STATUS[3]);
- ppu_cores_isr(224,
- tc0_system_ctx.pik_scp_reg->CPU_PPU_INT_STATUS[7]);
+ ppu_cores_isr(96, tc0_system_ctx.pik_scp_reg->CPU_PPU_INT_STATUS[3]);
+ ppu_cores_isr(224, tc0_system_ctx.pik_scp_reg->CPU_PPU_INT_STATUS[7]);
}
static void ppu_clusters_isr(void)
@@ -150,9 +142,8 @@ static void ppu_clusters_isr(void)
while (status != 0) {
cluster_idx = __builtin_ctz(status);
- tc0_system_ctx.ppu_v1_isr_api->ppu_interrupt_handler(
- FWK_ID_ELEMENT(FWK_MODULE_IDX_PPU_V1,
- tc0_core_get_core_count() + cluster_idx));
+ tc0_system_ctx.ppu_v1_isr_api->ppu_interrupt_handler(FWK_ID_ELEMENT(
+ FWK_MODULE_IDX_PPU_V1, tc0_core_get_core_count() + cluster_idx));
status &= ~(1 << cluster_idx);
}
@@ -163,24 +154,18 @@ static void ppu_clusters_isr(void)
*/
static struct tc0_system_isr isrs[] = {
- [0] = { .interrupt = PPU_CORES0_IRQ,
- .handler = ppu_cores_isr_0 },
- [1] = { .interrupt = PPU_CORES1_IRQ,
- .handler = ppu_cores_isr_1 },
- [2] = { .interrupt = PPU_CORES2_IRQ,
- .handler = ppu_cores_isr_2 },
- [3] = { .interrupt = PPU_CORES3_IRQ,
- .handler = ppu_cores_isr_3 },
- [4] = { .interrupt = PPU_CLUSTERS_IRQ,
- .handler = ppu_clusters_isr },
+ [0] = { .interrupt = PPU_CORES0_IRQ, .handler = ppu_cores_isr_0 },
+ [1] = { .interrupt = PPU_CORES1_IRQ, .handler = ppu_cores_isr_1 },
+ [2] = { .interrupt = PPU_CORES2_IRQ, .handler = ppu_cores_isr_2 },
+ [3] = { .interrupt = PPU_CORES3_IRQ, .handler = ppu_cores_isr_3 },
+ [4] = { .interrupt = PPU_CLUSTERS_IRQ, .handler = ppu_clusters_isr },
};
/*
* System power's driver API
*/
-static int tc0_system_shutdown(
- enum mod_pd_system_shutdown system_shutdown)
+static int tc0_system_shutdown(enum mod_pd_system_shutdown system_shutdown)
{
NVIC_SystemReset();
@@ -189,14 +174,15 @@ static int tc0_system_shutdown(
static const struct mod_system_power_driver_api
tc0_system_system_power_driver_api = {
- .system_shutdown = tc0_system_shutdown,
-};
+ .system_shutdown = tc0_system_shutdown,
+ };
/*
* Functions fulfilling the framework's module interface
*/
-static int tc0_system_mod_init(fwk_id_t module_id,
+static int tc0_system_mod_init(
+ fwk_id_t module_id,
unsigned int unused,
const void *unused2)
{
@@ -211,8 +197,7 @@ static int tc0_system_mod_init(fwk_id_t module_id,
return status;
}
- tc0_system_ctx.pik_scp_reg =
- (struct pik_scp_reg *)SCP_PIK_SCP_BASE;
+ tc0_system_ctx.pik_scp_reg = (struct pik_scp_reg *)SCP_PIK_SCP_BASE;
return FWK_SUCCESS;
}
@@ -224,25 +209,31 @@ static int tc0_system_bind(fwk_id_t id, unsigned int round)
if (round > 0)
return FWK_SUCCESS;
- status = fwk_module_bind(FWK_ID_MODULE(FWK_MODULE_IDX_POWER_DOMAIN),
+ status = fwk_module_bind(
+ FWK_ID_MODULE(FWK_MODULE_IDX_POWER_DOMAIN),
FWK_ID_API(FWK_MODULE_IDX_POWER_DOMAIN, MOD_PD_API_IDX_RESTRICTED),
&tc0_system_ctx.mod_pd_restricted_api);
if (status != FWK_SUCCESS)
return status;
- status = fwk_module_bind(FWK_ID_MODULE(FWK_MODULE_IDX_PPU_V1),
+ status = fwk_module_bind(
+ FWK_ID_MODULE(FWK_MODULE_IDX_PPU_V1),
FWK_ID_API(FWK_MODULE_IDX_PPU_V1, MOD_PPU_V1_API_IDX_ISR),
&tc0_system_ctx.ppu_v1_isr_api);
if (status != FWK_SUCCESS)
return status;
- return fwk_module_bind(fwk_module_id_sds,
+ return fwk_module_bind(
+ fwk_module_id_sds,
FWK_ID_API(FWK_MODULE_IDX_SDS, 0),
&tc0_system_ctx.sds_api);
}
-static int tc0_system_process_bind_request(fwk_id_t requester_id,
- fwk_id_t pd_id, fwk_id_t api_id, const void **api)
+static int tc0_system_process_bind_request(
+ fwk_id_t requester_id,
+ fwk_id_t pd_id,
+ fwk_id_t api_id,
+ const void **api)
{
*api = &tc0_system_system_power_driver_api;
return FWK_SUCCESS;
@@ -262,8 +253,8 @@ static int tc0_system_start(fwk_id_t id)
for (i = 0; i < FWK_ARRAY_SIZE(scmi_notification_table); i++) {
status = fwk_notification_subscribe(
mod_scmi_notification_id_initialized,
- fwk_id_build_element_id(fwk_module_id_scmi,
- scmi_notification_table[i]),
+ fwk_id_build_element_id(
+ fwk_module_id_scmi, scmi_notification_table[i]),
id);
if (status != FWK_SUCCESS)
return status;
@@ -274,9 +265,7 @@ static int tc0_system_start(fwk_id_t id)
* PSCI agent know that the SCMI stack is initialized.
*/
status = fwk_notification_subscribe(
- mod_sds_notification_id_initialized,
- fwk_module_id_sds,
- id);
+ mod_sds_notification_id_initialized, fwk_module_id_sds, id);
if (status != FWK_SUCCESS)
return status;
@@ -291,7 +280,8 @@ static int tc0_system_start(fwk_id_t id)
MOD_PD_STATE_OFF));
}
-int tc0_system_process_notification(const struct fwk_event *event,
+int tc0_system_process_notification(
+ const struct fwk_event *event,
struct fwk_event *resp_event)
{
static unsigned int scmi_notification_count = 0;
@@ -299,11 +289,10 @@ int tc0_system_process_notification(const struct fwk_event *event,
fwk_assert(fwk_id_is_type(event->target_id, FWK_ID_TYPE_MODULE));
- if (fwk_id_is_equal(event->id,
- mod_scmi_notification_id_initialized)) {
+ if (fwk_id_is_equal(event->id, mod_scmi_notification_id_initialized)) {
scmi_notification_count++;
- } else if (fwk_id_is_equal(event->id,
- mod_sds_notification_id_initialized)) {
+ } else if (fwk_id_is_equal(
+ event->id, mod_sds_notification_id_initialized)) {
sds_notification_received = true;
} else
return FWK_E_PARAM;
diff --git a/product/tc0/scp_ramfw/RTX_Config.h b/product/tc0/scp_ramfw/RTX_Config.h
index 35ce37d1..2fae6ea2 100644
--- a/product/tc0/scp_ramfw/RTX_Config.h
+++ b/product/tc0/scp_ramfw/RTX_Config.h
@@ -14,43 +14,43 @@
#define RTX_CONFIG_H_
/* System */
-#define OS_DYNAMIC_MEM_SIZE 0
-#define OS_TICK_FREQ 1000 /* Hz */
-#define OS_ROBIN_ENABLE 0
-#define OS_ROBIN_TIMEOUT 0
-#define OS_ISR_FIFO_QUEUE 16
+#define OS_DYNAMIC_MEM_SIZE 0
+#define OS_TICK_FREQ 1000 /* Hz */
+#define OS_ROBIN_ENABLE 0
+#define OS_ROBIN_TIMEOUT 0
+#define OS_ISR_FIFO_QUEUE 16
/* Thread */
-#define OS_THREAD_OBJ_MEM 0
-#define OS_THREAD_NUM 1
-#define OS_THREAD_DEF_STACK_NUM 0
-#define OS_THREAD_USER_STACK_SIZE 0
-#define OS_STACK_SIZE 200
-#define OS_IDLE_THREAD_STACK_SIZE 200
-#define OS_STACK_CHECK 1
-#define OS_STACK_WATERMARK 0
-#define OS_PRIVILEGE_MODE 1
+#define OS_THREAD_OBJ_MEM 0
+#define OS_THREAD_NUM 1
+#define OS_THREAD_DEF_STACK_NUM 0
+#define OS_THREAD_USER_STACK_SIZE 0
+#define OS_STACK_SIZE 200
+#define OS_IDLE_THREAD_STACK_SIZE 200
+#define OS_STACK_CHECK 1
+#define OS_STACK_WATERMARK 0
+#define OS_PRIVILEGE_MODE 1
/* Timer */
-#define OS_TIMER_OBJ_MEM 0
-#define OS_TIMER_NUM 1
-#define OS_TIMER_THREAD_PRIO 40
+#define OS_TIMER_OBJ_MEM 0
+#define OS_TIMER_NUM 1
+#define OS_TIMER_THREAD_PRIO 40
#define OS_TIMER_THREAD_STACK_SIZE 200
-#define OS_TIMER_CB_QUEUE 4
+#define OS_TIMER_CB_QUEUE 4
/* Event flags */
-#define OS_EVFLAGS_OBJ_MEM 0
-#define OS_EVFLAGS_NUM 1
+#define OS_EVFLAGS_OBJ_MEM 0
+#define OS_EVFLAGS_NUM 1
-#define OS_MUTEX_OBJ_MEM 0
-#define OS_MUTEX_NUM 1
-#define OS_SEMAPHORE_OBJ_MEM 0
-#define OS_SEMAPHORE_NUM 1
-#define OS_MEMPOOL_OBJ_MEM 0
-#define OS_MEMPOOL_NUM 1
-#define OS_MEMPOOL_DATA_SIZE 0
-#define OS_MSGQUEUE_OBJ_MEM 0
-#define OS_MSGQUEUE_NUM 1
-#define OS_MSGQUEUE_DATA_SIZE 0
+#define OS_MUTEX_OBJ_MEM 0
+#define OS_MUTEX_NUM 1
+#define OS_SEMAPHORE_OBJ_MEM 0
+#define OS_SEMAPHORE_NUM 1
+#define OS_MEMPOOL_OBJ_MEM 0
+#define OS_MEMPOOL_NUM 1
+#define OS_MEMPOOL_DATA_SIZE 0
+#define OS_MSGQUEUE_OBJ_MEM 0
+#define OS_MSGQUEUE_NUM 1
+#define OS_MSGQUEUE_DATA_SIZE 0
#endif /* RTX_CONFIG_H_ */
diff --git a/product/tc0/scp_ramfw/config_armv7m_mpu.c b/product/tc0/scp_ramfw/config_armv7m_mpu.c
index cdeeac7a..d4426875 100644
--- a/product/tc0/scp_ramfw/config_armv7m_mpu.c
+++ b/product/tc0/scp_ramfw/config_armv7m_mpu.c
@@ -16,35 +16,75 @@
#include <fmw_cmsis.h>
static const ARM_MPU_Region_t regions[] = {
- { /* 0x0000_0000 - 0xFFFF_FFFF */
+ {
+ /* 0x0000_0000 - 0xFFFF_FFFF */
.RBAR = ARM_MPU_RBAR(0, 0x00000000),
.RASR = ARM_MPU_RASR(
- 1, ARM_MPU_AP_PRIV, 0, 1, 0, 1, 0, ARM_MPU_REGION_SIZE_4GB),
+ 1,
+ ARM_MPU_AP_PRIV,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ ARM_MPU_REGION_SIZE_4GB),
},
- { /* 0x0080_0000 - 0x00FF_FFFF */
+ {
+ /* 0x0080_0000 - 0x00FF_FFFF */
.RBAR = ARM_MPU_RBAR(1, SCP_ITC_RAM_BASE),
.RASR = ARM_MPU_RASR(
- 0, ARM_MPU_AP_PRO, 0, 0, 1, 0, 0, ARM_MPU_REGION_SIZE_256KB),
+ 0,
+ ARM_MPU_AP_PRO,
+ 0,
+ 0,
+ 1,
+ 0,
+ 0,
+ ARM_MPU_REGION_SIZE_256KB),
},
- { /* 0x2000_0000 - 0x20FF_FFFF */
+ {
+ /* 0x2000_0000 - 0x20FF_FFFF */
.RBAR = ARM_MPU_RBAR(2, SCP_DTC_RAM_BASE),
.RASR = ARM_MPU_RASR(
- 1, ARM_MPU_AP_PRIV, 0, 0, 1, 1, 0, ARM_MPU_REGION_SIZE_256KB),
+ 1,
+ ARM_MPU_AP_PRIV,
+ 0,
+ 0,
+ 1,
+ 1,
+ 0,
+ ARM_MPU_REGION_SIZE_256KB),
},
- { /* 0xA400_0000 - 0xA400_7FFF*/
+ {
+ /* 0xA400_0000 - 0xA400_7FFF*/
.RBAR = ARM_MPU_RBAR(3, SCP_TRUSTED_RAM_BASE),
.RASR = ARM_MPU_RASR(
- 1, ARM_MPU_AP_PRIV, 0, 1, 1, 1, 0, ARM_MPU_REGION_SIZE_4KB),
+ 1,
+ ARM_MPU_AP_PRIV,
+ 0,
+ 1,
+ 1,
+ 1,
+ 0,
+ ARM_MPU_REGION_SIZE_4KB),
},
- { /* 0xA600_0000 - 0xA600_7FFF */
+ {
+ /* 0xA600_0000 - 0xA600_7FFF */
.RBAR = ARM_MPU_RBAR(4, SCP_NONTRUSTED_RAM_BASE),
.RASR = ARM_MPU_RASR(
- 1, ARM_MPU_AP_PRIV, 0, 1, 1, 1, 0, ARM_MPU_REGION_SIZE_256B),
+ 1,
+ ARM_MPU_AP_PRIV,
+ 0,
+ 1,
+ 1,
+ 1,
+ 0,
+ ARM_MPU_REGION_SIZE_256B),
},
};
const struct fwk_module_config config_armv7m_mpu = {
- .data = &((struct mod_armv7m_mpu_config) {
+ .data = &((struct mod_armv7m_mpu_config){
.region_count = FWK_ARRAY_SIZE(regions),
.regions = regions,
}),
diff --git a/product/tc0/scp_ramfw/config_clock.c b/product/tc0/scp_ramfw/config_clock.c
index 083f6491..56fc073c 100644
--- a/product/tc0/scp_ramfw/config_clock.c
+++ b/product/tc0/scp_ramfw/config_clock.c
@@ -19,53 +19,67 @@
#include <fwk_module.h>
#include <fwk_module_idx.h>
-
static const struct fwk_element clock_dev_desc_table[] = {
- [CLOCK_IDX_INTERCONNECT] = {
- .name = "Interconnect",
- .data = &((struct mod_clock_dev_config) {
- .driver_id = FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_PIK_CLOCK,
- CLOCK_PIK_IDX_INTERCONNECT),
- .api_id = FWK_ID_API_INIT(FWK_MODULE_IDX_PIK_CLOCK,
- MOD_PIK_CLOCK_API_TYPE_CLOCK),
- }),
- },
- [CLOCK_IDX_CPU_GROUP0] = {
- .name = "CPU_GROUP0",
- .data = &((struct mod_clock_dev_config) {
- .driver_id = FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_CSS_CLOCK,
- CLOCK_CSS_IDX_CPU_GROUP0),
- .api_id = FWK_ID_API_INIT(FWK_MODULE_IDX_CSS_CLOCK,
- MOD_CSS_CLOCK_API_TYPE_CLOCK),
- }),
- },
- [CLOCK_IDX_DPU] = {
- .name = "DPU",
- .data = &((struct mod_clock_dev_config) {
- .driver_id = FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_CSS_CLOCK,
- CLOCK_CSS_IDX_DPU),
- .api_id = FWK_ID_API_INIT(FWK_MODULE_IDX_CSS_CLOCK,
- MOD_CSS_CLOCK_API_TYPE_CLOCK),
- }),
- },
- [CLOCK_IDX_PIXEL_0] = {
- .name = "PIXEL_0",
- .data = &((struct mod_clock_dev_config) {
- .driver_id = FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_SYSTEM_PLL,
- CLOCK_PLL_IDX_PIX0),
- .api_id = FWK_ID_API_INIT(FWK_MODULE_IDX_SYSTEM_PLL,
- MOD_SYSTEM_PLL_API_TYPE_DEFAULT),
- }),
- },
- [CLOCK_IDX_PIXEL_1] = {
- .name = "PIXEL_1",
- .data = &((struct mod_clock_dev_config) {
- .driver_id = FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_SYSTEM_PLL,
- CLOCK_PLL_IDX_PIX1),
- .api_id = FWK_ID_API_INIT(FWK_MODULE_IDX_SYSTEM_PLL,
- MOD_SYSTEM_PLL_API_TYPE_DEFAULT),
- }),
- },
+ [CLOCK_IDX_INTERCONNECT] =
+ {
+ .name = "Interconnect",
+ .data = &((struct mod_clock_dev_config){
+ .driver_id = FWK_ID_ELEMENT_INIT(
+ FWK_MODULE_IDX_PIK_CLOCK,
+ CLOCK_PIK_IDX_INTERCONNECT),
+ .api_id = FWK_ID_API_INIT(
+ FWK_MODULE_IDX_PIK_CLOCK,
+ MOD_PIK_CLOCK_API_TYPE_CLOCK),
+ }),
+ },
+ [CLOCK_IDX_CPU_GROUP0] =
+ {
+ .name = "CPU_GROUP0",
+ .data = &((struct mod_clock_dev_config){
+ .driver_id = FWK_ID_ELEMENT_INIT(
+ FWK_MODULE_IDX_CSS_CLOCK,
+ CLOCK_CSS_IDX_CPU_GROUP0),
+ .api_id = FWK_ID_API_INIT(
+ FWK_MODULE_IDX_CSS_CLOCK,
+ MOD_CSS_CLOCK_API_TYPE_CLOCK),
+ }),
+ },
+ [CLOCK_IDX_DPU] =
+ {
+ .name = "DPU",
+ .data = &((struct mod_clock_dev_config){
+ .driver_id = FWK_ID_ELEMENT_INIT(
+ FWK_MODULE_IDX_CSS_CLOCK,
+ CLOCK_CSS_IDX_DPU),
+ .api_id = FWK_ID_API_INIT(
+ FWK_MODULE_IDX_CSS_CLOCK,
+ MOD_CSS_CLOCK_API_TYPE_CLOCK),
+ }),
+ },
+ [CLOCK_IDX_PIXEL_0] =
+ {
+ .name = "PIXEL_0",
+ .data = &((struct mod_clock_dev_config){
+ .driver_id = FWK_ID_ELEMENT_INIT(
+ FWK_MODULE_IDX_SYSTEM_PLL,
+ CLOCK_PLL_IDX_PIX0),
+ .api_id = FWK_ID_API_INIT(
+ FWK_MODULE_IDX_SYSTEM_PLL,
+ MOD_SYSTEM_PLL_API_TYPE_DEFAULT),
+ }),
+ },
+ [CLOCK_IDX_PIXEL_1] =
+ {
+ .name = "PIXEL_1",
+ .data = &((struct mod_clock_dev_config){
+ .driver_id = FWK_ID_ELEMENT_INIT(
+ FWK_MODULE_IDX_SYSTEM_PLL,
+ CLOCK_PLL_IDX_PIX1),
+ .api_id = FWK_ID_API_INIT(
+ FWK_MODULE_IDX_SYSTEM_PLL,
+ MOD_SYSTEM_PLL_API_TYPE_DEFAULT),
+ }),
+ },
{ 0 }, /* Termination description. */
};
diff --git a/product/tc0/scp_ramfw/config_css_clock.c b/product/tc0/scp_ramfw/config_css_clock.c
index 5f999c40..e4c90f65 100644
--- a/product/tc0/scp_ramfw/config_css_clock.c
+++ b/product/tc0/scp_ramfw/config_css_clock.c
@@ -79,48 +79,58 @@ static const fwk_id_t member_table_dpu[] = {
};
static const struct fwk_element css_clock_element_table[] = {
- [CLOCK_CSS_IDX_CPU_GROUP0] = {
- .name = "CPU_GROUP_0",
- .data = &((struct mod_css_clock_dev_config) {
- .clock_type = MOD_CSS_CLOCK_TYPE_INDEXED,
- .rate_table = rate_table_cpu_group,
- .rate_count = FWK_ARRAY_SIZE(rate_table_cpu_group),
- .clock_switching_source = MOD_PIK_CLOCK_CLUSCLK_SOURCE_SYSREFCLK,
- .pll_id = FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_SYSTEM_PLL,
- CLOCK_PLL_IDX_CPU0),
- .pll_api_id = FWK_ID_API_INIT(FWK_MODULE_IDX_SYSTEM_PLL,
- MOD_SYSTEM_PLL_API_TYPE_DEFAULT),
- .member_table = member_table_cpu_group_0,
- .member_count = FWK_ARRAY_SIZE(member_table_cpu_group_0),
- .member_api_id = FWK_ID_API_INIT(FWK_MODULE_IDX_PIK_CLOCK,
- MOD_PIK_CLOCK_API_TYPE_CSS),
- .initial_rate = 2271 * FWK_MHZ,
- .modulation_supported = true,
- }),
- },
- [CLOCK_CSS_IDX_DPU] = {
- .name = "DPU",
- .data = &((struct mod_css_clock_dev_config) {
- .clock_type = MOD_CSS_CLOCK_TYPE_NON_INDEXED,
- .clock_default_source = MOD_PIK_CLOCK_ACLKDPU_SOURCE_DISPLAYPLLCLK,
- .clock_switching_source = MOD_PIK_CLOCK_ACLKDPU_SOURCE_SYSREFCLK,
- .pll_id = FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_SYSTEM_PLL,
- CLOCK_PLL_IDX_DPU),
- .pll_api_id = FWK_ID_API_INIT(FWK_MODULE_IDX_SYSTEM_PLL,
- MOD_SYSTEM_PLL_API_TYPE_DEFAULT),
- .member_table = member_table_dpu,
- .member_count = FWK_ARRAY_SIZE(member_table_dpu),
- .member_api_id = FWK_ID_API_INIT(FWK_MODULE_IDX_PIK_CLOCK,
- MOD_PIK_CLOCK_API_TYPE_CSS),
- .initial_rate = 600 * FWK_MHZ,
- .modulation_supported = false,
- }),
- },
+ [CLOCK_CSS_IDX_CPU_GROUP0] =
+ {
+ .name = "CPU_GROUP_0",
+ .data = &((struct mod_css_clock_dev_config){
+ .clock_type = MOD_CSS_CLOCK_TYPE_INDEXED,
+ .rate_table = rate_table_cpu_group,
+ .rate_count = FWK_ARRAY_SIZE(rate_table_cpu_group),
+ .clock_switching_source =
+ MOD_PIK_CLOCK_CLUSCLK_SOURCE_SYSREFCLK,
+ .pll_id = FWK_ID_ELEMENT_INIT(
+ FWK_MODULE_IDX_SYSTEM_PLL,
+ CLOCK_PLL_IDX_CPU0),
+ .pll_api_id = FWK_ID_API_INIT(
+ FWK_MODULE_IDX_SYSTEM_PLL,
+ MOD_SYSTEM_PLL_API_TYPE_DEFAULT),
+ .member_table = member_table_cpu_group_0,
+ .member_count = FWK_ARRAY_SIZE(member_table_cpu_group_0),
+ .member_api_id = FWK_ID_API_INIT(
+ FWK_MODULE_IDX_PIK_CLOCK,
+ MOD_PIK_CLOCK_API_TYPE_CSS),
+ .initial_rate = 2271 * FWK_MHZ,
+ .modulation_supported = true,
+ }),
+ },
+ [CLOCK_CSS_IDX_DPU] =
+ {
+ .name = "DPU",
+ .data = &((struct mod_css_clock_dev_config){
+ .clock_type = MOD_CSS_CLOCK_TYPE_NON_INDEXED,
+ .clock_default_source =
+ MOD_PIK_CLOCK_ACLKDPU_SOURCE_DISPLAYPLLCLK,
+ .clock_switching_source =
+ MOD_PIK_CLOCK_ACLKDPU_SOURCE_SYSREFCLK,
+ .pll_id = FWK_ID_ELEMENT_INIT(
+ FWK_MODULE_IDX_SYSTEM_PLL,
+ CLOCK_PLL_IDX_DPU),
+ .pll_api_id = FWK_ID_API_INIT(
+ FWK_MODULE_IDX_SYSTEM_PLL,
+ MOD_SYSTEM_PLL_API_TYPE_DEFAULT),
+ .member_table = member_table_dpu,
+ .member_count = FWK_ARRAY_SIZE(member_table_dpu),
+ .member_api_id = FWK_ID_API_INIT(
+ FWK_MODULE_IDX_PIK_CLOCK,
+ MOD_PIK_CLOCK_API_TYPE_CSS),
+ .initial_rate = 600 * FWK_MHZ,
+ .modulation_supported = false,
+ }),
+ },
[CLOCK_CSS_IDX_COUNT] = { 0 }, /* Termination description. */
};
-static const struct fwk_element *css_clock_get_element_table
- (fwk_id_t module_id)
+static const struct fwk_element *css_clock_get_element_table(fwk_id_t module_id)
{
return css_clock_element_table;
}
diff --git a/product/tc0/scp_ramfw/config_dvfs.c b/product/tc0/scp_ramfw/config_dvfs.c
index f509842e..a5f071ea 100644
--- a/product/tc0/scp_ramfw/config_dvfs.c
+++ b/product/tc0/scp_ramfw/config_dvfs.c
@@ -58,13 +58,12 @@ static const struct mod_dvfs_domain_config cpu_group = {
.opps = opps,
};
-static const struct fwk_element element_table[] = {
- [0] = {
- .name = "CPU_GROUP",
- .data = &cpu_group,
- },
- { 0 }
-};
+static const struct fwk_element element_table[] = { [0] =
+ {
+ .name = "CPU_GROUP",
+ .data = &cpu_group,
+ },
+ { 0 } };
static const struct fwk_element *dvfs_get_element_table(fwk_id_t module_id)
{
diff --git a/product/tc0/scp_ramfw/config_gtimer.c b/product/tc0/scp_ramfw/config_gtimer.c
index 8845182b..eb063a2c 100644
--- a/product/tc0/scp_ramfw/config_gtimer.c
+++ b/product/tc0/scp_ramfw/config_gtimer.c
@@ -20,17 +20,15 @@
* Generic timer driver config
*/
static const struct fwk_element gtimer_dev_table[] = {
- [0] = {
- .name = "REFCLK",
- .data = &((struct mod_gtimer_dev_config) {
- .hw_timer = SCP_REFCLK_CNTBASE0_BASE,
- .hw_counter = SCP_REFCLK_CNTCTL_BASE,
- .control = SCP_REFCLK_CNTCONTROL_BASE,
- .frequency = CLOCK_RATE_REFCLK,
- .clock_id = FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_CLOCK,
- CLOCK_IDX_INTERCONNECT)
- })
- },
+ [0] = { .name = "REFCLK",
+ .data = &((struct mod_gtimer_dev_config){
+ .hw_timer = SCP_REFCLK_CNTBASE0_BASE,
+ .hw_counter = SCP_REFCLK_CNTCTL_BASE,
+ .control = SCP_REFCLK_CNTCONTROL_BASE,
+ .frequency = CLOCK_RATE_REFCLK,
+ .clock_id = FWK_ID_ELEMENT_INIT(
+ FWK_MODULE_IDX_CLOCK,
+ CLOCK_IDX_INTERCONNECT) }) },
[1] = { 0 },
};
diff --git a/product/tc0/scp_ramfw/config_mhu2.c b/product/tc0/scp_ramfw/config_mhu2.c
index 00b01b90..fd324802 100644
--- a/product/tc0/scp_ramfw/config_mhu2.c
+++ b/product/tc0/scp_ramfw/config_mhu2.c
@@ -17,26 +17,30 @@
#include <fmw_cmsis.h>
static const struct fwk_element mhu_element_table[] = {
- [SCP_TC0_MHU_DEVICE_IDX_SCP_AP_S_CLUS0] = {
- .name = "MHU_SCP_AP_S",
- .sub_element_count = 1,
- .data = &((struct mod_mhu2_channel_config) {
- .irq = MHU_AP_SEC_IRQ,
- .recv = SCP_MHU_SCP_AP_RCV_S_CLUS0,
- .send = SCP_MHU_SCP_AP_SND_S_CLUS0,
- .channel = 0,
- })
- },
- [SCP_TC0_MHU_DEVICE_IDX_SCP_AP_NS_CLUS0] = {
- .name = "MHU_SCP_AP_NS",
- .sub_element_count = 1,
- .data = &((struct mod_mhu2_channel_config) {
- .irq = MHU_AP_NONSEC_IRQ,
- .recv = SCP_MHU_SCP_AP_RCV_NS_CLUS0,
- .send = SCP_MHU_SCP_AP_SND_NS_CLUS0,
- .channel = 0,
- })
- },
+ [SCP_TC0_MHU_DEVICE_IDX_SCP_AP_S_CLUS0] = { .name = "MHU_SCP_AP_S",
+ .sub_element_count = 1,
+ .data = &((
+ struct
+ mod_mhu2_channel_config){
+ .irq = MHU_AP_SEC_IRQ,
+ .recv =
+ SCP_MHU_SCP_AP_RCV_S_CLUS0,
+ .send =
+ SCP_MHU_SCP_AP_SND_S_CLUS0,
+ .channel = 0,
+ }) },
+ [SCP_TC0_MHU_DEVICE_IDX_SCP_AP_NS_CLUS0] = { .name = "MHU_SCP_AP_NS",
+ .sub_element_count = 1,
+ .data = &((
+ struct
+ mod_mhu2_channel_config){
+ .irq = MHU_AP_NONSEC_IRQ,
+ .recv =
+ SCP_MHU_SCP_AP_RCV_NS_CLUS0,
+ .send =
+ SCP_MHU_SCP_AP_SND_NS_CLUS0,
+ .channel = 0,
+ }) },
[SCP_TC0_MHU_DEVICE_IDX_COUNT] = { 0 },
};
diff --git a/product/tc0/scp_ramfw/config_pik_clock.c b/product/tc0/scp_ramfw/config_pik_clock.c
index 909c0702..f97cf77b 100644
--- a/product/tc0/scp_ramfw/config_pik_clock.c
+++ b/product/tc0/scp_ramfw/config_pik_clock.c
@@ -196,8 +196,7 @@ static const struct fwk_element pik_clock_element_table[] = {
[CLOCK_PIK_IDX_COUNT] = { 0 }, /* Termination description. */
};
-static const struct fwk_element *pik_clock_get_element_table
- (fwk_id_t module_id)
+static const struct fwk_element *pik_clock_get_element_table(fwk_id_t module_id)
{
return pik_clock_element_table;
}
diff --git a/product/tc0/scp_ramfw/config_pl011.c b/product/tc0/scp_ramfw/config_pl011.c
index dad590c6..de69081b 100644
--- a/product/tc0/scp_ramfw/config_pl011.c
+++ b/product/tc0/scp_ramfw/config_pl011.c
@@ -17,19 +17,20 @@
const struct fwk_module_config config_pl011 = {
.elements = FWK_MODULE_STATIC_ELEMENTS({
- [0] = {
- .name = "uart",
- .data =
- &(struct mod_pl011_element_cfg){
- .reg_base = SCP_UART_BASE,
- .baud_rate_bps = 115200,
- .clock_rate_hz = 24 * FWK_MHZ,
- .clock_id = FWK_ID_NONE_INIT,
- .pd_id = FWK_ID_ELEMENT_INIT(
- FWK_MODULE_IDX_POWER_DOMAIN,
- PD_STATIC_DEV_IDX_SYSTOP),
- },
- },
+ [0] =
+ {
+ .name = "uart",
+ .data =
+ &(struct mod_pl011_element_cfg){
+ .reg_base = SCP_UART_BASE,
+ .baud_rate_bps = 115200,
+ .clock_rate_hz = 24 * FWK_MHZ,
+ .clock_id = FWK_ID_NONE_INIT,
+ .pd_id = FWK_ID_ELEMENT_INIT(
+ FWK_MODULE_IDX_POWER_DOMAIN,
+ PD_STATIC_DEV_IDX_SYSTOP),
+ },
+ },
[1] = { 0 },
}),
diff --git a/product/tc0/scp_ramfw/config_power_domain.c b/product/tc0/scp_ramfw/config_power_domain.c
index a6844aa2..60a63d95 100644
--- a/product/tc0/scp_ramfw/config_power_domain.c
+++ b/product/tc0/scp_ramfw/config_power_domain.c
@@ -31,7 +31,7 @@
/* Mask of the allowed states for the systop power domain */
static const uint32_t systop_allowed_state_mask_table[] = {
- [0] = MOD_PD_STATE_ON_MASK
+ [0] = MOD_PD_STATE_ON_MASK
};
/*
@@ -50,31 +50,30 @@ static const uint32_t core_pd_allowed_state_mask_table[] = {
};
/* Power module specific configuration data (none) */
-static const struct mod_power_domain_config
- tc0_power_domain_config = { 0 };
+static const struct mod_power_domain_config tc0_power_domain_config = { 0 };
static struct fwk_element tc0_power_domain_static_element_table[] = {
- [PD_STATIC_DEV_IDX_SYSTOP] = {
- .name = "SYSTOP",
- .data = &((struct mod_power_domain_element_config) {
- .attributes.pd_type = MOD_PD_TYPE_SYSTEM,
- .parent_idx = PD_STATIC_DEV_IDX_NONE,
- .driver_id = FWK_ID_MODULE_INIT(FWK_MODULE_IDX_SYSTEM_POWER),
- .api_id = FWK_ID_API_INIT(
- FWK_MODULE_IDX_SYSTEM_POWER,
- MOD_SYSTEM_POWER_API_IDX_PD_DRIVER),
- .allowed_state_mask_table = systop_allowed_state_mask_table,
- .allowed_state_mask_table_size =
- FWK_ARRAY_SIZE(systop_allowed_state_mask_table)
- }),
- },
+ [PD_STATIC_DEV_IDX_SYSTOP] =
+ {
+ .name = "SYSTOP",
+ .data = &((struct mod_power_domain_element_config){
+ .attributes.pd_type = MOD_PD_TYPE_SYSTEM,
+ .parent_idx = PD_STATIC_DEV_IDX_NONE,
+ .driver_id = FWK_ID_MODULE_INIT(FWK_MODULE_IDX_SYSTEM_POWER),
+ .api_id = FWK_ID_API_INIT(
+ FWK_MODULE_IDX_SYSTEM_POWER,
+ MOD_SYSTEM_POWER_API_IDX_PD_DRIVER),
+ .allowed_state_mask_table = systop_allowed_state_mask_table,
+ .allowed_state_mask_table_size =
+ FWK_ARRAY_SIZE(systop_allowed_state_mask_table) }),
+ },
};
/*
* Function definitions with internal linkage
*/
-static const struct fwk_element *tc0_power_domain_get_element_table
- (fwk_id_t module_id)
+static const struct fwk_element *tc0_power_domain_get_element_table(
+ fwk_id_t module_id)
{
return create_power_domain_element_table(
tc0_core_get_core_count(),
diff --git a/product/tc0/scp_ramfw/config_ppu_v1.c b/product/tc0/scp_ramfw/config_ppu_v1.c
index 9dc013b6..ba475911 100644
--- a/product/tc0/scp_ramfw/config_ppu_v1.c
+++ b/product/tc0/scp_ramfw/config_ppu_v1.c
@@ -6,8 +6,8 @@
*/
#include "config_power_domain.h"
-#include "tc0_core.h"
#include "scp_css_mmap.h"
+#include "tc0_core.h"
#include <mod_power_domain.h>
#include <mod_ppu_v1.h>
@@ -37,22 +37,24 @@ static struct mod_ppu_v1_config ppu_v1_config_data = {
};
static struct fwk_element ppu_v1_system_element_table[] = {
- [0] = {
- .name = "SYS0",
- .data = &((struct mod_ppu_v1_pd_config) {
- .pd_type = MOD_PD_TYPE_SYSTEM,
- .ppu.reg_base = SCP_PPU_SYS0_BASE,
- .observer_id = FWK_ID_NONE_INIT,
- }),
- },
- [1] = {
- .name = "SYS1",
- .data = &((struct mod_ppu_v1_pd_config) {
- .pd_type = MOD_PD_TYPE_SYSTEM,
- .ppu.reg_base = SCP_PPU_SYS1_BASE,
- .observer_id = FWK_ID_NONE_INIT,
- }),
- },
+ [0] =
+ {
+ .name = "SYS0",
+ .data = &((struct mod_ppu_v1_pd_config){
+ .pd_type = MOD_PD_TYPE_SYSTEM,
+ .ppu.reg_base = SCP_PPU_SYS0_BASE,
+ .observer_id = FWK_ID_NONE_INIT,
+ }),
+ },
+ [1] =
+ {
+ .name = "SYS1",
+ .data = &((struct mod_ppu_v1_pd_config){
+ .pd_type = MOD_PD_TYPE_SYSTEM,
+ .ppu.reg_base = SCP_PPU_SYS1_BASE,
+ .observer_id = FWK_ID_NONE_INIT,
+ }),
+ },
};
static const struct fwk_element *ppu_v1_get_element_table(fwk_id_t module_id)
@@ -75,21 +77,21 @@ static const struct fwk_element *ppu_v1_get_element_table(fwk_id_t module_id)
* + Number of system power domain descriptors
* + 1 terminator descriptor
*/
- element_table = fwk_mm_calloc(core_count + cluster_count +
- FWK_ARRAY_SIZE(ppu_v1_system_element_table) + 1,
+ element_table = fwk_mm_calloc(
+ core_count + cluster_count +
+ FWK_ARRAY_SIZE(ppu_v1_system_element_table) + 1,
sizeof(struct fwk_element));
if (element_table == NULL)
return NULL;
- pd_config_table = fwk_mm_calloc(core_count + cluster_count,
- sizeof(struct mod_ppu_v1_pd_config));
+ pd_config_table = fwk_mm_calloc(
+ core_count + cluster_count, sizeof(struct mod_ppu_v1_pd_config));
if (pd_config_table == NULL)
return NULL;
for (cluster_idx = 0; cluster_idx < cluster_count; cluster_idx++) {
for (core_idx = 0;
- core_idx < tc0_core_get_core_per_cluster_count(
- cluster_idx);
+ core_idx < tc0_core_get_core_per_cluster_count(cluster_idx);
core_idx++) {
element = &element_table[core_element_count];
pd_config = &pd_config_table[core_element_count];
@@ -98,17 +100,20 @@ static const struct fwk_element *ppu_v1_get_element_table(fwk_id_t module_id)
if (element->name == NULL)
return NULL;
- snprintf((char *)element->name, PPU_CORE_NAME_SIZE, "CLUS%uCORE%u",
- cluster_idx, core_idx);
+ snprintf(
+ (char *)element->name,
+ PPU_CORE_NAME_SIZE,
+ "CLUS%uCORE%u",
+ cluster_idx,
+ core_idx);
element->data = pd_config;
pd_config->pd_type = MOD_PD_TYPE_CORE;
pd_config->ppu.reg_base = SCP_PPU_CORE_BASE(cluster_idx, core_idx);
pd_config->ppu.irq = FWK_INTERRUPT_NONE;
- pd_config->cluster_id =
- FWK_ID_ELEMENT(FWK_MODULE_IDX_PPU_V1,
- (core_count + cluster_idx));
+ pd_config->cluster_id = FWK_ID_ELEMENT(
+ FWK_MODULE_IDX_PPU_V1, (core_count + cluster_idx));
pd_config->observer_id = FWK_ID_NONE;
core_element_count++;
}
@@ -120,8 +125,8 @@ static const struct fwk_element *ppu_v1_get_element_table(fwk_id_t module_id)
if (element->name == NULL)
return NULL;
- snprintf((char *)element->name, PPU_CLUS_NAME_SIZE, "CLUS%u",
- cluster_idx);
+ snprintf(
+ (char *)element->name, PPU_CLUS_NAME_SIZE, "CLUS%u", cluster_idx);
element->data = pd_config;
@@ -131,9 +136,10 @@ static const struct fwk_element *ppu_v1_get_element_table(fwk_id_t module_id)
pd_config->observer_id = FWK_ID_NONE;
}
- memcpy(&element_table[core_count + cluster_count],
- ppu_v1_system_element_table,
- sizeof(ppu_v1_system_element_table));
+ memcpy(
+ &element_table[core_count + cluster_count],
+ ppu_v1_system_element_table,
+ sizeof(ppu_v1_system_element_table));
/*
* Configure pd_source_id with the SYSTOP identifier from the power domain
diff --git a/product/tc0/scp_ramfw/config_psu.c b/product/tc0/scp_ramfw/config_psu.c
index ab3a390a..59f42f54 100644
--- a/product/tc0/scp_ramfw/config_psu.c
+++ b/product/tc0/scp_ramfw/config_psu.c
@@ -15,11 +15,12 @@
static const struct fwk_element element_table[] = {
{
.name = "DVFS_GROUP0",
- .data = &(const struct mod_psu_element_cfg) {
- .driver_id = FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_MOCK_PSU, 0),
- .driver_api_id = FWK_ID_API_INIT(FWK_MODULE_IDX_MOCK_PSU,
- MOD_MOCK_PSU_API_IDX_DRIVER)
- },
+ .data =
+ &(const struct mod_psu_element_cfg){
+ .driver_id = FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_MOCK_PSU, 0),
+ .driver_api_id = FWK_ID_API_INIT(
+ FWK_MODULE_IDX_MOCK_PSU,
+ MOD_MOCK_PSU_API_IDX_DRIVER) },
},
{ 0 }
};
diff --git a/product/tc0/scp_ramfw/config_resource_perms.c b/product/tc0/scp_ramfw/config_resource_perms.c
index af234714..afc0fddf 100644
--- a/product/tc0/scp_ramfw/config_resource_perms.c
+++ b/product/tc0/scp_ramfw/config_resource_perms.c
@@ -45,47 +45,63 @@ static struct mod_res_agent_protocol_permissions agent_protocol_permissions[] =
* protocols, hence message 0x3 maps to bit[0], message 0x4 maps
* to bit[1], etc.
*/
-static struct mod_res_agent_msg_permissions agent_msg_permissions[] = {
- [AGENT_IDX(SCP_SCMI_AGENT_ID_OSPM)] = {
- .messages[MOD_RES_PERMS_SCMI_BASE_MESSAGE_IDX] = 0x0,
- .messages[MOD_RES_PERMS_SCMI_POWER_DOMAIN_MESSAGE_IDX] = 0x0,
- .messages[MOD_RES_PERMS_SCMI_SYS_POWER_MESSAGE_IDX] = 0x0,
- .messages[MOD_RES_PERMS_SCMI_PERF_MESSAGE_IDX] = 0x0,
- .messages[MOD_RES_PERMS_SCMI_CLOCK_MESSAGE_IDX] = 0x0,
- .messages[MOD_RES_PERMS_SCMI_SENSOR_MESSAGE_IDX] = 0x0,
- .messages[MOD_RES_PERMS_SCMI_RESET_DOMAIN_MESSAGE_IDX] = 0x0,
- },
- [AGENT_IDX(SCP_SCMI_AGENT_ID_PSCI)] = {
- .messages[MOD_RES_PERMS_SCMI_BASE_MESSAGE_IDX] = 0x0,
- .messages[MOD_RES_PERMS_SCMI_POWER_DOMAIN_MESSAGE_IDX] = 0x0,
- .messages[MOD_RES_PERMS_SCMI_SYS_POWER_MESSAGE_IDX] = 0x0,
- .messages[MOD_RES_PERMS_SCMI_PERF_MESSAGE_IDX] =
- ((1 << (MOD_SCMI_PERF_DOMAIN_ATTRIBUTES -
- MOD_SCMI_PERF_DOMAIN_ATTRIBUTES)) |
- /* DESCRIBE_LEVELS is required for some reason ... */
- (0 << (MOD_SCMI_PERF_DESCRIBE_LEVELS -
- MOD_SCMI_PERF_DOMAIN_ATTRIBUTES)) |
- (1 << (MOD_SCMI_PERF_LIMITS_SET -
- MOD_SCMI_PERF_DOMAIN_ATTRIBUTES)) |
- (1 << (MOD_SCMI_PERF_LIMITS_GET -
- MOD_SCMI_PERF_DOMAIN_ATTRIBUTES)) |
- (1 << (MOD_SCMI_PERF_LEVEL_SET -
- MOD_SCMI_PERF_DOMAIN_ATTRIBUTES)) |
- (1 << (MOD_SCMI_PERF_LEVEL_GET -
- MOD_SCMI_PERF_DOMAIN_ATTRIBUTES)) |
- (1 << (MOD_SCMI_PERF_NOTIFY_LIMITS -
- MOD_SCMI_PERF_DOMAIN_ATTRIBUTES)) |
- (1 << (MOD_SCMI_PERF_NOTIFY_LEVEL -
- MOD_SCMI_PERF_DOMAIN_ATTRIBUTES)) |
- (1 << (MOD_SCMI_PERF_DESCRIBE_FAST_CHANNEL -
- MOD_SCMI_PERF_DOMAIN_ATTRIBUTES))),
- /* Clocks, no access */
- .messages[MOD_RES_PERMS_SCMI_CLOCK_MESSAGE_IDX] = 0xff,
- .messages[MOD_RES_PERMS_SCMI_SENSOR_MESSAGE_IDX] = 0x0,
- .messages[MOD_RES_PERMS_SCMI_RESET_DOMAIN_MESSAGE_IDX] = 0x0,
- },
- };
-
+static struct mod_res_agent_msg_permissions
+ agent_msg_permissions[] =
+ {
+ [AGENT_IDX(SCP_SCMI_AGENT_ID_OSPM)] =
+ {
+ .messages[MOD_RES_PERMS_SCMI_BASE_MESSAGE_IDX] = 0x0,
+ .messages[MOD_RES_PERMS_SCMI_POWER_DOMAIN_MESSAGE_IDX] =
+ 0x0,
+ .messages[MOD_RES_PERMS_SCMI_SYS_POWER_MESSAGE_IDX] = 0x0,
+ .messages[MOD_RES_PERMS_SCMI_PERF_MESSAGE_IDX] = 0x0,
+ .messages[MOD_RES_PERMS_SCMI_CLOCK_MESSAGE_IDX] = 0x0,
+ .messages[MOD_RES_PERMS_SCMI_SENSOR_MESSAGE_IDX] = 0x0,
+ .messages[MOD_RES_PERMS_SCMI_RESET_DOMAIN_MESSAGE_IDX] =
+ 0x0,
+ },
+ [AGENT_IDX(SCP_SCMI_AGENT_ID_PSCI)] =
+ {
+ .messages[MOD_RES_PERMS_SCMI_BASE_MESSAGE_IDX] = 0x0,
+ .messages[MOD_RES_PERMS_SCMI_POWER_DOMAIN_MESSAGE_IDX] =
+ 0x0,
+ .messages[MOD_RES_PERMS_SCMI_SYS_POWER_MESSAGE_IDX] = 0x0,
+ .messages[MOD_RES_PERMS_SCMI_PERF_MESSAGE_IDX] =
+ ((1
+ << (MOD_SCMI_PERF_DOMAIN_ATTRIBUTES -
+ MOD_SCMI_PERF_DOMAIN_ATTRIBUTES)) |
+ /* DESCRIBE_LEVELS is required for some reason ... */
+ (0
+ << (MOD_SCMI_PERF_DESCRIBE_LEVELS -
+ MOD_SCMI_PERF_DOMAIN_ATTRIBUTES)) |
+ (1
+ << (MOD_SCMI_PERF_LIMITS_SET -
+ MOD_SCMI_PERF_DOMAIN_ATTRIBUTES)) |
+ (1
+ << (MOD_SCMI_PERF_LIMITS_GET -
+ MOD_SCMI_PERF_DOMAIN_ATTRIBUTES)) |
+ (1
+ << (MOD_SCMI_PERF_LEVEL_SET -
+ MOD_SCMI_PERF_DOMAIN_ATTRIBUTES)) |
+ (1
+ << (MOD_SCMI_PERF_LEVEL_GET -
+ MOD_SCMI_PERF_DOMAIN_ATTRIBUTES)) |
+ (1
+ << (MOD_SCMI_PERF_NOTIFY_LIMITS -
+ MOD_SCMI_PERF_DOMAIN_ATTRIBUTES)) |
+ (1
+ << (MOD_SCMI_PERF_NOTIFY_LEVEL -
+ MOD_SCMI_PERF_DOMAIN_ATTRIBUTES)) |
+ (1
+ << (MOD_SCMI_PERF_DESCRIBE_FAST_CHANNEL -
+ MOD_SCMI_PERF_DOMAIN_ATTRIBUTES))),
+ /* Clocks, no access */
+ .messages[MOD_RES_PERMS_SCMI_CLOCK_MESSAGE_IDX] = 0xff,
+ .messages[MOD_RES_PERMS_SCMI_SENSOR_MESSAGE_IDX] = 0x0,
+ .messages[MOD_RES_PERMS_SCMI_RESET_DOMAIN_MESSAGE_IDX] =
+ 0x0,
+ },
+ };
static struct mod_res_agent_permission agent_permissions = {
.agent_protocol_permissions = agent_protocol_permissions,
diff --git a/product/tc0/scp_ramfw/config_scmi.c b/product/tc0/scp_ramfw/config_scmi.c
index a0007405..21a2d466 100644
--- a/product/tc0/scp_ramfw/config_scmi.c
+++ b/product/tc0/scp_ramfw/config_scmi.c
@@ -17,38 +17,40 @@
#include <fwk_module_idx.h>
static const struct fwk_element service_table[] = {
- [SCP_TC0_SCMI_SERVICE_IDX_PSCI] = {
- .name = "PSCI",
- .data = &((struct mod_scmi_service_config) {
- .transport_id = FWK_ID_ELEMENT_INIT(
- FWK_MODULE_IDX_SMT,
- SCP_TC0_SCMI_SERVICE_IDX_PSCI),
- .transport_api_id = FWK_ID_API_INIT(
- FWK_MODULE_IDX_SMT,
- MOD_SMT_API_IDX_SCMI_TRANSPORT),
- .transport_notification_init_id = FWK_ID_NOTIFICATION_INIT(
- FWK_MODULE_IDX_SMT,
- MOD_SMT_NOTIFICATION_IDX_INITIALIZED),
- .scmi_agent_id = SCP_SCMI_AGENT_ID_PSCI,
- .scmi_p2a_id = FWK_ID_NONE_INIT,
- }),
- },
- [SCP_TC0_SCMI_SERVICE_IDX_OSPM] = {
- .name = "OSPM",
- .data = &((struct mod_scmi_service_config) {
- .transport_id = FWK_ID_ELEMENT_INIT(
- FWK_MODULE_IDX_SMT,
- SCP_TC0_SCMI_SERVICE_IDX_OSPM),
- .transport_api_id = FWK_ID_API_INIT(
- FWK_MODULE_IDX_SMT,
- MOD_SMT_API_IDX_SCMI_TRANSPORT),
- .transport_notification_init_id = FWK_ID_NOTIFICATION_INIT(
- FWK_MODULE_IDX_SMT,
- MOD_SMT_NOTIFICATION_IDX_INITIALIZED),
- .scmi_agent_id = SCP_SCMI_AGENT_ID_OSPM,
- .scmi_p2a_id = FWK_ID_NONE_INIT,
- }),
- },
+ [SCP_TC0_SCMI_SERVICE_IDX_PSCI] =
+ {
+ .name = "PSCI",
+ .data = &((struct mod_scmi_service_config){
+ .transport_id = FWK_ID_ELEMENT_INIT(
+ FWK_MODULE_IDX_SMT,
+ SCP_TC0_SCMI_SERVICE_IDX_PSCI),
+ .transport_api_id = FWK_ID_API_INIT(
+ FWK_MODULE_IDX_SMT,
+ MOD_SMT_API_IDX_SCMI_TRANSPORT),
+ .transport_notification_init_id = FWK_ID_NOTIFICATION_INIT(
+ FWK_MODULE_IDX_SMT,
+ MOD_SMT_NOTIFICATION_IDX_INITIALIZED),
+ .scmi_agent_id = SCP_SCMI_AGENT_ID_PSCI,
+ .scmi_p2a_id = FWK_ID_NONE_INIT,
+ }),
+ },
+ [SCP_TC0_SCMI_SERVICE_IDX_OSPM] =
+ {
+ .name = "OSPM",
+ .data = &((struct mod_scmi_service_config){
+ .transport_id = FWK_ID_ELEMENT_INIT(
+ FWK_MODULE_IDX_SMT,
+ SCP_TC0_SCMI_SERVICE_IDX_OSPM),
+ .transport_api_id = FWK_ID_API_INIT(
+ FWK_MODULE_IDX_SMT,
+ MOD_SMT_API_IDX_SCMI_TRANSPORT),
+ .transport_notification_init_id = FWK_ID_NOTIFICATION_INIT(
+ FWK_MODULE_IDX_SMT,
+ MOD_SMT_NOTIFICATION_IDX_INITIALIZED),
+ .scmi_agent_id = SCP_SCMI_AGENT_ID_OSPM,
+ .scmi_p2a_id = FWK_ID_NONE_INIT,
+ }),
+ },
[SCP_TC0_SCMI_SERVICE_IDX_COUNT] = { 0 }
};
@@ -58,14 +60,16 @@ static const struct fwk_element *get_service_table(fwk_id_t module_id)
}
static struct mod_scmi_agent agent_table[] = {
- [SCP_SCMI_AGENT_ID_OSPM] = {
- .type = SCMI_AGENT_TYPE_OSPM,
- .name = "OSPM",
- },
- [SCP_SCMI_AGENT_ID_PSCI] = {
- .type = SCMI_AGENT_TYPE_PSCI,
- .name = "PSCI",
- },
+ [SCP_SCMI_AGENT_ID_OSPM] =
+ {
+ .type = SCMI_AGENT_TYPE_OSPM,
+ .name = "OSPM",
+ },
+ [SCP_SCMI_AGENT_ID_PSCI] =
+ {
+ .type = SCMI_AGENT_TYPE_PSCI,
+ .name = "PSCI",
+ },
};
const struct fwk_module_config config_scmi = {
diff --git a/product/tc0/scp_ramfw/config_scmi_clock.c b/product/tc0/scp_ramfw/config_scmi_clock.c
index 8a38aa75..84b3d381 100644
--- a/product/tc0/scp_ramfw/config_scmi_clock.c
+++ b/product/tc0/scp_ramfw/config_scmi_clock.c
@@ -18,8 +18,7 @@
static const struct mod_scmi_clock_device agent_device_table_ospm[] = {
{
/* DPU */
- .element_id =
- FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_CLOCK, CLOCK_IDX_DPU),
+ .element_id = FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_CLOCK, CLOCK_IDX_DPU),
},
{
/* PIXEL_0 */
@@ -33,17 +32,18 @@ static const struct mod_scmi_clock_device agent_device_table_ospm[] = {
},
};
-static const struct mod_scmi_clock_agent
- agent_table[SCP_SCMI_AGENT_ID_COUNT] = {
- [SCP_SCMI_AGENT_ID_PSCI] = { 0 /* No access */ },
- [SCP_SCMI_AGENT_ID_OSPM] = {
- .device_table = agent_device_table_ospm,
- .device_count = FWK_ARRAY_SIZE(agent_device_table_ospm),
- },
-};
+static const struct mod_scmi_clock_agent agent_table[SCP_SCMI_AGENT_ID_COUNT] =
+ {
+ [SCP_SCMI_AGENT_ID_PSCI] = { 0 /* No access */ },
+ [SCP_SCMI_AGENT_ID_OSPM] =
+ {
+ .device_table = agent_device_table_ospm,
+ .device_count = FWK_ARRAY_SIZE(agent_device_table_ospm),
+ },
+ };
const struct fwk_module_config config_scmi_clock = {
- .data = &((struct mod_scmi_clock_config) {
+ .data = &((struct mod_scmi_clock_config){
.max_pending_transactions = 0,
.agent_table = agent_table,
.agent_count = FWK_ARRAY_SIZE(agent_table),
diff --git a/product/tc0/scp_ramfw/config_scmi_perf.c b/product/tc0/scp_ramfw/config_scmi_perf.c
index 52a9ec98..d2017f81 100644
--- a/product/tc0/scp_ramfw/config_scmi_perf.c
+++ b/product/tc0/scp_ramfw/config_scmi_perf.c
@@ -14,8 +14,7 @@
#include <stdint.h>
static const struct mod_scmi_perf_domain_config domains[] = {
- [0] = {
- },
+ [0] = {},
};
const struct fwk_module_config config_scmi_perf = {
diff --git a/product/tc0/scp_ramfw/config_scmi_system_power.c b/product/tc0/scp_ramfw/config_scmi_system_power.c
index 20b22582..e5a491ae 100644
--- a/product/tc0/scp_ramfw/config_scmi_system_power.c
+++ b/product/tc0/scp_ramfw/config_scmi_system_power.c
@@ -11,8 +11,7 @@
#include <fwk_module.h>
const struct fwk_module_config config_scmi_system_power = {
- .data = &((struct mod_scmi_system_power_config) {
+ .data = &((struct mod_scmi_system_power_config){
.system_view = MOD_SCMI_SYSTEM_VIEW_FULL,
- .system_suspend_state = MOD_SYSTEM_POWER_POWER_STATE_SLEEP0
- }),
+ .system_suspend_state = MOD_SYSTEM_POWER_POWER_STATE_SLEEP0 }),
};
diff --git a/product/tc0/scp_ramfw/config_sds.c b/product/tc0/scp_ramfw/config_sds.c
index 05694adc..94b3a405 100644
--- a/product/tc0/scp_ramfw/config_sds.c
+++ b/product/tc0/scp_ramfw/config_sds.c
@@ -6,9 +6,9 @@
*/
#include "clock_soc.h"
-#include "tc0_sds.h"
#include "scp_pik.h"
#include "scp_software_mmap.h"
+#include "tc0_sds.h"
#include <mod_sds.h>
@@ -25,27 +25,29 @@
static const uint32_t feature_flags = TC0_SDS_FEATURE_FIRMWARE_MASK;
static const struct mod_sds_region_desc sds_module_regions[] = {
- [TC0_SDS_REGION_SECURE] = {
- .base = (void*)SCP_SDS_MEM_BASE,
- .size = SCP_SDS_MEM_SIZE,
- },
+ [TC0_SDS_REGION_SECURE] =
+ {
+ .base = (void *)SCP_SDS_MEM_BASE,
+ .size = SCP_SDS_MEM_SIZE,
+ },
};
-static_assert(FWK_ARRAY_SIZE(sds_module_regions) == TC0_SDS_REGION_COUNT,
- "Mismatch between number of SDS regions and number of regions "
- "provided by the SDS configuration.");
+static_assert(
+ FWK_ARRAY_SIZE(sds_module_regions) == TC0_SDS_REGION_COUNT,
+ "Mismatch between number of SDS regions and number of regions "
+ "provided by the SDS configuration.");
const struct mod_sds_config sds_module_config = {
.regions = sds_module_regions,
.region_count = TC0_SDS_REGION_COUNT,
- .clock_id = FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_CLOCK,
- CLOCK_IDX_INTERCONNECT)
+ .clock_id =
+ FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_CLOCK, CLOCK_IDX_INTERCONNECT)
};
static struct fwk_element sds_element_table[] = {
{
.name = "CPU Info",
- .data = &((struct mod_sds_structure_desc) {
+ .data = &((struct mod_sds_structure_desc){
.id = TC0_SDS_CPU_INFO,
.size = TC0_SDS_CPU_INFO_SIZE,
.region_id = TC0_SDS_REGION_SECURE,
@@ -54,7 +56,7 @@ static struct fwk_element sds_element_table[] = {
},
{
.name = "Feature Availability",
- .data = &((struct mod_sds_structure_desc) {
+ .data = &((struct mod_sds_structure_desc){
.id = TC0_SDS_FEATURE_AVAILABILITY,
.size = TC0_SDS_FEATURE_AVAILABILITY_SIZE,
.payload = &feature_flags,
@@ -65,10 +67,10 @@ static struct fwk_element sds_element_table[] = {
{ 0 }, /* Termination description. */
};
-static_assert(SCP_SDS_MEM_SIZE >
- TC0_SDS_CPU_INFO_SIZE +
- TC0_SDS_FEATURE_AVAILABILITY_SIZE,
- "SDS structures too large for SDS SRAM.\n");
+static_assert(
+ SCP_SDS_MEM_SIZE >
+ TC0_SDS_CPU_INFO_SIZE + TC0_SDS_FEATURE_AVAILABILITY_SIZE,
+ "SDS structures too large for SDS SRAM.\n");
static const struct fwk_element *sds_get_element_table(fwk_id_t module_id)
{
diff --git a/product/tc0/scp_ramfw/config_smt.c b/product/tc0/scp_ramfw/config_smt.c
index 35a2b9ce..e019fd46 100644
--- a/product/tc0/scp_ramfw/config_smt.c
+++ b/product/tc0/scp_ramfw/config_smt.c
@@ -6,10 +6,10 @@
*/
#include "config_power_domain.h"
+#include "scp_software_mmap.h"
+#include "scp_tc0_mhu.h"
#include "tc0_core.h"
#include "tc0_scmi.h"
-#include "scp_tc0_mhu.h"
-#include "scp_software_mmap.h"
#include <mod_smt.h>
@@ -21,30 +21,43 @@
#include <stdint.h>
static const struct fwk_element smt_element_table[] = {
- [SCP_TC0_SCMI_SERVICE_IDX_PSCI] = {
- .name = "PSCI",
- .data = &((struct mod_smt_channel_config) {
- .type = MOD_SMT_CHANNEL_TYPE_SLAVE,
- .policies = MOD_SMT_POLICY_INIT_MAILBOX | MOD_SMT_POLICY_SECURE,
- .mailbox_address = (uintptr_t)SCP_SCMI_PAYLOAD_S_A2P_BASE,
- .mailbox_size = SCP_SCMI_PAYLOAD_SIZE,
- .driver_id = FWK_ID_SUB_ELEMENT_INIT(FWK_MODULE_IDX_MHU2,
- SCP_TC0_MHU_DEVICE_IDX_SCP_AP_S_CLUS0, 0),
- .driver_api_id = FWK_ID_API_INIT(FWK_MODULE_IDX_MHU2, 0),
- })
- },
- [SCP_TC0_SCMI_SERVICE_IDX_OSPM] = {
- .name = "OSPM",
- .data = &((struct mod_smt_channel_config) {
- .type = MOD_SMT_CHANNEL_TYPE_SLAVE,
- .policies = MOD_SMT_POLICY_INIT_MAILBOX,
- .mailbox_address = (uintptr_t)SCP_SCMI_PAYLOAD_NS_A2P_BASE,
- .mailbox_size = SCP_SCMI_PAYLOAD_SIZE,
- .driver_id = FWK_ID_SUB_ELEMENT_INIT(FWK_MODULE_IDX_MHU2,
- SCP_TC0_MHU_DEVICE_IDX_SCP_AP_NS_CLUS0, 0),
- .driver_api_id = FWK_ID_API_INIT(FWK_MODULE_IDX_MHU2, 0),
- })
- },
+ [SCP_TC0_SCMI_SERVICE_IDX_PSCI] = { .name = "PSCI",
+ .data = &((
+ struct mod_smt_channel_config){
+ .type = MOD_SMT_CHANNEL_TYPE_SLAVE,
+ .policies =
+ MOD_SMT_POLICY_INIT_MAILBOX |
+ MOD_SMT_POLICY_SECURE,
+ .mailbox_address = (uintptr_t)
+ SCP_SCMI_PAYLOAD_S_A2P_BASE,
+ .mailbox_size =
+ SCP_SCMI_PAYLOAD_SIZE,
+ .driver_id = FWK_ID_SUB_ELEMENT_INIT(
+ FWK_MODULE_IDX_MHU2,
+ SCP_TC0_MHU_DEVICE_IDX_SCP_AP_S_CLUS0,
+ 0),
+ .driver_api_id = FWK_ID_API_INIT(
+ FWK_MODULE_IDX_MHU2,
+ 0),
+ }) },
+ [SCP_TC0_SCMI_SERVICE_IDX_OSPM] = { .name = "OSPM",
+ .data = &((
+ struct mod_smt_channel_config){
+ .type = MOD_SMT_CHANNEL_TYPE_SLAVE,
+ .policies =
+ MOD_SMT_POLICY_INIT_MAILBOX,
+ .mailbox_address = (uintptr_t)
+ SCP_SCMI_PAYLOAD_NS_A2P_BASE,
+ .mailbox_size =
+ SCP_SCMI_PAYLOAD_SIZE,
+ .driver_id = FWK_ID_SUB_ELEMENT_INIT(
+ FWK_MODULE_IDX_MHU2,
+ SCP_TC0_MHU_DEVICE_IDX_SCP_AP_NS_CLUS0,
+ 0),
+ .driver_api_id = FWK_ID_API_INIT(
+ FWK_MODULE_IDX_MHU2,
+ 0),
+ }) },
[SCP_TC0_SCMI_SERVICE_IDX_COUNT] = { 0 },
};
diff --git a/product/tc0/scp_ramfw/config_system_pll.c b/product/tc0/scp_ramfw/config_system_pll.c
index aef20e94..0fe4c777 100644
--- a/product/tc0/scp_ramfw/config_system_pll.c
+++ b/product/tc0/scp_ramfw/config_system_pll.c
@@ -16,85 +16,93 @@
#include <fwk_macros.h>
#include <fwk_module.h>
-static const struct fwk_element system_pll_element_table[] = {
- [CLOCK_PLL_IDX_CPU0] = {
- .name = "CPU_PLL_0",
- .data = &((struct mod_system_pll_dev_config) {
- .control_reg = (void *)SCP_PLL_CPU0,
- .status_reg = (void *)&SCP_PIK_PTR->PLL_STATUS[1],
- .lock_flag_mask = PLL_STATUS_CPUPLLLOCK(0),
- .initial_rate = 1750 * FWK_MHZ,
- .min_rate = MOD_SYSTEM_PLL_MIN_RATE,
- .max_rate = MOD_SYSTEM_PLL_MAX_RATE,
- .min_step = MOD_SYSTEM_PLL_MIN_INTERVAL,
- }),
- },
- [CLOCK_PLL_IDX_SYS] = {
- .name = "SYS_PLL",
- .data = &((struct mod_system_pll_dev_config) {
- .control_reg = (void *)SCP_PLL_SYSPLL,
- .status_reg = (void *)&SCP_PIK_PTR->PLL_STATUS[0],
- .lock_flag_mask = PLL_STATUS_0_SYSPLLLOCK,
- .initial_rate = 2000 * FWK_MHZ,
- .min_rate = MOD_SYSTEM_PLL_MIN_RATE,
- .max_rate = MOD_SYSTEM_PLL_MAX_RATE,
- .min_step = MOD_SYSTEM_PLL_MIN_INTERVAL,
- }),
- },
- [CLOCK_PLL_IDX_INTERCONNECT] = {
- .name = "INT_PLL",
- .data = &((struct mod_system_pll_dev_config) {
- .control_reg = (void *)SCP_PLL_INTERCONNECT,
- .status_reg = (void *)&SCP_PIK_PTR->PLL_STATUS[0],
- .lock_flag_mask = PLL_STATUS_0_INTPLLLOCK,
- .initial_rate = 2000 * FWK_MHZ,
- .min_rate = MOD_SYSTEM_PLL_MIN_RATE,
- .max_rate = MOD_SYSTEM_PLL_MAX_RATE,
- .min_step = MOD_SYSTEM_PLL_MIN_INTERVAL,
- }),
- },
- [CLOCK_PLL_IDX_DPU] = {
- .name = "DPU_PLL",
- .data = &((struct mod_system_pll_dev_config) {
- .control_reg = (void *)SCP_PLL_DISPLAY,
- .status_reg = (void *)&SCP_PIK_PTR->PLL_STATUS[0],
- .lock_flag_mask = PLL_STATUS_0_DISPLAYPLLLOCK,
- .initial_rate = 600 * FWK_MHZ,
- .min_rate = MOD_SYSTEM_PLL_MIN_RATE,
- .max_rate = MOD_SYSTEM_PLL_MAX_RATE,
- .min_step = MOD_SYSTEM_PLL_MIN_INTERVAL,
- .defer_initialization = false,
- }),
- },
- [CLOCK_PLL_IDX_PIX0] = {
- .name = "PIX0_PLL",
- .data = &((struct mod_system_pll_dev_config) {
- .control_reg = (void *)SCP_PLL_PIX0,
- .status_reg = NULL,
- .initial_rate = 594 * FWK_MHZ,
- .min_rate = 12500 * FWK_KHZ,
- .max_rate = 594 * FWK_MHZ,
- .min_step = 25 * FWK_KHZ,
- .defer_initialization = false,
- }),
- },
- [CLOCK_PLL_IDX_PIX1] = {
- .name = "PIX1_PLL",
- .data = &((struct mod_system_pll_dev_config) {
- .control_reg = (void *)SCP_PLL_PIX1,
- .status_reg = NULL,
- .initial_rate = 594 * FWK_MHZ,
- .min_rate = 12500 * FWK_KHZ,
- .max_rate = 594 * FWK_MHZ,
- .min_step = 25 * FWK_KHZ,
- .defer_initialization = false,
- }),
- },
- [CLOCK_PLL_IDX_COUNT] = { 0 }, /* Termination description. */
-};
+static const struct fwk_element system_pll_element_table[] =
+ {
+ [CLOCK_PLL_IDX_CPU0] =
+ {
+ .name = "CPU_PLL_0",
+ .data = &((struct mod_system_pll_dev_config){
+ .control_reg = (void *)SCP_PLL_CPU0,
+ .status_reg = (void *)&SCP_PIK_PTR->PLL_STATUS[1],
+ .lock_flag_mask = PLL_STATUS_CPUPLLLOCK(0),
+ .initial_rate = 1750 * FWK_MHZ,
+ .min_rate = MOD_SYSTEM_PLL_MIN_RATE,
+ .max_rate = MOD_SYSTEM_PLL_MAX_RATE,
+ .min_step = MOD_SYSTEM_PLL_MIN_INTERVAL,
+ }),
+ },
+ [CLOCK_PLL_IDX_SYS] =
+ {
+ .name = "SYS_PLL",
+ .data = &((struct mod_system_pll_dev_config){
+ .control_reg = (void *)SCP_PLL_SYSPLL,
+ .status_reg = (void *)&SCP_PIK_PTR->PLL_STATUS[0],
+ .lock_flag_mask = PLL_STATUS_0_SYSPLLLOCK,
+ .initial_rate = 2000 * FWK_MHZ,
+ .min_rate = MOD_SYSTEM_PLL_MIN_RATE,
+ .max_rate = MOD_SYSTEM_PLL_MAX_RATE,
+ .min_step = MOD_SYSTEM_PLL_MIN_INTERVAL,
+ }),
+ },
+ [CLOCK_PLL_IDX_INTERCONNECT] =
+ {
+ .name = "INT_PLL",
+ .data = &((struct mod_system_pll_dev_config){
+ .control_reg = (void *)SCP_PLL_INTERCONNECT,
+ .status_reg = (void *)&SCP_PIK_PTR->PLL_STATUS[0],
+ .lock_flag_mask = PLL_STATUS_0_INTPLLLOCK,
+ .initial_rate = 2000 * FWK_MHZ,
+ .min_rate = MOD_SYSTEM_PLL_MIN_RATE,
+ .max_rate = MOD_SYSTEM_PLL_MAX_RATE,
+ .min_step = MOD_SYSTEM_PLL_MIN_INTERVAL,
+ }),
+ },
+ [CLOCK_PLL_IDX_DPU] =
+ {
+ .name = "DPU_PLL",
+ .data = &((struct mod_system_pll_dev_config){
+ .control_reg = (void *)SCP_PLL_DISPLAY,
+ .status_reg = (void *)&SCP_PIK_PTR->PLL_STATUS[0],
+ .lock_flag_mask = PLL_STATUS_0_DISPLAYPLLLOCK,
+ .initial_rate = 600 * FWK_MHZ,
+ .min_rate = MOD_SYSTEM_PLL_MIN_RATE,
+ .max_rate = MOD_SYSTEM_PLL_MAX_RATE,
+ .min_step = MOD_SYSTEM_PLL_MIN_INTERVAL,
+ .defer_initialization = false,
+ }),
+ },
+ [CLOCK_PLL_IDX_PIX0] =
+ {
+ .name = "PIX0_PLL",
+ .data = &((struct mod_system_pll_dev_config){
+ .control_reg = (void *)SCP_PLL_PIX0,
+ .status_reg = NULL,
+ .initial_rate = 594 * FWK_MHZ,
+ .min_rate = 12500 * FWK_KHZ,
+ .max_rate = 594 * FWK_MHZ,
+ .min_step = 25 * FWK_KHZ,
+ .defer_initialization = false,
+ }),
+ },
+ [CLOCK_PLL_IDX_PIX1] =
+ {
+ .name = "PIX1_PLL",
+ .data = &(
+ (struct mod_system_pll_dev_config){
+ .control_reg = (void *)SCP_PLL_PIX1,
+ .status_reg = NULL,
+ .initial_rate = 594 * FWK_MHZ,
+ .min_rate = 12500 * FWK_KHZ,
+ .max_rate = 594 * FWK_MHZ,
+ .min_step = 25 * FWK_KHZ,
+ .defer_initialization = false,
+ }),
+ },
+ [CLOCK_PLL_IDX_COUNT] = { 0 }, /* Termination description. */
+ };
-static const struct fwk_element *system_pll_get_element_table
- (fwk_id_t module_id)
+static const struct fwk_element *system_pll_get_element_table(
+ fwk_id_t module_id)
{
return system_pll_element_table;
}
diff --git a/product/tc0/scp_ramfw/config_system_power.c b/product/tc0/scp_ramfw/config_system_power.c
index 142daeb4..737ab94e 100644
--- a/product/tc0/scp_ramfw/config_system_power.c
+++ b/product/tc0/scp_ramfw/config_system_power.c
@@ -23,35 +23,39 @@
#include <stdint.h>
static const uint8_t system_power_to_sys_ppu0_state[] = {
- [MOD_PD_STATE_ON] = (uint8_t)MOD_PD_STATE_ON,
+ [MOD_PD_STATE_ON] = (uint8_t)MOD_PD_STATE_ON,
[MOD_SYSTEM_POWER_POWER_STATE_SLEEP0] = (uint8_t)MOD_PD_STATE_OFF,
- [MOD_PD_STATE_OFF] = (uint8_t)MOD_PD_STATE_OFF,
+ [MOD_PD_STATE_OFF] = (uint8_t)MOD_PD_STATE_OFF,
};
static const uint8_t system_power_to_sys_ppu1_state[] = {
- [MOD_PD_STATE_ON] = (uint8_t)MOD_PD_STATE_ON,
+ [MOD_PD_STATE_ON] = (uint8_t)MOD_PD_STATE_ON,
[MOD_SYSTEM_POWER_POWER_STATE_SLEEP0] = (uint8_t)MOD_PD_STATE_ON,
- [MOD_PD_STATE_OFF] = (uint8_t)MOD_PD_STATE_OFF,
+ [MOD_PD_STATE_OFF] = (uint8_t)MOD_PD_STATE_OFF,
};
static struct fwk_element system_power_element_table[] = {
- [0] = {
- .name = "SYS-PPU-0",
- .data = &((struct mod_system_power_dev_config) {
- .api_id = FWK_ID_API_INIT(FWK_MODULE_IDX_PPU_V1,
- MOD_PPU_V1_API_IDX_POWER_DOMAIN_DRIVER),
- .sys_state_table = system_power_to_sys_ppu0_state,
- }),
- },
-
- [1] = {
- .name = "SYS-PPU-1",
- .data = &((struct mod_system_power_dev_config) {
- .api_id = FWK_ID_API_INIT(FWK_MODULE_IDX_PPU_V1,
- MOD_PPU_V1_API_IDX_POWER_DOMAIN_DRIVER),
- .sys_state_table = system_power_to_sys_ppu1_state,
- }),
- },
+ [0] =
+ {
+ .name = "SYS-PPU-0",
+ .data = &((struct mod_system_power_dev_config){
+ .api_id = FWK_ID_API_INIT(
+ FWK_MODULE_IDX_PPU_V1,
+ MOD_PPU_V1_API_IDX_POWER_DOMAIN_DRIVER),
+ .sys_state_table = system_power_to_sys_ppu0_state,
+ }),
+ },
+
+ [1] =
+ {
+ .name = "SYS-PPU-1",
+ .data = &((struct mod_system_power_dev_config){
+ .api_id = FWK_ID_API_INIT(
+ FWK_MODULE_IDX_PPU_V1,
+ MOD_PPU_V1_API_IDX_POWER_DOMAIN_DRIVER),
+ .sys_state_table = system_power_to_sys_ppu1_state,
+ }),
+ },
[2] = { 0 }, /* Termination description */
};
@@ -61,26 +65,27 @@ static struct mod_system_power_config system_power_config = {
/* System driver */
.driver_id = FWK_ID_MODULE_INIT(FWK_MODULE_IDX_TC0_SYSTEM),
- .driver_api_id = FWK_ID_API_INIT(FWK_MODULE_IDX_TC0_SYSTEM,
- MOD_TC0_SYSTEM_API_IDX_SYSTEM_POWER_DRIVER),
+ .driver_api_id = FWK_ID_API_INIT(
+ FWK_MODULE_IDX_TC0_SYSTEM,
+ MOD_TC0_SYSTEM_API_IDX_SYSTEM_POWER_DRIVER),
/* Initial system state */
.initial_system_power_state = MOD_PD_STATE_OFF,
};
-static const struct fwk_element *tc0_system_get_element_table(
- fwk_id_t unused)
+static const struct fwk_element *tc0_system_get_element_table(fwk_id_t unused)
{
struct mod_system_power_dev_config *dev_config_table;
unsigned int i;
/* The system PPUs are placed after the core and cluster PPUs */
- unsigned int ppu_idx_base = tc0_core_get_core_count() +
- tc0_core_get_cluster_count();
+ unsigned int ppu_idx_base =
+ tc0_core_get_core_count() + tc0_core_get_cluster_count();
for (i = 0; i < (FWK_ARRAY_SIZE(system_power_element_table) - 1); i++) {
- dev_config_table = (struct mod_system_power_dev_config *)
- system_power_element_table[i].data;
+ dev_config_table =
+ (struct mod_system_power_dev_config *)system_power_element_table[i]
+ .data;
dev_config_table->sys_ppu_id =
fwk_id_build_element_id(fwk_module_id_ppu_v1, ppu_idx_base + i);
}
diff --git a/product/tc0/scp_ramfw/config_timer.c b/product/tc0/scp_ramfw/config_timer.c
index 4d6a311d..a5b9266f 100644
--- a/product/tc0/scp_ramfw/config_timer.c
+++ b/product/tc0/scp_ramfw/config_timer.c
@@ -20,15 +20,16 @@
* Timer HAL config
*/
static const struct fwk_element timer_dev_table[] = {
- [0] = {
- .name = "REFCLK",
- .data = &((struct mod_timer_dev_config) {
- .id = FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_GTIMER, 0),
- .timer_irq = TIMREFCLK_IRQ,
- }),
- /* Number of alarms */
- .sub_element_count = CONFIG_TIMER_SUB_ELEMENT_IDX_COUNT,
- },
+ [0] =
+ {
+ .name = "REFCLK",
+ .data = &((struct mod_timer_dev_config){
+ .id = FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_GTIMER, 0),
+ .timer_irq = TIMREFCLK_IRQ,
+ }),
+ /* Number of alarms */
+ .sub_element_count = CONFIG_TIMER_SUB_ELEMENT_IDX_COUNT,
+ },
[1] = { 0 },
};
diff --git a/product/tc0/scp_romfw/config_clock.c b/product/tc0/scp_romfw/config_clock.c
index 56f9b405..2fe204f5 100644
--- a/product/tc0/scp_romfw/config_clock.c
+++ b/product/tc0/scp_romfw/config_clock.c
@@ -21,27 +21,33 @@
#include <fwk_module_idx.h>
static const struct fwk_element clock_dev_desc_table[] = {
- [CLOCK_IDX_INTERCONNECT] = {
- .name = "Interconnect",
- .data = &((struct mod_clock_dev_config) {
- .driver_id = FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_PIK_CLOCK,
- CLOCK_PIK_IDX_INTERCONNECT),
- .api_id = FWK_ID_API_INIT(FWK_MODULE_IDX_PIK_CLOCK,
- MOD_PIK_CLOCK_API_TYPE_CLOCK),
- .pd_source_id = FWK_ID_MODULE_INIT(FWK_MODULE_IDX_MSYS_ROM),
+ [CLOCK_IDX_INTERCONNECT] =
+ {
+ .name = "Interconnect",
+ .data = &((struct mod_clock_dev_config){
+ .driver_id = FWK_ID_ELEMENT_INIT(
+ FWK_MODULE_IDX_PIK_CLOCK,
+ CLOCK_PIK_IDX_INTERCONNECT),
+ .api_id = FWK_ID_API_INIT(
+ FWK_MODULE_IDX_PIK_CLOCK,
+ MOD_PIK_CLOCK_API_TYPE_CLOCK),
+ .pd_source_id = FWK_ID_MODULE_INIT(FWK_MODULE_IDX_MSYS_ROM),
- }),
- },
- [CLOCK_IDX_CPU_GROUP0] = {
- .name = "CPU_GROUP0",
- .data = &((struct mod_clock_dev_config) {
- .driver_id = FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_CSS_CLOCK,
- CLOCK_CSS_IDX_CPU_GROUP0),
- .api_id = FWK_ID_API_INIT(FWK_MODULE_IDX_CSS_CLOCK,
- MOD_CSS_CLOCK_API_TYPE_CLOCK),
- .pd_source_id = FWK_ID_MODULE_INIT(FWK_MODULE_IDX_MSYS_ROM),
- }),
- },
+ }),
+ },
+ [CLOCK_IDX_CPU_GROUP0] =
+ {
+ .name = "CPU_GROUP0",
+ .data = &((struct mod_clock_dev_config){
+ .driver_id = FWK_ID_ELEMENT_INIT(
+ FWK_MODULE_IDX_CSS_CLOCK,
+ CLOCK_CSS_IDX_CPU_GROUP0),
+ .api_id = FWK_ID_API_INIT(
+ FWK_MODULE_IDX_CSS_CLOCK,
+ MOD_CSS_CLOCK_API_TYPE_CLOCK),
+ .pd_source_id = FWK_ID_MODULE_INIT(FWK_MODULE_IDX_MSYS_ROM),
+ }),
+ },
{ 0 }, /* Termination description. */
};
diff --git a/product/tc0/scp_romfw/config_css_clock.c b/product/tc0/scp_romfw/config_css_clock.c
index 540568a1..554f1c02 100644
--- a/product/tc0/scp_romfw/config_css_clock.c
+++ b/product/tc0/scp_romfw/config_css_clock.c
@@ -75,30 +75,34 @@ static const fwk_id_t member_table_cpu_group_0[] = {
};
static const struct fwk_element css_clock_element_table[] = {
- [CLOCK_CSS_IDX_CPU_GROUP0] = {
- .name = "CPU_GROUP_0",
- .data = &((struct mod_css_clock_dev_config) {
- .clock_type = MOD_CSS_CLOCK_TYPE_INDEXED,
- .rate_table = rate_table_cpu_group,
- .rate_count = FWK_ARRAY_SIZE(rate_table_cpu_group),
- .clock_switching_source = MOD_PIK_CLOCK_CLUSCLK_SOURCE_SYSREFCLK,
- .pll_id = FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_SYSTEM_PLL,
- CLOCK_PLL_IDX_CPU0),
- .pll_api_id = FWK_ID_API_INIT(FWK_MODULE_IDX_SYSTEM_PLL,
- MOD_SYSTEM_PLL_API_TYPE_DEFAULT),
- .member_table = member_table_cpu_group_0,
- .member_count = FWK_ARRAY_SIZE(member_table_cpu_group_0),
- .member_api_id = FWK_ID_API_INIT(FWK_MODULE_IDX_PIK_CLOCK,
- MOD_PIK_CLOCK_API_TYPE_CSS),
- .initial_rate = 2271 * FWK_MHZ,
- .modulation_supported = true,
- }),
- },
+ [CLOCK_CSS_IDX_CPU_GROUP0] =
+ {
+ .name = "CPU_GROUP_0",
+ .data = &((struct mod_css_clock_dev_config){
+ .clock_type = MOD_CSS_CLOCK_TYPE_INDEXED,
+ .rate_table = rate_table_cpu_group,
+ .rate_count = FWK_ARRAY_SIZE(rate_table_cpu_group),
+ .clock_switching_source =
+ MOD_PIK_CLOCK_CLUSCLK_SOURCE_SYSREFCLK,
+ .pll_id = FWK_ID_ELEMENT_INIT(
+ FWK_MODULE_IDX_SYSTEM_PLL,
+ CLOCK_PLL_IDX_CPU0),
+ .pll_api_id = FWK_ID_API_INIT(
+ FWK_MODULE_IDX_SYSTEM_PLL,
+ MOD_SYSTEM_PLL_API_TYPE_DEFAULT),
+ .member_table = member_table_cpu_group_0,
+ .member_count = FWK_ARRAY_SIZE(member_table_cpu_group_0),
+ .member_api_id = FWK_ID_API_INIT(
+ FWK_MODULE_IDX_PIK_CLOCK,
+ MOD_PIK_CLOCK_API_TYPE_CSS),
+ .initial_rate = 2271 * FWK_MHZ,
+ .modulation_supported = true,
+ }),
+ },
[CLOCK_CSS_IDX_COUNT] = { 0 }, /* Termination description. */
};
-static const struct fwk_element *css_clock_get_element_table
- (fwk_id_t module_id)
+static const struct fwk_element *css_clock_get_element_table(fwk_id_t module_id)
{
return css_clock_element_table;
}
diff --git a/product/tc0/scp_romfw/config_gtimer.c b/product/tc0/scp_romfw/config_gtimer.c
index e35e4792..8f83fb51 100644
--- a/product/tc0/scp_romfw/config_gtimer.c
+++ b/product/tc0/scp_romfw/config_gtimer.c
@@ -20,17 +20,15 @@
* Generic timer driver config
*/
static const struct fwk_element gtimer_dev_table[] = {
- [0] = {
- .name = "REFCLK",
- .data = &((struct mod_gtimer_dev_config) {
- .hw_timer = SCP_REFCLK_CNTBASE0_BASE,
- .hw_counter = SCP_REFCLK_CNTCTL_BASE,
- .control = SCP_REFCLK_CNTCONTROL_BASE,
- .frequency = CLOCK_RATE_REFCLK,
- .clock_id = FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_CLOCK,
- CLOCK_IDX_INTERCONNECT)
- })
- },
+ [0] = { .name = "REFCLK",
+ .data = &((struct mod_gtimer_dev_config){
+ .hw_timer = SCP_REFCLK_CNTBASE0_BASE,
+ .hw_counter = SCP_REFCLK_CNTCTL_BASE,
+ .control = SCP_REFCLK_CNTCONTROL_BASE,
+ .frequency = CLOCK_RATE_REFCLK,
+ .clock_id = FWK_ID_ELEMENT_INIT(
+ FWK_MODULE_IDX_CLOCK,
+ CLOCK_IDX_INTERCONNECT) }) },
[1] = { 0 },
};
diff --git a/product/tc0/scp_romfw/config_msys_rom.c b/product/tc0/scp_romfw/config_msys_rom.c
index 6b0ef6b9..c8489929 100644
--- a/product/tc0/scp_romfw/config_msys_rom.c
+++ b/product/tc0/scp_romfw/config_msys_rom.c
@@ -14,7 +14,7 @@
#include <fwk_module_idx.h>
const struct fwk_module_config config_msys_rom = {
- .data = &((struct msys_rom_config) {
+ .data = &((struct msys_rom_config){
.ap_context_base = SCP_AP_CONTEXT_BASE,
.ap_context_size = SCP_AP_CONTEXT_SIZE,
.id_primary_cluster = FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_PPU_V1, 1),
diff --git a/product/tc0/scp_romfw/config_pik_clock.c b/product/tc0/scp_romfw/config_pik_clock.c
index af9c829b..ee847f4d 100644
--- a/product/tc0/scp_romfw/config_pik_clock.c
+++ b/product/tc0/scp_romfw/config_pik_clock.c
@@ -82,97 +82,109 @@ static const struct mod_pik_clock_rate rate_table_uartclk[] = {
},
};
-static const struct fwk_element pik_clock_element_table[] = {
+static const struct fwk_element
+ pik_clock_element_table[] =
+ {
- [CLOCK_PIK_IDX_CLUS0_CPU0] = {
- .name = "CLUS0_CPU0",
- .data = &((struct mod_pik_clock_dev_config) {
- .type = MOD_PIK_CLOCK_TYPE_CLUSTER,
- .is_group_member = true,
- .control_reg = &CLUSTER_PIK_PTR(0)->CORECLK[0].CTRL,
- .divext_reg = &CLUSTER_PIK_PTR(0)->CORECLK[0].DIV,
- .modulator_reg = &CLUSTER_PIK_PTR(0)->CORECLK[0].MOD,
- .rate_table = rate_table_cpu_group,
- .rate_count = FWK_ARRAY_SIZE(rate_table_cpu_group),
- }),
- },
- [CLOCK_PIK_IDX_INTERCONNECT] = {
- .name = "INTERCONNECT",
- .data = &((struct mod_pik_clock_dev_config) {
- .type = MOD_PIK_CLOCK_TYPE_MULTI_SOURCE,
- .is_group_member = false,
- .control_reg = &SYSTEM_PIK_PTR->INTCLK_CTRL,
- .divext_reg = &SYSTEM_PIK_PTR->INTCLK_DIV1,
- .rate_table = rate_table_sys_intclk,
- .rate_count = FWK_ARRAY_SIZE(rate_table_sys_intclk),
- .initial_rate = 2000 * FWK_MHZ,
- }),
- },
- [CLOCK_PIK_IDX_SCP] = {
- .name = "SCP",
- .data = &((struct mod_pik_clock_dev_config) {
- .type = MOD_PIK_CLOCK_TYPE_MULTI_SOURCE,
- .is_group_member = false,
- .control_reg = &SCP_PIK_PTR->CORECLK_CTRL,
- .divsys_reg = &SCP_PIK_PTR->CORECLK_DIV1,
- .rate_table = rate_table_scp,
- .rate_count = FWK_ARRAY_SIZE(rate_table_scp),
- .initial_rate = 2000 * FWK_MHZ,
- }),
- },
- [CLOCK_PIK_IDX_GIC] = {
- .name = "GIC",
- .data = &((struct mod_pik_clock_dev_config) {
- .type = MOD_PIK_CLOCK_TYPE_MULTI_SOURCE,
- .is_group_member = false,
- .control_reg = &SYSTEM_PIK_PTR->GICCLK_CTRL,
- .divsys_reg = &SYSTEM_PIK_PTR->GICCLK_DIV1,
- .rate_table = rate_table_gicclk,
- .rate_count = FWK_ARRAY_SIZE(rate_table_gicclk),
- .initial_rate = 2000 * FWK_MHZ,
- }),
- },
- [CLOCK_PIK_IDX_PCLKSCP] = {
- .name = "PCLKSCP",
- .data = &((struct mod_pik_clock_dev_config) {
- .type = MOD_PIK_CLOCK_TYPE_MULTI_SOURCE,
- .is_group_member = false,
- .control_reg = &SYSTEM_PIK_PTR->PCLKSCP_CTRL,
- .divsys_reg = &SYSTEM_PIK_PTR->PCLKSCP_DIV1,
- .rate_table = rate_table_pclkscp,
- .rate_count = FWK_ARRAY_SIZE(rate_table_pclkscp),
- .initial_rate = 2000 * FWK_MHZ,
- }),
- },
- [CLOCK_PIK_IDX_SYSPERCLK] = {
- .name = "SYSPERCLK",
- .data = &((struct mod_pik_clock_dev_config) {
- .type = MOD_PIK_CLOCK_TYPE_MULTI_SOURCE,
- .is_group_member = false,
- .control_reg = &SYSTEM_PIK_PTR->SYSPERCLK_CTRL,
- .divsys_reg = &SYSTEM_PIK_PTR->SYSPERCLK_DIV1,
- .rate_table = rate_table_sysperclk,
- .rate_count = FWK_ARRAY_SIZE(rate_table_sysperclk),
- .initial_rate = 2000 * FWK_MHZ,
- }),
- },
- [CLOCK_PIK_IDX_UARTCLK] = {
- .name = "UARTCLK",
- .data = &((struct mod_pik_clock_dev_config) {
- .type = MOD_PIK_CLOCK_TYPE_MULTI_SOURCE,
- .is_group_member = false,
- .control_reg = &SYSTEM_PIK_PTR->UARTCLK_CTRL,
- .divsys_reg = &SYSTEM_PIK_PTR->UARTCLK_DIV1,
- .rate_table = rate_table_uartclk,
- .rate_count = FWK_ARRAY_SIZE(rate_table_uartclk),
- .initial_rate = 2000 * FWK_MHZ,
- }),
- },
- [CLOCK_PIK_IDX_COUNT] = { 0 }, /* Termination description. */
-};
+ [CLOCK_PIK_IDX_CLUS0_CPU0] =
+ {
+ .name = "CLUS0_CPU0",
+ .data = &((struct mod_pik_clock_dev_config){
+ .type = MOD_PIK_CLOCK_TYPE_CLUSTER,
+ .is_group_member = true,
+ .control_reg = &CLUSTER_PIK_PTR(0)->CORECLK[0].CTRL,
+ .divext_reg = &CLUSTER_PIK_PTR(0)->CORECLK[0].DIV,
+ .modulator_reg = &CLUSTER_PIK_PTR(0)->CORECLK[0].MOD,
+ .rate_table = rate_table_cpu_group,
+ .rate_count = FWK_ARRAY_SIZE(rate_table_cpu_group),
+ }),
+ },
+ [CLOCK_PIK_IDX_INTERCONNECT] =
+ {
+ .name = "INTERCONNECT",
+ .data = &((struct mod_pik_clock_dev_config){
+ .type = MOD_PIK_CLOCK_TYPE_MULTI_SOURCE,
+ .is_group_member = false,
+ .control_reg = &SYSTEM_PIK_PTR->INTCLK_CTRL,
+ .divext_reg = &SYSTEM_PIK_PTR->INTCLK_DIV1,
+ .rate_table = rate_table_sys_intclk,
+ .rate_count = FWK_ARRAY_SIZE(rate_table_sys_intclk),
+ .initial_rate = 2000 * FWK_MHZ,
+ }),
+ },
+ [CLOCK_PIK_IDX_SCP] =
+ {
+ .name = "SCP",
+ .data = &((struct mod_pik_clock_dev_config){
+ .type = MOD_PIK_CLOCK_TYPE_MULTI_SOURCE,
+ .is_group_member = false,
+ .control_reg = &SCP_PIK_PTR->CORECLK_CTRL,
+ .divsys_reg = &SCP_PIK_PTR->CORECLK_DIV1,
+ .rate_table = rate_table_scp,
+ .rate_count = FWK_ARRAY_SIZE(rate_table_scp),
+ .initial_rate = 2000 * FWK_MHZ,
+ }),
+ },
+ [CLOCK_PIK_IDX_GIC] =
+ {
+ .name = "GIC",
+ .data = &((struct mod_pik_clock_dev_config){
+ .type = MOD_PIK_CLOCK_TYPE_MULTI_SOURCE,
+ .is_group_member = false,
+ .control_reg = &SYSTEM_PIK_PTR->GICCLK_CTRL,
+ .divsys_reg = &SYSTEM_PIK_PTR->GICCLK_DIV1,
+ .rate_table = rate_table_gicclk,
+ .rate_count = FWK_ARRAY_SIZE(rate_table_gicclk),
+ .initial_rate = 2000 * FWK_MHZ,
+ }),
+ },
+ [CLOCK_PIK_IDX_PCLKSCP] =
+ {
+ .name = "PCLKSCP",
+ .data = &((struct mod_pik_clock_dev_config){
+ .type = MOD_PIK_CLOCK_TYPE_MULTI_SOURCE,
+ .is_group_member = false,
+ .control_reg = &SYSTEM_PIK_PTR->PCLKSCP_CTRL,
+ .divsys_reg = &SYSTEM_PIK_PTR->PCLKSCP_DIV1,
+ .rate_table = rate_table_pclkscp,
+ .rate_count = FWK_ARRAY_SIZE(rate_table_pclkscp),
+ .initial_rate = 2000 * FWK_MHZ,
+ }),
+ },
+ [CLOCK_PIK_IDX_SYSPERCLK] =
+ {
+ .name = "SYSPERCLK",
+ .data =
+ &(
+ (struct mod_pik_clock_dev_config){
+ .type = MOD_PIK_CLOCK_TYPE_MULTI_SOURCE,
+ .is_group_member = false,
+ .control_reg = &SYSTEM_PIK_PTR->SYSPERCLK_CTRL,
+ .divsys_reg = &SYSTEM_PIK_PTR->SYSPERCLK_DIV1,
+ .rate_table = rate_table_sysperclk,
+ .rate_count =
+ FWK_ARRAY_SIZE(rate_table_sysperclk),
+ .initial_rate = 2000 * FWK_MHZ,
+ }),
+ },
+ [CLOCK_PIK_IDX_UARTCLK] =
+ {
+ .name = "UARTCLK",
+ .data = &(
+ (struct mod_pik_clock_dev_config){
+ .type = MOD_PIK_CLOCK_TYPE_MULTI_SOURCE,
+ .is_group_member = false,
+ .control_reg = &SYSTEM_PIK_PTR->UARTCLK_CTRL,
+ .divsys_reg = &SYSTEM_PIK_PTR->UARTCLK_DIV1,
+ .rate_table = rate_table_uartclk,
+ .rate_count = FWK_ARRAY_SIZE(rate_table_uartclk),
+ .initial_rate = 2000 * FWK_MHZ,
+ }),
+ },
+ [CLOCK_PIK_IDX_COUNT] = { 0 }, /* Termination description. */
+ };
-static const struct fwk_element *pik_clock_get_element_table
- (fwk_id_t module_id)
+static const struct fwk_element *pik_clock_get_element_table(fwk_id_t module_id)
{
return pik_clock_element_table;
}
diff --git a/product/tc0/scp_romfw/config_pl011.c b/product/tc0/scp_romfw/config_pl011.c
index cb9d1396..72bd9d77 100644
--- a/product/tc0/scp_romfw/config_pl011.c
+++ b/product/tc0/scp_romfw/config_pl011.c
@@ -16,16 +16,17 @@
const struct fwk_module_config config_pl011 = {
.elements = FWK_MODULE_STATIC_ELEMENTS({
- [0] = {
- .name = "uart",
- .data =
- &(struct mod_pl011_element_cfg){
- .reg_base = SCP_UART_BASE,
- .baud_rate_bps = 115200,
- .clock_rate_hz = 24 * FWK_MHZ,
- .clock_id = FWK_ID_NONE_INIT,
- },
- },
+ [0] =
+ {
+ .name = "uart",
+ .data =
+ &(struct mod_pl011_element_cfg){
+ .reg_base = SCP_UART_BASE,
+ .baud_rate_bps = 115200,
+ .clock_rate_hz = 24 * FWK_MHZ,
+ .clock_id = FWK_ID_NONE_INIT,
+ },
+ },
[1] = { 0 },
}),
diff --git a/product/tc0/scp_romfw/config_ppu_v1.c b/product/tc0/scp_romfw/config_ppu_v1.c
index 0251a8dd..949fd6b4 100644
--- a/product/tc0/scp_romfw/config_ppu_v1.c
+++ b/product/tc0/scp_romfw/config_ppu_v1.c
@@ -6,8 +6,8 @@
*/
#include "config_power_domain.h"
-#include "tc0_core.h"
#include "scp_css_mmap.h"
+#include "tc0_core.h"
#include <mod_cmn_booker.h>
#include <mod_msys_rom.h>
@@ -31,14 +31,13 @@
/* Maximum PPU cluster name size including the null terminator */
#define PPU_CLUS_NAME_SIZE 6
-
/* Lookup table for translating cluster indicies into CMN_BOOKER node IDs */
-static const unsigned int cluster_idx_to_node_id[] = {68};
+static const unsigned int cluster_idx_to_node_id[] = { 68 };
static struct fwk_element ppu_v1_system_element_table[] = {
{
.name = "SYS0",
- .data = &((struct mod_ppu_v1_pd_config) {
+ .data = &((struct mod_ppu_v1_pd_config){
.pd_type = MOD_PD_TYPE_SYSTEM,
.ppu.reg_base = SCP_PPU_SYS0_BASE,
.observer_id = FWK_ID_NONE_INIT,
@@ -47,7 +46,7 @@ static struct fwk_element ppu_v1_system_element_table[] = {
},
{
.name = "SYS1",
- .data = &((struct mod_ppu_v1_pd_config) {
+ .data = &((struct mod_ppu_v1_pd_config){
.pd_type = MOD_PD_TYPE_SYSTEM,
.ppu.reg_base = SCP_PPU_SYS1_BASE,
.observer_id = FWK_ID_NONE_INIT,
@@ -70,8 +69,8 @@ static const struct fwk_element *tc0_ppu_v1_get_element_table(
* + Number of system power domain descriptors
* + 1 terminator descriptor
*/
- element_table = fwk_mm_calloc(2 +
- FWK_ARRAY_SIZE(ppu_v1_system_element_table) + 1,
+ element_table = fwk_mm_calloc(
+ 2 + FWK_ARRAY_SIZE(ppu_v1_system_element_table) + 1,
sizeof(struct fwk_element));
if (element_table == NULL)
return NULL;
@@ -95,11 +94,10 @@ static const struct fwk_element *tc0_ppu_v1_get_element_table(
pd_config->pd_type = MOD_PD_TYPE_CORE;
pd_config->ppu.reg_base = SCP_PPU_CORE_BASE(0, 0);
pd_config->ppu.irq = FWK_INTERRUPT_NONE;
- pd_config->cluster_id =
- FWK_ID_ELEMENT(FWK_MODULE_IDX_PPU_V1, 1);
+ pd_config->cluster_id = FWK_ID_ELEMENT(FWK_MODULE_IDX_PPU_V1, 1);
pd_config->observer_id = FWK_ID_NONE;
- //pd_config for cluster0
+ // pd_config for cluster0
element = &element_table[1];
pd_config = &pd_config_table[1];
@@ -116,14 +114,14 @@ static const struct fwk_element *tc0_ppu_v1_get_element_table(
pd_config->ppu.irq = FWK_INTERRUPT_NONE;
pd_config->observer_id = fwk_module_id_cmn_booker;
- pd_config->observer_api = FWK_ID_API(FWK_MODULE_IDX_CMN_BOOKER,
- MOD_CMN_BOOKER_API_IDX_PPU_OBSERVER);
- pd_config->post_ppu_on_param =
- (void *)&cluster_idx_to_node_id[0];
-
- memcpy(&element_table[2],
- ppu_v1_system_element_table,
- sizeof(ppu_v1_system_element_table));
+ pd_config->observer_api = FWK_ID_API(
+ FWK_MODULE_IDX_CMN_BOOKER, MOD_CMN_BOOKER_API_IDX_PPU_OBSERVER);
+ pd_config->post_ppu_on_param = (void *)&cluster_idx_to_node_id[0];
+
+ memcpy(
+ &element_table[2],
+ ppu_v1_system_element_table,
+ sizeof(ppu_v1_system_element_table));
return element_table;
}
diff --git a/product/tc0/scp_romfw/config_sds.c b/product/tc0/scp_romfw/config_sds.c
index 46d22e5b..fdfb9fef 100644
--- a/product/tc0/scp_romfw/config_sds.c
+++ b/product/tc0/scp_romfw/config_sds.c
@@ -6,9 +6,9 @@
*/
#include "clock_soc.h"
-#include "tc0_sds.h"
#include "scp_pik.h"
#include "scp_software_mmap.h"
+#include "tc0_sds.h"
#include <mod_sds.h>
@@ -25,27 +25,29 @@
static const uint32_t feature_flags = 0x00000000;
static const struct mod_sds_region_desc sds_module_regions[] = {
- [TC0_SDS_REGION_SECURE] = {
- .base = (void*)SCP_SDS_MEM_BASE,
- .size = SCP_SDS_MEM_SIZE,
- },
+ [TC0_SDS_REGION_SECURE] =
+ {
+ .base = (void *)SCP_SDS_MEM_BASE,
+ .size = SCP_SDS_MEM_SIZE,
+ },
};
-static_assert(FWK_ARRAY_SIZE(sds_module_regions) == TC0_SDS_REGION_COUNT,
- "Mismatch between number of SDS regions and number of regions "
- "provided by the SDS configuration.");
+static_assert(
+ FWK_ARRAY_SIZE(sds_module_regions) == TC0_SDS_REGION_COUNT,
+ "Mismatch between number of SDS regions and number of regions "
+ "provided by the SDS configuration.");
const struct mod_sds_config sds_module_config = {
.regions = sds_module_regions,
.region_count = TC0_SDS_REGION_COUNT,
- .clock_id = FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_CLOCK,
- CLOCK_IDX_INTERCONNECT)
+ .clock_id =
+ FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_CLOCK, CLOCK_IDX_INTERCONNECT)
};
static struct fwk_element sds_element_table[] = {
{
.name = "CPU Info",
- .data = &((struct mod_sds_structure_desc) {
+ .data = &((struct mod_sds_structure_desc){
.id = TC0_SDS_CPU_INFO,
.size = TC0_SDS_CPU_INFO_SIZE,
.region_id = TC0_SDS_REGION_SECURE,
@@ -54,7 +56,7 @@ static struct fwk_element sds_element_table[] = {
},
{
.name = "Feature Availability",
- .data = &((struct mod_sds_structure_desc) {
+ .data = &((struct mod_sds_structure_desc){
.id = TC0_SDS_FEATURE_AVAILABILITY,
.size = TC0_SDS_FEATURE_AVAILABILITY_SIZE,
.payload = &feature_flags,
@@ -64,7 +66,7 @@ static struct fwk_element sds_element_table[] = {
},
{
.name = "Bootloader",
- .data = &((struct mod_sds_structure_desc) {
+ .data = &((struct mod_sds_structure_desc){
.id = TC0_SDS_BOOTLOADER,
.size = TC0_SDS_BOOTLOADER_SIZE,
.region_id = TC0_SDS_REGION_SECURE,
@@ -74,11 +76,10 @@ static struct fwk_element sds_element_table[] = {
{ 0 }, /* Termination description. */
};
-static_assert(SCP_SDS_MEM_SIZE >
- TC0_SDS_CPU_INFO_SIZE +
- TC0_SDS_FEATURE_AVAILABILITY_SIZE +
- TC0_SDS_BOOTLOADER_SIZE,
- "SDS structures too large for SDS SRAM.\n");
+static_assert(
+ SCP_SDS_MEM_SIZE > TC0_SDS_CPU_INFO_SIZE +
+ TC0_SDS_FEATURE_AVAILABILITY_SIZE + TC0_SDS_BOOTLOADER_SIZE,
+ "SDS structures too large for SDS SRAM.\n");
static const struct fwk_element *sds_get_element_table(fwk_id_t module_id)
{
diff --git a/product/tc0/scp_romfw/config_system_pll.c b/product/tc0/scp_romfw/config_system_pll.c
index 12aca89b..192514bd 100644
--- a/product/tc0/scp_romfw/config_system_pll.c
+++ b/product/tc0/scp_romfw/config_system_pll.c
@@ -17,47 +17,50 @@
#include <fwk_module.h>
static const struct fwk_element system_pll_element_table[] = {
- [CLOCK_PLL_IDX_CPU0] = {
- .name = "CPU_PLL_0",
- .data = &((struct mod_system_pll_dev_config) {
- .control_reg = (void *)SCP_PLL_CPU0,
- .status_reg = (void *)&SCP_PIK_PTR->PLL_STATUS[1],
- .lock_flag_mask = PLL_STATUS_CPUPLLLOCK(0),
- .initial_rate = 1750 * FWK_MHZ,
- .min_rate = MOD_SYSTEM_PLL_MIN_RATE,
- .max_rate = MOD_SYSTEM_PLL_MAX_RATE,
- .min_step = MOD_SYSTEM_PLL_MIN_INTERVAL,
- }),
- },
- [CLOCK_PLL_IDX_SYS] = {
- .name = "SYS_PLL",
- .data = &((struct mod_system_pll_dev_config) {
- .control_reg = (void *)SCP_PLL_SYSPLL,
- .status_reg = (void *)&SCP_PIK_PTR->PLL_STATUS[0],
- .lock_flag_mask = PLL_STATUS_0_SYSPLLLOCK,
- .initial_rate = 2000 * FWK_MHZ,
- .min_rate = MOD_SYSTEM_PLL_MIN_RATE,
- .max_rate = MOD_SYSTEM_PLL_MAX_RATE,
- .min_step = MOD_SYSTEM_PLL_MIN_INTERVAL,
- }),
- },
- [CLOCK_PLL_IDX_INTERCONNECT] = {
- .name = "INT_PLL",
- .data = &((struct mod_system_pll_dev_config) {
- .control_reg = (void *)SCP_PLL_INTERCONNECT,
- .status_reg = (void *)&SCP_PIK_PTR->PLL_STATUS[0],
- .lock_flag_mask = PLL_STATUS_0_INTPLLLOCK,
- .initial_rate = 2000 * FWK_MHZ,
- .min_rate = MOD_SYSTEM_PLL_MIN_RATE,
- .max_rate = MOD_SYSTEM_PLL_MAX_RATE,
- .min_step = MOD_SYSTEM_PLL_MIN_INTERVAL,
- }),
- },
+ [CLOCK_PLL_IDX_CPU0] =
+ {
+ .name = "CPU_PLL_0",
+ .data = &((struct mod_system_pll_dev_config){
+ .control_reg = (void *)SCP_PLL_CPU0,
+ .status_reg = (void *)&SCP_PIK_PTR->PLL_STATUS[1],
+ .lock_flag_mask = PLL_STATUS_CPUPLLLOCK(0),
+ .initial_rate = 1750 * FWK_MHZ,
+ .min_rate = MOD_SYSTEM_PLL_MIN_RATE,
+ .max_rate = MOD_SYSTEM_PLL_MAX_RATE,
+ .min_step = MOD_SYSTEM_PLL_MIN_INTERVAL,
+ }),
+ },
+ [CLOCK_PLL_IDX_SYS] =
+ {
+ .name = "SYS_PLL",
+ .data = &((struct mod_system_pll_dev_config){
+ .control_reg = (void *)SCP_PLL_SYSPLL,
+ .status_reg = (void *)&SCP_PIK_PTR->PLL_STATUS[0],
+ .lock_flag_mask = PLL_STATUS_0_SYSPLLLOCK,
+ .initial_rate = 2000 * FWK_MHZ,
+ .min_rate = MOD_SYSTEM_PLL_MIN_RATE,
+ .max_rate = MOD_SYSTEM_PLL_MAX_RATE,
+ .min_step = MOD_SYSTEM_PLL_MIN_INTERVAL,
+ }),
+ },
+ [CLOCK_PLL_IDX_INTERCONNECT] =
+ {
+ .name = "INT_PLL",
+ .data = &((struct mod_system_pll_dev_config){
+ .control_reg = (void *)SCP_PLL_INTERCONNECT,
+ .status_reg = (void *)&SCP_PIK_PTR->PLL_STATUS[0],
+ .lock_flag_mask = PLL_STATUS_0_INTPLLLOCK,
+ .initial_rate = 2000 * FWK_MHZ,
+ .min_rate = MOD_SYSTEM_PLL_MIN_RATE,
+ .max_rate = MOD_SYSTEM_PLL_MAX_RATE,
+ .min_step = MOD_SYSTEM_PLL_MIN_INTERVAL,
+ }),
+ },
[CLOCK_PLL_IDX_COUNT] = { 0 }, /* Termination description. */
};
-static const struct fwk_element *system_pll_get_element_table
- (fwk_id_t module_id)
+static const struct fwk_element *system_pll_get_element_table(
+ fwk_id_t module_id)
{
return system_pll_element_table;
}
diff --git a/product/tc0/scp_romfw/config_timer.c b/product/tc0/scp_romfw/config_timer.c
index 87be05fd..746e6b29 100644
--- a/product/tc0/scp_romfw/config_timer.c
+++ b/product/tc0/scp_romfw/config_timer.c
@@ -18,14 +18,15 @@
* Timer HAL config
*/
static const struct fwk_element timer_dev_table[] = {
- [0] = {
- .name = "REFCLK",
- .data = &((struct mod_timer_dev_config) {
- .id = FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_GTIMER, 0),
- .timer_irq = TIMREFCLK_IRQ,
- }),
- .sub_element_count = 8, /* Number of alarms */
- },
+ [0] =
+ {
+ .name = "REFCLK",
+ .data = &((struct mod_timer_dev_config){
+ .id = FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_GTIMER, 0),
+ .timer_irq = TIMREFCLK_IRQ,
+ }),
+ .sub_element_count = 8, /* Number of alarms */
+ },
[1] = { 0 },
};