Skip to content

Commit 584e936

Browse files
Jingyi Wangandersson
authored andcommitted
soc: qcom: llcc: Add LLCC configuration for the QCS8300 platform
Add LLCC configuration for the QCS8300 platform. There is an errata on LB_CNT information on QCS8300 platform, hardcode num_banks to get the correct value. Signed-off-by: Jingyi Wang <[email protected]> Reviewed-by: Konrad Dybcio <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Bjorn Andersson <[email protected]>
1 parent a83e18c commit 584e936

File tree

1 file changed

+67
-0
lines changed

1 file changed

+67
-0
lines changed

drivers/soc/qcom/llcc-qcom.c

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2667,6 +2667,56 @@ static const struct llcc_slice_config qcs615_data[] = {
26672667
},
26682668
};
26692669

2670+
static const struct llcc_slice_config qcs8300_data[] = {
2671+
{
2672+
.usecase_id = LLCC_GPUHTW,
2673+
.slice_id = 11,
2674+
.max_cap = 128,
2675+
.priority = 1,
2676+
.fixed_size = true,
2677+
.bonus_ways = 0xf,
2678+
.cache_mode = 0,
2679+
.retain_on_pc = true,
2680+
}, {
2681+
.usecase_id = LLCC_GPU,
2682+
.slice_id = 12,
2683+
.max_cap = 512,
2684+
.priority = 1,
2685+
.fixed_size = true,
2686+
.bonus_ways = 0xf,
2687+
.cache_mode = 0,
2688+
.retain_on_pc = true,
2689+
.write_scid_en = true,
2690+
}, {
2691+
.usecase_id = LLCC_MMUHWT,
2692+
.slice_id = 13,
2693+
.max_cap = 128,
2694+
.priority = 1,
2695+
.fixed_size = true,
2696+
.bonus_ways = 0xf,
2697+
.cache_mode = 0,
2698+
.activate_on_init = true,
2699+
}, {
2700+
.usecase_id = LLCC_ECC,
2701+
.slice_id = 26,
2702+
.max_cap = 256,
2703+
.priority = 3,
2704+
.fixed_size = true,
2705+
.bonus_ways = 0xf,
2706+
.cache_mode = 0,
2707+
.activate_on_init = true,
2708+
}, {
2709+
.usecase_id = LLCC_WRCACHE,
2710+
.slice_id = 31,
2711+
.max_cap = 128,
2712+
.priority = 1,
2713+
.fixed_size = true,
2714+
.bonus_ways = 0xf,
2715+
.cache_mode = 0,
2716+
.activate_on_init = true,
2717+
},
2718+
};
2719+
26702720
static const struct llcc_slice_config qdu1000_data_2ch[] = {
26712721
{
26722722
.usecase_id = LLCC_MDMHPGRW,
@@ -3098,6 +3148,17 @@ static const struct qcom_llcc_config qcs615_cfg[] = {
30983148
},
30993149
};
31003150

3151+
static const struct qcom_llcc_config qcs8300_cfg[] = {
3152+
{
3153+
.sct_data = qcs8300_data,
3154+
.size = ARRAY_SIZE(qcs8300_data),
3155+
.need_llcc_cfg = true,
3156+
.reg_offset = llcc_v2_1_reg_offset,
3157+
.edac_reg_offset = &llcc_v2_1_edac_reg_offset,
3158+
.num_banks = 4,
3159+
},
3160+
};
3161+
31013162
static const struct qcom_llcc_config qdu1000_cfg[] = {
31023163
{
31033164
.sct_data = qdu1000_data_8ch,
@@ -3309,6 +3370,11 @@ static const struct qcom_sct_config qcs615_cfgs = {
33093370
.num_config = ARRAY_SIZE(qcs615_cfg),
33103371
};
33113372

3373+
static const struct qcom_sct_config qcs8300_cfgs = {
3374+
.llcc_config = qcs8300_cfg,
3375+
.num_config = ARRAY_SIZE(qcs8300_cfg),
3376+
};
3377+
33123378
static const struct qcom_sct_config qdu1000_cfgs = {
33133379
.llcc_config = qdu1000_cfg,
33143380
.num_config = ARRAY_SIZE(qdu1000_cfg),
@@ -3982,6 +4048,7 @@ static int qcom_llcc_probe(struct platform_device *pdev)
39824048

39834049
static const struct of_device_id qcom_llcc_of_match[] = {
39844050
{ .compatible = "qcom,qcs615-llcc", .data = &qcs615_cfgs},
4051+
{ .compatible = "qcom,qcs8300-llcc", .data = &qcs8300_cfgs},
39854052
{ .compatible = "qcom,qdu1000-llcc", .data = &qdu1000_cfgs},
39864053
{ .compatible = "qcom,sa8775p-llcc", .data = &sa8775p_cfgs },
39874054
{ .compatible = "qcom,sar1130p-llcc", .data = &sar1130p_cfgs },

0 commit comments

Comments
 (0)