From cc8be222d1cf37c4299c019b95d7d932f2a4bbcc Mon Sep 17 00:00:00 2001
From: Alexey Brodkin <abrodkin@synopsys.com>
Date: Thu, 4 Aug 2016 14:35:01 +0300
Subject: [PATCH] arc: Rename ARCangel4 board to nSIM

ARCangel was one of the main development boards back in the day but
now it's gone and replaced by other boards like ARC SDP.

But we also used to have simulation platform very similar to ARCangel4
in terms of CPU settings as well as basic IO like UART. Even though
ARCangel4 is long gone now we have a replacement for simulation which is
a plain or stand-alone nSIM and Free nSIM.

Note Free nSIM is available for download here:
https://www.synopsys.com/cgi-bin/dwarcnsim/req1.cgi

And while at it:
 * Finally switch hex numerical values in nsim.h to defines from
   include/linux/sizes.h
 * Add defconfigs with ARC HS38 cores
 * Recreated all defconfigs with savedefconfig

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
---
 arch/arc/Kconfig                              |  4 ++--
 arch/arc/dts/Makefile                         |  2 +-
 arch/arc/dts/{arcangel4.dts => nsim.dts}      |  2 +-
 board/synopsys/Kconfig                        |  4 ++--
 board/synopsys/MAINTAINERS                    |  8 +++++---
 ...arcangel4_defconfig => nsim_700_defconfig} |  8 ++++----
 ...gel4-be_defconfig => nsim_700be_defconfig} |  7 ++++---
 configs/nsim_hs38_defconfig                   | 16 +++++++++++++++
 configs/nsim_hs38be_defconfig                 | 17 ++++++++++++++++
 include/configs/{arcangel4.h => nsim.h}       | 20 ++++++++++---------
 10 files changed, 63 insertions(+), 25 deletions(-)
 rename arch/arc/dts/{arcangel4.dts => nsim.dts} (83%)
 rename configs/{arcangel4_defconfig => nsim_700_defconfig} (74%)
 rename configs/{arcangel4-be_defconfig => nsim_700be_defconfig} (78%)
 create mode 100644 configs/nsim_hs38_defconfig
 create mode 100644 configs/nsim_hs38be_defconfig
 rename include/configs/{arcangel4.h => nsim.h} (74%)

diff --git a/arch/arc/Kconfig b/arch/arc/Kconfig
index f1dc6c8d77..b81d0ca3c3 100644
--- a/arch/arc/Kconfig
+++ b/arch/arc/Kconfig
@@ -123,8 +123,8 @@ choice
 config TARGET_TB100
 	bool "Support tb100"
 
-config TARGET_ARCANGEL4
-	bool "Support arcangel4"
+config TARGET_NSIM
+	bool "Support standalone nSIM & Free nSIM"
 
 config TARGET_AXS101
 	bool "Support axs101"
diff --git a/arch/arc/dts/Makefile b/arch/arc/dts/Makefile
index d4772ecabb..196f882963 100644
--- a/arch/arc/dts/Makefile
+++ b/arch/arc/dts/Makefile
@@ -3,7 +3,7 @@
 #
 
 dtb-$(CONFIG_TARGET_AXS101) +=  axs10x.dtb
-dtb-$(CONFIG_TARGET_ARCANGEL4) +=  arcangel4.dtb
+dtb-$(CONFIG_TARGET_NSIM) +=  nsim.dtb
 dtb-$(CONFIG_TARGET_TB100) +=  abilis_tb100.dtb
 
 targets += $(dtb-y)
diff --git a/arch/arc/dts/arcangel4.dts b/arch/arc/dts/nsim.dts
similarity index 83%
rename from arch/arc/dts/arcangel4.dts
rename to arch/arc/dts/nsim.dts
index bfcb9d8369..69e16c2a1b 100644
--- a/arch/arc/dts/arcangel4.dts
+++ b/arch/arc/dts/nsim.dts
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2015 Synopsys, Inc. (www.synopsys.com)
+ * Copyright (C) 2015-2016 Synopsys, Inc. (www.synopsys.com)
  *
  * SPDX-License-Identifier:	GPL-2.0+
  */
diff --git a/board/synopsys/Kconfig b/board/synopsys/Kconfig
index 8ab48cd91c..27e5509b26 100644
--- a/board/synopsys/Kconfig
+++ b/board/synopsys/Kconfig
@@ -1,9 +1,9 @@
-if TARGET_ARCANGEL4
+if TARGET_NSIM
 
 config SYS_VENDOR
 	default "synopsys"
 
 config SYS_CONFIG_NAME
-	default "arcangel4"
+	default "nsim"
 
 endif
diff --git a/board/synopsys/MAINTAINERS b/board/synopsys/MAINTAINERS
index 43114cea5e..b9bfd3c2e8 100644
--- a/board/synopsys/MAINTAINERS
+++ b/board/synopsys/MAINTAINERS
@@ -1,6 +1,8 @@
 - BOARD
 M:	Alexey Brodkin <abrodkin@synopsys.com>
 S:	Maintained
-F:	include/configs/arcangel4.h
-F:	configs/arcangel4_defconfig
-F:	configs/arcangel4-be_defconfig
+F:	include/configs/nsim.h
+F:	configs/nsim_700_defconfig
+F:	configs/nsim_700be_defconfig
+F:	configs/nsim_hs38_defconfig
+F:	configs/nsim_hs38be_defconfig
diff --git a/configs/arcangel4_defconfig b/configs/nsim_700_defconfig
similarity index 74%
rename from configs/arcangel4_defconfig
rename to configs/nsim_700_defconfig
index efa55d0e99..202f77c3e0 100644
--- a/configs/arcangel4_defconfig
+++ b/configs/nsim_700_defconfig
@@ -1,11 +1,11 @@
 CONFIG_ARC=y
-CONFIG_TARGET_ARCANGEL4=y
-CONFIG_DM_SERIAL=y
+CONFIG_TARGET_NSIM=y
 CONFIG_SYS_CLK_FREQ=70000000
+CONFIG_DM_SERIAL=y
 CONFIG_SYS_TEXT_BASE=0x81000000
-CONFIG_DEFAULT_DEVICE_TREE="arcangel4"
+CONFIG_DEFAULT_DEVICE_TREE="nsim"
 CONFIG_BOOTDELAY=3
-CONFIG_SYS_PROMPT="arcangel4# "
+CONFIG_SYS_PROMPT="nsim# "
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
diff --git a/configs/arcangel4-be_defconfig b/configs/nsim_700be_defconfig
similarity index 78%
rename from configs/arcangel4-be_defconfig
rename to configs/nsim_700be_defconfig
index c0c2e4be90..b7f7924d2b 100644
--- a/configs/arcangel4-be_defconfig
+++ b/configs/nsim_700be_defconfig
@@ -1,11 +1,12 @@
 CONFIG_ARC=y
 CONFIG_CPU_BIG_ENDIAN=y
-CONFIG_TARGET_ARCANGEL4=y
-CONFIG_DM_SERIAL=y
+CONFIG_TARGET_NSIM=y
 CONFIG_SYS_CLK_FREQ=70000000
+CONFIG_DM_SERIAL=y
 CONFIG_SYS_TEXT_BASE=0x81000000
-CONFIG_DEFAULT_DEVICE_TREE="arcangel4"
+CONFIG_DEFAULT_DEVICE_TREE="nsim"
 CONFIG_BOOTDELAY=3
+CONFIG_SYS_PROMPT="nsim# "
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_SETEXPR is not set
diff --git a/configs/nsim_hs38_defconfig b/configs/nsim_hs38_defconfig
new file mode 100644
index 0000000000..6b448ef212
--- /dev/null
+++ b/configs/nsim_hs38_defconfig
@@ -0,0 +1,16 @@
+CONFIG_ARC=y
+CONFIG_ISA_ARCV2=y
+CONFIG_TARGET_NSIM=y
+CONFIG_SYS_CLK_FREQ=70000000
+CONFIG_DM_SERIAL=y
+CONFIG_SYS_TEXT_BASE=0x81000000
+CONFIG_DEFAULT_DEVICE_TREE="nsim"
+CONFIG_BOOTDELAY=3
+CONFIG_SYS_PROMPT="nsim# "
+# CONFIG_CMD_IMLS is not set
+# CONFIG_CMD_FLASH is not set
+# CONFIG_CMD_SETEXPR is not set
+CONFIG_OF_CONTROL=y
+CONFIG_OF_EMBED=y
+CONFIG_DM=y
+CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/configs/nsim_hs38be_defconfig b/configs/nsim_hs38be_defconfig
new file mode 100644
index 0000000000..3e1c5999c1
--- /dev/null
+++ b/configs/nsim_hs38be_defconfig
@@ -0,0 +1,17 @@
+CONFIG_ARC=y
+CONFIG_ISA_ARCV2=y
+CONFIG_CPU_BIG_ENDIAN=y
+CONFIG_TARGET_NSIM=y
+CONFIG_SYS_CLK_FREQ=70000000
+CONFIG_DM_SERIAL=y
+CONFIG_SYS_TEXT_BASE=0x81000000
+CONFIG_DEFAULT_DEVICE_TREE="nsim"
+CONFIG_BOOTDELAY=3
+CONFIG_SYS_PROMPT="nsim# "
+# CONFIG_CMD_IMLS is not set
+# CONFIG_CMD_FLASH is not set
+# CONFIG_CMD_SETEXPR is not set
+CONFIG_OF_CONTROL=y
+CONFIG_OF_EMBED=y
+CONFIG_DM=y
+CONFIG_USE_PRIVATE_LIBGCC=y
diff --git a/include/configs/arcangel4.h b/include/configs/nsim.h
similarity index 74%
rename from include/configs/arcangel4.h
rename to include/configs/nsim.h
index d6081048fe..1edc56046b 100644
--- a/include/configs/arcangel4.h
+++ b/include/configs/nsim.h
@@ -1,11 +1,13 @@
 /*
- * Copyright (C) 2013-2014 Synopsys, Inc. All rights reserved.
+ * Copyright (C) 2013-2016 Synopsys, Inc. All rights reserved.
  *
  * SPDX-License-Identifier:	GPL-2.0+
  */
 
-#ifndef _CONFIG_ARCANGEL4_H_
-#define _CONFIG_ARCANGEL4_H_
+#ifndef _CONFIG_NSIM_H_
+#define _CONFIG_NSIM_H_
+
+#include <linux/sizes.h>
 
 /*
  *  CPU configuration
@@ -19,13 +21,13 @@
 
 #define CONFIG_SYS_DDR_SDRAM_BASE	0x80000000
 #define CONFIG_SYS_SDRAM_BASE		CONFIG_SYS_DDR_SDRAM_BASE
-#define CONFIG_SYS_SDRAM_SIZE		0x10000000	/* 256 Mb */
+#define CONFIG_SYS_SDRAM_SIZE		SZ_256M
 
 #define CONFIG_SYS_INIT_SP_ADDR		\
 	(CONFIG_SYS_SDRAM_BASE + 0x1000 - GENERATED_GBL_DATA_SIZE)
 
-#define CONFIG_SYS_MALLOC_LEN		0x200000	/* 2 MB */
-#define CONFIG_SYS_BOOTM_LEN		0x2000000	/* 32 MB */
+#define CONFIG_SYS_MALLOC_LEN		SZ_2M
+#define CONFIG_SYS_BOOTM_LEN		SZ_32M
 #define CONFIG_SYS_LOAD_ADDR		0x82000000
 
 #define CONFIG_SYS_NO_FLASH
@@ -48,7 +50,7 @@
  * Environment settings
  */
 #define CONFIG_ENV_IS_NOWHERE
-#define CONFIG_ENV_SIZE			0x00200		/* 512 bytes */
+#define CONFIG_ENV_SIZE			SZ_512
 #define CONFIG_ENV_OFFSET		0
 
 /*
@@ -62,9 +64,9 @@
  * Console configuration
  */
 #define CONFIG_SYS_LONGHELP
-#define CONFIG_SYS_CBSIZE		256
+#define CONFIG_SYS_CBSIZE		SZ_256
 #define CONFIG_SYS_BARGSIZE		CONFIG_SYS_CBSIZE
 #define CONFIG_SYS_PBSIZE		(CONFIG_SYS_CBSIZE + \
 						sizeof(CONFIG_SYS_PROMPT) + 16)
 
-#endif /* _CONFIG_ARCANGEL4_H_ */
+#endif /* _CONFIG_NSIM_H_ */
-- 
2.39.5