/*
 * Copyright (c) 2017-2019, Renesas Electronics Corporation. All rights reserved.
 *
 * SPDX-License-Identifier: BSD-3-Clause
 */

#ifndef QOS_REG_H
#define QOS_REG_H

#define	RCAR_QOS_NONE				(3U)
#define	RCAR_QOS_TYPE_DEFAULT		(0U)

#define	RCAR_DRAM_SPLIT_LINEAR		(0U)
#define	RCAR_DRAM_SPLIT_4CH			(1U)
#define	RCAR_DRAM_SPLIT_2CH			(2U)
#define	RCAR_DRAM_SPLIT_AUTO		(3U)
#define	RST_BASE					(0xE6160000U)
#define	RST_MODEMR					(RST_BASE + 0x0060U)

#define	DBSC_BASE					(0xE6790000U)
#define DBSC_DBSYSCNT0				(DBSC_BASE + 0x0100U)
#define DBSC_AXARB				(DBSC_BASE + 0x0800U)
#define DBSC_DBCAM0CNF1				(DBSC_BASE + 0x0904U)
#define DBSC_DBCAM0CNF2				(DBSC_BASE + 0x0908U)
#define DBSC_DBCAM0CNF3				(DBSC_BASE + 0x090CU)
#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_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)
#define DBSC_SCFCTST0				(DBSC_BASE + 0x1700U)
#define DBSC_SCFCTST1				(DBSC_BASE + 0x1708U)
#define DBSC_SCFCTST2				(DBSC_BASE + 0x170CU)

#define	AXI_BASE					(0xE6784000U)
#define	AXI_ADSPLCR0				(AXI_BASE + 0x0008U)
#define	AXI_ADSPLCR1				(AXI_BASE + 0x000CU)
#define	AXI_ADSPLCR2				(AXI_BASE + 0x0010U)
#define	AXI_ADSPLCR3				(AXI_BASE + 0x0014U)
#define	AXI_MMCR					(AXI_BASE + 0x0300U)
#define	ADSPLCR0_ADRMODE_DEFAULT	((uint32_t)0U << 31U)
#define	ADSPLCR0_ADRMODE_GEN2		((uint32_t)1U << 31U)
#define	ADSPLCR0_SPLITSEL(x)		((uint32_t)(x) << 16U)
#define	ADSPLCR0_AREA(x)			((uint32_t)(x) <<  8U)
#define	ADSPLCR0_SWP				(0x0CU)

#define	AXI_TR3CR					(0xE67D100CU)
#define	AXI_TR4CR					(0xE67D1014U)

#define	QOS_BASE0					(0xE67E0000U)
#define	QOSBW_FIX_QOS_BANK0			(QOS_BASE0 + 0x0000U)
#define	QOSBW_FIX_QOS_BANK1			(QOS_BASE0 + 0x1000U)
#define	QOSBW_BE_QOS_BANK0			(QOS_BASE0 + 0x2000U)
#define	QOSBW_BE_QOS_BANK1			(QOS_BASE0 + 0x3000U)
#define	QOSCTRL_SL_INIT				(QOS_BASE0 + 0x8000U)
#define	QOSCTRL_REF_ARS				(QOS_BASE0 + 0x8004U)
#define	QOSCTRL_STATQC				(QOS_BASE0 + 0x8008U)

#define	QOS_BASE1					(0xE67F0000U)
#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_FSS				(QOS_BASE1 + 0x0048U)
#define	QOSCTRL_INSFC				(QOS_BASE1 + 0x0050U)
#define	QOSCTRL_BERR				(QOS_BASE1 + 0x0054U)
#define	QOSCTRL_EARLYR				(QOS_BASE1 + 0x0060U)
#define	QOSCTRL_RACNT0				(QOS_BASE1 + 0x0080U)
#define	QOSCTRL_STATGEN0			(QOS_BASE1 + 0x0088U)

#define	GPU_ACT_GRD					(0xFD820808U)
#define	GPU_ACT0					(0xFD820800U)
#define	GPU_ACT1					(0xFD821800U)
#define	GPU_ACT2					(0xFD822800U)
#define	GPU_ACT3					(0xFD823800U)
#define	GPU_ACT4					(0xFD824800U)
#define	GPU_ACT5					(0xFD825800U)
#define	GPU_ACT6					(0xFD826800U)
#define	GPU_ACT7					(0xFD827800U)

#define	RT_ACT0						(0xFFC50800U)
#define	RT_ACT1						(0xFFC51800U)

#define	CPU_ACT0					(0xF1300800U)
#define	CPU_ACT1					(0xF1340800U)
#define	CPU_ACT2					(0xF1380800U)
#define	CPU_ACT3					(0xF13C0800U)

#define	RCAR_REWT_TRAINING_DISABLE	(0U)
#define	RCAR_REWT_TRAINING_ENABLE	(1U)

#define QOSWT_FIX_WTQOS_BANK0		(QOSBW_FIX_QOS_BANK0 + 0x0800U)
#define QOSWT_FIX_WTQOS_BANK1		(QOSBW_FIX_QOS_BANK1 + 0x0800U)
#define QOSWT_BE_WTQOS_BANK0		(QOSBW_BE_QOS_BANK0  + 0x0800U)
#define QOSWT_BE_WTQOS_BANK1		(QOSBW_BE_QOS_BANK1  + 0x0800U)
#define	QOSWT_WTEN					(QOS_BASE0 + 0x8030U)
#define	QOSWT_WTREF					(QOS_BASE0 + 0x8034U)
#define	QOSWT_WTSET0				(QOS_BASE0 + 0x8038U)
#define	QOSWT_WTSET1				(QOS_BASE0 + 0x803CU)

#endif /* QOS_REG_H */
