From 4ed8c0128906367a832d190ae36c750fb8418ed2 Mon Sep 17 00:00:00 2001
From: Valentine Barshak <valentine.barshak@cogentembedded.com>
Date: Thu, 22 Nov 2018 00:19:27 +0300
Subject: [PATCH 23/23] arm: renesas: Enable RPC HF MTD support for all ULCB
 boards

This enables RPC HyperFlash MTD support
for all R-Car Gen3 ULCB boards.

Signed-off-by: Valentine Barshak <valentine.barshak@cogentembedded.com>
---
 arch/arm/dts/r8a7795-h3ulcb-4x2g-u-boot.dts |  4 ++++
 arch/arm/dts/r8a7795-h3ulcb-had-u-boot.dts  |  4 ++++
 arch/arm/dts/r8a7795-h3ulcb-u-boot.dts      |  4 ++++
 arch/arm/dts/r8a7796-m3ulcb-u-boot.dts      |  4 ++++
 arch/arm/dts/r8a77965-m3nulcb-u-boot.dts    |  4 ++++
 configs/r8a7795_ulcb-4x2g_defconfig         |  5 +++++
 configs/r8a7795_ulcb_defconfig              |  5 +++++
 configs/r8a7795_ulcb_had_defconfig          |  5 +++++
 configs/r8a77965_ulcb_defconfig             |  5 +++++
 configs/r8a7796_ulcb_defconfig              |  5 +++++
 include/configs/ulcb.h                      | 11 +++++++++++
 11 files changed, 56 insertions(+)

diff --git a/arch/arm/dts/r8a7795-h3ulcb-4x2g-u-boot.dts b/arch/arm/dts/r8a7795-h3ulcb-4x2g-u-boot.dts
index ddaa63d..aaf5d3b 100644
--- a/arch/arm/dts/r8a7795-h3ulcb-4x2g-u-boot.dts
+++ b/arch/arm/dts/r8a7795-h3ulcb-4x2g-u-boot.dts
@@ -43,3 +43,7 @@
 	mmc-hs400-1_8v;
 	max-frequency = <200000000>;
 };
+
+&rpc {
+	status = "okay";
+};
diff --git a/arch/arm/dts/r8a7795-h3ulcb-had-u-boot.dts b/arch/arm/dts/r8a7795-h3ulcb-had-u-boot.dts
index f450bd3..c402648 100644
--- a/arch/arm/dts/r8a7795-h3ulcb-had-u-boot.dts
+++ b/arch/arm/dts/r8a7795-h3ulcb-had-u-boot.dts
@@ -43,3 +43,7 @@
 	mmc-hs400-1_8v;
 	max-frequency = <200000000>;
 };
+
+&rpc {
+	status = "okay";
+};
diff --git a/arch/arm/dts/r8a7795-h3ulcb-u-boot.dts b/arch/arm/dts/r8a7795-h3ulcb-u-boot.dts
index 3de6407..f1cf4b2 100644
--- a/arch/arm/dts/r8a7795-h3ulcb-u-boot.dts
+++ b/arch/arm/dts/r8a7795-h3ulcb-u-boot.dts
@@ -43,3 +43,7 @@
 	mmc-hs400-1_8v;
 	max-frequency = <200000000>;
 };
+
+&rpc {
+	status = "okay";
+};
diff --git a/arch/arm/dts/r8a7796-m3ulcb-u-boot.dts b/arch/arm/dts/r8a7796-m3ulcb-u-boot.dts
index 612cc87..84faa98 100644
--- a/arch/arm/dts/r8a7796-m3ulcb-u-boot.dts
+++ b/arch/arm/dts/r8a7796-m3ulcb-u-boot.dts
@@ -43,3 +43,7 @@
 	mmc-hs400-1_8v;
 	max-frequency = <200000000>;
 };
+
+&rpc {
+	status = "okay";
+};
diff --git a/arch/arm/dts/r8a77965-m3nulcb-u-boot.dts b/arch/arm/dts/r8a77965-m3nulcb-u-boot.dts
index b7a46d1..c64e551 100644
--- a/arch/arm/dts/r8a77965-m3nulcb-u-boot.dts
+++ b/arch/arm/dts/r8a77965-m3nulcb-u-boot.dts
@@ -44,3 +44,7 @@
 	mmc-hs400-1_8v;
 	max-frequency = <200000000>;
 };
+
+&rpc {
+	status = "okay";
+};
diff --git a/configs/r8a7795_ulcb-4x2g_defconfig b/configs/r8a7795_ulcb-4x2g_defconfig
index 6ee62c6..c739b57 100644
--- a/configs/r8a7795_ulcb-4x2g_defconfig
+++ b/configs/r8a7795_ulcb-4x2g_defconfig
@@ -47,6 +47,11 @@ CONFIG_MMC_IO_VOLTAGE=y
 CONFIG_MMC_UHS_SUPPORT=y
 CONFIG_MMC_HS200_SUPPORT=y
 CONFIG_RENESAS_SDHI=y
+CONFIG_MTD=y
+CONFIG_MTD_NOR_FLASH=y
+CONFIG_MTD_DEVICE=y
+CONFIG_CFI_FLASH=y
+CONFIG_RENESAS_RPC_HF=y
 CONFIG_PHY_MICREL=y
 CONFIG_PHY_MICREL_KSZ90X1=y
 CONFIG_DM_ETH=y
diff --git a/configs/r8a7795_ulcb_defconfig b/configs/r8a7795_ulcb_defconfig
index e88ac08..71b048f 100644
--- a/configs/r8a7795_ulcb_defconfig
+++ b/configs/r8a7795_ulcb_defconfig
@@ -47,6 +47,11 @@ CONFIG_MMC_IO_VOLTAGE=y
 CONFIG_MMC_UHS_SUPPORT=y
 CONFIG_MMC_HS200_SUPPORT=y
 CONFIG_RENESAS_SDHI=y
+CONFIG_MTD=y
+CONFIG_MTD_NOR_FLASH=y
+CONFIG_MTD_DEVICE=y
+CONFIG_CFI_FLASH=y
+CONFIG_RENESAS_RPC_HF=y
 CONFIG_PHY_MICREL=y
 CONFIG_PHY_MICREL_KSZ90X1=y
 CONFIG_DM_ETH=y
diff --git a/configs/r8a7795_ulcb_had_defconfig b/configs/r8a7795_ulcb_had_defconfig
index a874972..fa6fbb9 100644
--- a/configs/r8a7795_ulcb_had_defconfig
+++ b/configs/r8a7795_ulcb_had_defconfig
@@ -47,6 +47,11 @@ CONFIG_MMC_IO_VOLTAGE=y
 CONFIG_MMC_UHS_SUPPORT=y
 CONFIG_MMC_HS200_SUPPORT=y
 CONFIG_RENESAS_SDHI=y
+CONFIG_MTD=y
+CONFIG_MTD_NOR_FLASH=y
+CONFIG_MTD_DEVICE=y
+CONFIG_CFI_FLASH=y
+CONFIG_RENESAS_RPC_HF=y
 CONFIG_PHY_FIXED=y
 CONFIG_DM_ETH=y
 CONFIG_PHY_GIGE=y
diff --git a/configs/r8a77965_ulcb_defconfig b/configs/r8a77965_ulcb_defconfig
index 7446b42..d07bada 100644
--- a/configs/r8a77965_ulcb_defconfig
+++ b/configs/r8a77965_ulcb_defconfig
@@ -46,6 +46,11 @@ CONFIG_MMC_IO_VOLTAGE=y
 CONFIG_MMC_UHS_SUPPORT=y
 CONFIG_MMC_HS200_SUPPORT=y
 CONFIG_RENESAS_SDHI=y
+CONFIG_MTD=y
+CONFIG_MTD_NOR_FLASH=y
+CONFIG_MTD_DEVICE=y
+CONFIG_CFI_FLASH=y
+CONFIG_RENESAS_RPC_HF=y
 CONFIG_PHY_MICREL=y
 CONFIG_PHY_MICREL_KSZ90X1=y
 CONFIG_DM_ETH=y
diff --git a/configs/r8a7796_ulcb_defconfig b/configs/r8a7796_ulcb_defconfig
index a93d173..5b8542a 100644
--- a/configs/r8a7796_ulcb_defconfig
+++ b/configs/r8a7796_ulcb_defconfig
@@ -46,6 +46,11 @@ CONFIG_MMC_IO_VOLTAGE=y
 CONFIG_MMC_UHS_SUPPORT=y
 CONFIG_MMC_HS200_SUPPORT=y
 CONFIG_RENESAS_SDHI=y
+CONFIG_MTD=y
+CONFIG_MTD_NOR_FLASH=y
+CONFIG_MTD_DEVICE=y
+CONFIG_CFI_FLASH=y
+CONFIG_RENESAS_RPC_HF=y
 CONFIG_PHY_MICREL=y
 CONFIG_PHY_MICREL_KSZ90X1=y
 CONFIG_DM_ETH=y
diff --git a/include/configs/ulcb.h b/include/configs/ulcb.h
index 6f2a0cc..f12055e 100644
--- a/include/configs/ulcb.h
+++ b/include/configs/ulcb.h
@@ -23,4 +23,15 @@
 #define CONFIG_SYS_MMC_ENV_DEV		1
 #define CONFIG_SYS_MMC_ENV_PART		2
 
+#define CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS
+#define CONFIG_FLASH_CFI_DRIVER
+#define CONFIG_FLASH_CFI_MTD
+#define CONFIG_FLASH_SHOW_PROGRESS	45
+#define CONFIG_SYS_FLASH_BANKS_LIST	{ 0x08000000 }
+#define CONFIG_SYS_FLASH_CFI
+#define CONFIG_SYS_FLASH_CFI_WIDTH	FLASH_CFI_16BIT
+#define CONFIG_SYS_MAX_FLASH_BANKS_DETECT	1
+#define CONFIG_SYS_MAX_FLASH_SECT	256
+#define CONFIG_SYS_WRITE_SWAPPED_DATA
+
 #endif /* __ULCB_H */
-- 
2.7.4

