arc: get rid of running_on_hw

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@synopsys.com>
master
Alexey Brodkin 8 years ago
parent 9dbdc6ebd4
commit 8b15010b1f
  1. 1
      arch/arc/include/asm/global_data.h
  2. 6
      arch/arc/lib/cpu.c
  3. 16
      drivers/serial/serial_arc.c

@ -9,7 +9,6 @@
/* Architecture-specific global data */
struct arch_global_data {
int running_on_hw;
};
#include <asm-generic/global_data.h>

@ -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;

@ -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;
}

Loading…
Cancel
Save