openwrt/target/linux/arc770/base-files/lib/arc.sh
Felix Fietkau 576621f1e3 linux: add support of Synopsys ARC770-based boards
This patch introduces support of new boards with ARC cores.

 [1] Synopsys SDP board
     This is a new-generation development board from Synopsys that
     consists of base-board and CPU tile-board (which might have a real
     ASIC or FPGA with CPU image).
     It sports a lot of DesignWare peripherals like GMAC, USB, SPI, I2C
     etc and is intended to be used for early development of ARC-based
     products.

 [2] nSIM
     This is a virtual board implemented in Synopsys proprietary
     software simulator (even though available for free for open source
     community). This board has only serial port as a peripheral and so
     it is meant to be used for runtime testing which is especially
     useful during bring-up of new tools and platforms.
     What's also important ARC cores are very configurable so there're
     many variations of options like cache sizes, their line lengths,
     additional hardware blocks like multipliers, dividers etc. And this
     board could be used to make sure built software still runs on
     different HW configurations.

Cc: Felix Fietkau <nbd@openwrt.org>
Cc: Jo-Philipp Wich <jow@openwrt.org>
Cc: Jonas Gorski <jogo@openwrt.org>
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>

SVN-Revision: 47589
2015-11-22 19:06:07 +00:00

51 lines
888 B
Bash

#!/bin/sh
#
# Copyright (C) 2015 OpenWrt.org
#
# defaults
ARC_BOARD_NAME="generic"
ARC_BOARD_MODEL="Generic ARC board"
arc_board_detect() {
local board
local model
local compatible
[ -e "/tmp/sysinfo/" ] || mkdir -p "/tmp/sysinfo/"
model="$( cat /proc/device-tree/model )"
compatible="$( cat /proc/device-tree/compatible )"
case "$compatible" in
"snps,axs101""snps,arc-sdp")
board="arc-sdp";
;;
"snps,nsim")
board="arc-nsim";
;;
esac
if [ "$board" != "" ]; then
ARC_BOARD_NAME="$board"
fi
if [ "$model" != "" ]; then
ARC_BOARD_MODEL="$model"
fi
echo "$ARC_BOARD_NAME" > /tmp/sysinfo/board_name
echo "$ARC_BOARD_MODEL" > /tmp/sysinfo/model
echo "Detected $ARC_BOARD_NAME // $ARC_BOARD_MODEL"
}
arc_board_name() {
local name
[ -f /tmp/sysinfo/board_name ] && name="$(cat /tmp/sysinfo/board_name)"
[ -z "$name" ] && name="unknown"
echo "$name"
}