Add buildroot 2018-02
This commit is contained in:
38
buildroot/board/synopsys/axs10x/fs-overlay/etc/inittab
Normal file
38
buildroot/board/synopsys/axs10x/fs-overlay/etc/inittab
Normal file
@@ -0,0 +1,38 @@
|
||||
# /etc/inittab
|
||||
#
|
||||
# Copyright (C) 2001 Erik Andersen <andersen@codepoet.org>
|
||||
#
|
||||
# Note: BusyBox init doesn't support runlevels. The runlevels field is
|
||||
# completely ignored by BusyBox init. If you want runlevels, use
|
||||
# sysvinit.
|
||||
#
|
||||
# Format for each entry: <id>:<runlevels>:<action>:<process>
|
||||
#
|
||||
# id == tty to run on, or empty for /dev/console
|
||||
# runlevels == ignored
|
||||
# action == one of sysinit, respawn, askfirst, wait, and once
|
||||
# process == program to run
|
||||
|
||||
# Startup the system
|
||||
null::sysinit:/bin/mount -t proc proc /proc
|
||||
null::sysinit:/bin/mount -o remount,rw /
|
||||
null::sysinit:/bin/mkdir -p /dev/pts
|
||||
null::sysinit:/bin/mkdir -p /dev/shm
|
||||
null::sysinit:/bin/mount -a
|
||||
null::sysinit:/bin/hostname -F /etc/hostname
|
||||
# now run any rc scripts
|
||||
::sysinit:/etc/init.d/rcS
|
||||
|
||||
# /sbin/getty invocation for tty0
|
||||
tty0::respawn:/sbin/getty 115200 tty0
|
||||
|
||||
# Put a getty on the serial port
|
||||
console::respawn:/sbin/getty -L console 0 vt100
|
||||
|
||||
# Stuff to do for the 3-finger salute
|
||||
::ctrlaltdel:/sbin/reboot
|
||||
|
||||
# Stuff to do before rebooting
|
||||
::shutdown:/etc/init.d/rcK
|
||||
::shutdown:/sbin/swapoff -a
|
||||
::shutdown:/bin/umount -a -r
|
||||
@@ -0,0 +1,48 @@
|
||||
From ee5a5a51780bcb17e5240335ddfa9c98a0e6f890 Mon Sep 17 00:00:00 2001
|
||||
From: Alexey Brodkin <abrodkin@synopsys.com>
|
||||
Date: Thu, 30 Mar 2017 19:18:30 +0300
|
||||
Subject: [PATCH] axs103: Clean-up smp_kick_all_cpus()
|
||||
|
||||
* Rely on default pulse polarity value
|
||||
* Don't mess with "multicore" value as it doesn't affect execution
|
||||
|
||||
In essence we now do a bare minimal stuff:
|
||||
1) Select HS38x2_1 with CORE_SEL=1 bits
|
||||
2) Select "manual" core start (via CREG) with START_MODE=0
|
||||
3) Generate cpu_start pulse with START=1
|
||||
|
||||
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
|
||||
Signed-off-by: Vlad Zakharov <vzakhar@synopsys.com>
|
||||
---
|
||||
board/synopsys/axs10x/axs10x.c | 12 +++++-------
|
||||
1 file changed, 5 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/board/synopsys/axs10x/axs10x.c b/board/synopsys/axs10x/axs10x.c
|
||||
index a5e774b2cf7b..57c790220f71 100644
|
||||
--- a/board/synopsys/axs10x/axs10x.c
|
||||
+++ b/board/synopsys/axs10x/axs10x.c
|
||||
@@ -61,16 +61,14 @@ void smp_kick_all_cpus(void)
|
||||
{
|
||||
/* CPU start CREG */
|
||||
#define AXC003_CREG_CPU_START 0xF0001400
|
||||
-
|
||||
/* Bits positions in CPU start CREG */
|
||||
#define BITS_START 0
|
||||
-#define BITS_POLARITY 8
|
||||
+#define BITS_START_MODE 4
|
||||
#define BITS_CORE_SEL 9
|
||||
-#define BITS_MULTICORE 12
|
||||
-
|
||||
-#define CMD (1 << BITS_MULTICORE) | (1 << BITS_CORE_SEL) | \
|
||||
- (1 << BITS_POLARITY) | (1 << BITS_START)
|
||||
|
||||
- writel(CMD, (void __iomem *)AXC003_CREG_CPU_START);
|
||||
+ int cmd = readl((void __iomem *)AXC003_CREG_CPU_START);
|
||||
+ cmd |= (1 << BITS_CORE_SEL) | (1 << BITS_START);
|
||||
+ cmd &= ~(1 << BITS_START_MODE);
|
||||
+ writel(cmd, (void __iomem *)AXC003_CREG_CPU_START);
|
||||
}
|
||||
#endif
|
||||
--
|
||||
2.7.4
|
||||
|
||||
@@ -0,0 +1,72 @@
|
||||
From a5fa3b17cb10ce020f8b7fe6a26c45d75f55b481 Mon Sep 17 00:00:00 2001
|
||||
From: Alexey Brodkin <abrodkin@synopsys.com>
|
||||
Date: Fri, 31 Mar 2017 11:14:35 +0300
|
||||
Subject: [PATCH] axs103: Support slave core kick-start on axs103 v1.1
|
||||
firmware
|
||||
|
||||
In axs103 v1.1 procedure to kick-start slave cores has changed quite a bit
|
||||
compared to previous implementation.
|
||||
|
||||
In particular:
|
||||
* We used to have a generic START bit for all cores selected by CORE_SEL
|
||||
mask. But now we don't touch CORE_SEL at all because we have a dedicated
|
||||
START bit for each core:
|
||||
bit 0: Core 0 (master)
|
||||
bit 1: Core 1 (slave)
|
||||
* Now there's no need to select "manual" mode of core start
|
||||
|
||||
Additional challenge for us is how to tell which axs103 firmware we're
|
||||
dealing with. For now we'll rely on ARC core version which was bumped
|
||||
from 2.1c to 3.0.
|
||||
|
||||
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
|
||||
Signed-off-by: Vlad Zakharov <vzakhar@synopsys.com>
|
||||
---
|
||||
board/synopsys/axs10x/axs10x.c | 23 +++++++++++++++++++++--
|
||||
1 file changed, 21 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/board/synopsys/axs10x/axs10x.c b/board/synopsys/axs10x/axs10x.c
|
||||
index 57c790220f71..e6b69da3da7f 100644
|
||||
--- a/board/synopsys/axs10x/axs10x.c
|
||||
+++ b/board/synopsys/axs10x/axs10x.c
|
||||
@@ -7,6 +7,7 @@
|
||||
#include <common.h>
|
||||
#include <dwmmc.h>
|
||||
#include <malloc.h>
|
||||
+#include <asm/arcregs.h>
|
||||
#include "axs10x.h"
|
||||
|
||||
DECLARE_GLOBAL_DATA_PTR;
|
||||
@@ -66,9 +67,27 @@ void smp_kick_all_cpus(void)
|
||||
#define BITS_START_MODE 4
|
||||
#define BITS_CORE_SEL 9
|
||||
|
||||
+/*
|
||||
+ * In axs103 v1.1 START bits semantics has changed quite a bit.
|
||||
+ * We used to have a generic START bit for all cores selected by CORE_SEL mask.
|
||||
+ * But now we don't touch CORE_SEL at all because we have a dedicated START bit
|
||||
+ * for each core:
|
||||
+ * bit 0: Core 0 (master)
|
||||
+ * bit 1: Core 1 (slave)
|
||||
+ */
|
||||
+#define BITS_START_CORE1 1
|
||||
+
|
||||
+#define ARCVER_HS38_3_0 0x53
|
||||
+
|
||||
+ int core_family = read_aux_reg(ARC_AUX_IDENTITY) & 0xff;
|
||||
int cmd = readl((void __iomem *)AXC003_CREG_CPU_START);
|
||||
- cmd |= (1 << BITS_CORE_SEL) | (1 << BITS_START);
|
||||
- cmd &= ~(1 << BITS_START_MODE);
|
||||
+
|
||||
+ if (core_family < ARCVER_HS38_3_0) {
|
||||
+ cmd |= (1 << BITS_CORE_SEL) | (1 << BITS_START);
|
||||
+ cmd &= ~(1 << BITS_START_MODE);
|
||||
+ } else {
|
||||
+ cmd |= (1 << BITS_START_CORE1);
|
||||
+ }
|
||||
writel(cmd, (void __iomem *)AXC003_CREG_CPU_START);
|
||||
}
|
||||
#endif
|
||||
--
|
||||
2.7.4
|
||||
|
||||
143
buildroot/board/synopsys/vdk/linux-vdk-aarch64-defconfig
Normal file
143
buildroot/board/synopsys/vdk/linux-vdk-aarch64-defconfig
Normal file
@@ -0,0 +1,143 @@
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_POSIX_MQUEUE=y
|
||||
CONFIG_NO_HZ=y
|
||||
CONFIG_HIGH_RES_TIMERS=y
|
||||
CONFIG_BSD_PROCESS_ACCT=y
|
||||
CONFIG_IKCONFIG=y
|
||||
CONFIG_IKCONFIG_PROC=y
|
||||
CONFIG_LOG_BUF_SHIFT=16
|
||||
CONFIG_CGROUPS=y
|
||||
CONFIG_BLK_DEV_INITRD=y
|
||||
CONFIG_EMBEDDED=y
|
||||
CONFIG_SLAB=y
|
||||
CONFIG_PROFILING=y
|
||||
CONFIG_CC_STACKPROTECTOR_REGULAR=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
CONFIG_SMP=y
|
||||
CONFIG_SCHED_MC=y
|
||||
CONFIG_SCHED_SMT=y
|
||||
CONFIG_NR_CPUS=8
|
||||
CONFIG_PREEMPT=y
|
||||
CONFIG_DEFAULT_MMAP_MIN_ADDR=32768
|
||||
CONFIG_TRANSPARENT_HUGEPAGE=y
|
||||
CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y
|
||||
CONFIG_CMDLINE="console=ttyAMA0 earlyprintk=pl011,0x1c090000 debug user_debug=31 loglevel=9 root=/dev/vda"
|
||||
CONFIG_CMDLINE_FORCE=y
|
||||
CONFIG_BINFMT_MISC=y
|
||||
CONFIG_CPU_IDLE=y
|
||||
CONFIG_CPU_FREQ=y
|
||||
CONFIG_CPU_FREQ_GOV_USERSPACE=y
|
||||
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
|
||||
CONFIG_ARM_BIG_LITTLE_CPUFREQ=y
|
||||
CONFIG_ARM_DT_BL_CPUFREQ=y
|
||||
CONFIG_ARM_SPCI_CPUFREQ=y
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_XFRM_USER=y
|
||||
CONFIG_NET_KEY=y
|
||||
CONFIG_NET_KEY_MIGRATE=y
|
||||
CONFIG_INET=y
|
||||
CONFIG_IP_MULTICAST=y
|
||||
CONFIG_IP_PNP=y
|
||||
CONFIG_IP_PNP_DHCP=y
|
||||
CONFIG_IP_PNP_BOOTP=y
|
||||
CONFIG_IP_PNP_RARP=y
|
||||
CONFIG_SYN_COOKIES=y
|
||||
CONFIG_NETWORK_PHY_TIMESTAMPING=y
|
||||
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
|
||||
CONFIG_DEVTMPFS=y
|
||||
CONFIG_DEVTMPFS_MOUNT=y
|
||||
CONFIG_VEXPRESS_CONFIG=y
|
||||
CONFIG_CONNECTOR=m
|
||||
CONFIG_BLK_DEV_LOOP=y
|
||||
CONFIG_BLK_DEV_NBD=y
|
||||
CONFIG_BLK_DEV_RAM=y
|
||||
CONFIG_BLK_DEV_RAM_SIZE=65536
|
||||
CONFIG_VIRTIO_BLK=y
|
||||
CONFIG_SCSI=y
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
CONFIG_BLK_DEV_DM=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_STMMAC_ETH=m
|
||||
CONFIG_INPUT_EVDEV=y
|
||||
CONFIG_INPUT_MISC=y
|
||||
CONFIG_INPUT_UINPUT=y
|
||||
CONFIG_SERIO_AMBAKMI=y
|
||||
CONFIG_SERIAL_8250=y
|
||||
CONFIG_SERIAL_8250_CONSOLE=y
|
||||
CONFIG_SERIAL_AMBA_PL011=y
|
||||
CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
|
||||
CONFIG_SERIAL_OF_PLATFORM=y
|
||||
CONFIG_VIRTIO_CONSOLE=y
|
||||
CONFIG_I2C=y
|
||||
CONFIG_I2C_CHARDEV=y
|
||||
CONFIG_I2C_DESIGNWARE_PLATFORM=y
|
||||
CONFIG_GPIOLIB=y
|
||||
CONFIG_GPIO_SYSFS=y
|
||||
CONFIG_POWER_RESET_VEXPRESS=y
|
||||
CONFIG_FB=y
|
||||
CONFIG_FB_ARMCLCD=y
|
||||
CONFIG_FRAMEBUFFER_CONSOLE=y
|
||||
CONFIG_LOGO=y
|
||||
CONFIG_USB_HIDDEV=y
|
||||
CONFIG_USB=y
|
||||
CONFIG_USB_EHCI_HCD=y
|
||||
CONFIG_USB_EHCI_HCD_SYNOPSYS=y
|
||||
CONFIG_USB_OHCI_HCD=y
|
||||
CONFIG_NOP_USB_XCEIV=y
|
||||
CONFIG_USB_ULPI=y
|
||||
CONFIG_USB_DUMMY_HCD=m
|
||||
CONFIG_USB_G_SERIAL=m
|
||||
CONFIG_MMC=y
|
||||
CONFIG_MMC_ARMMMCI=y
|
||||
CONFIG_NEW_LEDS=y
|
||||
CONFIG_LEDS_CLASS=y
|
||||
CONFIG_LEDS_GPIO=y
|
||||
CONFIG_LEDS_TRIGGERS=y
|
||||
CONFIG_LEDS_TRIGGER_TIMER=y
|
||||
CONFIG_LEDS_TRIGGER_ONESHOT=y
|
||||
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
|
||||
CONFIG_LEDS_TRIGGER_BACKLIGHT=y
|
||||
CONFIG_LEDS_TRIGGER_CPU=y
|
||||
CONFIG_LEDS_TRIGGER_GPIO=y
|
||||
CONFIG_SWITCH=y
|
||||
CONFIG_RTC_CLASS=y
|
||||
CONFIG_RTC_DRV_PL031=y
|
||||
CONFIG_VIRTIO_BALLOON=y
|
||||
CONFIG_VIRTIO_MMIO=y
|
||||
CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
|
||||
CONFIG_COMMON_CLK_VERSATILE=y
|
||||
CONFIG_CLK_SP810=y
|
||||
CONFIG_CLK_VEXPRESS_OSC=y
|
||||
CONFIG_COMMON_CLK_SCPI=y
|
||||
CONFIG_MAILBOX=y
|
||||
CONFIG_ARM_SCPI_PROTOCOL=y
|
||||
CONFIG_EXT4_FS=y
|
||||
CONFIG_EXT4_FS_SECURITY=y
|
||||
CONFIG_BTRFS_FS=m
|
||||
CONFIG_QFMT_V2=y
|
||||
CONFIG_AUTOFS4_FS=m
|
||||
CONFIG_MSDOS_FS=m
|
||||
CONFIG_VFAT_FS=m
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_TMPFS_POSIX_ACL=y
|
||||
CONFIG_HUGETLBFS=m
|
||||
CONFIG_ECRYPT_FS=m
|
||||
CONFIG_CRAMFS=m
|
||||
CONFIG_NLS_CODEPAGE_437=y
|
||||
CONFIG_NLS_ISO8859_1=y
|
||||
CONFIG_VIRTUALIZATION=y
|
||||
CONFIG_KVM=y
|
||||
CONFIG_DYNAMIC_DEBUG=y
|
||||
CONFIG_DEBUG_INFO=y
|
||||
CONFIG_MAGIC_SYSRQ=y
|
||||
CONFIG_SCHEDSTATS=y
|
||||
CONFIG_TIMER_STATS=y
|
||||
CONFIG_FUNCTION_TRACER=y
|
||||
CONFIG_STRICT_DEVMEM=y
|
||||
CONFIG_SECURITY=y
|
||||
CONFIG_SECURITY_NETWORK_XFRM=y
|
||||
CONFIG_LSM_MMAP_MIN_ADDR=0
|
||||
|
||||
65
buildroot/board/synopsys/vdk/readme.txt
Normal file
65
buildroot/board/synopsys/vdk/readme.txt
Normal file
@@ -0,0 +1,65 @@
|
||||
Synopsys VDK Software Development Platform
|
||||
|
||||
Intro
|
||||
=====
|
||||
|
||||
The Virtualizer Development Kit (VDK) Family for ARM Cortex Products
|
||||
consists of a set of virtual prototypes that provide a virtualizer for
|
||||
the ARM core variants. The VDK is a standalone package that runs on an
|
||||
host computer.
|
||||
|
||||
Buildroot will generate the kernel image and a minimal root filesystem.
|
||||
|
||||
How to build it
|
||||
===============
|
||||
|
||||
Configure Buildroot
|
||||
-------------------
|
||||
|
||||
Configuring Buildroot is pretty simple, just execute:
|
||||
|
||||
$ make snps_aarch64_vdk_defconfig
|
||||
|
||||
Build the rootfs and kernel
|
||||
---------------------------
|
||||
|
||||
Note: you will need to have access to the network, since Buildroot will
|
||||
download the packages' sources.
|
||||
|
||||
You may now build your rootfs with:
|
||||
|
||||
$ make
|
||||
|
||||
(This may take a while)
|
||||
|
||||
Result of the build
|
||||
-------------------
|
||||
|
||||
After building, you should obtain this tree:
|
||||
|
||||
output/images/
|
||||
-- rootfs.ext2
|
||||
-- Image
|
||||
|
||||
Installing your rootfs and Image
|
||||
================================
|
||||
|
||||
Now copy the content of the output/images folder to the VDK' skins
|
||||
folder:
|
||||
|
||||
$ cp rootfs.ext2 Image <vdk_installation_path>/skins/Vanilla-Cortex/ARMv8
|
||||
|
||||
|
||||
Starting the VDK
|
||||
================================
|
||||
|
||||
Go the VDK' installation root and execute the 'start' script:
|
||||
|
||||
$ cd <vdk_installation_path>
|
||||
$ ./start.sh
|
||||
|
||||
The VP Explorer application will be executed, starting the simulation
|
||||
automatically.
|
||||
|
||||
For more information about Synopsys' VDK please check:
|
||||
http://www.synopsys.com/Prototyping/VirtualPrototyping/Pages/default.aspx
|
||||
Reference in New Issue
Block a user