From fc03b3aa1610feed89b04aa504a3468c904a1aae Mon Sep 17 00:00:00 2001 From: Tim Harvey Date: Tue, 23 Jan 2018 15:15:44 -0800 Subject: octeontx: add support for OCTEON TX target The Cavium OCTEON TX is an ARM 64-bit SoC leveraging CPU cores and periperhals from the Cavium ThunderX SoC. This initial support provides a 4.14 kernel and kernel+initramfs that is bootable on the Gateworks Newport GW630x as well as the Cavium sff8104 reference board. Signed-off-by: Tim Harvey --- .../octeontx/base-files/etc/board.d/02_network | 18 +++++++++ target/linux/octeontx/base-files/etc/inittab | 5 +++ target/linux/octeontx/base-files/lib/octeontx.sh | 43 ++++++++++++++++++++++ 3 files changed, 66 insertions(+) create mode 100644 target/linux/octeontx/base-files/etc/board.d/02_network create mode 100644 target/linux/octeontx/base-files/etc/inittab create mode 100644 target/linux/octeontx/base-files/lib/octeontx.sh (limited to 'target/linux/octeontx/base-files') diff --git a/target/linux/octeontx/base-files/etc/board.d/02_network b/target/linux/octeontx/base-files/etc/board.d/02_network new file mode 100644 index 0000000000..3ad5e852cb --- /dev/null +++ b/target/linux/octeontx/base-files/etc/board.d/02_network @@ -0,0 +1,18 @@ +#!/bin/sh +# +# Copyright (C) 2018 OpenWrt.org +# + +. ./lib/functions/uci-defaults.sh +. ./lib/octeontx.sh + +board=$(octeontx_board_name) + +board_config_update + +case "$board" in +esac + +board_config_flush + +exit 0 diff --git a/target/linux/octeontx/base-files/etc/inittab b/target/linux/octeontx/base-files/etc/inittab new file mode 100644 index 0000000000..be235d8792 --- /dev/null +++ b/target/linux/octeontx/base-files/etc/inittab @@ -0,0 +1,5 @@ +::sysinit:/etc/init.d/rcS S boot +::shutdown:/etc/init.d/rcS K shutdown +tts/0::askfirst:/usr/libexec/login.sh +ttyAMA0::askfirst:/usr/libexec/login.sh +tty1::askfirst:/usr/libexec/login.sh diff --git a/target/linux/octeontx/base-files/lib/octeontx.sh b/target/linux/octeontx/base-files/lib/octeontx.sh new file mode 100644 index 0000000000..b6335f8a00 --- /dev/null +++ b/target/linux/octeontx/base-files/lib/octeontx.sh @@ -0,0 +1,43 @@ +#!/bin/sh +# +# Copyright (C) 2018 OpenWrt.org +# + +octeontx_board_detect() { + local machine + local name + + machine=$(cat /proc/device-tree/model) + board=$(cat /proc/device-tree/board) + + case "$machine" in + "Cavium ThunderX CN81XX board") + name="cn81xx" + ;; + + *) + name="generic" + ;; + esac + + case "$board" in + GW630*) + name="gw630x" + ;; + esac + + [ -e "/tmp/sysinfo" ] || mkdir -p "/tmp/sysinfo" + + echo "$name" > /tmp/sysinfo/board_name + echo "$machine" > /tmp/sysinfo/model +} + +octeontx_board_name() { + local name + + [ -f /tmp/sysinfo/board_name ] || octeontx_board_detect + [ -f /tmp/sysinfo/board_name ] && name=$(cat /tmp/sysinfo/board_name) + [ -z "$name" ] && name="unknown" + + echo "$name" +} -- cgit v1.2.3