diff --git a/drivers/staging/renesas/rcar/qos/D3/qos_init_d3.c b/drivers/staging/renesas/rcar/qos/D3/qos_init_d3.c
index b115d63..20deff6 100644
--- a/drivers/staging/renesas/rcar/qos/D3/qos_init_d3.c
+++ b/drivers/staging/renesas/rcar/qos/D3/qos_init_d3.c
@@ -1,153 +1,19 @@
 /*
- * Copyright (c) 2015-2017, Renesas Electronics Corporation. All rights reserved.
+ * Copyright (c) 2015-2019, Renesas Electronics Corporation. All rights reserved.
  *
  * SPDX-License-Identifier: BSD-3-Clause
  */
 
 #include <stdint.h>
+
 #include <common/debug.h>
-#include "qos_init_d3.h"
 
+#include "../qos_common.h"
+#include "../qos_reg.h"
+#include "qos_init_d3.h"
 
 #define	RCAR_QOS_VERSION		"rev.0.05"
 
-#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_DBCAM0CNF0			(DBSC_BASE + 0x0900U)
-#define DBSC_DBCAM0CNF1			(DBSC_BASE + 0x0904U)
-#define DBSC_DBCAM0CNF2			(DBSC_BASE + 0x0908U)
-#define DBSC_DBCAM0CNF3			(DBSC_BASE + 0x090CU)
-#define DBSC_DBCAMDIS			(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_0		(DBSC_BASE + 0x1030U)
-#define DBSC_DBSCHQOS_0_1		(DBSC_BASE + 0x1034U)
-#define DBSC_DBSCHQOS_0_2		(DBSC_BASE + 0x1038U)
-#define DBSC_DBSCHQOS_0_3		(DBSC_BASE + 0x103CU)
-#define DBSC_DBSCHQOS_1_0		(DBSC_BASE + 0x1040U)
-#define DBSC_DBSCHQOS_1_1		(DBSC_BASE + 0x1044U)
-#define DBSC_DBSCHQOS_1_2		(DBSC_BASE + 0x1048U)
-#define DBSC_DBSCHQOS_1_3		(DBSC_BASE + 0x104CU)
-#define DBSC_DBSCHQOS_2_0		(DBSC_BASE + 0x1050U)
-#define DBSC_DBSCHQOS_2_1		(DBSC_BASE + 0x1054U)
-#define DBSC_DBSCHQOS_2_2		(DBSC_BASE + 0x1058U)
-#define DBSC_DBSCHQOS_2_3		(DBSC_BASE + 0x105CU)
-#define DBSC_DBSCHQOS_3_0		(DBSC_BASE + 0x1060U)
-#define DBSC_DBSCHQOS_3_1		(DBSC_BASE + 0x1064U)
-#define DBSC_DBSCHQOS_3_2		(DBSC_BASE + 0x1068U)
-#define DBSC_DBSCHQOS_3_3		(DBSC_BASE + 0x106CU)
-#define DBSC_DBSCHQOS_4_0		(DBSC_BASE + 0x1070U)
-#define DBSC_DBSCHQOS_4_1		(DBSC_BASE + 0x1074U)
-#define DBSC_DBSCHQOS_4_2		(DBSC_BASE + 0x1078U)
-#define DBSC_DBSCHQOS_4_3		(DBSC_BASE + 0x107CU)
-#define DBSC_DBSCHQOS_5_0		(DBSC_BASE + 0x1080U)
-#define DBSC_DBSCHQOS_5_1		(DBSC_BASE + 0x1084U)
-#define DBSC_DBSCHQOS_5_2		(DBSC_BASE + 0x1088U)
-#define DBSC_DBSCHQOS_5_3		(DBSC_BASE + 0x108CU)
-#define DBSC_DBSCHQOS_6_0		(DBSC_BASE + 0x1090U)
-#define DBSC_DBSCHQOS_6_1		(DBSC_BASE + 0x1094U)
-#define DBSC_DBSCHQOS_6_2		(DBSC_BASE + 0x1098U)
-#define DBSC_DBSCHQOS_6_3		(DBSC_BASE + 0x109CU)
-#define DBSC_DBSCHQOS_7_0		(DBSC_BASE + 0x10A0U)
-#define DBSC_DBSCHQOS_7_1		(DBSC_BASE + 0x10A4U)
-#define DBSC_DBSCHQOS_7_2		(DBSC_BASE + 0x10A8U)
-#define DBSC_DBSCHQOS_7_3		(DBSC_BASE + 0x10ACU)
-#define DBSC_DBSCHQOS_8_0		(DBSC_BASE + 0x10B0U)
-#define DBSC_DBSCHQOS_8_1		(DBSC_BASE + 0x10B4U)
-#define DBSC_DBSCHQOS_8_2		(DBSC_BASE + 0x10B8U)
-#define DBSC_DBSCHQOS_8_3		(DBSC_BASE + 0x10BCU)
-#define DBSC_DBSCHQOS_9_0		(DBSC_BASE + 0x10C0U)
-#define DBSC_DBSCHQOS_9_1		(DBSC_BASE + 0x10C4U)
-#define DBSC_DBSCHQOS_9_2		(DBSC_BASE + 0x10C8U)
-#define DBSC_DBSCHQOS_9_3		(DBSC_BASE + 0x10CCU)
-#define DBSC_DBSCHQOS_10_0		(DBSC_BASE + 0x10D0U)
-#define DBSC_DBSCHQOS_10_1		(DBSC_BASE + 0x10D4U)
-#define DBSC_DBSCHQOS_10_2		(DBSC_BASE + 0x10D8U)
-#define DBSC_DBSCHQOS_10_3		(DBSC_BASE + 0x10DCU)
-#define DBSC_DBSCHQOS_11_0		(DBSC_BASE + 0x10E0U)
-#define DBSC_DBSCHQOS_11_1		(DBSC_BASE + 0x10E4U)
-#define DBSC_DBSCHQOS_11_2		(DBSC_BASE + 0x10E8U)
-#define DBSC_DBSCHQOS_11_3		(DBSC_BASE + 0x10ECU)
-#define DBSC_DBSCHQOS_12_0		(DBSC_BASE + 0x10F0U)
-#define DBSC_DBSCHQOS_12_1		(DBSC_BASE + 0x10F4U)
-#define DBSC_DBSCHQOS_12_2		(DBSC_BASE + 0x10F8U)
-#define DBSC_DBSCHQOS_12_3		(DBSC_BASE + 0x10FCU)
-#define DBSC_DBSCHQOS_13_0		(DBSC_BASE + 0x1100U)
-#define DBSC_DBSCHQOS_13_1		(DBSC_BASE + 0x1104U)
-#define DBSC_DBSCHQOS_13_2		(DBSC_BASE + 0x1108U)
-#define DBSC_DBSCHQOS_13_3		(DBSC_BASE + 0x110CU)
-#define DBSC_DBSCHQOS_14_0		(DBSC_BASE + 0x1110U)
-#define DBSC_DBSCHQOS_14_1		(DBSC_BASE + 0x1114U)
-#define DBSC_DBSCHQOS_14_2		(DBSC_BASE + 0x1118U)
-#define DBSC_DBSCHQOS_14_3		(DBSC_BASE + 0x111CU)
-#define DBSC_DBSCHQOS_15_0		(DBSC_BASE + 0x1120U)
-#define DBSC_DBSCHQOS_15_1		(DBSC_BASE + 0x1124U)
-#define DBSC_DBSCHQOS_15_2		(DBSC_BASE + 0x1128U)
-#define DBSC_DBSCHQOS_15_3		(DBSC_BASE + 0x112CU)
-#define DBSC_SCFCTST2			(DBSC_BASE + 0x170CU)
-
-#define	AXI_BASE			(0xE6784000U)
-#define	AXI_ADSPLCR0			(AXI_BASE + 0x0008U)
-#define	AXI_ADSPLCR3			(AXI_BASE + 0x0014U)
-
-#define	MSTAT_BASE			(0xE67E0000U)
-#define	MSTAT_FIX_QOS_BANK0		(MSTAT_BASE + 0x0000U)
-#define	MSTAT_FIX_QOS_BANK1		(MSTAT_BASE + 0x1000U)
-#define	MSTAT_BE_QOS_BANK0		(MSTAT_BASE + 0x2000U)
-#define	MSTAT_BE_QOS_BANK1		(MSTAT_BASE + 0x3000U)
-#define	MSTAT_SL_INIT			(MSTAT_BASE + 0x8000U)
-#define	MSTAT_REF_ARS			(MSTAT_BASE + 0x8004U)
-#define	MSTAT_STATQC			(MSTAT_BASE + 0x8008U)
-
-#define	RALLOC_BASE			(0xE67F0000U)
-#define	RALLOC_RAS			(RALLOC_BASE + 0x0000U)
-#define	RALLOC_FIXTH			(RALLOC_BASE + 0x0004U)
-#define	RALLOC_RAEN			(RALLOC_BASE + 0x0018U)
-#define	RALLOC_REGGD			(RALLOC_BASE + 0x0020U)
-#define	RALLOC_DANN			(RALLOC_BASE + 0x0030U)
-#define	RALLOC_DANT			(RALLOC_BASE + 0x0038U)
-#define	RALLOC_EC			(RALLOC_BASE + 0x003CU)
-#define	RALLOC_EMS			(RALLOC_BASE + 0x0040U)
-#define	RALLOC_FSS			(RALLOC_BASE + 0x0048U)
-#define	RALLOC_INSFC			(RALLOC_BASE + 0x0050U)
-#define	RALLOC_BERR			(RALLOC_BASE + 0x0054U)
-#define	RALLOC_EARLYR			(RALLOC_BASE + 0x0060U)
-#define	RALLOC_RACNT0			(RALLOC_BASE + 0x0080U)
-#define	RALLOC_TICKDUPL			(RALLOC_BASE + 0x0088U)
-
-#define ARRAY_SIZE(a)	(sizeof(a) / sizeof((a)[0]))
-
-static inline void io_write_32(uintptr_t addr, uint32_t value)
-{
-	*(volatile uint32_t*)addr = value;
-}
-
-static inline void io_write_64(uintptr_t addr, uint64_t value)
-{
-	*(volatile uint64_t*)addr = value;
-}
-
-typedef struct {
-	uintptr_t addr;
-	uint64_t value;
-} mstat_slot_t;
-
-
 #if RCAR_QOS_TYPE  == RCAR_QOS_TYPE_DEFAULT
 static const mstat_slot_t mstat_fix[] = {
 	{0x0000U, 0x0000000000000000U},
@@ -413,70 +279,70 @@
 	}
 
 	/* QoS Settings */
-	io_write_32(DBSC_DBSCHQOS_0_0,  0x00000F00);
-	io_write_32(DBSC_DBSCHQOS_0_1,  0x00000B00);
-	io_write_32(DBSC_DBSCHQOS_0_2,  0x00000000);
-	io_write_32(DBSC_DBSCHQOS_0_3,  0x00000000);
-	//DBSC_DBSCHQOS_1_0 not set
-	//DBSC_DBSCHQOS_1_1 not set
-	//DBSC_DBSCHQOS_1_2 not set
-	//DBSC_DBSCHQOS_1_3 not set
-	//DBSC_DBSCHQOS_2_0 not set
-	//DBSC_DBSCHQOS_2_1 not set
-	//DBSC_DBSCHQOS_2_2 not set
-	//DBSC_DBSCHQOS_2_3 not set
-	//DBSC_DBSCHQOS_3_0 not set
-	//DBSC_DBSCHQOS_3_1 not set
-	//DBSC_DBSCHQOS_3_2 not set
-	//DBSC_DBSCHQOS_3_3 not set
-	io_write_32(DBSC_DBSCHQOS_4_0,  0x00000300);
-	io_write_32(DBSC_DBSCHQOS_4_1,  0x000002F0);
-	io_write_32(DBSC_DBSCHQOS_4_2,  0x00000200);
-	io_write_32(DBSC_DBSCHQOS_4_3,  0x00000100);
-	//DBSC_DBSCHQOS_5_0 not set
-	//DBSC_DBSCHQOS_5_1 not set
-	//DBSC_DBSCHQOS_5_2 not set
-	//DBSC_DBSCHQOS_5_3 not set
-	//DBSC_DBSCHQOS_6_0 not set
-	//DBSC_DBSCHQOS_6_1 not set
-	//DBSC_DBSCHQOS_6_2 not set
-	//DBSC_DBSCHQOS_6_3 not set
-	//DBSC_DBSCHQOS_7_0 not set
-	//DBSC_DBSCHQOS_7_1 not set
-	//DBSC_DBSCHQOS_7_2 not set
-	//DBSC_DBSCHQOS_7_3 not set
-	//DBSC_DBSCHQOS_8_0 not set
-	//DBSC_DBSCHQOS_8_1 not set
-	//DBSC_DBSCHQOS_8_2 not set
-	//DBSC_DBSCHQOS_8_3 not set
-	io_write_32(DBSC_DBSCHQOS_9_0,  0x00000300);
-	io_write_32(DBSC_DBSCHQOS_9_1,  0x000002F0);
-	io_write_32(DBSC_DBSCHQOS_9_2,  0x00000200);
-	io_write_32(DBSC_DBSCHQOS_9_3,  0x00000100);
-	//DBSC_DBSCHQOS_10_0 not set
-	//DBSC_DBSCHQOS_10_1 not set
-	//DBSC_DBSCHQOS_10_2 not set
-	//DBSC_DBSCHQOS_10_3 not set
-	//DBSC_DBSCHQOS_11_0 not set
-	//DBSC_DBSCHQOS_11_1 not set
-	//DBSC_DBSCHQOS_11_2 not set
-	//DBSC_DBSCHQOS_11_3 not set
-	//DBSC_DBSCHQOS_12_0 not set
-	//DBSC_DBSCHQOS_12_1 not set
-	//DBSC_DBSCHQOS_12_2 not set
-	//DBSC_DBSCHQOS_12_3 not set
-	io_write_32(DBSC_DBSCHQOS_13_0, 0x00000100);
-	io_write_32(DBSC_DBSCHQOS_13_1, 0x000000F0);
-	io_write_32(DBSC_DBSCHQOS_13_2, 0x000000A0);
-	io_write_32(DBSC_DBSCHQOS_13_3, 0x00000040);
-	io_write_32(DBSC_DBSCHQOS_14_0, 0x000000C0);
-	io_write_32(DBSC_DBSCHQOS_14_1, 0x000000B0);
-	io_write_32(DBSC_DBSCHQOS_14_2, 0x00000080);
-	io_write_32(DBSC_DBSCHQOS_14_3, 0x00000040);
-	io_write_32(DBSC_DBSCHQOS_15_0, 0x00000040);
-	io_write_32(DBSC_DBSCHQOS_15_1, 0x00000030);
-	io_write_32(DBSC_DBSCHQOS_15_2, 0x00000020);
-	io_write_32(DBSC_DBSCHQOS_15_3, 0x00000010);
+	io_write_32(DBSC_DBSCHQOS00,  0x00000F00);
+	io_write_32(DBSC_DBSCHQOS01,  0x00000B00);
+	io_write_32(DBSC_DBSCHQOS02,  0x00000000);
+	io_write_32(DBSC_DBSCHQOS03,  0x00000000);
+	//DBSC_DBSCHQOS10 not set
+	//DBSC_DBSCHQOS11 not set
+	//DBSC_DBSCHQOS12 not set
+	//DBSC_DBSCHQOS13 not set
+	//DBSC_DBSCHQOS20 not set
+	//DBSC_DBSCHQOS21 not set
+	//DBSC_DBSCHQOS22 not set
+	//DBSC_DBSCHQOS23 not set
+	//DBSC_DBSCHQOS30 not set
+	//DBSC_DBSCHQOS31 not set
+	//DBSC_DBSCHQOS32 not set
+	//DBSC_DBSCHQOS33 not set
+	io_write_32(DBSC_DBSCHQOS40,  0x00000300);
+	io_write_32(DBSC_DBSCHQOS41,  0x000002F0);
+	io_write_32(DBSC_DBSCHQOS42,  0x00000200);
+	io_write_32(DBSC_DBSCHQOS43,  0x00000100);
+	//DBSC_DBSCHQOS50 not set
+	//DBSC_DBSCHQOS51 not set
+	//DBSC_DBSCHQOS52 not set
+	//DBSC_DBSCHQOS53 not set
+	//DBSC_DBSCHQOS60 not set
+	//DBSC_DBSCHQOS61 not set
+	//DBSC_DBSCHQOS62 not set
+	//DBSC_DBSCHQOS63 not set
+	//DBSC_DBSCHQOS70 not set
+	//DBSC_DBSCHQOS71 not set
+	//DBSC_DBSCHQOS72 not set
+	//DBSC_DBSCHQOS73 not set
+	//DBSC_DBSCHQOS80 not set
+	//DBSC_DBSCHQOS81 not set
+	//DBSC_DBSCHQOS82 not set
+	//DBSC_DBSCHQOS83 not set
+	io_write_32(DBSC_DBSCHQOS90,  0x00000300);
+	io_write_32(DBSC_DBSCHQOS91,  0x000002F0);
+	io_write_32(DBSC_DBSCHQOS92,  0x00000200);
+	io_write_32(DBSC_DBSCHQOS93,  0x00000100);
+	//DBSC_DBSCHQOS100 not set
+	//DBSC_DBSCHQOS101 not set
+	//DBSC_DBSCHQOS102 not set
+	//DBSC_DBSCHQOS103 not set
+	//DBSC_DBSCHQOS110 not set
+	//DBSC_DBSCHQOS111 not set
+	//DBSC_DBSCHQOS112 not set
+	//DBSC_DBSCHQOS113 not set
+	//DBSC_DBSCHQOS120 not set
+	//DBSC_DBSCHQOS121 not set
+	//DBSC_DBSCHQOS122 not set
+	//DBSC_DBSCHQOS123 not set
+	io_write_32(DBSC_DBSCHQOS130, 0x00000100);
+	io_write_32(DBSC_DBSCHQOS131, 0x000000F0);
+	io_write_32(DBSC_DBSCHQOS132, 0x000000A0);
+	io_write_32(DBSC_DBSCHQOS133, 0x00000040);
+	io_write_32(DBSC_DBSCHQOS140, 0x000000C0);
+	io_write_32(DBSC_DBSCHQOS141, 0x000000B0);
+	io_write_32(DBSC_DBSCHQOS142, 0x00000080);
+	io_write_32(DBSC_DBSCHQOS143, 0x00000040);
+	io_write_32(DBSC_DBSCHQOS150, 0x00000040);
+	io_write_32(DBSC_DBSCHQOS151, 0x00000030);
+	io_write_32(DBSC_DBSCHQOS152, 0x00000020);
+	io_write_32(DBSC_DBSCHQOS153, 0x00000010);
 }
 
 void qos_init_d3(void)
@@ -511,42 +377,42 @@
 #endif
 
 	/* Resource Alloc setting */
-	io_write_32(RALLOC_RAS,   0x00000020U);
-	io_write_32(RALLOC_FIXTH, 0x000F0005U);
-	io_write_32(RALLOC_RAEN,  0x00000001U);
-	io_write_32(RALLOC_REGGD, 0x00000000U);
-	io_write_64(RALLOC_DANN,  0x0404020002020201U);
-	io_write_32(RALLOC_DANT,  0x00100804U);
-	io_write_32(RALLOC_EC,    0x00000000U);
-	io_write_64(RALLOC_EMS,   0x0000000000000000U);
-	io_write_32(RALLOC_FSS,   0x0000000AU);
-	io_write_32(RALLOC_INSFC, 0xC7840001U);
-	io_write_32(RALLOC_BERR,  0x00000000U);
-	io_write_32(RALLOC_EARLYR,  0x00000000U);
-	io_write_32(RALLOC_RACNT0,  0x00010003U);
-	io_write_32(RALLOC_TICKDUPL, 0x00000000U);
+	io_write_32(QOSCTRL_RAS,   0x00000020U);
+	io_write_32(QOSCTRL_FIXTH, 0x000F0005U);
+	io_write_32(QOSCTRL_RAEN,  0x00000001U);
+	io_write_32(QOSCTRL_REGGD, 0x00000000U);
+	io_write_64(QOSCTRL_DANN,  0x0404020002020201U);
+	io_write_32(QOSCTRL_DANT,  0x00100804U);
+	io_write_32(QOSCTRL_EC,    0x00000000U);
+	io_write_64(QOSCTRL_EMS,   0x0000000000000000U);
+	io_write_32(QOSCTRL_FSS,   0x0000000AU);
+	io_write_32(QOSCTRL_INSFC, 0xC7840001U);
+	io_write_32(QOSCTRL_BERR,  0x00000000U);
+	io_write_32(QOSCTRL_EARLYR,  0x00000000U);
+	io_write_32(QOSCTRL_RACNT0,  0x00010003U);
+	io_write_32(QOSCTRL_STATGEN0, 0x00000000U);
 
 	/* GPU setting */
 	io_write_32(0xFD812030U, 0x00000000U);
 
-	/* MSTAT setting */
-	io_write_32(MSTAT_SL_INIT, 0x030500ACU);
-	io_write_32(MSTAT_REF_ARS, 0x00780000U);
+	/* QOSBW setting */
+	io_write_32(QOSCTRL_SL_INIT, 0x030500ACU);
+	io_write_32(QOSCTRL_REF_ARS, 0x00780000U);
 
-	/* MSTAT SRAM setting */
+	/* QOSBW SRAM setting */
 	{
 	uint32_t i;
 
 	for (i = 0U; i < ARRAY_SIZE(mstat_fix); i++) {
-		io_write_64(MSTAT_FIX_QOS_BANK0 + mstat_fix[i].addr,
+		io_write_64(QOSBW_FIX_QOS_BANK0 + mstat_fix[i].addr,
 				mstat_fix[i].value);
-		io_write_64(MSTAT_FIX_QOS_BANK1 + mstat_fix[i].addr,
+		io_write_64(QOSBW_FIX_QOS_BANK1 + mstat_fix[i].addr,
 				mstat_fix[i].value);
 	}
 	for (i = 0U; i < ARRAY_SIZE(mstat_be); i++) {
-		io_write_64(MSTAT_BE_QOS_BANK0 + mstat_be[i].addr,
+		io_write_64(QOSBW_BE_QOS_BANK0 + mstat_be[i].addr,
 				mstat_be[i].value);
-		io_write_64(MSTAT_BE_QOS_BANK1 + mstat_be[i].addr,
+		io_write_64(QOSBW_BE_QOS_BANK1 + mstat_be[i].addr,
 				mstat_be[i].value);
 	}
 	}
@@ -565,17 +431,17 @@
 	io_write_32(0xFFC51800U, 0x00000000U);
 
 	/* Resource Alloc start */
-	io_write_32(RALLOC_RAEN,  0x00000001U);
+	io_write_32(QOSCTRL_RAEN,  0x00000001U);
 
-	/* MSTAT start */
-	io_write_32(MSTAT_STATQC, 0x00000001U);
+	/* QOSBW start */
+	io_write_32(QOSCTRL_STATQC, 0x00000001U);
 #else
 	NOTICE("BL2: QoS is None\n");
 
 	/* Resource Alloc setting */
-	io_write_32(RALLOC_EC,    0x00000000U);
+	io_write_32(QOSCTRL_EC,    0x00000000U);
 	/* Resource Alloc start */
-	io_write_32(RALLOC_RAEN,  0x00000001U);
+	io_write_32(QOSCTRL_RAEN,  0x00000001U);
 #endif /* !(RCAR_QOS_TYPE == RCAR_QOS_NONE) */
 	io_write_32(DBSC_DBSYSCNT0, 0x00000000);
 }
