Re: [PATCH v4] hsdk: initial port for HSDK board

From: Vineet Gupta
Date: Tue Jun 06 2017 - 18:15:36 EST


On 06/05/2017 12:50 PM, Alexey Brodkin wrote:
This initial port adds support of ARC HS Development Kit board with some
basic features such serial port, USB, SD/MMC and Ethernet.

Essentially we run Linux kernel on all 4 cores (i.e. utilize SMP) and
heavily use IO Coherency for speeding-up DMA-aware peripherals.

Note as opposed to other ARC boards we link Linux kernel to
0x9000_0000 intentionally because cores 1 and 3 configured with DCCM
situated at our more usual link base 0x8000_0000.

Signed-off-by: Eugeniy Paltsev <paltsev@xxxxxxxxxxxx>
Signed-off-by: Alexey Brodkin <abrodkin@xxxxxxxxxxxx>
Cc: Vineet Gupta <vgupta@xxxxxxxxxxxx>
Cc: Rob Herring <robh+dt@xxxxxxxxxx>
---

Changes v3 -> v4:
* Removed senseless "ranges" property from "memory" node in .dts
* Refined early-boot code:
- CREG_PAE should be set only once thus master does that in init_early()
- ICCM relocation should be done on each and every core that sports ICCM
so we leave it in init_per_cpu(). Even though init_per_cpu() gets called
on the master core pretty late still it is way much earlier than that
moment when it might affect us - as it only huts us when addresses in
0x7z-0x7fff_ffff range are used, i.e. virtual addresses that we don't
use during init. This also makes code much cleaner compared to
additional check in case of master etc.

So you are assuming that vmalloc machinery would not have kicked in by then i.e. by the time of irq_init() i.e. - perhaps that is true. Lets go with what you have now....

-Vineet