// SPDX-License-Identifier: GPL-2.0 /* * board/renesas/blanche/qos.c * * Copyright (C) 2016 Renesas Electronics Corporation */ #include #include #include #include #include #if defined(CONFIG_RMOBILE_EXTRAM_BOOT) enum { 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 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, }; void qos_init(void) { int i; 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(0x20082004, DBSC3_0_DBADJ2); /* S3C -QoS */ s3c = (struct rcar_s3c *)S3C_BASE; // writel(0x00000000, &s3c->s3cadsplcr); writel(0x1F0D0C0C, &s3c->s3crorr); writel(0x1F1F0C0C, &s3c->s3cworr); /* QoS Control Registers */ 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); writel(0x20AA2200, &s3c_qos->s3cqos3); writel(0x00002032, &s3c_qos->s3cqos4); writel(0x20960010, &s3c_qos->s3cqos5); writel(0x20302030, &s3c_qos->s3cqos6); writel(0x20AA2200, &s3c_qos->s3cqos7); writel(0x00002032, &s3c_qos->s3cqos8); 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); writel(0x20AA2200, &s3c_qos->s3cqos3); writel(0x00002032, &s3c_qos->s3cqos4); writel(0x20960010, &s3c_qos->s3cqos5); writel(0x20302030, &s3c_qos->s3cqos6); writel(0x20AA2200, &s3c_qos->s3cqos7); writel(0x00002032, &s3c_qos->s3cqos8); s3c_qos = (struct rcar_s3c_qos *)S3C_QOS_MXI_BASE; writel(0x00820082, &s3c_qos->s3cqos0); writel(0x20960020, &s3c_qos->s3cqos1); writel(0x20302030, &s3c_qos->s3cqos2); writel(0x20AA20DC, &s3c_qos->s3cqos3); writel(0x00002032, &s3c_qos->s3cqos4); writel(0x20960020, &s3c_qos->s3cqos5); writel(0x20302030, &s3c_qos->s3cqos6); writel(0x20AA20DC, &s3c_qos->s3cqos7); writel(0x00002032, &s3c_qos->s3cqos8); s3c_qos = (struct rcar_s3c_qos *)S3C_QOS_AXI_BASE; writel(0x80918099, &s3c_qos->s3cqos0); writel(0x20410010, &s3c_qos->s3cqos1); writel(0x200A2023, &s3c_qos->s3cqos2); writel(0x20502001, &s3c_qos->s3cqos3); writel(0x00002032, &s3c_qos->s3cqos4); writel(0x20410FFF, &s3c_qos->s3cqos5); writel(0x200A2023, &s3c_qos->s3cqos6); writel(0x20502001, &s3c_qos->s3cqos7); writel(0x20142032, &s3c_qos->s3cqos8); /* DBSC -QoS */ /* DBSC0 - Read */ for (i = DBSC3_00; i < DBSC3_NR; 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); writel(0x00002032, &qos_addr->dbtmval2); writel(0x00001FB0, &qos_addr->dbtmval3); writel(0x00000001, &qos_addr->dbrqctr); writel(0x0000204B, &qos_addr->dbthres0); writel(0x0000204B, &qos_addr->dbthres1); writel(0x00001FC4, &qos_addr->dbthres2); writel(0x00000001, &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(0x00000002, &qos_addr->dblgcnt); writel(0x00002096, &qos_addr->dbtmval0); writel(0x0000206E, &qos_addr->dbtmval1); writel(0x00002050, &qos_addr->dbtmval2); writel(0x0000203A, &qos_addr->dbtmval3); writel(0x00000001, &qos_addr->dbrqctr); writel(0x0000205A, &qos_addr->dbthres0); writel(0x0000205A, &qos_addr->dbthres1); writel(0x0000203C, &qos_addr->dbthres2); writel(0x00000001, &qos_addr->dblgqon); } /* MXI -QoS */ /* Transaction Control (MXI) */ mxi = (struct rcar_mxi *)MXI_BASE; writel(0x00000100, &mxi->mxaxirtcr); writel(0xFF530100, &mxi->mxaxiwtcr); writel(0x00000100, &mxi->mxs3crtcr); writel(0xFF530100, &mxi->mxs3cwtcr); writel(0x004000C0, &mxi->mxsaar0); writel(0x02000800, &mxi->mxsaar1); /* QoS Control (MXI) */ mxi_qos = (struct rcar_mxi_qos *)MXI_QOS_BASE; writel(0x0000000C, &mxi_qos->du0); /* AXI -QoS */ /* Transaction Control (MXI) */ axi_qos = (struct rcar_axi_qos *)SYS_AXI_SYX64TO128_BASE; writel(0x00000102, &axi_qos->qosconf); writel(0x0000205F, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00000001, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)SYS_AXI_AVB_BASE; writel(0x00000100, &axi_qos->qosconf); writel(0x00002053, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00000001, &axi_qos->qosqon); writel(0x00000005, &axi_qos->qosin); axi_qos = (struct rcar_axi_qos *)SYS_AXI_CC50_BASE; writel(0x00000100, &axi_qos->qosconf); writel(0x00002029, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00000001, &axi_qos->qosqon); writel(0x00000005, &axi_qos->qosin); axi_qos = (struct rcar_axi_qos *)SYS_AXI_CCI_BASE; writel(0x00000102, &axi_qos->qosconf); writel(0x0000205F, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00000001, &axi_qos->qosqon); writel(0x00000005, &axi_qos->qosin); axi_qos = (struct rcar_axi_qos *)SYS_AXI_CS_BASE; writel(0x00000100, &axi_qos->qosconf); writel(0x00002053, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00000001, &axi_qos->qosqon); writel(0x00000005, &axi_qos->qosin); axi_qos = (struct rcar_axi_qos *)SYS_AXI_G2D_BASE; writel(0x00000100, &axi_qos->qosconf); writel(0x000020A6, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00000001, &axi_qos->qosqon); writel(0x00000005, &axi_qos->qosin); axi_qos = (struct rcar_axi_qos *)SYS_AXI_IMP1_BASE; writel(0x00000100, &axi_qos->qosconf); writel(0x000020A6, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00000001, &axi_qos->qosqon); writel(0x00000005, &axi_qos->qosin); axi_qos = (struct rcar_axi_qos *)SYS_AXI_IMUX0_BASE; writel(0x00000102, &axi_qos->qosconf); writel(0x0000205F, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00000001, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)SYS_AXI_IMUX1_BASE; writel(0x00000102, &axi_qos->qosconf); writel(0x0000205F, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00000001, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)SYS_AXI_LBS_BASE; writel(0x00000100, &axi_qos->qosconf); writel(0x0000214C, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00000001, &axi_qos->qosqon); writel(0x00000005, &axi_qos->qosin); axi_qos = (struct rcar_axi_qos *)SYS_AXI_MMUDS_BASE; writel(0x00000101, &axi_qos->qosconf); writel(0x00002008, &axi_qos->qosctset0); writel(0x00000010, &axi_qos->qosreqctr); writel(0x00000001, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)SYS_AXI_MMUM_BASE; writel(0x00000101, &axi_qos->qosconf); writel(0x00002008, &axi_qos->qosctset0); writel(0x00000010, &axi_qos->qosreqctr); writel(0x00000001, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)SYS_AXI_MMUS0_BASE; writel(0x00000101, &axi_qos->qosconf); writel(0x00002008, &axi_qos->qosctset0); writel(0x00000010, &axi_qos->qosreqctr); writel(0x00000001, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)SYS_AXI_MMUS1_BASE; writel(0x00000101, &axi_qos->qosconf); writel(0x00002008, &axi_qos->qosctset0); writel(0x00000010, &axi_qos->qosreqctr); writel(0x00000001, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)SYS_AXI_RTX_BASE; writel(0x00000102, &axi_qos->qosconf); writel(0x0000205F, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00000001, &axi_qos->qosqon); 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); writel(0x00000001, &axi_qos->qosqon); 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); writel(0x00000001, &axi_qos->qosqon); writel(0x00000005, &axi_qos->qosin); axi_qos = (struct rcar_axi_qos *)SYS_AXI_SDS0_BASE; writel(0x00000000, &axi_qos->qosconf); writel(0x0000214C, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00000001, &axi_qos->qosqon); writel(0x00000005, &axi_qos->qosin); axi_qos = (struct rcar_axi_qos *)SYS_AXI_SDS1_BASE; writel(0x00000000, &axi_qos->qosconf); writel(0x0000214C, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00000001, &axi_qos->qosqon); writel(0x00000005, &axi_qos->qosin); axi_qos = (struct rcar_axi_qos *)SYS_AXI_TRAB_BASE; writel(0x00000100, &axi_qos->qosconf); writel(0x000020A6, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00000001, &axi_qos->qosqon); writel(0x00000005, &axi_qos->qosin); axi_qos = (struct rcar_axi_qos *)SYS_AXI_ADM_BASE; writel(0x00000100, &axi_qos->qosconf); writel(0x0000214C, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00000001, &axi_qos->qosqon); writel(0x00000005, &axi_qos->qosin); axi_qos = (struct rcar_axi_qos *)SYS_AXI_ADS_BASE; writel(0x00000101, &axi_qos->qosconf); writel(0x0000214C, &axi_qos->qosctset0); writel(0x00000020, &axi_qos->qosreqctr); writel(0x00000001, &axi_qos->qosqon); writel(0x00000005, &axi_qos->qosin); axi_qos = (struct rcar_axi_qos *)SYS_AXI_SYX_BASE; writel(0x00002041, &axi_qos->qosctset1); writel(0x00002023, &axi_qos->qosctset2); writel(0x0000200A, &axi_qos->qosctset3); writel(0x00002050, &axi_qos->qosthres0); writel(0x00002032, &axi_qos->qosthres1); writel(0x00002014, &axi_qos->qosthres2); axi_qos = (struct rcar_axi_qos *)SYS_AXI_AXI64TO128W_BASE; writel(0x00000102, &axi_qos->qosconf); writel(0x0000205F, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00000001, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)SYS_AXI_AVBW_BASE; writel(0x00000100, &axi_qos->qosconf); writel(0x00002053, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00000001, &axi_qos->qosqon); writel(0x00000005, &axi_qos->qosin); axi_qos = (struct rcar_axi_qos *)SYS_AXI_CC50W_BASE; writel(0x00000100, &axi_qos->qosconf); writel(0x00002029, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00000001, &axi_qos->qosqon); writel(0x00000005, &axi_qos->qosin); axi_qos = (struct rcar_axi_qos *)SYS_AXI_CCIW_BASE; writel(0x00000102, &axi_qos->qosconf); writel(0x0000205F, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00000001, &axi_qos->qosqon); writel(0x00000005, &axi_qos->qosin); axi_qos = (struct rcar_axi_qos *)SYS_AXI_CCSW_BASE; writel(0x00000100, &axi_qos->qosconf); writel(0x00002053, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00000001, &axi_qos->qosqon); writel(0x00000005, &axi_qos->qosin); axi_qos = (struct rcar_axi_qos *)SYS_AXI_G2DW_BASE; writel(0x00000100, &axi_qos->qosconf); writel(0x000020A6, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00000001, &axi_qos->qosqon); writel(0x00000005, &axi_qos->qosin); axi_qos = (struct rcar_axi_qos *)SYS_AXI_IMUX0W_BASE; writel(0x00000102, &axi_qos->qosconf); writel(0x0000205F, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00000001, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)SYS_AXI_IMUX1W_BASE; writel(0x00000102, &axi_qos->qosconf); writel(0x0000205F, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00000001, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)SYS_AXI_IMUX2W_BASE; writel(0x00000102, &axi_qos->qosconf); writel(0x0000205F, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00000001, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)SYS_AXI_LBSW_BASE; writel(0x00000100, &axi_qos->qosconf); writel(0x0000214C, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00000001, &axi_qos->qosqon); writel(0x00000005, &axi_qos->qosin); axi_qos = (struct rcar_axi_qos *)SYS_AXI_RTXBW_BASE; writel(0x00000102, &axi_qos->qosconf); writel(0x0000205F, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00000001, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)SYS_AXI_SDM0W_BASE; writel(0x00000000, &axi_qos->qosconf); writel(0x0000214C, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00000001, &axi_qos->qosqon); writel(0x00000005, &axi_qos->qosin); axi_qos = (struct rcar_axi_qos *)SYS_AXI_SDM1W_BASE; writel(0x00000000, &axi_qos->qosconf); writel(0x0000214C, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00000001, &axi_qos->qosqon); writel(0x00000005, &axi_qos->qosin); axi_qos = (struct rcar_axi_qos *)SYS_AXI_SDS0W_BASE; writel(0x00000000, &axi_qos->qosconf); writel(0x0000214C, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00000001, &axi_qos->qosqon); writel(0x00000005, &axi_qos->qosin); axi_qos = (struct rcar_axi_qos *)SYS_AXI_SDS1W_BASE; writel(0x00000000, &axi_qos->qosconf); writel(0x0000214C, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00000001, &axi_qos->qosqon); writel(0x00000005, &axi_qos->qosin); axi_qos = (struct rcar_axi_qos *)SYS_AXI_TRABW_BASE; writel(0x00000100, &axi_qos->qosconf); writel(0x000020A6, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00000001, &axi_qos->qosqon); writel(0x00000005, &axi_qos->qosin); axi_qos = (struct rcar_axi_qos *)SYS_AXI_ADMW_BASE; writel(0x00000100, &axi_qos->qosconf); writel(0x0000214C, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00000001, &axi_qos->qosqon); writel(0x00000005, &axi_qos->qosin); axi_qos = (struct rcar_axi_qos *)SYS_AXI_ADSW_BASE; writel(0x00000101, &axi_qos->qosconf); writel(0x0000214C, &axi_qos->qosctset0); writel(0x00000020, &axi_qos->qosreqctr); writel(0x00000001, &axi_qos->qosqon); writel(0x00000005, &axi_qos->qosin); axi_qos = (struct rcar_axi_qos *)SYS_AXI_SYXW_BASE; writel(0x00002041, &axi_qos->qosctset1); writel(0x00002023, &axi_qos->qosctset2); writel(0x0000200A, &axi_qos->qosctset3); writel(0x00002050, &axi_qos->qosthres0); writel(0x00002032, &axi_qos->qosthres1); writel(0x00002014, &axi_qos->qosthres2); /* QoS Register (SYS-AXI256) */ axi_qos = (struct rcar_axi_qos *)SYS_AXI256_AXI128TO256_BASE; writel(0x00000102, &axi_qos->qosconf); writel(0x0000205F, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00000001, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)SYS_AXI256_AXI_BASE; writel(0x00000102, &axi_qos->qosconf); writel(0x0000205F, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00000001, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)SYS_AXI256_MXI_BASE; writel(0x00000102, &axi_qos->qosconf); writel(0x0000205F, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00000001, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)SYS_AXI256_IMP0_BASE; writel(0x00000100, &axi_qos->qosconf); writel(0x0000211B, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00000001, &axi_qos->qosqon); writel(0x00000005, &axi_qos->qosin); axi_qos = (struct rcar_axi_qos *)SYS_AXI256_SY2_BASE; writel(0x00002041, &axi_qos->qosctset1); writel(0x00002023, &axi_qos->qosctset2); writel(0x0000200A, &axi_qos->qosctset3); writel(0x00002050, &axi_qos->qosthres0); writel(0x00002032, &axi_qos->qosthres1); writel(0x00002014, &axi_qos->qosthres2); axi_qos = (struct rcar_axi_qos *)SYS_AXI256W_AXI128TO256_BASE; writel(0x00000102, &axi_qos->qosconf); writel(0x0000205F, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00000001, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)SYS_AXI256_AXMW_BASE; writel(0x00000102, &axi_qos->qosconf); writel(0x0000205F, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00000001, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)SYS_AXI256_MXIW_BASE; writel(0x00000102, &axi_qos->qosconf); writel(0x0000205F, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00000001, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)SYS_AXI256_IMP0W_BASE; writel(0x00000100, &axi_qos->qosconf); writel(0x00002029, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00000001, &axi_qos->qosqon); writel(0x00000005, &axi_qos->qosin); axi_qos = (struct rcar_axi_qos *)SYS_AXI256_SY2W_BASE; writel(0x00002041, &axi_qos->qosctset1); writel(0x00002023, &axi_qos->qosctset2); writel(0x0000200A, &axi_qos->qosctset3); writel(0x00002050, &axi_qos->qosthres0); writel(0x00002032, &axi_qos->qosthres1); writel(0x00002014, &axi_qos->qosthres2); /* QoS Register (RT-AXI) */ axi_qos = (struct rcar_axi_qos *)RT_AXI_SHX_BASE; writel(0x00000000, &axi_qos->qosconf); writel(0x00002055, &axi_qos->qosctset0); writel(0x00000000, &axi_qos->qosreqctr); writel(0x00000000, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)RT_AXI_DBG_BASE; writel(0x00000000, &axi_qos->qosconf); writel(0x00002055, &axi_qos->qosctset0); writel(0x00000000, &axi_qos->qosreqctr); writel(0x00000000, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)RT_AXI_RTX64TO128_BASE; writel(0x00000000, &axi_qos->qosconf); writel(0x00002001, &axi_qos->qosctset0); writel(0x00000000, &axi_qos->qosreqctr); writel(0x00000000, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)RT_AXI_RT_BASE; writel(0x00002001, &axi_qos->qosctset1); writel(0x00002001, &axi_qos->qosctset2); writel(0x00002001, &axi_qos->qosctset3); writel(0x00000000, &axi_qos->qosthres0); writel(0x00000000, &axi_qos->qosthres1); writel(0x00000000, &axi_qos->qosthres2); axi_qos = (struct rcar_axi_qos *)RT_AXI_SHXW_BASE; writel(0x00000000, &axi_qos->qosconf); writel(0x00002055, &axi_qos->qosctset0); writel(0x00000000, &axi_qos->qosreqctr); writel(0x00000000, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)RT_AXI_DBGW_BASE; writel(0x00000000, &axi_qos->qosconf); writel(0x00002055, &axi_qos->qosctset0); writel(0x00000000, &axi_qos->qosreqctr); writel(0x00000000, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)RT_AXI_RTX64TO128W_BASE; writel(0x00000000, &axi_qos->qosconf); writel(0x00002001, &axi_qos->qosctset0); writel(0x00000000, &axi_qos->qosreqctr); writel(0x00000000, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)RT_AXI_RTW_BASE; writel(0x00002001, &axi_qos->qosctset1); writel(0x00002001, &axi_qos->qosctset2); writel(0x00002001, &axi_qos->qosctset3); writel(0x00000000, &axi_qos->qosthres0); writel(0x00000000, &axi_qos->qosthres1); writel(0x00000000, &axi_qos->qosthres2); /* QoS Register (CCI-AXI) */ axi_qos = (struct rcar_axi_qos *)CCI_AXI_MMUS0_BASE; writel(0x00000101, &axi_qos->qosconf); writel(0x00002008, &axi_qos->qosctset0); writel(0x00002041, &axi_qos->qosctset1); writel(0x00002023, &axi_qos->qosctset2); writel(0x0000200A, &axi_qos->qosctset3); writel(0x00000010, &axi_qos->qosreqctr); writel(0x00002050, &axi_qos->qosthres0); writel(0x00002032, &axi_qos->qosthres1); writel(0x00002014, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)CCI_AXI_SYX2_BASE; writel(0x00000102, &axi_qos->qosconf); writel(0x0000205F, &axi_qos->qosctset0); writel(0x00002041, &axi_qos->qosctset1); writel(0x00002023, &axi_qos->qosctset2); writel(0x0000200A, &axi_qos->qosctset3); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00002050, &axi_qos->qosthres0); writel(0x00002032, &axi_qos->qosthres1); writel(0x00002014, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)CCI_AXI_MMUR_BASE; writel(0x00000101, &axi_qos->qosconf); writel(0x00002008, &axi_qos->qosctset0); writel(0x00002041, &axi_qos->qosctset1); writel(0x00002023, &axi_qos->qosctset2); writel(0x0000000A, &axi_qos->qosctset3); writel(0x00000010, &axi_qos->qosreqctr); writel(0x00002050, &axi_qos->qosthres0); writel(0x00002032, &axi_qos->qosthres1); writel(0x00002018, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)CCI_AXI_MMUDS_BASE; writel(0x00000101, &axi_qos->qosconf); writel(0x00002008, &axi_qos->qosctset0); writel(0x00002041, &axi_qos->qosctset1); writel(0x00002023, &axi_qos->qosctset2); writel(0x0000200A, &axi_qos->qosctset3); writel(0x00000010, &axi_qos->qosreqctr); writel(0x00002050, &axi_qos->qosthres0); writel(0x00002032, &axi_qos->qosthres1); writel(0x00002014, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)CCI_AXI_MMUM_BASE; writel(0x00000101, &axi_qos->qosconf); writel(0x00002008, &axi_qos->qosctset0); writel(0x00002041, &axi_qos->qosctset1); writel(0x00002023, &axi_qos->qosctset2); writel(0x0000200A, &axi_qos->qosctset3); writel(0x00000010, &axi_qos->qosreqctr); writel(0x00002050, &axi_qos->qosthres0); writel(0x00002032, &axi_qos->qosthres1); writel(0x00002014, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)CCI_AXI_MXI_BASE; writel(0x00000102, &axi_qos->qosconf); writel(0x0000205F, &axi_qos->qosctset0); writel(0x00002041, &axi_qos->qosctset1); writel(0x00002023, &axi_qos->qosctset2); writel(0x0000200A, &axi_qos->qosctset3); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00002050, &axi_qos->qosthres0); writel(0x00002032, &axi_qos->qosthres1); writel(0x00002014, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)CCI_AXI_MMUS1_BASE; writel(0x00000101, &axi_qos->qosconf); writel(0x00002008, &axi_qos->qosctset0); writel(0x00002041, &axi_qos->qosctset1); writel(0x00002023, &axi_qos->qosctset2); writel(0x0000200A, &axi_qos->qosctset3); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00002050, &axi_qos->qosthres0); writel(0x00002032, &axi_qos->qosthres1); writel(0x00002014, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)CCI_AXI_MMUMP_BASE; writel(0x00000101, &axi_qos->qosconf); writel(0x00002008, &axi_qos->qosctset0); writel(0x00002041, &axi_qos->qosctset1); writel(0x00002023, &axi_qos->qosctset2); writel(0x0000200A, &axi_qos->qosctset3); writel(0x00000010, &axi_qos->qosreqctr); writel(0x00002050, &axi_qos->qosthres0); writel(0x00002032, &axi_qos->qosthres1); writel(0x00002014, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); /* QoS Register (Media-AXI) */ axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_MXR_BASE; writel(0x00000102, &axi_qos->qosconf); writel(0x000020DC, &axi_qos->qosctset0); writel(0x00002096, &axi_qos->qosctset1); writel(0x00002030, &axi_qos->qosctset2); writel(0x00002030, &axi_qos->qosctset3); writel(0x00000020, &axi_qos->qosreqctr); writel(0x000020AA, &axi_qos->qosthres0); writel(0x00002032, &axi_qos->qosthres1); writel(0x00000001, &axi_qos->qosthres2); axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_MXW_BASE; writel(0x00000102, &axi_qos->qosconf); writel(0x000020DC, &axi_qos->qosctset0); writel(0x00002096, &axi_qos->qosctset1); writel(0x00002030, &axi_qos->qosctset2); writel(0x00002030, &axi_qos->qosctset3); writel(0x00000020, &axi_qos->qosreqctr); writel(0x000020AA, &axi_qos->qosthres0); writel(0x00002032, &axi_qos->qosthres1); writel(0x00000001, &axi_qos->qosthres2); axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_JPR_BASE; writel(0x00000001, &axi_qos->qosconf); writel(0x00002018, &axi_qos->qosctset0); writel(0x00000020, &axi_qos->qosreqctr); writel(0x00002006, &axi_qos->qosthres0); writel(0x00002001, &axi_qos->qosthres1); writel(0x00000001, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_JPW_BASE; writel(0x00000100, &axi_qos->qosconf); writel(0x00002259, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00002050, &axi_qos->qosthres0); writel(0x00002032, &axi_qos->qosthres1); writel(0x00002014, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_VCTU0R_BASE; writel(0x00000100, &axi_qos->qosconf); writel(0x00002053, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00002050, &axi_qos->qosthres0); writel(0x00002032, &axi_qos->qosthres1); writel(0x00002014, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_VCTU0W_BASE; writel(0x00000100, &axi_qos->qosconf); writel(0x00002053, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00002050, &axi_qos->qosthres0); writel(0x00002032, &axi_qos->qosthres1); writel(0x00002014, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_VDCTU0R_BASE; writel(0x00000100, &axi_qos->qosconf); writel(0x00002053, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00002050, &axi_qos->qosthres0); writel(0x00002032, &axi_qos->qosthres1); writel(0x00002014, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_VDCTU0W_BASE; writel(0x00000100, &axi_qos->qosconf); writel(0x00002053, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00002050, &axi_qos->qosthres0); writel(0x00002032, &axi_qos->qosthres1); writel(0x00002014, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_VDCTU1R_BASE; writel(0x00000100, &axi_qos->qosconf); writel(0x00002053, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00002050, &axi_qos->qosthres0); writel(0x00002032, &axi_qos->qosthres1); writel(0x00002014, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_VDCTU1W_BASE; writel(0x00000100, &axi_qos->qosconf); writel(0x00002053, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00002050, &axi_qos->qosthres0); writel(0x00002032, &axi_qos->qosthres1); writel(0x00002014, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_VIN0W_BASE; writel(0x00000101, &axi_qos->qosconf); writel(0x00002046, &axi_qos->qosctset0); writel(0x00000020, &axi_qos->qosreqctr); writel(0x00002050, &axi_qos->qosthres0); writel(0x00002032, &axi_qos->qosthres1); writel(0x00002014, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_VIN1W_BASE; writel(0x00000101, &axi_qos->qosconf); writel(0x00002046, &axi_qos->qosctset0); writel(0x00000020, &axi_qos->qosreqctr); writel(0x00002050, &axi_qos->qosthres0); writel(0x00002032, &axi_qos->qosthres1); writel(0x00002014, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_RDRW_BASE; writel(0x00000101, &axi_qos->qosconf); writel(0x000020D0, &axi_qos->qosctset0); writel(0x00000020, &axi_qos->qosreqctr); writel(0x00002050, &axi_qos->qosthres0); writel(0x00002032, &axi_qos->qosthres1); writel(0x00002014, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_IMS01R_BASE; writel(0x00000101, &axi_qos->qosconf); writel(0x00002034, &axi_qos->qosctset0); writel(0x0000000C, &axi_qos->qosreqctr); writel(0x00002050, &axi_qos->qosthres0); writel(0x00002032, &axi_qos->qosthres1); writel(0x00002014, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_IMS01W_BASE; writel(0x00000101, &axi_qos->qosconf); writel(0x0000200D, &axi_qos->qosctset0); writel(0x000000C0, &axi_qos->qosreqctr); writel(0x00002050, &axi_qos->qosthres0); writel(0x00002032, &axi_qos->qosthres1); writel(0x00002014, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_IMS23R_BASE; writel(0x00000101, &axi_qos->qosconf); writel(0x00002034, &axi_qos->qosctset0); writel(0x0000000C, &axi_qos->qosreqctr); writel(0x00002050, &axi_qos->qosthres0); writel(0x00002032, &axi_qos->qosthres1); writel(0x00002014, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_IMS23W_BASE; writel(0x00000101, &axi_qos->qosconf); writel(0x0000200D, &axi_qos->qosctset0); writel(0x000000C0, &axi_qos->qosreqctr); writel(0x00002050, &axi_qos->qosthres0); writel(0x00002032, &axi_qos->qosthres1); writel(0x00002014, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_IMS45R_BASE; writel(0x00000101, &axi_qos->qosconf); writel(0x00002034, &axi_qos->qosctset0); writel(0x0000000C, &axi_qos->qosreqctr); writel(0x00002050, &axi_qos->qosthres0); writel(0x00002032, &axi_qos->qosthres1); writel(0x00002014, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_IMS45W_BASE; writel(0x00000101, &axi_qos->qosconf); writel(0x0000200D, &axi_qos->qosctset0); writel(0x000000C0, &axi_qos->qosreqctr); writel(0x00002050, &axi_qos->qosthres0); writel(0x00002032, &axi_qos->qosthres1); writel(0x00002014, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_IMRR_BASE; writel(0x00000100, &axi_qos->qosconf); writel(0x00002069, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00002050, &axi_qos->qosthres0); writel(0x00002032, &axi_qos->qosthres1); writel(0x00002014, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_IMRW_BASE; writel(0x00000100, &axi_qos->qosconf); writel(0x00002069, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00002050, &axi_qos->qosthres0); writel(0x00002032, &axi_qos->qosthres1); writel(0x00002014, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_ROTCE4R_BASE; writel(0x00000100, &axi_qos->qosconf); writel(0x0000204C, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00002050, &axi_qos->qosthres0); writel(0x00002032, &axi_qos->qosthres1); writel(0x00002014, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_ROTCE4W_BASE; writel(0x00000100, &axi_qos->qosconf); writel(0x00002200, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00002050, &axi_qos->qosthres0); writel(0x00002032, &axi_qos->qosthres1); writel(0x00002014, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_ROTVLC4R_BASE; writel(0x00000100, &axi_qos->qosconf); writel(0x00002455, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00002050, &axi_qos->qosthres0); writel(0x00002032, &axi_qos->qosthres1); writel(0x00002014, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_ROTVLC4W_BASE; writel(0x00000100, &axi_qos->qosconf); writel(0x00002455, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00002050, &axi_qos->qosthres0); writel(0x00002032, &axi_qos->qosthres1); writel(0x00002014, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_VSPD0R_BASE; writel(0x00000101, &axi_qos->qosconf); writel(0x00002034, &axi_qos->qosctset0); writel(0x00000008, &axi_qos->qosreqctr); writel(0x00002050, &axi_qos->qosthres0); writel(0x00002032, &axi_qos->qosthres1); writel(0x00002014, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_VSPD0W_BASE; writel(0x00000101, &axi_qos->qosconf); writel(0x000020D3, &axi_qos->qosctset0); writel(0x00000008, &axi_qos->qosreqctr); writel(0x00002050, &axi_qos->qosthres0); writel(0x00002032, &axi_qos->qosthres1); writel(0x00002014, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_VSPD1R_BASE; writel(0x00000101, &axi_qos->qosconf); writel(0x00002034, &axi_qos->qosctset0); writel(0x00000008, &axi_qos->qosreqctr); writel(0x00002050, &axi_qos->qosthres0); writel(0x00002032, &axi_qos->qosthres1); writel(0x00002014, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_VSPD1W_BASE; writel(0x00000101, &axi_qos->qosconf); writel(0x000020D3, &axi_qos->qosctset0); writel(0x00000008, &axi_qos->qosreqctr); writel(0x00002050, &axi_qos->qosthres0); writel(0x00002032, &axi_qos->qosthres1); writel(0x00002014, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_DU0R_BASE; writel(0x00000101, &axi_qos->qosconf); writel(0x0000201A, &axi_qos->qosctset0); writel(0x00000018, &axi_qos->qosreqctr); writel(0x00002050, &axi_qos->qosthres0); writel(0x00002032, &axi_qos->qosthres1); writel(0x00002014, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_DU0W_BASE; writel(0x00000101, &axi_qos->qosconf); writel(0x00002006, &axi_qos->qosctset0); writel(0x00000018, &axi_qos->qosreqctr); writel(0x00002050, &axi_qos->qosthres0); writel(0x00002032, &axi_qos->qosthres1); writel(0x00002014, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_VSP0R_BASE; writel(0x00000100, &axi_qos->qosconf); writel(0x0000201A, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00002050, &axi_qos->qosthres0); writel(0x00002032, &axi_qos->qosthres1); writel(0x00002014, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_VSP0W_BASE; writel(0x00000100, &axi_qos->qosconf); writel(0x00002042, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00002050, &axi_qos->qosthres0); writel(0x00002032, &axi_qos->qosthres1); writel(0x00002014, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_ROTCE0R_BASE; writel(0x00000100, &axi_qos->qosconf); writel(0x0000204C, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00002050, &axi_qos->qosthres0); writel(0x00002032, &axi_qos->qosthres1); writel(0x00002014, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_ROTCE0W_BASE; writel(0x00000100, &axi_qos->qosconf); writel(0x00002200, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00002050, &axi_qos->qosthres0); writel(0x00002032, &axi_qos->qosthres1); writel(0x00002014, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_ROTVLC0R_BASE; writel(0x00000100, &axi_qos->qosconf); writel(0x00002455, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00002050, &axi_qos->qosthres0); writel(0x00002032, &axi_qos->qosthres1); writel(0x00002014, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_ROTVLC0W_BASE; writel(0x00000100, &axi_qos->qosconf); writel(0x00002455, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00002050, &axi_qos->qosthres0); writel(0x00002032, &axi_qos->qosthres1); writel(0x00002014, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_ROTCE1R_BASE; writel(0x00000100, &axi_qos->qosconf); writel(0x0000204C, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00002050, &axi_qos->qosthres0); writel(0x00002032, &axi_qos->qosthres1); writel(0x00002014, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_ROTCE1W_BASE; writel(0x00000100, &axi_qos->qosconf); writel(0x00002200, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00002050, &axi_qos->qosthres0); writel(0x00002032, &axi_qos->qosthres1); writel(0x00002014, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_ROTVLC1R_BASE; writel(0x00000100, &axi_qos->qosconf); writel(0x00002455, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00002050, &axi_qos->qosthres0); writel(0x00002032, &axi_qos->qosthres1); writel(0x00002014, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_ROTVLC1W_BASE; writel(0x00000100, &axi_qos->qosconf); writel(0x00002455, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00002050, &axi_qos->qosthres0); writel(0x00002032, &axi_qos->qosthres1); writel(0x00002014, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_ROTCE2R_BASE; writel(0x00000100, &axi_qos->qosconf); writel(0x0000204C, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00002050, &axi_qos->qosthres0); writel(0x00002032, &axi_qos->qosthres1); writel(0x00002014, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_ROTCE2W_BASE; writel(0x00000100, &axi_qos->qosconf); writel(0x00002200, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00002050, &axi_qos->qosthres0); writel(0x00002032, &axi_qos->qosthres1); writel(0x00002014, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_ROTVLC2R_BASE; writel(0x00000100, &axi_qos->qosconf); writel(0x00002455, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00002050, &axi_qos->qosthres0); writel(0x00002032, &axi_qos->qosthres1); writel(0x00002014, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_ROTVLC2W_BASE; writel(0x00000100, &axi_qos->qosconf); writel(0x00002455, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00002050, &axi_qos->qosthres0); writel(0x00002032, &axi_qos->qosthres1); writel(0x00002014, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_ROTCE3R_BASE; writel(0x00000100, &axi_qos->qosconf); writel(0x0000204C, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00002050, &axi_qos->qosthres0); writel(0x00002032, &axi_qos->qosthres1); writel(0x00002014, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_ROTCE3W_BASE; writel(0x00000100, &axi_qos->qosconf); writel(0x00002200, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00002050, &axi_qos->qosthres0); writel(0x00002032, &axi_qos->qosthres1); writel(0x00002014, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_ROTVLC3R_BASE; writel(0x00000100, &axi_qos->qosconf); writel(0x00002455, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00002050, &axi_qos->qosthres0); writel(0x00002032, &axi_qos->qosthres1); writel(0x00002014, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); axi_qos = (struct rcar_axi_qos *)MEDIA_AXI_ROTVLC3W_BASE; writel(0x00000100, &axi_qos->qosconf); writel(0x00002455, &axi_qos->qosctset0); writel(0x00000001, &axi_qos->qosreqctr); writel(0x00002050, &axi_qos->qosthres0); writel(0x00002032, &axi_qos->qosthres1); writel(0x00002014, &axi_qos->qosthres2); writel(0x00000001, &axi_qos->qosqon); /* DMS Register(SYS-AXI) */ writel(0x00000000, SYS_AXI_AVBDMSCR); writel(0x00000000, SYS_AXI_AX2MDMSCR); writel(0x00000000, SYS_AXI_CC50DMSCR); writel(0x00000000, SYS_AXI_CCIDMSCR); writel(0x00000000, SYS_AXI_CSDMSCR); writel(0x00000000, SYS_AXI_G2DDMSCR); writel(0x00000000, SYS_AXI_IMP1DMSCR); writel(0x00000000, SYS_AXI_LBSMDMSCR); writel(0x00000000, SYS_AXI_MMUDSDMSCR); writel(0x00000000, SYS_AXI_MMUMXDMSCR); writel(0x00000000, SYS_AXI_MMUS0DMSCR); writel(0x00000000, SYS_AXI_MMUS1DMSCR); writel(0x00000000, SYS_AXI_RTMXDMSCR); writel(0x00000000, SYS_AXI_SDM0DMSCR); writel(0x00000000, SYS_AXI_SDM1DMSCR); writel(0x00000000, SYS_AXI_SDS0DMSCR); writel(0x00000000, SYS_AXI_SDS1DMSCR); writel(0x00000000, SYS_AXI_TRABDMSCR); writel(0x00000000, SYS_AXI_X128TO64SLVDMSCR); writel(0x00000000, SYS_AXI_X64TO128SLVDMSCR); writel(0x00000000, SYS_AXI_AVBSLVDMSCR); writel(0x00000000, SYS_AXI_AX2SLVDMSCR); writel(0x00000000, SYS_AXI_GICSLVDMSCR); writel(0x00000000, SYS_AXI_IMPSLVDMSCR); writel(0x00000000, SYS_AXI_IMPSLVDMSCR); writel(0x00000000, SYS_AXI_IMX0SLVDMSCR); writel(0x00000000, SYS_AXI_IMX1SLVDMSCR); writel(0x00000000, SYS_AXI_IMX2SLVDMSCR); writel(0x00000000, SYS_AXI_LBSSLVDMSCR); writel(0x00000000, SYS_AXI_MXTSLVDMSCR); writel(0x00000000, SYS_AXI_SYAPBSLVDMSCR); writel(0x00000000, SYS_AXI_QSAPBSLVDMSCR); writel(0x00000000, SYS_AXI_RTXSLVDMSCR); writel(0x00000000, SYS_AXI_SAPC1SLVDMSCR); writel(0x00000000, SYS_AXI_SAPC2SLVDMSCR); writel(0x00000000, SYS_AXI_SAPC3SLVDMSCR); writel(0x00000000, SYS_AXI_SAPC65SLVDMSCR); writel(0x00000000, SYS_AXI_SAPC8SLVDMSCR); writel(0x00000000, SYS_AXI_SDAP0SLVDMSCR); writel(0x00000000, SYS_AXI_SGXSLV1SLVDMSCR); writel(0x00000000, SYS_AXI_STBSLVDMSCR); writel(0x00000000, SYS_AXI_STMSLVDMSCR); writel(0x00000000, SYS_AXI_SYXXDEFAULTSLAVESLVDMSCR); writel(0x00000000, SYS_AXI_TSPL0SLVDMSCR); writel(0x00000000, SYS_AXI_TSPL1SLVDMSCR); writel(0x00000000, SYS_AXI_TSPL2SLVDMSCR); writel(0x00000000, SYS_AXI_UTLBDSSLVDMSCR); writel(0x00000000, SYS_AXI_UTLBS0SLVDMSCR); writel(0x00000000, SYS_AXI_UTLBS1SLVDMSCR); writel(0x00000000, SYS_AXI_ROT0DMSCR); writel(0x00000000, SYS_AXI_ROT1DMSCR); writel(0x00000000, SYS_AXI_ROT2DMSCR); writel(0x00000000, SYS_AXI_ROT3DMSCR); writel(0x00000000, SYS_AXI_ROT4DMSCR); writel(0x00000000, SYS_AXI_IMUX3SLVDMSCR); writel(0x00000000, SYS_AXI_STBR0SLVDMSCR); writel(0x00000000, SYS_AXI_STBR0PSLVDMSCR); writel(0x00000000, SYS_AXI_STBR0XSLVDMSCR); writel(0x00000000, SYS_AXI_STBR1SLVDMSCR); writel(0x00000000, SYS_AXI_STBR1PSLVDMSCR); writel(0x00000000, SYS_AXI_STBR1XSLVDMSCR); writel(0x00000000, SYS_AXI_STBR2SLVDMSCR); writel(0x00000000, SYS_AXI_STBR2PSLVDMSCR); writel(0x00000000, SYS_AXI_STBR2XSLVDMSCR); writel(0x00000000, SYS_AXI_STBR3SLVDMSCR); writel(0x00000000, SYS_AXI_STBR3PSLVDMSCR); writel(0x00000000, SYS_AXI_STBR3XSLVDMSCR); writel(0x00000000, SYS_AXI_STBR4SLVDMSCR); writel(0x00000000, SYS_AXI_STBR4PSLVDMSCR); writel(0x00000000, SYS_AXI_STBR4XSLVDMSCR); writel(0x00000000, SYS_AXI_ADM_DMSCR); writel(0x00000000, SYS_AXI_ADS_DMSCR); /* DMS Register(RT-AXI) */ writel(0x00000000, DM_AXI_DMAXICONF); writel(0x00000019, DM_AXI_DMAPBCONF); writel(0x00000000, DM_AXI_DMADMCONF); writel(0x00000000, DM_AXI_DMSDM0CONF); writel(0x00000000, DM_AXI_DMSDM1CONF); writel(0x00000004, DM_AXI_DMQSPAPSLVCONF); writel(0x00000004, DM_AXI_RAPD4SLVCONF); writel(0x00000004, DM_AXI_SAPD4SLVCONF); writel(0x00000004, DM_AXI_SAPD5SLVCONF); writel(0x00000004, DM_AXI_SAPD6SLVCONF); writel(0x00000004, DM_AXI_SAPD65DSLVCONF); writel(0x00000004, DM_AXI_SDAP0SLVCONF); writel(0x00000004, DM_AXI_MAPD2SLVCONF); writel(0x00000004, DM_AXI_MAPD3SLVCONF); writel(0x00000000, DM_AXI_DMXXDEFAULTSLAVESLVCONF); writel(0x00000100, DM_AXI_DMADMRQOSCONF); writel(0x0000214C, DM_AXI_DMADMRQOSCTSET0); writel(0x00000001, DM_AXI_DMADMRQOSREQCTR); writel(0x00000001, DM_AXI_DMADMRQOSQON); writel(0x00000005, DM_AXI_DMADMRQOSIN); writel(0x00000000, DM_AXI_DMADMRQOSSTAT); writel(0x00000000, DM_AXI_DMSDM0RQOSCONF); writel(0x0000214C, DM_AXI_DMSDM0RQOSCTSET0); writel(0x00000001, DM_AXI_DMSDM0RQOSREQCTR); writel(0x00000001, DM_AXI_DMSDM0RQOSQON); writel(0x00000005, DM_AXI_DMSDM0RQOSIN); writel(0x00000000, DM_AXI_DMSDM0RQOSSTAT); writel(0x00000000, DM_AXI_DMSDM1RQOSCONF); writel(0x0000214C, DM_AXI_DMSDM1RQOSCTSET0); writel(0x00000001, DM_AXI_DMSDM1RQOSREQCTR); writel(0x00000001, DM_AXI_DMSDM1RQOSQON); writel(0x00000005, DM_AXI_DMSDM1RQOSIN); writel(0x00000000, DM_AXI_DMSDM1RQOSSTAT); writel(0x00002041, DM_AXI_DMRQOSCTSET1); writel(0x00002023, DM_AXI_DMRQOSCTSET2); writel(0x0000200A, DM_AXI_DMRQOSCTSET3); writel(0x00002050, DM_AXI_DMRQOSTHRES0); writel(0x00002032, DM_AXI_DMRQOSTHRES1); writel(0x00002014, DM_AXI_DMRQOSTHRES2); writel(0x00000100, DM_AXI_DMADMWQOSCONF); writel(0x0000214C, DM_AXI_DMADMWQOSCTSET0); writel(0x00000001, DM_AXI_DMADMWQOSREQCTR); writel(0x00000001, DM_AXI_DMADMWQOSQON); writel(0x00000005, DM_AXI_DMADMWQOSIN); writel(0x00000000, DM_AXI_DMADMWQOSSTAT); writel(0x00000000, DM_AXI_DMSDM0WQOSCONF); writel(0x0000214C, DM_AXI_DMSDM0WQOSCTSET0); writel(0x00000001, DM_AXI_DMSDM0WQOSREQCTR); writel(0x00000001, DM_AXI_DMSDM0WQOSQON); writel(0x00000005, DM_AXI_DMSDM0WQOSIN); writel(0x00000000, DM_AXI_DMSDM0WQOSSTAT); writel(0x00000000, DM_AXI_DMSDM1WQOSCONF); writel(0x0000214C, DM_AXI_DMSDM1WQOSCTSET0); writel(0x00000001, DM_AXI_DMSDM1WQOSREQCTR); writel(0x00000001, DM_AXI_DMSDM1WQOSQON); writel(0x00000005, DM_AXI_DMSDM1WQOSIN); writel(0x00000000, DM_AXI_DMSDM1WQOSSTAT); writel(0x00002041, DM_AXI_DMWQOSCTSET1); writel(0x00002023, DM_AXI_DMWQOSCTSET2); writel(0x0000200A, DM_AXI_DMWQOSCTSET3); writel(0x00002050, DM_AXI_DMWQOSTHRES0); writel(0x00002032, DM_AXI_DMWQOSTHRES1); writel(0x00002014, DM_AXI_DMWQOSTHRES2); writel(0x00000000, DM_AXI_RDMDMSCR); writel(0x00000000, DM_AXI_SDM0DMSCR); writel(0x00000000, DM_AXI_SDM1DMSCR); writel(0x00000000, DM_AXI_DMQSPAPSLVDMSCR); writel(0x00000000, DM_AXI_RAPD4SLVDMSCR); writel(0x00000000, DM_AXI_SAPD4SLVDMSCR); writel(0x00000000, DM_AXI_SAPD5SLVDMSCR); writel(0x00000000, DM_AXI_SAPD6SLVDMSCR); writel(0x00000000, DM_AXI_SAPD65DSLVDMSCR); writel(0x00000000, DM_AXI_SDAP0SLVDMSCR); writel(0x00000000, DM_AXI_MAPD2SLVDMSCR); writel(0x00000000, DM_AXI_MAPD3SLVDMSCR); writel(0x00000000, DM_AXI_DMXXDEFAULTSLAVESLVDMSCR); writel(0x00000001, DM_AXI_DMXREGDMSENN); /* DMS Register(SYS-AXI256) */ writel(0x00000000, SYS_AXI256_SYXDMSCR); writel(0x00000000, SYS_AXI256_MXIDMSCR); writel(0x00000000, SYS_AXI256_X128TO256SLVDMSCR); writel(0x00000000, SYS_AXI256_X256TO128SLVDMSCR); writel(0x00000000, SYS_AXI256_SYXSLVDMSCR); writel(0x00000000, SYS_AXI256_CCXSLVDMSCR); writel(0x00000000, SYS_AXI256_S3CSLVDMSCR); /* DMS Register(MXT) */ writel(0x00000000, MXT_SYXDMSCR); writel(0x00000000, MXT_IMRSLVDMSCR); writel(0x00000000, MXT_VINSLVDMSCR); writel(0x00000000, MXT_VPC1SLVDMSCR); writel(0x00000000, MXT_VSPD0SLVDMSCR); writel(0x00000000, MXT_VSPD1SLVDMSCR); writel(0x00000000, MXT_MAP1SLVDMSCR); writel(0x00000000, MXT_MAP2SLVDMSCR); writel(0x00000000, MXT_MAP2BSLVDMSCR); /* DMS Register(MXI) */ writel(0x00000002, MXI_JPURDMSCR); writel(0x00000002, MXI_JPUWDMSCR); writel(0x00000002, MXI_VCTU0RDMSCR); writel(0x00000002, MXI_VCTU0WDMSCR); writel(0x00000002, MXI_VDCTU0RDMSCR); writel(0x00000002, MXI_VDCTU0WDMSCR); writel(0x00000002, MXI_VDCTU1RDMSCR); writel(0x00000002, MXI_VDCTU1WDMSCR); writel(0x00000002, MXI_VIN0WDMSCR); writel(0x00000002, MXI_VIN1WDMSCR); writel(0x00000002, MXI_RDRWDMSCR); writel(0x00000002, MXI_IMS01RDMSCR); writel(0x00000002, MXI_IMS01WDMSCR); writel(0x00000002, MXI_IMS23RDMSCR); writel(0x00000002, MXI_IMS23WDMSCR); writel(0x00000002, MXI_IMS45RDMSCR); writel(0x00000002, MXI_IMS45WDMSCR); writel(0x00000002, MXI_IMRRDMSCR); writel(0x00000002, MXI_IMRWDMSCR); writel(0x00000002, MXI_ROTCE4RDMSCR); writel(0x00000002, MXI_ROTCE4WDMSCR); writel(0x00000002, MXI_ROTVLC4RDMSCR); writel(0x00000002, MXI_ROTVLC4WDMSCR); writel(0x00000002, MXI_VSPD0RDMSCR); writel(0x00000002, MXI_VSPD0WDMSCR); writel(0x00000002, MXI_VSPD1RDMSCR); writel(0x00000002, MXI_VSPD1WDMSCR); writel(0x00000002, MXI_DU0RDMSCR); writel(0x00000002, MXI_DU0WDMSCR); writel(0x00000002, MXI_VSP0RDMSCR); writel(0x00000002, MXI_VSP0WDMSCR); writel(0x00000002, MXI_ROTCE0RDMSCR); writel(0x00000002, MXI_ROTCE0WDMSCR); writel(0x00000002, MXI_ROTVLC0RDMSCR); writel(0x00000002, MXI_ROTVLC0WDMSCR); writel(0x00000002, MXI_ROTCE1RDMSCR); writel(0x00000002, MXI_ROTCE1WDMSCR); writel(0x00000002, MXI_ROTVLC1RDMSCR); writel(0x00000002, MXI_ROTVLC1WDMSCR); writel(0x00000002, MXI_ROTCE2RDMSCR); writel(0x00000002, MXI_ROTCE2WDMSCR); writel(0x00000002, MXI_ROTVLC2RDMSCR); writel(0x00000002, MXI_ROTVLC2WDMSCR); writel(0x00000002, MXI_ROTCE3RDMSCR); writel(0x00000002, MXI_ROTCE3WDMSCR); writel(0x00000002, MXI_ROTVLC3RDMSCR); writel(0x00000002, MXI_ROTVLC3WDMSCR); /* DMS Register(CCI-AXI) */ writel(0x00000000, CCI_AXI_MMUS0DMSCR); writel(0x00000000, CCI_AXI_SYX2DMSCR); writel(0x00000000, CCI_AXI_MMURDMSCR); writel(0x00000000, CCI_AXI_MMUDSDMSCR); writel(0x00000000, CCI_AXI_MMUMDMSCR); writel(0x00000000, CCI_AXI_MXIDMSCR); writel(0x00000000, CCI_AXI_MMUS1DMSCR); writel(0x00000000, CCI_AXI_MMUMPDMSCR); writel(0x00000000, CCI_AXI_DVMDMSCR); writel(0x00000000, CCI_AXI_CCISLVDMSCR); /* CC-AXI Function Register */ writel(0x00000011, CCI_AXI_IPMMUIDVMCR); writel(0x00000011, CCI_AXI_IPMMURDVMCR); writel(0x00000011, CCI_AXI_IPMMUS0DVMCR); writel(0x00000011, CCI_AXI_IPMMUS1DVMCR); writel(0x00000011, CCI_AXI_IPMMUMPDVMCR); writel(0x00000011, CCI_AXI_IPMMUDSDVMCR); writel(0x0000F700, CCI_AXI_AX2ADDRMASK); } #else /* CONFIG_RMOBILE_EXTRAM_BOOT */ void qos_init(void) { } #endif /* CONFIG_RMOBILE_EXTRAM_BOOT */