[U-Boot] [PATCH 3/6] arm: rmobile: lager: Update Qos setting to version 0.955

Nobuhiro Iwamatsu nobuhiro.iwamatsu.yj at renesas.com
Thu Aug 7 02:23:19 CEST 2014


This updates QoS version 0.955 for ES1 of lager board.

Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj at renesas.com>
---
 board/renesas/lager/qos.c | 107 ++++++++++++++++++++++++++--------------------
 1 file changed, 61 insertions(+), 46 deletions(-)

diff --git a/board/renesas/lager/qos.c b/board/renesas/lager/qos.c
index 3742757..930fe8d 100644
--- a/board/renesas/lager/qos.c
+++ b/board/renesas/lager/qos.c
@@ -12,55 +12,55 @@
 #include <asm/io.h>
 #include <asm/arch/rmobile.h>
 
-/* QoS version 0.955 */
+/* QoS version 0.955 for ES1
 
 enum {
-	DBSC3_R00, DBSC3_R01, DBSC3_R02, DBSC3_R03, DBSC3_R04,
-	DBSC3_R05, DBSC3_R06, DBSC3_R07, DBSC3_R08, DBSC3_R09,
-	DBSC3_R10, DBSC3_R11, DBSC3_R12, DBSC3_R13, DBSC3_R14,
-	DBSC3_R15,
-	DBSC3_W00, DBSC3_W01, DBSC3_W02, DBSC3_W03, DBSC3_W04,
-	DBSC3_W05, DBSC3_W06, DBSC3_W07, DBSC3_W08, DBSC3_W09,
-	DBSC3_W10, DBSC3_W11, DBSC3_W12, DBSC3_W13, DBSC3_W14,
-	DBSC3_W15,
+	DBSC3_00, DBSC3_01, DBSC3_02, DBSC3_03, DBSC3_04,
+	DBSC3_05, DBSC3_06, DBSC3_07, DBSC3_08, DBSC3_09,
+	DBSC3_10, DBSC3_11, DBSC3_12, DBSC3_13, DBSC3_14,
+	DBSC3_15,
 	DBSC3_NR,
 };
 
-static const u32 dbsc3_qos_addr[DBSC3_NR] = {
-	[DBSC3_R00] = DBSC3_0_QOS_R0_BASE,
-	[DBSC3_R01] = DBSC3_0_QOS_R1_BASE,
-	[DBSC3_R02] = DBSC3_0_QOS_R2_BASE,
-	[DBSC3_R03] = DBSC3_0_QOS_R3_BASE,
-	[DBSC3_R04] = DBSC3_0_QOS_R4_BASE,
-	[DBSC3_R05] = DBSC3_0_QOS_R5_BASE,
-	[DBSC3_R06] = DBSC3_0_QOS_R6_BASE,
-	[DBSC3_R07] = DBSC3_0_QOS_R7_BASE,
-	[DBSC3_R08] = DBSC3_0_QOS_R8_BASE,
-	[DBSC3_R09] = DBSC3_0_QOS_R9_BASE,
-	[DBSC3_R10] = DBSC3_0_QOS_R10_BASE,
-	[DBSC3_R11] = DBSC3_0_QOS_R11_BASE,
-	[DBSC3_R12] = DBSC3_0_QOS_R12_BASE,
-	[DBSC3_R13] = DBSC3_0_QOS_R13_BASE,
-	[DBSC3_R14] = DBSC3_0_QOS_R14_BASE,
-	[DBSC3_R15] = DBSC3_0_QOS_R15_BASE,
-	[DBSC3_W00] = DBSC3_0_QOS_W0_BASE,
-	[DBSC3_W01] = DBSC3_0_QOS_W1_BASE,
-	[DBSC3_W02] = DBSC3_0_QOS_W2_BASE,
-	[DBSC3_W03] = DBSC3_0_QOS_W3_BASE,
-	[DBSC3_W04] = DBSC3_0_QOS_W4_BASE,
-	[DBSC3_W05] = DBSC3_0_QOS_W5_BASE,
-	[DBSC3_W06] = DBSC3_0_QOS_W6_BASE,
-	[DBSC3_W07] = DBSC3_0_QOS_W7_BASE,
-	[DBSC3_W08] = DBSC3_0_QOS_W8_BASE,
-	[DBSC3_W09] = DBSC3_0_QOS_W9_BASE,
-	[DBSC3_W10] = DBSC3_0_QOS_W10_BASE,
-	[DBSC3_W11] = DBSC3_0_QOS_W11_BASE,
-	[DBSC3_W12] = DBSC3_0_QOS_W12_BASE,
-	[DBSC3_W13] = DBSC3_0_QOS_W13_BASE,
-	[DBSC3_W14] = DBSC3_0_QOS_W14_BASE,
-	[DBSC3_W15] = DBSC3_0_QOS_W15_BASE,
+static u32 dbsc3_0_r_qos_addr[DBSC3_NR] = {
+	[DBSC3_00] = DBSC3_0_QOS_R0_BASE,
+	[DBSC3_01] = DBSC3_0_QOS_R1_BASE,
+	[DBSC3_02] = DBSC3_0_QOS_R2_BASE,
+	[DBSC3_03] = DBSC3_0_QOS_R3_BASE,
+	[DBSC3_04] = DBSC3_0_QOS_R4_BASE,
+	[DBSC3_05] = DBSC3_0_QOS_R5_BASE,
+	[DBSC3_06] = DBSC3_0_QOS_R6_BASE,
+	[DBSC3_07] = DBSC3_0_QOS_R7_BASE,
+	[DBSC3_08] = DBSC3_0_QOS_R8_BASE,
+	[DBSC3_09] = DBSC3_0_QOS_R9_BASE,
+	[DBSC3_10] = DBSC3_0_QOS_R10_BASE,
+	[DBSC3_11] = DBSC3_0_QOS_R11_BASE,
+	[DBSC3_12] = DBSC3_0_QOS_R12_BASE,
+	[DBSC3_13] = DBSC3_0_QOS_R13_BASE,
+	[DBSC3_14] = DBSC3_0_QOS_R14_BASE,
+	[DBSC3_15] = DBSC3_0_QOS_R15_BASE,
 };
 
+static u32 dbsc3_0_w_qos_addr[DBSC3_NR] = {
+	[DBSC3_00] = DBSC3_0_QOS_W0_BASE,
+	[DBSC3_01] = DBSC3_0_QOS_W1_BASE,
+	[DBSC3_02] = DBSC3_0_QOS_W2_BASE,
+	[DBSC3_03] = DBSC3_0_QOS_W3_BASE,
+	[DBSC3_04] = DBSC3_0_QOS_W4_BASE,
+	[DBSC3_05] = DBSC3_0_QOS_W5_BASE,
+	[DBSC3_06] = DBSC3_0_QOS_W6_BASE,
+	[DBSC3_07] = DBSC3_0_QOS_W7_BASE,
+	[DBSC3_08] = DBSC3_0_QOS_W8_BASE,
+	[DBSC3_09] = DBSC3_0_QOS_W9_BASE,
+	[DBSC3_10] = DBSC3_0_QOS_W10_BASE,
+	[DBSC3_11] = DBSC3_0_QOS_W11_BASE,
+	[DBSC3_12] = DBSC3_0_QOS_W12_BASE,
+	[DBSC3_13] = DBSC3_0_QOS_W13_BASE,
+	[DBSC3_14] = DBSC3_0_QOS_W14_BASE,
+	[DBSC3_15] = DBSC3_0_QOS_W15_BASE,
+};
+
+/* QoS version 0.955 for ES1 */
 void qos_init(void)
 {
 	int i;
@@ -115,7 +115,6 @@ void qos_init(void)
 	writel(0x20142032, &s3c_qos->s3cqos8);
 
 	s3c_qos = (struct rcar_s3c_qos *)S3C_QOS_AXI_BASE;
-
 	writel(0x00810089, &s3c_qos->s3cqos0);
 	writel(0x20410001, &s3c_qos->s3cqos1);
 	writel(0x200A2023, &s3c_qos->s3cqos2);
@@ -129,9 +128,24 @@ void qos_init(void)
 	writel(0x00200808, &s3c->s3carcr11);
 
 	/* DBSC -QoS */
-	/* DBSC0 - Read/Write */
-	for (i = DBSC3_R00; i < DBSC3_NR; i++) {
-		qos_addr = (struct rcar_dbsc3_qos *)dbsc3_qos_addr[i];
+	/* DBSC0 - Read */
+	for (i = DBSC3_00; i < DBSC3_NR; i++) {
+		qos_addr = (struct rcar_dbsc3_qos *)dbsc3_0_r_qos_addr[i];
+		writel(0x00000203, &qos_addr->dblgcnt);
+		writel(0x00002064, &qos_addr->dbtmval0);
+		writel(0x00002048, &qos_addr->dbtmval1);
+		writel(0x00002032, &qos_addr->dbtmval2);
+		writel(0x00002019, &qos_addr->dbtmval3);
+		writel(0x00000001, &qos_addr->dbrqctr);
+		writel(0x00002019, &qos_addr->dbthres0);
+		writel(0x00002019, &qos_addr->dbthres1);
+		writel(0x00002019, &qos_addr->dbthres2);
+		writel(0x00000000, &qos_addr->dblgqon);
+	}
+
+	/* DBSC0 - Write */
+	for (i = DBSC3_00; i < DBSC3_NR; i++) {
+		qos_addr = (struct rcar_dbsc3_qos *)dbsc3_0_w_qos_addr[i];
 		writel(0x00000203, &qos_addr->dblgcnt);
 		writel(0x00002064, &qos_addr->dbtmval0);
 		writel(0x00002048, &qos_addr->dbtmval1);
@@ -143,6 +157,7 @@ void qos_init(void)
 		writel(0x00002019, &qos_addr->dbthres2);
 		writel(0x00000000, &qos_addr->dblgqon);
 	}
+
 	/* CCI-400 -QoS */
 	writel(0x20001000, CCI_400_MAXOT_1);
 	writel(0x20001000, CCI_400_MAXOT_2);
-- 
2.0.0



More information about the U-Boot mailing list