[U-Boot] [PATCH] arc: get rid of running_on_hw

Alexey Brodkin Alexey.Brodkin at synopsys.com
Sat Feb 20 09:33:04 CET 2016


ISS is obsolete now and nSIM is used for simulation instead.
In its turn nSIM properly handles baud-rate settings so get rid
of now useless check.

Signed-off-by: Alexey Brodkin <abrodkin at synopsys.com>
---
 arch/arc/include/asm/global_data.h |  1 -
 arch/arc/lib/cpu.c                 |  6 ------
 drivers/serial/serial_arc.c        | 16 ----------------
 3 files changed, 23 deletions(-)

diff --git a/arch/arc/include/asm/global_data.h b/arch/arc/include/asm/global_data.h
index d644e80..e25b966 100644
--- a/arch/arc/include/asm/global_data.h
+++ b/arch/arc/include/asm/global_data.h
@@ -9,7 +9,6 @@
 
 /* Architecture-specific global data */
 struct arch_global_data {
-	int running_on_hw;
 };
 
 #include <asm-generic/global_data.h>
diff --git a/arch/arc/lib/cpu.c b/arch/arc/lib/cpu.c
index 4e4dd74..d1f10ab 100644
--- a/arch/arc/lib/cpu.c
+++ b/arch/arc/lib/cpu.c
@@ -14,12 +14,6 @@ int arch_cpu_init(void)
 {
 	timer_init();
 
-/* In simulation (ISS) "CHIPID" and "ARCNUM" are all "ff" */
-	if ((read_aux_reg(ARC_AUX_IDENTITY) & 0xffffff00) == 0xffffff00)
-		gd->arch.running_on_hw = 0;
-	else
-		gd->arch.running_on_hw = 1;
-
 	gd->cpu_clk = CONFIG_SYS_CLK_FREQ;
 	gd->ram_size = CONFIG_SYS_SDRAM_SIZE;
 
diff --git a/drivers/serial/serial_arc.c b/drivers/serial/serial_arc.c
index 7dbb49f..36d6404 100644
--- a/drivers/serial/serial_arc.c
+++ b/drivers/serial/serial_arc.c
@@ -42,23 +42,7 @@ static int arc_serial_setbrg(struct udevice *dev, int baudrate)
 	int arc_console_baud = gd->cpu_clk / (baudrate * 4) - 1;
 
 	writeb(arc_console_baud & 0xff, &regs->baudl);
-
-#ifdef CONFIG_ARC
-	/*
-	 * UART ISS(Instruction Set simulator) emulation has a subtle bug:
-	 * A existing value of Baudh = 0 is used as a indication to startup
-	 * it's internal state machine.
-	 * Thus if baudh is set to 0, 2 times, it chokes.
-	 * This happens with BAUD=115200 and the formaula above
-	 * Until that is fixed, when running on ISS, we will set baudh to !0
-	 */
-	if (gd->arch.running_on_hw)
-		writeb((arc_console_baud & 0xff00) >> 8, &regs->baudh);
-	else
-		writeb(1, &regs->baudh);
-#else
 	writeb((arc_console_baud & 0xff00) >> 8, &regs->baudh);
-#endif
 
 	return 0;
 }
-- 
2.5.0



More information about the U-Boot mailing list