ARC: Add support for nSIM OSCI System C model

This adds support for an ARC Virtual Platform. This platform is based on the
System C standard promoted by the OSCI (Open System C Initiative) and uses
nSIM to simulate the ARC CPU core itself.

Users can build a virtual SoC by combining System C models of peripherals
and CPU cores.

Signed-off-by: Mischa Jonker <mjonker@synopsys.com>
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
fb: add support for simple ARC PGU frame buffer

Adds support for the System C frame buffer device in the nSIM OSCI
model. It supports just one mode right now: 640x480x24.

Signed-off-by: Mischa Jonker <mjonker@synopsys.com>
net: Add OSCI LAN network driver

The OSCI LAN network driver is based on earlier work by EZchip. It enables
support for a simple Ethernet interface in the nSIM OSCI model. The driver
has been changed to support non-BE and device tree.

Signed-off-by: Mischa Jonker <mjonker@synopsys.com>
ARC: [nsimosci] Change .dts to use generic 8250 UART

The Synopsys APB DW UART has a couple of special features that are not
in the System C model. In 3.8, the 8250_dw driver didn't really use these
features, but from 3.9 onwards, the 8250_dw driver has become incompatible
with our model.

Signed-off-by: Mischa Jonker <mjonker@synopsys.com>
ARC: [nsimosci] Add workaround for inaccuracy host timers with nSIM

Signed-off-by: Mischa Jonker <mjonker@synopsys.com>
ARC: [nsimosci] Update defconfig

Signed-off-by: Mischa Jonker <mjonker@synopsys.com>
ARC: [plat-arcfpga] Make #ifdef ARC_SERIAL* clauses sane

This fixes the following:
- CONFIG_ARC_SERIAL_BAUD is only defined when CONFIG_SERIAL_ARC is defined.
  Make sure that it isn't referenced otherwise.
- There is no use for initializing arc_uart_info[] when CONFIG_SERIAL_ARC is
  not defined.
- CONFIG_SERIAL_ARC_MODULE does not exist, so get rid of it.

Signed-off-by: Mischa Jonker <mjonker@synopsys.com>
perf: add const qualifier to perf_pmu_register's 'name' arg

Signed-off-by: Mischa Jonker <mjonker@synopsys.com>
ARC: Add perf support

This adds basic perf support for ARC. Most PERF_COUNT_HW* events are
supported now. Cache events and callchains are not (yet).

Signed-off-by: Mischa Jonker <mjonker@synopsys.com>
ARC: perf: Move constants etc to header file

Signed-off-by: Mischa Jonker <mjonker@synopsys.com>
ARC: Add ARC Tux logo

Signed-off-by: Mischa Jonker <mischa.jonker@synopsys.com>
Input: arc_ps2 - add support for device tree

Add match table for device tree binding and dts binding doc.

Signed-off-by: Mischa Jonker <mjonker@synopsys.com>