]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
interconnect: qcom: qcm2290: Update EBI channel configuration
authorKonrad Dybcio <konrad.dybcio@linaro.org>
Fri, 25 Aug 2023 15:38:29 +0000 (17:38 +0200)
committerGeorgi Djakov <djakov@kernel.org>
Mon, 9 Oct 2023 12:08:20 +0000 (15:08 +0300)
QCM2290 can support two memory configurations: single-channel, 32-bit
wide LPDDR3 @ up to 933MHz (bus clock) or dual-channel, 16-bit wide
LPDDR4X @ up to 1804 MHz. The interconnect driver in its current form
seems to gravitate towards the first one, however there are no LPDDR3-
equipped boards upstream and we still don't have a great way to discern
the DDR generations on the kernel side.

To make DDR scaling possible on the only currently-supported 2290
board, stick with the LPDDR4X config by default. The side effect on any
potential LPDDR3 board would be that the requested bus clock rate is
too high (but still capped to the firmware-configured FMAX).

Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20230726-topic-icc_coeff-v4-7-c04b60caa467@linaro.org
Signed-off-by: Georgi Djakov <djakov@kernel.org>
drivers/interconnect/qcom/qcm2290.c

index 7abc0c449220d15f9582f5bbe044a36189e80d25..b88cf9a022e035fe5ba1981b79e948e2472d3218 100644 (file)
@@ -678,7 +678,8 @@ static struct qcom_icc_node mas_gfx3d = {
 static struct qcom_icc_node slv_ebi1 = {
        .name = "slv_ebi1",
        .id = QCM2290_SLAVE_EBI1,
-       .buswidth = 8,
+       .buswidth = 4,
+       .channels = 2,
        .mas_rpm_id = -1,
        .slv_rpm_id = 0,
 };