Tegra: smmu: add a hook to get number of devices
This patch adds a hook to get the number of smmu devices and removes the NUM_SMMU_DEVICES macro. Change-Id: Ia8dba7e9304224976b5da688b9e4b5438f11cc41 Signed-off-by: Steven Kao <skao@nvidia.com>
This commit is contained in:
parent
4c99400228
commit
bc5a86f767
|
@ -137,8 +137,10 @@ void tegra_smmu_save_context(uint64_t smmu_ctx_addr)
|
||||||
void tegra_smmu_init(void)
|
void tegra_smmu_init(void)
|
||||||
{
|
{
|
||||||
uint32_t val, cb_idx, smmu_id, ctx_base;
|
uint32_t val, cb_idx, smmu_id, ctx_base;
|
||||||
|
uint32_t smmu_counter = plat_get_num_smmu_devices();
|
||||||
|
|
||||||
|
for (smmu_id = 0UL; smmu_id < smmu_counter; smmu_id++) {
|
||||||
|
|
||||||
for (smmu_id = 0; smmu_id < NUM_SMMU_DEVICES; smmu_id++) {
|
|
||||||
/* Program the SMMU pagesize and reset CACHE_LOCK bit */
|
/* Program the SMMU pagesize and reset CACHE_LOCK bit */
|
||||||
val = tegra_smmu_read_32(smmu_id, SMMU_GSR0_SECURE_ACR);
|
val = tegra_smmu_read_32(smmu_id, SMMU_GSR0_SECURE_ACR);
|
||||||
val |= SMMU_GSR0_PGSIZE_64K;
|
val |= SMMU_GSR0_PGSIZE_64K;
|
||||||
|
|
|
@ -705,5 +705,6 @@ typedef struct smmu_regs {
|
||||||
void tegra_smmu_init(void);
|
void tegra_smmu_init(void);
|
||||||
void tegra_smmu_save_context(uint64_t smmu_ctx_addr);
|
void tegra_smmu_save_context(uint64_t smmu_ctx_addr);
|
||||||
smmu_regs_t *plat_get_smmu_ctx(void);
|
smmu_regs_t *plat_get_smmu_ctx(void);
|
||||||
|
uint32_t plat_get_num_smmu_devices(void);
|
||||||
|
|
||||||
#endif /* SMMU_H */
|
#endif /* SMMU_H */
|
||||||
|
|
|
@ -9,6 +9,8 @@
|
||||||
#include <smmu.h>
|
#include <smmu.h>
|
||||||
#include <tegra_def.h>
|
#include <tegra_def.h>
|
||||||
|
|
||||||
|
#define MAX_NUM_SMMU_DEVICES U(1)
|
||||||
|
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
* Array to hold SMMU context for Tegra186
|
* Array to hold SMMU context for Tegra186
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
|
@ -309,3 +311,11 @@ smmu_regs_t *plat_get_smmu_ctx(void)
|
||||||
|
|
||||||
return tegra186_smmu_context;
|
return tegra186_smmu_context;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*******************************************************************************
|
||||||
|
* Handler to return the support SMMU devices number
|
||||||
|
******************************************************************************/
|
||||||
|
uint32_t plat_get_num_smmu_devices(void)
|
||||||
|
{
|
||||||
|
return MAX_NUM_SMMU_DEVICES;
|
||||||
|
}
|
||||||
|
|
|
@ -20,9 +20,6 @@ $(eval $(call add_define,ENABLE_CHIP_VERIFICATION_HARNESS))
|
||||||
ENABLE_SMMU_DEVICE := 1
|
ENABLE_SMMU_DEVICE := 1
|
||||||
$(eval $(call add_define,ENABLE_SMMU_DEVICE))
|
$(eval $(call add_define,ENABLE_SMMU_DEVICE))
|
||||||
|
|
||||||
NUM_SMMU_DEVICES := 1
|
|
||||||
$(eval $(call add_define,NUM_SMMU_DEVICES))
|
|
||||||
|
|
||||||
RESET_TO_BL31 := 1
|
RESET_TO_BL31 := 1
|
||||||
|
|
||||||
PROGRAMMABLE_RESET_ADDRESS := 1
|
PROGRAMMABLE_RESET_ADDRESS := 1
|
||||||
|
|
Loading…
Reference in New Issue