diff options
Diffstat (limited to 'board/renesas/koelsch/qos.c')
-rw-r--r-- | board/renesas/koelsch/qos.c | 405 |
1 files changed, 245 insertions, 160 deletions
diff --git a/board/renesas/koelsch/qos.c b/board/renesas/koelsch/qos.c index 7f88f7da8..55a04202c 100644 --- a/board/renesas/koelsch/qos.c +++ b/board/renesas/koelsch/qos.c @@ -1,7 +1,7 @@ /* * board/renesas/koelsch/qos.c * - * Copyright (C) 2013 Renesas Electronics Corporation + * Copyright (C) 2013,2014 Renesas Electronics Corporation * * SPDX-License-Identifier: GPL-2.0 * @@ -13,7 +13,7 @@ #include <asm/io.h> #include <asm/arch/rmobile.h> -/* QoS version 0.23 */ +/* QoS version 0.240 for ES1 and version 0.310 for ES2 */ enum { DBSC3_00, DBSC3_01, DBSC3_02, DBSC3_03, DBSC3_04, @@ -102,24 +102,31 @@ static u32 dbsc3_1_w_qos_addr[DBSC3_NR] = { void qos_init(void) { int i; - struct r8a7791_s3c *s3c; - struct r8a7791_s3c_qos *s3c_qos; - struct r8a7791_dbsc3_qos *qos_addr; - struct r8a7791_mxi *mxi; - struct r8a7791_mxi_qos *mxi_qos; - struct r8a7791_axi_qos *axi_qos; + struct rcar_s3c *s3c; + struct rcar_s3c_qos *s3c_qos; + struct rcar_dbsc3_qos *qos_addr; + struct rcar_mxi *mxi; + struct rcar_mxi_qos *mxi_qos; + struct rcar_axi_qos *axi_qos; /* DBSC DBADJ2 */ writel(0x20042004, DBSC3_0_DBADJ2); + writel(0x20042004, DBSC3_1_DBADJ2); /* S3C -QoS */ - s3c = (struct r8a7791_s3c *)S3C_BASE; - writel(0x00FF1B1D, &s3c->s3cadsplcr); - writel(0x1F0D0C0C, &s3c->s3crorr); - writel(0x1F0D0C0A, &s3c->s3cworr); - + s3c = (struct rcar_s3c *)S3C_BASE; + if (IS_R8A7791_ES2()) { + writel(0x00FF1B0D, &s3c->s3cadsplcr); + writel(0x1F0D0B0A, &s3c->s3crorr); + writel(0x1F0D0B09, &s3c->s3cworr); + writel(0x00200808, &s3c->s3carcr11); + } else { + writel(0x00FF1B1D, &s3c->s3cadsplcr); + writel(0x1F0D0C0C, &s3c->s3crorr); + writel(0x1F0D0C0A, &s3c->s3cworr); + } /* QoS Control Registers */ - s3c_qos = (struct r8a7791_s3c_qos *)S3C_QOS_CCI0_BASE; + s3c_qos = (struct rcar_s3c_qos *)S3C_QOS_CCI0_BASE; writel(0x00890089, &s3c_qos->s3cqos0); writel(0x20960010, &s3c_qos->s3cqos1); writel(0x20302030, &s3c_qos->s3cqos2); @@ -130,7 +137,7 @@ void qos_init(void) writel(0x20AA2200, &s3c_qos->s3cqos7); writel(0x00002032, &s3c_qos->s3cqos8); - s3c_qos = (struct r8a7791_s3c_qos *)S3C_QOS_CCI1_BASE; + s3c_qos = (struct rcar_s3c_qos *)S3C_QOS_CCI1_BASE; writel(0x00890089, &s3c_qos->s3cqos0); writel(0x20960010, &s3c_qos->s3cqos1); writel(0x20302030, &s3c_qos->s3cqos2); @@ -141,8 +148,11 @@ void qos_init(void) writel(0x20AA2200, &s3c_qos->s3cqos7); writel(0x00002032, &s3c_qos->s3cqos8); - s3c_qos = (struct r8a7791_s3c_qos *)S3C_QOS_MXI_BASE; - writel(0x00820082, &s3c_qos->s3cqos0); + s3c_qos = (struct rcar_s3c_qos *)S3C_QOS_MXI_BASE; + if (IS_R8A7791_ES2()) + writel(0x80928092, &s3c_qos->s3cqos0); + else + writel(0x00820082, &s3c_qos->s3cqos0); writel(0x20960020, &s3c_qos->s3cqos1); writel(0x20302030, &s3c_qos->s3cqos2); writel(0x20AA20DC, &s3c_qos->s3cqos3); @@ -152,7 +162,7 @@ void qos_init(void) writel(0x20AA20DC, &s3c_qos->s3cqos7); writel(0x00002032, &s3c_qos->s3cqos8); - s3c_qos = (struct r8a7791_s3c_qos *)S3C_QOS_AXI_BASE; + s3c_qos = (struct rcar_s3c_qos *)S3C_QOS_AXI_BASE; writel(0x00820082, &s3c_qos->s3cqos0); writel(0x20960020, &s3c_qos->s3cqos1); writel(0x20302030, &s3c_qos->s3cqos2); @@ -166,7 +176,7 @@ void qos_init(void) /* DBSC -QoS */ /* DBSC0 - Read */ for (i = DBSC3_00; i < DBSC3_NR; i++) { - qos_addr = (struct r8a7791_dbsc3_qos *)dbsc3_0_r_qos_addr[i]; + qos_addr = (struct rcar_dbsc3_qos *)dbsc3_0_r_qos_addr[i]; writel(0x00000002, &qos_addr->dblgcnt); writel(0x00002096, &qos_addr->dbtmval0); writel(0x00002064, &qos_addr->dbtmval1); @@ -181,7 +191,7 @@ void qos_init(void) /* DBSC0 - Write */ for (i = DBSC3_00; i < DBSC3_NR; i++) { - qos_addr = (struct r8a7791_dbsc3_qos *)dbsc3_0_w_qos_addr[i]; + qos_addr = (struct rcar_dbsc3_qos *)dbsc3_0_w_qos_addr[i]; writel(0x00000002, &qos_addr->dblgcnt); writel(0x000020EB, &qos_addr->dbtmval0); writel(0x0000206E, &qos_addr->dbtmval1); @@ -196,7 +206,7 @@ void qos_init(void) /* DBSC1 - Read */ for (i = DBSC3_00; i < DBSC3_NR; i++) { - qos_addr = (struct r8a7791_dbsc3_qos *)dbsc3_1_r_qos_addr[i]; + qos_addr = (struct rcar_dbsc3_qos *)dbsc3_1_r_qos_addr[i]; writel(0x00000002, &qos_addr->dblgcnt); writel(0x00002096, &qos_addr->dbtmval0); writel(0x00002064, &qos_addr->dbtmval1); @@ -211,7 +221,7 @@ void qos_init(void) /* DBSC1 - Write */ for (i = DBSC3_00; i < DBSC3_NR; i++) { - qos_addr = (struct r8a7791_dbsc3_qos *)dbsc3_1_w_qos_addr[i]; + qos_addr = (struct rcar_dbsc3_qos *)dbsc3_1_w_qos_addr[i]; writel(0x00000002, &qos_addr->dblgcnt); writel(0x000020EB, &qos_addr->dbtmval0); writel(0x0000206E, &qos_addr->dbtmval1); @@ -232,14 +242,14 @@ void qos_init(void) /* MXI -QoS */ /* Transaction Control (MXI) */ - mxi = (struct r8a7791_mxi *)MXI_BASE; + mxi = (struct rcar_mxi *)MXI_BASE; writel(0x00000013, &mxi->mxrtcr); writel(0x00000013, &mxi->mxwtcr); writel(0x00780080, &mxi->mxsaar0); writel(0x02000800, &mxi->mxsaar1); /* QoS Control (MXI) */ - mxi_qos = (struct r8a7791_mxi_qos *)MXI_QOS_BASE; + mxi_qos = (struct rcar_mxi_qos *)MXI_QOS_BASE; writel(0x0000000C, &mxi_qos->vspdu0); writel(0x0000000C, &mxi_qos->vspdu1); writel(0x0000000D, &mxi_qos->du0); @@ -247,7 +257,7 @@ void qos_init(void) /* AXI -QoS */ /* Transaction Control (MXI) */ - axi_qos = (struct r8a7791_axi_qos *)SYS_AXI_SYX64TO128_BASE; + axi_qos = (struct rcar_axi_qos *)SYS_AXI_SYX64TO128_BASE; writel(0x00000002, &axi_qos->qosconf); writel(0x00002245, &axi_qos->qosctset0); writel(0x00002096, &axi_qos->qosctset1); @@ -259,7 +269,7 @@ void qos_init(void) writel(0x00000000, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)SYS_AXI_AVB_BASE; + axi_qos = (struct rcar_axi_qos *)SYS_AXI_AVB_BASE; writel(0x00000000, &axi_qos->qosconf); writel(0x000020A6, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); @@ -268,7 +278,7 @@ void qos_init(void) writel(0x00000000, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)SYS_AXI_G2D_BASE; + axi_qos = (struct rcar_axi_qos *)SYS_AXI_G2D_BASE; writel(0x00000000, &axi_qos->qosconf); writel(0x000020A6, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); @@ -277,7 +287,7 @@ void qos_init(void) writel(0x00000000, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)SYS_AXI_IMP0_BASE; + axi_qos = (struct rcar_axi_qos *)SYS_AXI_IMP0_BASE; writel(0x00000000, &axi_qos->qosconf); writel(0x00002021, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); @@ -286,7 +296,7 @@ void qos_init(void) writel(0x00000000, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)SYS_AXI_IMP1_BASE; + axi_qos = (struct rcar_axi_qos *)SYS_AXI_IMP1_BASE; writel(0x00000000, &axi_qos->qosconf); writel(0x00002037, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); @@ -295,7 +305,7 @@ void qos_init(void) writel(0x00000000, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)SYS_AXI_IMUX0_BASE; + axi_qos = (struct rcar_axi_qos *)SYS_AXI_IMUX0_BASE; writel(0x00000002, &axi_qos->qosconf); writel(0x00002245, &axi_qos->qosctset0); writel(0x00002096, &axi_qos->qosctset1); @@ -307,7 +317,7 @@ void qos_init(void) writel(0x00000000, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)SYS_AXI_IMUX1_BASE; + axi_qos = (struct rcar_axi_qos *)SYS_AXI_IMUX1_BASE; writel(0x00000002, &axi_qos->qosconf); writel(0x00002245, &axi_qos->qosctset0); writel(0x00002096, &axi_qos->qosctset1); @@ -319,7 +329,7 @@ void qos_init(void) writel(0x00000000, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)SYS_AXI_IMUX2_BASE; + axi_qos = (struct rcar_axi_qos *)SYS_AXI_IMUX2_BASE; writel(0x00000002, &axi_qos->qosconf); writel(0x00002245, &axi_qos->qosctset0); writel(0x00002096, &axi_qos->qosctset1); @@ -331,7 +341,7 @@ void qos_init(void) writel(0x00000000, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)SYS_AXI_LBS_BASE; + axi_qos = (struct rcar_axi_qos *)SYS_AXI_LBS_BASE; writel(0x00000000, &axi_qos->qosconf); writel(0x0000214C, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); @@ -340,7 +350,7 @@ void qos_init(void) writel(0x00000000, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)SYS_AXI_MMUDS_BASE; + axi_qos = (struct rcar_axi_qos *)SYS_AXI_MMUDS_BASE; writel(0x00000001, &axi_qos->qosconf); writel(0x00002004, &axi_qos->qosctset0); writel(0x00002096, &axi_qos->qosctset1); @@ -352,7 +362,7 @@ void qos_init(void) writel(0x00000000, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)SYS_AXI_MMUM_BASE; + axi_qos = (struct rcar_axi_qos *)SYS_AXI_MMUM_BASE; writel(0x00000001, &axi_qos->qosconf); writel(0x00002004, &axi_qos->qosctset0); writel(0x00002096, &axi_qos->qosctset1); @@ -364,7 +374,7 @@ void qos_init(void) writel(0x00000000, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)SYS_AXI_MMUR_BASE; + axi_qos = (struct rcar_axi_qos *)SYS_AXI_MMUR_BASE; writel(0x00000001, &axi_qos->qosconf); writel(0x00002004, &axi_qos->qosctset0); writel(0x00002096, &axi_qos->qosctset1); @@ -376,7 +386,7 @@ void qos_init(void) writel(0x00000000, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)SYS_AXI_MMUS0_BASE; + axi_qos = (struct rcar_axi_qos *)SYS_AXI_MMUS0_BASE; writel(0x00000001, &axi_qos->qosconf); writel(0x00002004, &axi_qos->qosctset0); writel(0x00002096, &axi_qos->qosctset1); @@ -388,7 +398,7 @@ void qos_init(void) writel(0x00000000, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)SYS_AXI_MMUS1_BASE; + axi_qos = (struct rcar_axi_qos *)SYS_AXI_MMUS1_BASE; writel(0x00000001, &axi_qos->qosconf); writel(0x00002004, &axi_qos->qosctset0); writel(0x00002096, &axi_qos->qosctset1); @@ -400,7 +410,7 @@ void qos_init(void) writel(0x00000000, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)SYS_AXI_MTSB0_BASE; + axi_qos = (struct rcar_axi_qos *)SYS_AXI_MTSB0_BASE; writel(0x00000000, &axi_qos->qosconf); writel(0x00002021, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); @@ -409,7 +419,7 @@ void qos_init(void) writel(0x00000000, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)SYS_AXI_MTSB1_BASE; + axi_qos = (struct rcar_axi_qos *)SYS_AXI_MTSB1_BASE; writel(0x00000000, &axi_qos->qosconf); writel(0x00002021, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); @@ -418,7 +428,7 @@ void qos_init(void) writel(0x00000000, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)SYS_AXI_PCI_BASE; + axi_qos = (struct rcar_axi_qos *)SYS_AXI_PCI_BASE; writel(0x00000000, &axi_qos->qosconf); writel(0x0000214C, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); @@ -427,7 +437,7 @@ void qos_init(void) writel(0x00000000, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)SYS_AXI_RTX_BASE; + axi_qos = (struct rcar_axi_qos *)SYS_AXI_RTX_BASE; writel(0x00000002, &axi_qos->qosconf); writel(0x00002245, &axi_qos->qosctset0); writel(0x00002096, &axi_qos->qosctset1); @@ -439,7 +449,7 @@ void qos_init(void) writel(0x00000000, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)SYS_AXI_SDS0_BASE; + axi_qos = (struct rcar_axi_qos *)SYS_AXI_SDS0_BASE; writel(0x00000000, &axi_qos->qosconf); writel(0x000020A6, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); @@ -448,7 +458,7 @@ void qos_init(void) writel(0x00000000, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)SYS_AXI_SDS1_BASE; + axi_qos = (struct rcar_axi_qos *)SYS_AXI_SDS1_BASE; writel(0x00000000, &axi_qos->qosconf); writel(0x000020A6, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); @@ -457,7 +467,7 @@ void qos_init(void) writel(0x00000000, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)SYS_AXI_USB20_BASE; + axi_qos = (struct rcar_axi_qos *)SYS_AXI_USB20_BASE; writel(0x00000000, &axi_qos->qosconf); writel(0x00002053, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); @@ -466,7 +476,7 @@ void qos_init(void) writel(0x00000000, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)SYS_AXI_USB21_BASE; + axi_qos = (struct rcar_axi_qos *)SYS_AXI_USB21_BASE; writel(0x00000000, &axi_qos->qosconf); writel(0x00002053, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); @@ -475,7 +485,7 @@ void qos_init(void) writel(0x00000000, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)SYS_AXI_USB22_BASE; + axi_qos = (struct rcar_axi_qos *)SYS_AXI_USB22_BASE; writel(0x00000000, &axi_qos->qosconf); writel(0x00002053, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); @@ -484,7 +494,7 @@ void qos_init(void) writel(0x00000000, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)SYS_AXI_USB30_BASE; + axi_qos = (struct rcar_axi_qos *)SYS_AXI_USB30_BASE; writel(0x00000000, &axi_qos->qosconf); writel(0x0000214C, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); @@ -493,7 +503,7 @@ void qos_init(void) writel(0x00000000, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)SYS_AXI_AX2M_BASE; + axi_qos = (struct rcar_axi_qos *)SYS_AXI_AX2M_BASE; writel(0x00000002, &axi_qos->qosconf); writel(0x00002245, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); @@ -502,7 +512,7 @@ void qos_init(void) writel(0x00000000, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)SYS_AXI_CC50_BASE; + axi_qos = (struct rcar_axi_qos *)SYS_AXI_CC50_BASE; writel(0x00000000, &axi_qos->qosconf); writel(0x00002029, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); @@ -511,7 +521,7 @@ void qos_init(void) writel(0x00000000, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)SYS_AXI_CCI_BASE; + axi_qos = (struct rcar_axi_qos *)SYS_AXI_CCI_BASE; writel(0x00000002, &axi_qos->qosconf); writel(0x00002245, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); @@ -520,7 +530,7 @@ void qos_init(void) writel(0x00000000, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)SYS_AXI_CS_BASE; + axi_qos = (struct rcar_axi_qos *)SYS_AXI_CS_BASE; writel(0x00000000, &axi_qos->qosconf); writel(0x00002053, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); @@ -529,7 +539,7 @@ void qos_init(void) writel(0x00000000, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)SYS_AXI_DDM_BASE; + axi_qos = (struct rcar_axi_qos *)SYS_AXI_DDM_BASE; writel(0x00000000, &axi_qos->qosconf); writel(0x000020A6, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); @@ -538,7 +548,7 @@ void qos_init(void) writel(0x00000000, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)SYS_AXI_ETH_BASE; + axi_qos = (struct rcar_axi_qos *)SYS_AXI_ETH_BASE; writel(0x00000000, &axi_qos->qosconf); writel(0x00002053, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); @@ -547,7 +557,7 @@ void qos_init(void) writel(0x00000000, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)SYS_AXI_MPXM_BASE; + axi_qos = (struct rcar_axi_qos *)SYS_AXI_MPXM_BASE; writel(0x00000002, &axi_qos->qosconf); writel(0x00002245, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); @@ -556,7 +566,7 @@ void qos_init(void) writel(0x00000000, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)SYS_AXI_SAT0_BASE; + axi_qos = (struct rcar_axi_qos *)SYS_AXI_SAT0_BASE; writel(0x00000000, &axi_qos->qosconf); writel(0x00002053, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); @@ -565,7 +575,7 @@ void qos_init(void) writel(0x00000000, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)SYS_AXI_SAT1_BASE; + axi_qos = (struct rcar_axi_qos *)SYS_AXI_SAT1_BASE; writel(0x00000000, &axi_qos->qosconf); writel(0x00002053, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); @@ -574,7 +584,7 @@ void qos_init(void) writel(0x00000000, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)SYS_AXI_SDM0_BASE; + axi_qos = (struct rcar_axi_qos *)SYS_AXI_SDM0_BASE; writel(0x00000000, &axi_qos->qosconf); writel(0x0000214C, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); @@ -583,7 +593,7 @@ void qos_init(void) writel(0x00000000, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)SYS_AXI_SDM1_BASE; + axi_qos = (struct rcar_axi_qos *)SYS_AXI_SDM1_BASE; writel(0x00000000, &axi_qos->qosconf); writel(0x0000214C, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); @@ -592,7 +602,7 @@ void qos_init(void) writel(0x00000000, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)SYS_AXI_TRAB_BASE; + axi_qos = (struct rcar_axi_qos *)SYS_AXI_TRAB_BASE; writel(0x00000000, &axi_qos->qosconf); writel(0x000020A6, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); @@ -601,7 +611,7 @@ void qos_init(void) writel(0x00000000, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)SYS_AXI_UDM0_BASE; + axi_qos = (struct rcar_axi_qos *)SYS_AXI_UDM0_BASE; writel(0x00000000, &axi_qos->qosconf); writel(0x00002053, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); @@ -610,7 +620,7 @@ void qos_init(void) writel(0x00000000, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)SYS_AXI_UDM1_BASE; + axi_qos = (struct rcar_axi_qos *)SYS_AXI_UDM1_BASE; writel(0x00000000, &axi_qos->qosconf); writel(0x00002053, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); @@ -620,7 +630,7 @@ void qos_init(void) writel(0x00000001, &axi_qos->qosqon); /* QoS Register (RT-AXI) */ - axi_qos = (struct r8a7791_axi_qos *)RT_AXI_SHX_BASE; + axi_qos = (struct rcar_axi_qos *)RT_AXI_SHX_BASE; writel(0x00000000, &axi_qos->qosconf); writel(0x00002053, &axi_qos->qosctset0); writel(0x00002096, &axi_qos->qosctset1); @@ -632,7 +642,7 @@ void qos_init(void) writel(0x00000000, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)RT_AXI_DBG_BASE; + axi_qos = (struct rcar_axi_qos *)RT_AXI_DBG_BASE; writel(0x00000000, &axi_qos->qosconf); writel(0x00002053, &axi_qos->qosctset0); writel(0x00002096, &axi_qos->qosctset1); @@ -644,7 +654,7 @@ void qos_init(void) writel(0x00000000, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)RT_AXI_RDM_BASE; + axi_qos = (struct rcar_axi_qos *)RT_AXI_RDM_BASE; writel(0x00000000, &axi_qos->qosconf); writel(0x00002299, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); @@ -653,7 +663,7 @@ void qos_init(void) writel(0x00000000, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)RT_AXI_RDS_BASE; + axi_qos = (struct rcar_axi_qos *)RT_AXI_RDS_BASE; writel(0x00000000, &axi_qos->qosconf); writel(0x00002029, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); @@ -662,7 +672,7 @@ void qos_init(void) writel(0x00000000, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)RT_AXI_RTX64TO128_BASE; + axi_qos = (struct rcar_axi_qos *)RT_AXI_RTX64TO128_BASE; writel(0x00000002, &axi_qos->qosconf); writel(0x00002245, &axi_qos->qosctset0); writel(0x00002096, &axi_qos->qosctset1); @@ -674,7 +684,7 @@ void qos_init(void) writel(0x00000000, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)RT_AXI_STPRO_BASE; + axi_qos = (struct rcar_axi_qos *)RT_AXI_STPRO_BASE; writel(0x00000000, &axi_qos->qosconf); writel(0x00002029, &axi_qos->qosctset0); writel(0x00002096, &axi_qos->qosctset1); @@ -686,12 +696,9 @@ void qos_init(void) writel(0x00000000, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)RT_AXI_SY2RT_BASE; + axi_qos = (struct rcar_axi_qos *)RT_AXI_SY2RT_BASE; writel(0x00000002, &axi_qos->qosconf); writel(0x00002245, &axi_qos->qosctset0); - writel(0x00002096, &axi_qos->qosctset1); - writel(0x00002030, &axi_qos->qosctset2); - writel(0x00002030, &axi_qos->qosctset3); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00002064, &axi_qos->qosthres0); writel(0x00002004, &axi_qos->qosthres1); @@ -699,7 +706,7 @@ void qos_init(void) writel(0x00000001, &axi_qos->qosqon); /* QoS Register (MP-AXI) */ - axi_qos = (struct r8a7791_axi_qos *)MP_AXI_ADSP_BASE; + axi_qos = (struct rcar_axi_qos *)MP_AXI_ADSP_BASE; writel(0x00000000, &axi_qos->qosconf); writel(0x00002037, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); @@ -708,34 +715,34 @@ void qos_init(void) writel(0x00000000, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)MP_AXI_ASDS0_BASE; + axi_qos = (struct rcar_axi_qos *)MP_AXI_ASDS0_BASE; writel(0x00000001, &axi_qos->qosconf); writel(0x00002014, &axi_qos->qosctset0); - writel(0x00000001, &axi_qos->qosreqctr); + writel(0x00000040, &axi_qos->qosreqctr); writel(0x00002064, &axi_qos->qosthres0); writel(0x00002004, &axi_qos->qosthres1); writel(0x00000000, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)MP_AXI_ASDS1_BASE; + axi_qos = (struct rcar_axi_qos *)MP_AXI_ASDS1_BASE; writel(0x00000001, &axi_qos->qosconf); writel(0x00002014, &axi_qos->qosctset0); - writel(0x00000001, &axi_qos->qosreqctr); + writel(0x00000040, &axi_qos->qosreqctr); writel(0x00002064, &axi_qos->qosthres0); writel(0x00002004, &axi_qos->qosthres1); writel(0x00000000, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)MP_AXI_MLP_BASE; - writel(0x00000000, &axi_qos->qosconf); - writel(0x00002014, &axi_qos->qosctset0); - writel(0x00000001, &axi_qos->qosreqctr); + axi_qos = (struct rcar_axi_qos *)MP_AXI_MLP_BASE; + writel(0x00000001, &axi_qos->qosconf); + writel(0x00001FF0, &axi_qos->qosctset0); + writel(0x00000020, &axi_qos->qosreqctr); writel(0x00002064, &axi_qos->qosthres0); writel(0x00002004, &axi_qos->qosthres1); - writel(0x00000000, &axi_qos->qosthres2); + writel(0x00002001, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)MP_AXI_MMUMP_BASE; + axi_qos = (struct rcar_axi_qos *)MP_AXI_MMUMP_BASE; writel(0x00000001, &axi_qos->qosconf); writel(0x00002004, &axi_qos->qosctset0); writel(0x00002096, &axi_qos->qosctset1); @@ -747,7 +754,7 @@ void qos_init(void) writel(0x00000000, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)MP_AXI_SPU_BASE; + axi_qos = (struct rcar_axi_qos *)MP_AXI_SPU_BASE; writel(0x00000000, &axi_qos->qosconf); writel(0x00002053, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); @@ -756,7 +763,7 @@ void qos_init(void) writel(0x00000000, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)MP_AXI_SPUC_BASE; + axi_qos = (struct rcar_axi_qos *)MP_AXI_SPUC_BASE; writel(0x00000000, &axi_qos->qosconf); writel(0x0000206E, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); @@ -766,9 +773,12 @@ void qos_init(void) writel(0x00000001, &axi_qos->qosqon); /* QoS Register (SYS-AXI256) */ - axi_qos = (struct r8a7791_axi_qos *)SYS_AXI256_AXI128TO256_BASE; + axi_qos = (struct rcar_axi_qos *)SYS_AXI256_AXI128TO256_BASE; writel(0x00000002, &axi_qos->qosconf); - writel(0x00002245, &axi_qos->qosctset0); + if (IS_R8A7791_ES2()) + writel(0x000020EB, &axi_qos->qosctset0); + else + writel(0x00002245, &axi_qos->qosctset0); writel(0x00002096, &axi_qos->qosctset1); writel(0x00002030, &axi_qos->qosctset2); writel(0x00002030, &axi_qos->qosctset3); @@ -778,9 +788,12 @@ void qos_init(void) writel(0x00000000, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)SYS_AXI256_SYX_BASE; + axi_qos = (struct rcar_axi_qos *)SYS_AXI256_SYX_BASE; writel(0x00000002, &axi_qos->qosconf); - writel(0x00002245, &axi_qos->qosctset0); + if (IS_R8A7791_ES2()) + writel(0x000020EB, &axi_qos->qosctset0); + else + writel(0x00002245, &axi_qos->qosctset0); writel(0x00002096, &axi_qos->qosctset1); writel(0x00002030, &axi_qos->qosctset2); writel(0x00002030, &axi_qos->qosctset3); @@ -790,9 +803,12 @@ void qos_init(void) writel(0x00000000, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)SYS_AXI256_MPX_BASE; + axi_qos = (struct rcar_axi_qos *)SYS_AXI256_MPX_BASE; writel(0x00000002, &axi_qos->qosconf); - writel(0x00002245, &axi_qos->qosctset0); + if (IS_R8A7791_ES2()) + writel(0x000020EB, &axi_qos->qosctset0); + else + writel(0x00002245, &axi_qos->qosctset0); writel(0x00002096, &axi_qos->qosctset1); writel(0x00002030, &axi_qos->qosctset2); writel(0x00002030, &axi_qos->qosctset3); @@ -802,7 +818,7 @@ void qos_init(void) writel(0x00000000, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)SYS_AXI256_MXI_BASE; + axi_qos = (struct rcar_axi_qos *)SYS_AXI256_MXI_BASE; writel(0x00000002, &axi_qos->qosconf); writel(0x00002245, &axi_qos->qosctset0); writel(0x00002096, &axi_qos->qosctset1); @@ -815,7 +831,7 @@ void qos_init(void) writel(0x00000001, &axi_qos->qosqon); /* QoS Register (CCI-AXI) */ - axi_qos = (struct r8a7791_axi_qos *)CCI_AXI_MMUS0_BASE; + axi_qos = (struct rcar_axi_qos *)CCI_AXI_MMUS0_BASE; writel(0x00000001, &axi_qos->qosconf); writel(0x00002004, &axi_qos->qosctset0); writel(0x00002096, &axi_qos->qosctset1); @@ -827,7 +843,7 @@ void qos_init(void) writel(0x00000000, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)CCI_AXI_SYX2_BASE; + axi_qos = (struct rcar_axi_qos *)CCI_AXI_SYX2_BASE; writel(0x00000002, &axi_qos->qosconf); writel(0x00002245, &axi_qos->qosctset0); writel(0x00002096, &axi_qos->qosctset1); @@ -839,7 +855,7 @@ void qos_init(void) writel(0x00000000, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)CCI_AXI_MMUR_BASE; + axi_qos = (struct rcar_axi_qos *)CCI_AXI_MMUR_BASE; writel(0x00000001, &axi_qos->qosconf); writel(0x00002004, &axi_qos->qosctset0); writel(0x00002096, &axi_qos->qosctset1); @@ -851,7 +867,7 @@ void qos_init(void) writel(0x00000000, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)CCI_AXI_MMUDS_BASE; + axi_qos = (struct rcar_axi_qos *)CCI_AXI_MMUDS_BASE; writel(0x00000001, &axi_qos->qosconf); writel(0x00002004, &axi_qos->qosctset0); writel(0x00002096, &axi_qos->qosctset1); @@ -863,7 +879,7 @@ void qos_init(void) writel(0x00000000, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)CCI_AXI_MMUM_BASE; + axi_qos = (struct rcar_axi_qos *)CCI_AXI_MMUM_BASE; writel(0x00000001, &axi_qos->qosconf); writel(0x00002004, &axi_qos->qosctset0); writel(0x00002096, &axi_qos->qosctset1); @@ -875,7 +891,7 @@ void qos_init(void) writel(0x00000000, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)CCI_AXI_MXI_BASE; + axi_qos = (struct rcar_axi_qos *)CCI_AXI_MXI_BASE; writel(0x00000002, &axi_qos->qosconf); writel(0x00002245, &axi_qos->qosctset0); writel(0x00002096, &axi_qos->qosctset1); @@ -887,7 +903,7 @@ void qos_init(void) writel(0x00000000, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)CCI_AXI_MMUS1_BASE; + axi_qos = (struct rcar_axi_qos *)CCI_AXI_MMUS1_BASE; writel(0x00000001, &axi_qos->qosconf); writel(0x00002004, &axi_qos->qosctset0); writel(0x00002096, &axi_qos->qosctset1); @@ -899,7 +915,7 @@ void qos_init(void) writel(0x00000000, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)CCI_AXI_MMUMP_BASE; + axi_qos = (struct rcar_axi_qos *)CCI_AXI_MMUMP_BASE; writel(0x00000001, &axi_qos->qosconf); writel(0x00002004, &axi_qos->qosctset0); writel(0x00002096, &axi_qos->qosctset1); @@ -912,7 +928,7 @@ void qos_init(void) writel(0x00000001, &axi_qos->qosqon); /* QoS Register (Media-AXI) */ - axi_qos = (struct r8a7791_axi_qos *)MEDIA_AXI_MXR_BASE; + axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_MXR_BASE; writel(0x00000002, &axi_qos->qosconf); writel(0x000020DC, &axi_qos->qosctset0); writel(0x00002096, &axi_qos->qosctset1); @@ -923,7 +939,7 @@ void qos_init(void) writel(0x00002032, &axi_qos->qosthres1); writel(0x00000001, &axi_qos->qosthres2); - axi_qos = (struct r8a7791_axi_qos *)MEDIA_AXI_MXW_BASE; + axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_MXW_BASE; writel(0x00000002, &axi_qos->qosconf); writel(0x000020DC, &axi_qos->qosctset0); writel(0x00002096, &axi_qos->qosctset1); @@ -934,7 +950,7 @@ void qos_init(void) writel(0x00002032, &axi_qos->qosthres1); writel(0x00000001, &axi_qos->qosthres2); - axi_qos = (struct r8a7791_axi_qos *)MEDIA_AXI_JPR_BASE; + axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_JPR_BASE; writel(0x00000001, &axi_qos->qosconf); writel(0x00002190, &axi_qos->qosctset0); writel(0x00000020, &axi_qos->qosreqctr); @@ -943,16 +959,21 @@ void qos_init(void) writel(0x00000001, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)MEDIA_AXI_JPW_BASE; + axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_JPW_BASE; writel(0x00000001, &axi_qos->qosconf); writel(0x00002190, &axi_qos->qosctset0); writel(0x00000020, &axi_qos->qosreqctr); - writel(0x00002064, &axi_qos->qosthres0); - writel(0x00002004, &axi_qos->qosthres1); + if (IS_R8A7791_ES2()) { + writel(0x00000001, &axi_qos->qosthres0); + writel(0x00000001, &axi_qos->qosthres1); + } else { + writel(0x00002064, &axi_qos->qosthres0); + writel(0x00002004, &axi_qos->qosthres1); + } writel(0x00000001, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)MEDIA_AXI_TDMR_BASE; + axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_TDMR_BASE; writel(0x00000001, &axi_qos->qosconf); writel(0x00002190, &axi_qos->qosctset0); writel(0x00000020, &axi_qos->qosreqctr); @@ -961,7 +982,7 @@ void qos_init(void) writel(0x00000001, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)MEDIA_AXI_TDMW_BASE; + axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_TDMW_BASE; writel(0x00000001, &axi_qos->qosconf); writel(0x00002190, &axi_qos->qosctset0); writel(0x00000020, &axi_qos->qosreqctr); @@ -970,7 +991,7 @@ void qos_init(void) writel(0x00000001, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)MEDIA_AXI_VSP1CR_BASE; + axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_VSP1CR_BASE; writel(0x00000001, &axi_qos->qosconf); writel(0x00002190, &axi_qos->qosctset0); writel(0x00000020, &axi_qos->qosreqctr); @@ -979,16 +1000,21 @@ void qos_init(void) writel(0x00000001, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)MEDIA_AXI_VSP1CW_BASE; + axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_VSP1CW_BASE; writel(0x00000001, &axi_qos->qosconf); writel(0x00002190, &axi_qos->qosctset0); writel(0x00000020, &axi_qos->qosreqctr); - writel(0x00002064, &axi_qos->qosthres0); - writel(0x00002004, &axi_qos->qosthres1); + if (IS_R8A7791_ES2()) { + writel(0x00000001, &axi_qos->qosthres0); + writel(0x00000001, &axi_qos->qosthres1); + } else { + writel(0x00002064, &axi_qos->qosthres0); + writel(0x00002004, &axi_qos->qosthres1); + } writel(0x00000001, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)MEDIA_AXI_VSPDU0CR_BASE; + axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_VSPDU0CR_BASE; writel(0x00000001, &axi_qos->qosconf); writel(0x00002190, &axi_qos->qosctset0); writel(0x00000020, &axi_qos->qosreqctr); @@ -997,16 +1023,21 @@ void qos_init(void) writel(0x00000001, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)MEDIA_AXI_VSPDU0CW_BASE; + axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_VSPDU0CW_BASE; writel(0x00000001, &axi_qos->qosconf); writel(0x00002190, &axi_qos->qosctset0); writel(0x00000020, &axi_qos->qosreqctr); - writel(0x00002064, &axi_qos->qosthres0); - writel(0x00002004, &axi_qos->qosthres1); + if (IS_R8A7791_ES2()) { + writel(0x00000001, &axi_qos->qosthres0); + writel(0x00000001, &axi_qos->qosthres1); + } else { + writel(0x00002064, &axi_qos->qosthres0); + writel(0x00002004, &axi_qos->qosthres1); + } writel(0x00000001, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)MEDIA_AXI_VSPDU1CR_BASE; + axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_VSPDU1CR_BASE; writel(0x00000001, &axi_qos->qosconf); writel(0x00002190, &axi_qos->qosctset0); writel(0x00000020, &axi_qos->qosreqctr); @@ -1015,25 +1046,36 @@ void qos_init(void) writel(0x00000001, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)MEDIA_AXI_VSPDU1CW_BASE; + axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_VSPDU1CW_BASE; writel(0x00000001, &axi_qos->qosconf); writel(0x00002190, &axi_qos->qosctset0); writel(0x00000020, &axi_qos->qosreqctr); - writel(0x00002064, &axi_qos->qosthres0); - writel(0x00002004, &axi_qos->qosthres1); + if (IS_R8A7791_ES2()) { + writel(0x00000001, &axi_qos->qosthres0); + writel(0x00000001, &axi_qos->qosthres1); + } else { + writel(0x00002064, &axi_qos->qosthres0); + writel(0x00002004, &axi_qos->qosthres1); + } writel(0x00000001, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)MEDIA_AXI_VIN0W_BASE; + axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_VIN0W_BASE; writel(0x00000001, &axi_qos->qosconf); - writel(0x000020C8, &axi_qos->qosctset0); + if (IS_R8A7791_ES2()) + writel(0x00001FF0, &axi_qos->qosctset0); + else + writel(0x000020C8, &axi_qos->qosctset0); writel(0x00000020, &axi_qos->qosreqctr); writel(0x00002064, &axi_qos->qosthres0); writel(0x00002004, &axi_qos->qosthres1); - writel(0x00000001, &axi_qos->qosthres2); + if (IS_R8A7791_ES2()) + writel(0x00002001, &axi_qos->qosthres2); + else + writel(0x00000001, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)MEDIA_AXI_FDP0R_BASE; + axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_FDP0R_BASE; writel(0x00000001, &axi_qos->qosconf); writel(0x000020C8, &axi_qos->qosctset0); writel(0x00000020, &axi_qos->qosreqctr); @@ -1042,16 +1084,21 @@ void qos_init(void) writel(0x00000001, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)MEDIA_AXI_FDP0W_BASE; + axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_FDP0W_BASE; writel(0x00000001, &axi_qos->qosconf); writel(0x000020C8, &axi_qos->qosctset0); writel(0x00000020, &axi_qos->qosreqctr); - writel(0x00002064, &axi_qos->qosthres0); - writel(0x00002004, &axi_qos->qosthres1); + if (IS_R8A7791_ES2()) { + writel(0x00000001, &axi_qos->qosthres0); + writel(0x00000001, &axi_qos->qosthres1); + } else { + writel(0x00002064, &axi_qos->qosthres0); + writel(0x00002004, &axi_qos->qosthres1); + } writel(0x00000001, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)MEDIA_AXI_IMSR_BASE; + axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_IMSR_BASE; writel(0x00000001, &axi_qos->qosconf); writel(0x000020C8, &axi_qos->qosctset0); writel(0x00000020, &axi_qos->qosreqctr); @@ -1060,7 +1107,7 @@ void qos_init(void) writel(0x00000001, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)MEDIA_AXI_IMSW_BASE; + axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_IMSW_BASE; writel(0x00000001, &axi_qos->qosconf); writel(0x000020C8, &axi_qos->qosctset0); writel(0x00000020, &axi_qos->qosreqctr); @@ -1069,7 +1116,7 @@ void qos_init(void) writel(0x00000001, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)MEDIA_AXI_VSP1R_BASE; + axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_VSP1R_BASE; writel(0x00000001, &axi_qos->qosconf); writel(0x000020C8, &axi_qos->qosctset0); writel(0x00000020, &axi_qos->qosreqctr); @@ -1078,16 +1125,21 @@ void qos_init(void) writel(0x00000001, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)MEDIA_AXI_VSP1W_BASE; + axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_VSP1W_BASE; writel(0x00000001, &axi_qos->qosconf); writel(0x000020C8, &axi_qos->qosctset0); writel(0x00000020, &axi_qos->qosreqctr); - writel(0x00002064, &axi_qos->qosthres0); - writel(0x00002004, &axi_qos->qosthres1); + if (IS_R8A7791_ES2()) { + writel(0x00000001, &axi_qos->qosthres0); + writel(0x00000001, &axi_qos->qosthres1); + } else { + writel(0x00002064, &axi_qos->qosthres0); + writel(0x00002004, &axi_qos->qosthres1); + } writel(0x00000001, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)MEDIA_AXI_FDP1R_BASE; + axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_FDP1R_BASE; writel(0x00000001, &axi_qos->qosconf); writel(0x000020C8, &axi_qos->qosctset0); writel(0x00000020, &axi_qos->qosreqctr); @@ -1096,16 +1148,21 @@ void qos_init(void) writel(0x00000001, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)MEDIA_AXI_FDP1W_BASE; + axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_FDP1W_BASE; writel(0x00000001, &axi_qos->qosconf); writel(0x000020C8, &axi_qos->qosctset0); writel(0x00000020, &axi_qos->qosreqctr); - writel(0x00002064, &axi_qos->qosthres0); - writel(0x00002004, &axi_qos->qosthres1); + if (IS_R8A7791_ES2()) { + writel(0x00000001, &axi_qos->qosthres0); + writel(0x00000001, &axi_qos->qosthres1); + } else { + writel(0x00002064, &axi_qos->qosthres0); + writel(0x00002004, &axi_qos->qosthres1); + } writel(0x00000001, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)MEDIA_AXI_IMRR_BASE; + axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_IMRR_BASE; writel(0x00000001, &axi_qos->qosconf); writel(0x000020C8, &axi_qos->qosctset0); writel(0x00000020, &axi_qos->qosreqctr); @@ -1114,7 +1171,7 @@ void qos_init(void) writel(0x00000001, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)MEDIA_AXI_IMRW_BASE; + axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_IMRW_BASE; writel(0x00000001, &axi_qos->qosconf); writel(0x000020C8, &axi_qos->qosctset0); writel(0x00000020, &axi_qos->qosreqctr); @@ -1123,40 +1180,55 @@ void qos_init(void) writel(0x00000001, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)MEDIA_AXI_VSPD0R_BASE; - writel(0x00000000, &axi_qos->qosconf); + axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_VSPD0R_BASE; + if (IS_R8A7791_ES2()) + writel(0x00000003, &axi_qos->qosconf); + else + writel(0x00000000, &axi_qos->qosconf); writel(0x000020C8, &axi_qos->qosctset0); writel(0x00002064, &axi_qos->qosthres0); writel(0x00002004, &axi_qos->qosthres1); writel(0x00000001, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)MEDIA_AXI_VSPD0W_BASE; - writel(0x00000000, &axi_qos->qosconf); + axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_VSPD0W_BASE; + if (IS_R8A7791_ES2()) + writel(0x00000003, &axi_qos->qosconf); + else + writel(0x00000000, &axi_qos->qosconf); writel(0x000020C8, &axi_qos->qosctset0); writel(0x00002064, &axi_qos->qosthres0); writel(0x00002004, &axi_qos->qosthres1); writel(0x00000001, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)MEDIA_AXI_VSPD1R_BASE; - writel(0x00000000, &axi_qos->qosconf); + axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_VSPD1R_BASE; + if (IS_R8A7791_ES2()) + writel(0x00000003, &axi_qos->qosconf); + else + writel(0x00000000, &axi_qos->qosconf); writel(0x000020C8, &axi_qos->qosctset0); writel(0x00002064, &axi_qos->qosthres0); writel(0x00002004, &axi_qos->qosthres1); writel(0x00000001, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)MEDIA_AXI_VSPD1W_BASE; - writel(0x00000000, &axi_qos->qosconf); + axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_VSPD1W_BASE; + if (IS_R8A7791_ES2()) + writel(0x00000003, &axi_qos->qosconf); + else + writel(0x00000000, &axi_qos->qosconf); writel(0x000020C8, &axi_qos->qosctset0); writel(0x00002064, &axi_qos->qosthres0); writel(0x00002004, &axi_qos->qosthres1); writel(0x00000001, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)MEDIA_AXI_DU0R_BASE; - writel(0x00000000, &axi_qos->qosconf); + axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_DU0R_BASE; + if (IS_R8A7791_ES2()) + writel(0x00000003, &axi_qos->qosconf); + else + writel(0x00000000, &axi_qos->qosconf); writel(0x00002063, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00002064, &axi_qos->qosthres0); @@ -1164,8 +1236,11 @@ void qos_init(void) writel(0x00000001, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)MEDIA_AXI_DU0W_BASE; - writel(0x00000000, &axi_qos->qosconf); + axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_DU0W_BASE; + if (IS_R8A7791_ES2()) + writel(0x00000000, &axi_qos->qosconf); + else + writel(0x00000000, &axi_qos->qosconf); writel(0x00002063, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00002064, &axi_qos->qosthres0); @@ -1173,7 +1248,7 @@ void qos_init(void) writel(0x00000001, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)MEDIA_AXI_VCP0CR_BASE; + axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_VCP0CR_BASE; writel(0x00000001, &axi_qos->qosconf); writel(0x00002073, &axi_qos->qosctset0); writel(0x00000020, &axi_qos->qosreqctr); @@ -1182,16 +1257,21 @@ void qos_init(void) writel(0x00000001, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)MEDIA_AXI_VCP0CW_BASE; + axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_VCP0CW_BASE; writel(0x00000001, &axi_qos->qosconf); writel(0x00002073, &axi_qos->qosctset0); writel(0x00000020, &axi_qos->qosreqctr); - writel(0x00002064, &axi_qos->qosthres0); - writel(0x00002004, &axi_qos->qosthres1); + if (IS_R8A7791_ES2()) { + writel(0x00000001, &axi_qos->qosthres0); + writel(0x00000001, &axi_qos->qosthres1); + } else { + writel(0x00002064, &axi_qos->qosthres0); + writel(0x00002004, &axi_qos->qosthres1); + } writel(0x00000001, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)MEDIA_AXI_VCP0VR_BASE; + axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_VCP0VR_BASE; writel(0x00000001, &axi_qos->qosconf); writel(0x00002073, &axi_qos->qosctset0); writel(0x00000020, &axi_qos->qosreqctr); @@ -1200,16 +1280,21 @@ void qos_init(void) writel(0x00000001, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)MEDIA_AXI_VCP0VW_BASE; + axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_VCP0VW_BASE; writel(0x00000001, &axi_qos->qosconf); writel(0x00002073, &axi_qos->qosctset0); writel(0x00000020, &axi_qos->qosreqctr); - writel(0x00002064, &axi_qos->qosthres0); - writel(0x00002004, &axi_qos->qosthres1); + if (IS_R8A7791_ES2()) { + writel(0x00000001, &axi_qos->qosthres0); + writel(0x00000001, &axi_qos->qosthres1); + } else { + writel(0x00002064, &axi_qos->qosthres0); + writel(0x00002004, &axi_qos->qosthres1); + } writel(0x00000001, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); - axi_qos = (struct r8a7791_axi_qos *)MEDIA_AXI_VPC0R_BASE; + axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_VPC0R_BASE; writel(0x00000001, &axi_qos->qosconf); writel(0x00002073, &axi_qos->qosctset0); writel(0x00000020, &axi_qos->qosreqctr); |