/*
 * Copyright (c) 2015-2022, Renesas Electronics Corporation. All rights reserved.
 *
 *     RENESAS ELECTRONICS CONFIDENTIAL AND PROPRIETARY
 *
 * This software is provided as reference/sample code under the license
 * agreement between Renesas Electronics Corporation and licensee (the
 * "License Agreement") and shall be treated as specified in the License
 * Agreement.
 * These instructions, statements, and software are the confidential
 * information of Renesas Electronics Corporation. They must be used and
 * modified solely for the purpose for which it was furnished by Renesas
 * Electronics Corporation. All or part of these instructions, statements and
 * software must not be reproduced nor disclosed to any third party in any
 * form, unless permitted by the License Agreement.
 *
 * THIS SOFTWARE IS PROVIDED BY RENESAS ELEOCTRONICS CORPORATION "AS IS" AND
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE,
 * SATISFACTORY QUALITY, ACCURACY, TITLE AND NON-INFRINGEMENT ARE DISCLAIMED.
 * IN NO EVENT SHALL RENESAS ELECTRONICS CORPORATION BE LIABLE FOR ANY DIRECT,
 * INDIRECT, INCIDENTAL, SPECIAL, PUNITIVE, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 * DAMAGE.
 */

#if defined(__RH850G3K__)
#include "mem_io.h"
#include "log.h"
#include "remap_register.h"
#else
#include <mmio.h>
#include <debug.h>
#endif

#define RCAR_DDR_VERSION        "rev.0.42"
#define DRAM_CH_CNT		0x04
#define SLICE_CNT		0x04
#define CS_CNT			0x02
/* order : CS0A, CS0B, CS1A, CS1B */
#define CSAB_CNT		(CS_CNT * 2)
/* order : CH0A, CH0B, CH1A, CH1B, CH2A, CH2B, CH3A, CH3B */
#define CHAB_CNT		(DRAM_CH_CNT * 2)

/* for pll setting */
#define CLK_DIV(a, diva, b, divb) (((a) * (divb)) / ((b) * (diva)))
#define CLK_MUL(a, diva, b, divb) (((a) * (b)) / ((diva) * (divb)))

/* for ddr deisity setting */
#define DBMEMCONF_REG(d3, row, bank, col, dw) (((d3) << 30) | ((row) << 24) | ((bank) << 16) | ((col) << 8) | (dw))
#define DBMEMCONF_REGD(density) (DBMEMCONF_REG((density) % 2, ((density) + 1) / 2 + (29 - 3 - 10 - 2), 3, 10, 2))
#define DBMEMCONF_VAL(ch, cs) (DBMEMCONF_REGD(DBMEMCONF_DENS(ch, cs)))

/* refresh mode */
#define DBSC_REFINTS		0x0		/* 0: Average interval is REFINT. / 1: Average interval is 1/2 REFINT. */

/* system registers */
#if defined(__RH850G3K__)
#define CPG_BASE		(BASE_CPG_ADDR)
#else
#define CPG_BASE		(0xE6150000U)
#endif
#define CPG_FRQCRB		(CPG_BASE + 0x0004U)

#define CPG_PLLECR		(CPG_BASE + 0x00D0U)
#define CPG_MSTPSR5		(CPG_BASE + 0x003CU)	/* R	32	Module stop status register 5 */
#define CPG_SRCR4		(CPG_BASE + 0x00BCU)
#define CPG_PLL3CR		(CPG_BASE + 0x00DCU)
#define CPG_ZB3CKCR		(CPG_BASE + 0x0380U)
#define CPG_FRQCRD		(CPG_BASE + 0x00E4U)
#define CPG_SMSTPCR5		(CPG_BASE + 0x0144U)	/* R/W	32	System module stop control register 5 */
#define CPG_CPGWPR		(CPG_BASE + 0x0900U)
#define CPG_SRSTCLR4		(CPG_BASE + 0x0950U)

#define CPG_FRQCRB_KICK_BIT	(1U<<31)
#define CPG_PLLECR_PLL3E_BIT	(1U<<3)
#define CPG_PLLECR_PLL3ST_BIT	(1U<<11)
#define CPG_ZB3CKCR_ZB3ST_BIT	(1U<<11)

#if defined(__RH850G3K__)
#define RST_BASE		(BASE_RESET_ADDR)
#else
#define RST_BASE		(0xE6160000U)
#endif
#define RST_MODEMR		(RST_BASE + 0x0060U)

/* chip_id and calibration code */
#if defined(__RH850G3K__)
#define LIFEC_CHIPID(x)		(BASE_LIFEC_ADDR + 0x40U + (x) * 4)
#else
#define LIFEC_CHIPID(x)		(0xE6110040U+(x)*4)
#endif

/* Product Register */
#if defined(__RH850G3K__)
#define PRR			(BASE_PRR_ADDR)
#else
#define PRR			(0xFFF00044U)
#endif
#define PRR_PRODUCT_MASK	(0x00007F00U)
#define PRR_CUT_MASK		(0x000000FFU)
#define PRR_PRODUCT_H3		(0x00004F00U)           /* R-Car H3   */
#define PRR_PRODUCT_M3		(0x00005200U)           /* R-Car M3-W */
#define PRR_PRODUCT_M3N		(0x00005500U)           /* R-Car M3-N */
#define PRR_PRODUCT_V3H		(0x00005600U)           /* R-Car V3H  */
#define PRR_PRODUCT_10		(0x00U)			/*   Ver.1.0  */
#define PRR_PRODUCT_11		(0x01U)			/*   Ver.1.1  */
#define PRR_PRODUCT_20		(0x10U)			/*   Ver.2.0  */
#define PRR_PRODUCT_30		(0x20U)			/*   Ver.3.0  */

/* DBSC registers */
#define DBSC_DBSYSCONF1		(DBSC_BASE + 0x0004U)
#define DBSC_DBPHYCONF0		(DBSC_BASE + 0x0010U)
#define DBSC_DBKIND		(DBSC_BASE + 0x0020U)

#define DBSC_DBMEMCONF(ch, cs)	(DBSC_DBMEMCONF_0_0 + 0x10U * ch + 0x04U * cs)
#define DBSC_DBMEMCONF_0_0	(DBSC_BASE + 0x0030U)
#define DBSC_DBMEMCONF_0_1	(DBSC_BASE + 0x0034U)
#define DBSC_DBMEMCONF_0_2	(DBSC_BASE + 0x0038U)
#define DBSC_DBMEMCONF_0_3	(DBSC_BASE + 0x003CU)
#define DBSC_DBMEMCONF_1_2	(DBSC_BASE + 0x0048U)
#define DBSC_DBMEMCONF_1_3	(DBSC_BASE + 0x004CU)
#define DBSC_DBMEMCONF_1_0	(DBSC_BASE + 0x0040U)
#define DBSC_DBMEMCONF_1_1	(DBSC_BASE + 0x0044U)
#define DBSC_DBMEMCONF_2_0	(DBSC_BASE + 0x0050U)
#define DBSC_DBMEMCONF_2_1	(DBSC_BASE + 0x0054U)
#define DBSC_DBMEMCONF_2_2	(DBSC_BASE + 0x0058U)
#define DBSC_DBMEMCONF_2_3	(DBSC_BASE + 0x005CU)
#define DBSC_DBMEMCONF_3_0	(DBSC_BASE + 0x0060U)
#define DBSC_DBMEMCONF_3_1	(DBSC_BASE + 0x0064U)
#define DBSC_DBMEMCONF_3_2	(DBSC_BASE + 0x0068U)
#define DBSC_DBMEMCONF_3_3	(DBSC_BASE + 0x006CU)

#define DBSC_DBSYSCNT0		(DBSC_BASE + 0x0100U)

#define DBSC_DBACEN		(DBSC_BASE + 0x0200U)
#define DBSC_DBRFEN		(DBSC_BASE + 0x0204U)
#define DBSC_DBCMD		(DBSC_BASE + 0x0208U)
#define DBSC_DBWAIT		(DBSC_BASE + 0x0210U)
#define DBSC_DBSYSCTRL0		(DBSC_BASE + 0x0280U)

#define DBSC_DBTR(x)		(DBSC_DBTR0 + 0x04U * (x))
#define DBSC_DBTR0		(DBSC_BASE + 0x0300U)
#define DBSC_DBTR1		(DBSC_BASE + 0x0304U)
#define DBSC_DBTR3		(DBSC_BASE + 0x030CU)
#define DBSC_DBTR4		(DBSC_BASE + 0x0310U)
#define DBSC_DBTR5		(DBSC_BASE + 0x0314U)
#define DBSC_DBTR6		(DBSC_BASE + 0x0318U)
#define DBSC_DBTR7		(DBSC_BASE + 0x031CU)
#define DBSC_DBTR8		(DBSC_BASE + 0x0320U)
#define DBSC_DBTR9		(DBSC_BASE + 0x0324U)
#define DBSC_DBTR10		(DBSC_BASE + 0x0328U)
#define DBSC_DBTR11		(DBSC_BASE + 0x032CU)
#define DBSC_DBTR12		(DBSC_BASE + 0x0330U)
#define DBSC_DBTR13		(DBSC_BASE + 0x0334U)
#define DBSC_DBTR14		(DBSC_BASE + 0x0338U)
#define DBSC_DBTR15		(DBSC_BASE + 0x033CU)
#define DBSC_DBTR16		(DBSC_BASE + 0x0340U)
#define DBSC_DBTR17		(DBSC_BASE + 0x0344U)
#define DBSC_DBTR18		(DBSC_BASE + 0x0348U)
#define DBSC_DBTR19		(DBSC_BASE + 0x034CU)
#define DBSC_DBTR20		(DBSC_BASE + 0x0350U)
#define DBSC_DBTR21		(DBSC_BASE + 0x0354U)
#define DBSC_DBTR22		(DBSC_BASE + 0x0358U)
#define DBSC_DBTR23		(DBSC_BASE + 0x035CU)
#define DBSC_DBTR24		(DBSC_BASE + 0x0360U)
#define DBSC_DBTR25		(DBSC_BASE + 0x0364U)
#define DBSC_DBTR26		(DBSC_BASE + 0x0368U)

#define DBSC_DBBL		(DBSC_BASE + 0x0400U)
#define DBSC_DBRFCNF1		(DBSC_BASE + 0x0414U)
#define DBSC_DBRFCNF2		(DBSC_BASE + 0x0418U)
#define DBSC_DBTSPCNF		(DBSC_BASE + 0x0420U)
#define DBSC_DBCALCNF		(DBSC_BASE + 0x0424U)
#define DBSC_DBRNK(x)		((DBSC_BASE + 0x0430U) + 0x04U * (x))
#define DBSC_DBRNK2		(DBSC_BASE + 0x0438U)
#define DBSC_DBRNK3		(DBSC_BASE + 0x043CU)
#define DBSC_DBRNK4		(DBSC_BASE + 0x0440U)
#define DBSC_DBRNK5		(DBSC_BASE + 0x0444U)
#define DBSC_DBODT(x)		((DBSC_BASE + 0x0460U) + 0x04U * (x))

#define DBSC_DBADJ0		(DBSC_BASE + 0x0500U)
#define DBSC_DBDBICNT		(DBSC_BASE + 0x0518U)
#define DBSC_DBDFIPMSTRCNF	(DBSC_BASE + 0x0520U)
#define DBSC_DBDFICUPDCNF	(DBSC_BASE + 0x052CU)

#define DBSC_DBDFISTAT(ch)	((DBSC_BASE + 0x0600U) + 0x40U * (ch))
#define DBSC_DBDFISTAT_0	(DBSC_BASE + 0x0600U)
#define DBSC_DBDFISTAT_1	(DBSC_BASE + 0x0640U)
#define DBSC_DBDFISTAT_2	(DBSC_BASE + 0x0680U)
#define DBSC_DBDFISTAT_3	(DBSC_BASE + 0x06C0U)

#define DBSC_DBDFICNT(ch)	((DBSC_BASE + 0x0604U) + 0x40U * (ch))
#define DBSC_DBDFICNT_0		(DBSC_BASE + 0x0604U)
#define DBSC_DBDFICNT_1		(DBSC_BASE + 0x0644U)
#define DBSC_DBDFICNT_2		(DBSC_BASE + 0x0684U)
#define DBSC_DBDFICNT_3		(DBSC_BASE + 0x06C4U)

#define DBSC_DBPDCNT0(ch)	((DBSC_BASE + 0x0610U) + 0x40U * (ch))
#define DBSC_DBPDCNT0_0		(DBSC_BASE + 0x0610U)
#define DBSC_DBPDCNT0_1		(DBSC_BASE + 0x0650U)
#define DBSC_DBPDCNT0_2		(DBSC_BASE + 0x0690U)
#define DBSC_DBPDCNT0_3		(DBSC_BASE + 0x06D0U)

#define DBSC_DBPDCNT1(ch)	((DBSC_BASE + 0x0614U) + 0x40U * (ch))
#define DBSC_DBPDCNT1_0		(DBSC_BASE + 0x0614U)
#define DBSC_DBPDCNT1_1		(DBSC_BASE + 0x0654U)
#define DBSC_DBPDCNT1_2		(DBSC_BASE + 0x0694U)
#define DBSC_DBPDCNT1_3		(DBSC_BASE + 0x06D4U)

#define DBSC_DBPDCNT2(ch)	((DBSC_BASE + 0x0618U) + 0x40U * (ch))
#define DBSC_DBPDCNT2_0		(DBSC_BASE + 0x0618U)
#define DBSC_DBPDCNT2_1		(DBSC_BASE + 0x0658U)
#define DBSC_DBPDCNT2_2		(DBSC_BASE + 0x0698U)
#define DBSC_DBPDCNT2_3		(DBSC_BASE + 0x06D8U)

#define DBSC_DBPDCNT3(ch)	((DBSC_BASE + 0x061CU) + 0x40U * (ch))
#define DBSC_DBPDCNT3_0		(DBSC_BASE + 0x061CU)
#define DBSC_DBPDCNT3_1		(DBSC_BASE + 0x065CU)
#define DBSC_DBPDCNT3_2		(DBSC_BASE + 0x069CU)
#define DBSC_DBPDCNT3_3		(DBSC_BASE + 0x06DCU)

#define DBSC_DBPDLK(ch)		((DBSC_BASE + 0x0620U) + 0x40U * (ch))
#define DBSC_DBPDLK_0		(DBSC_BASE + 0x0620U)
#define DBSC_DBPDLK_1		(DBSC_BASE + 0x0660U)
#define DBSC_DBPDLK_2		(DBSC_BASE + 0x06a0U)
#define DBSC_DBPDLK_3		(DBSC_BASE + 0x06e0U)

#define DBSC_DBPDRGA(ch)	((DBSC_BASE + 0x0624U) + 0x40U * (ch))
#define DBSC_DBPDRGD(ch)	((DBSC_BASE + 0x0628U) + 0x40U * (ch))
#define DBSC_DBPDRGA_0		(DBSC_BASE + 0x0624U)
#define DBSC_DBPDRGD_0		(DBSC_BASE + 0x0628U)
#define DBSC_DBPDRGA_1		(DBSC_BASE + 0x0664U)
#define DBSC_DBPDRGD_1		(DBSC_BASE + 0x0668U)
#define DBSC_DBPDRGA_2		(DBSC_BASE + 0x06A4U)
#define DBSC_DBPDRGD_2		(DBSC_BASE + 0x06A8U)
#define DBSC_DBPDRGA_3		(DBSC_BASE + 0x06E4U)
#define DBSC_DBPDRGD_3		(DBSC_BASE + 0x06E8U)

#define DBSC_DBPDSTAT(ch)	((DBSC_BASE + 0x0630U) + 0x40U * (ch))
#define DBSC_DBPDSTAT_0		(DBSC_BASE + 0x0630U)
#define DBSC_DBPDSTAT_1		(DBSC_BASE + 0x0670U)
#define DBSC_DBPDSTAT_2		(DBSC_BASE + 0x06B0U)
#define DBSC_DBPDSTAT_3		(DBSC_BASE + 0x06F0U)

#define DBSC_DBBUS0CNF0		(DBSC_BASE + 0x0800U)
#define DBSC_DBBUS0CNF1		(DBSC_BASE + 0x0804U)

#define DBSC_DBCAM0CNF1		(DBSC_BASE + 0x0904U)
#define DBSC_DBCAM0CNF2		(DBSC_BASE + 0x0908U)
#define DBSC_DBCAM0CNF3		(DBSC_BASE + 0x090CU)
#define DBSC_DBBSWAP		(DBSC_BASE + 0x09F0U)
#define DBSC_DBBCAMDIS		(DBSC_BASE + 0x09FCU)
#define DBSC_DBSCHCNT0		(DBSC_BASE + 0x1000U)
#define DBSC_DBSCHCNT1		(DBSC_BASE + 0x1004U)
#define DBSC_DBSCHSZ0		(DBSC_BASE + 0x1010U)
#define DBSC_DBSCHRW0		(DBSC_BASE + 0x1020U)
#define DBSC_DBSCHRW1		(DBSC_BASE + 0x1024U)

#define DBSC_DBSCHQOS_0(x)	((DBSC_BASE + 0x1030U) + 0x10U * (x))
#define DBSC_DBSCHQOS_1(x)	((DBSC_BASE + 0x1034U) + 0x10U * (x))
#define DBSC_DBSCHQOS_2(x)	((DBSC_BASE + 0x1038U) + 0x10U * (x))
#define DBSC_DBSCHQOS_3(x)	((DBSC_BASE + 0x103CU) + 0x10U * (x))

#define DBSC_DBSCTR0		(DBSC_BASE + 0x1700U)
#define DBSC_DBSCTR1		(DBSC_BASE + 0x1708U)
#define DBSC_DBSCHRW2		(DBSC_BASE + 0x170CU)

#define DBSC_SCFCTST01(x)	((DBSC_BASE + 0x1700U) + 0x08U * (x))
#define DBSC_SCFCTST0		(DBSC_BASE + 0x1700U)
#define DBSC_SCFCTST1		(DBSC_BASE + 0x1708U)
#define DBSC_SCFCTST2		(DBSC_BASE + 0x170CU)

#define DBSC_DBMRRDR(chab)	((DBSC_BASE + 0x1800U) + 0x04U * (chab))
#define DBSC_DBMRRDR_0		(DBSC_BASE + 0x1800U)
#define DBSC_DBMRRDR_1		(DBSC_BASE + 0x1804U)
#define DBSC_DBMRRDR_2		(DBSC_BASE + 0x1808U)
#define DBSC_DBMRRDR_3		(DBSC_BASE + 0x180CU)
#define DBSC_DBMRRDR_4		(DBSC_BASE + 0x1810U)
#define DBSC_DBMRRDR_5		(DBSC_BASE + 0x1814U)
#define DBSC_DBMRRDR_6		(DBSC_BASE + 0x1818U)
#define DBSC_DBMRRDR_7		(DBSC_BASE + 0x181CU)

#define DBSC_DBMEMSWAPCONF0	(DBSC_BASE + 0x2000U)

#define DBSC_DBMONCONF4		(DBSC_BASE + 0x3010U)

#define DBSC_PLL_LOCK(ch)	((DBSC_BASE + 0x4054U) + 0x100U * (ch))
#define DBSC_PLL_LOCK_0		(DBSC_BASE + 0x4054U)
#define DBSC_PLL_LOCK_1		(DBSC_BASE + 0x4154U)
#define DBSC_PLL_LOCK_2		(DBSC_BASE + 0x4254U)
#define DBSC_PLL_LOCK_3		(DBSC_BASE + 0x4354U)

/* STAT registers */
#if defined(__RH850G3K__)
#define MSTAT_BASE		(BASE_MSTAT_ADDR + 0x8000U)
#else
#define MSTAT_BASE		(0xE67E8000U)
#endif
#define MSTAT_SL_INIT		(MSTAT_BASE + 0x0000U)
#define MSTAT_REF_ARS		(MSTAT_BASE + 0x0004U)
#define MSTATQ_STATQC		(MSTAT_BASE + 0x0008U)
#define MSTATQ_WTENABLE		(MSTAT_BASE + 0x0030U)
#define MSTATQ_WTREFRESH	(MSTAT_BASE + 0x0034U)
#define MSTATQ_WTSETTING0	(MSTAT_BASE + 0x0038U)
#define MSTATQ_WTSETTING1	(MSTAT_BASE + 0x003CU)

#if defined(__RH850G3K__)
#define QOS_BASE1		(BASE_QOS_ADDR)
#else
#define QOS_BASE1		(0xE67F0000U)
#endif
#define QOSCTRL_RAS		(QOS_BASE1 + 0x0000U)
#define QOSCTRL_FIXTH		(QOS_BASE1 + 0x0004U)
#define QOSCTRL_RAEN		(QOS_BASE1 + 0x0018U)
#define QOSCTRL_REGGD		(QOS_BASE1 + 0x0020U)
#define QOSCTRL_DANN		(QOS_BASE1 + 0x0030U)
#define QOSCTRL_DANT		(QOS_BASE1 + 0x0038U)
#define QOSCTRL_EC		(QOS_BASE1 + 0x003CU)
#define QOSCTRL_EMS		(QOS_BASE1 + 0x0040U)
#define QOSCTRL_INSFC		(QOS_BASE1 + 0x0050U)
#define QOSCTRL_BERR		(QOS_BASE1 + 0x0054U)
#define QOSCTRL_RACNT0		(QOS_BASE1 + 0x0080U)
#define QOSCTRL_STATGEN0	(QOS_BASE1 + 0x0088U)

/* other module */
#if defined(__RH850G3K__)
#define THS1_BASE		(BASE_THS1_ADDR)
#else
#define THS1_BASE		(0xE6198000U)
#endif
#define THS1_THCTR		(THS1_BASE + 0x0020)
#define THS1_TEMP		(THS1_BASE + 0x0028)

#if defined(__RH850G3K__)
#define	DBSC_BASE		(BASE_DBSC_ADDR)
#else
#define	DBSC_BASE		(0xE6790000U)
#endif
#define DBSC_DBSCHQOS00		(DBSC_BASE + 0x1030U)
#define DBSC_DBSCHQOS01		(DBSC_BASE + 0x1034U)
#define DBSC_DBSCHQOS02		(DBSC_BASE + 0x1038U)
#define DBSC_DBSCHQOS03		(DBSC_BASE + 0x103CU)
#define DBSC_DBSCHQOS40		(DBSC_BASE + 0x1070U)
#define DBSC_DBSCHQOS41		(DBSC_BASE + 0x1074U)
#define DBSC_DBSCHQOS42		(DBSC_BASE + 0x1078U)
#define DBSC_DBSCHQOS43		(DBSC_BASE + 0x107CU)
#define DBSC_DBSCHQOS90		(DBSC_BASE + 0x10C0U)
#define DBSC_DBSCHQOS91		(DBSC_BASE + 0x10C4U)
#define DBSC_DBSCHQOS92		(DBSC_BASE + 0x10C8U)
#define DBSC_DBSCHQOS93		(DBSC_BASE + 0x10CCU)
#define DBSC_DBSCHQOS120	(DBSC_BASE + 0x10F0U)
#define DBSC_DBSCHQOS121	(DBSC_BASE + 0x10F4U)
#define DBSC_DBSCHQOS122	(DBSC_BASE + 0x10F8U)
#define DBSC_DBSCHQOS123	(DBSC_BASE + 0x10FCU)
#define DBSC_DBSCHQOS130	(DBSC_BASE + 0x1100U)
#define DBSC_DBSCHQOS131	(DBSC_BASE + 0x1104U)
#define DBSC_DBSCHQOS132	(DBSC_BASE + 0x1108U)
#define DBSC_DBSCHQOS133	(DBSC_BASE + 0x110CU)
#define DBSC_DBSCHQOS140	(DBSC_BASE + 0x1110U)
#define DBSC_DBSCHQOS141	(DBSC_BASE + 0x1114U)
#define DBSC_DBSCHQOS142	(DBSC_BASE + 0x1118U)
#define DBSC_DBSCHQOS143	(DBSC_BASE + 0x111CU)
#define DBSC_DBSCHQOS150	(DBSC_BASE + 0x1120U)
#define DBSC_DBSCHQOS151	(DBSC_BASE + 0x1124U)
#define DBSC_DBSCHQOS152	(DBSC_BASE + 0x1128U)
#define DBSC_DBSCHQOS153	(DBSC_BASE + 0x112CU)
