configs: Update Synopsys VDK for ARC HS38

This updates Linux kernel for Synopsys ARC HS38 VDK so it matches real
platform and while at it bump kernel version to the latest.

Main changes:
 * Linux kernel v4.9.6 (latest in 4.9.x series in buildroot)
 * Add support of MMC controller which is used for rootfs
 * Add support of UIO which is used to communicate with EVSS

Now with this update image built by vanilla Buildroot VDK has
working UART, MMC, LCD, Ethernet, UIO etc.

And while at it we rename defconfing so it:
 1) Doesn't mention SMP any more - that's the only option anyways now
 2) Matches common naming scheme: vendor_arch_platform

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Zakharov Vlad <Vladislav.Zakharov@synopsys.com>
Cc: Peter Korsgaard <peter@korsgaard.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
Alexey Brodkin 2017-02-01 20:47:02 +03:00 committed by Peter Korsgaard
parent 774e7b0bfd
commit 600c507f07
4 changed files with 155 additions and 4 deletions

View file

@ -0,0 +1,32 @@
From 1e248a880ee46921f85213da32b18f6becf07078 Mon Sep 17 00:00:00 2001
From: Alexey Brodkin <abrodkin@synopsys.com>
Date: Tue, 31 Jan 2017 19:00:29 +0300
Subject: [PATCH 1/3] arc: vdk: Disable halt on reset
In recent VDKs ARC cores are configured as "run on reset"
which made existing kernel configuration outdated to effect that
slave cores never start execution of the code keeping only master
online.
With that fix we're again in sync with VDK platform.
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
---
arch/arc/configs/vdk_hs38_smp_defconfig | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/arc/configs/vdk_hs38_smp_defconfig b/arch/arc/configs/vdk_hs38_smp_defconfig
index 969b206d6c67..00036e814dc1 100644
--- a/arch/arc/configs/vdk_hs38_smp_defconfig
+++ b/arch/arc/configs/vdk_hs38_smp_defconfig
@@ -15,6 +15,7 @@ CONFIG_ARC_PLAT_AXS10X=y
CONFIG_AXS103=y
CONFIG_ISA_ARCV2=y
CONFIG_SMP=y
+# CONFIG_ARC_SMP_HALT_ON_RESET is not set
# CONFIG_ARC_HAS_GFRC is not set
CONFIG_ARC_UBOOT_SUPPORT=y
CONFIG_ARC_BUILTIN_DTB_NAME="vdk_hs38_smp"
--
2.7.4

View file

@ -0,0 +1,70 @@
From c9d5ba0157fcfe48c0ec3448bdaecbabb8cefbca Mon Sep 17 00:00:00 2001
From: Alexey Brodkin <abrodkin@synopsys.com>
Date: Tue, 31 Jan 2017 19:02:44 +0300
Subject: [PATCH 2/3] arc: vdk: Add support of MMC controller
ARC VDK virtual platform emulates host MMC controller (DW Mobile Storage)
and moreover rootfs is situated on that virtual card.
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
---
arch/arc/boot/dts/vdk_axs10x_mb.dtsi | 18 ++++++++++++++++++
arch/arc/configs/vdk_hs38_smp_defconfig | 5 ++++-
2 files changed, 22 insertions(+), 1 deletion(-)
diff --git a/arch/arc/boot/dts/vdk_axs10x_mb.dtsi b/arch/arc/boot/dts/vdk_axs10x_mb.dtsi
index 99498a4b4216..1953914b9f4f 100644
--- a/arch/arc/boot/dts/vdk_axs10x_mb.dtsi
+++ b/arch/arc/boot/dts/vdk_axs10x_mb.dtsi
@@ -23,6 +23,12 @@
#clock-cells = <0>;
};
+ mmcclk: mmcclk {
+ compatible = "fixed-clock";
+ clock-frequency = <50000000>;
+ #clock-cells = <0>;
+ };
+
pguclk: pguclk {
#clock-cells = <0>;
compatible = "fixed-clock";
@@ -94,5 +100,17 @@
interrupts = <5>;
interrupt-names = "arc_ps2_irq";
};
+
+ mmc@0x15000 {
+ compatible = "snps,dw-mshc";
+ reg = <0x15000 0x400>;
+ num-slots = <1>;
+ fifo-depth = <1024>;
+ card-detect-delay = <200>;
+ clocks = <&apbclk>, <&mmcclk>;
+ clock-names = "biu", "ciu";
+ interrupts = <7>;
+ bus-width = <4>;
+ };
};
};
diff --git a/arch/arc/configs/vdk_hs38_smp_defconfig b/arch/arc/configs/vdk_hs38_smp_defconfig
index 00036e814dc1..85c697a7ef1c 100644
--- a/arch/arc/configs/vdk_hs38_smp_defconfig
+++ b/arch/arc/configs/vdk_hs38_smp_defconfig
@@ -79,9 +79,12 @@ CONFIG_USB_OHCI_HCD=y
CONFIG_USB_OHCI_HCD_PLATFORM=y
CONFIG_USB_STORAGE=y
CONFIG_USB_SERIAL=y
+CONFIG_MMC=y
+CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_PLTFM=y
+CONFIG_MMC_DW=y
# CONFIG_IOMMU_SUPPORT is not set
CONFIG_EXT3_FS=y
-CONFIG_EXT4_FS=y
CONFIG_MSDOS_FS=y
CONFIG_VFAT_FS=y
CONFIG_NTFS_FS=y
--
2.7.4

View file

@ -0,0 +1,48 @@
From caa0dca3f4913712d1883e9b3b540f0815864ed9 Mon Sep 17 00:00:00 2001
From: Alexey Brodkin <abrodkin@synopsys.com>
Date: Tue, 31 Jan 2017 19:03:56 +0300
Subject: [PATCH 3/3] arc: vdk: Add support of UIO
ARC VDK for EVSS uses UIO for communication with Embedded Vision
Subsystem.
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
---
arch/arc/boot/dts/vdk_axs10x_mb.dtsi | 8 ++++++++
arch/arc/configs/vdk_hs38_smp_defconfig | 2 ++
2 files changed, 10 insertions(+)
diff --git a/arch/arc/boot/dts/vdk_axs10x_mb.dtsi b/arch/arc/boot/dts/vdk_axs10x_mb.dtsi
index 1953914b9f4f..f0df59b23e21 100644
--- a/arch/arc/boot/dts/vdk_axs10x_mb.dtsi
+++ b/arch/arc/boot/dts/vdk_axs10x_mb.dtsi
@@ -112,5 +112,13 @@
interrupts = <7>;
bus-width = <4>;
};
+
+ /* Embedded Vision subsystem UIO mappings; only relevant for EV VDK */
+ uio_ev: uio@0xD0000000 {
+ compatible = "generic-uio";
+ reg = <0xD0000000 0x2000 0xD1000000 0x2000 0x90000000 0x10000000 0xC0000000 0x10000000>;
+ reg-names = "ev_gsa", "ev_ctrl", "ev_shared_mem", "ev_code_mem";
+ interrupts = <23>;
+ };
};
};
diff --git a/arch/arc/configs/vdk_hs38_smp_defconfig b/arch/arc/configs/vdk_hs38_smp_defconfig
index 85c697a7ef1c..ecd7f42d50c9 100644
--- a/arch/arc/configs/vdk_hs38_smp_defconfig
+++ b/arch/arc/configs/vdk_hs38_smp_defconfig
@@ -83,6 +83,8 @@ CONFIG_MMC=y
CONFIG_MMC_SDHCI=y
CONFIG_MMC_SDHCI_PLTFM=y
CONFIG_MMC_DW=y
+CONFIG_UIO=y
+CONFIG_UIO_PDRV_GENIRQ=y
# CONFIG_IOMMU_SUPPORT is not set
CONFIG_EXT3_FS=y
CONFIG_MSDOS_FS=y
--
2.7.4

View file

@ -3,17 +3,18 @@ BR2_arcle=y
BR2_archs38=y
# System
BR2_TARGET_GENERIC_HOSTNAME="hs38_vdk"
BR2_TARGET_GENERIC_HOSTNAME="archs38_vdk"
BR2_TARGET_GENERIC_ISSUE="Welcome to the HS38 VDK Software Development Platform"
BR2_ROOTFS_OVERLAY="board/synopsys/axs10x/fs-overlay"
BR2_TARGET_ROOTFS_EXT2=y
# Linux headers same as kernel, a 4.8 series
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_8=y
# Linux headers same as kernel, a 4.9 series
BR2_KERNEL_HEADERS_4_9=y
# Kernel
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.8.6"
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.9.6"
BR2_LINUX_KERNEL_PATCH="board/synopsys/vdk/patches/linux"
BR2_LINUX_KERNEL_DEFCONFIG="vdk_hs38_smp"
BR2_LINUX_KERNEL_VMLINUX=y