diff --git a/board/synopsys/vdk/patches/linux/0001-arc-vdk-Disable-halt-on-reset.patch b/board/synopsys/vdk/patches/linux/0001-arc-vdk-Disable-halt-on-reset.patch new file mode 100644 index 0000000000..7ff7814942 --- /dev/null +++ b/board/synopsys/vdk/patches/linux/0001-arc-vdk-Disable-halt-on-reset.patch @@ -0,0 +1,32 @@ +From 1e248a880ee46921f85213da32b18f6becf07078 Mon Sep 17 00:00:00 2001 +From: Alexey Brodkin +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 +--- + 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 + diff --git a/board/synopsys/vdk/patches/linux/0002-arc-vdk-Add-support-of-MMC-controller.patch b/board/synopsys/vdk/patches/linux/0002-arc-vdk-Add-support-of-MMC-controller.patch new file mode 100644 index 0000000000..bd5dedb1ff --- /dev/null +++ b/board/synopsys/vdk/patches/linux/0002-arc-vdk-Add-support-of-MMC-controller.patch @@ -0,0 +1,70 @@ +From c9d5ba0157fcfe48c0ec3448bdaecbabb8cefbca Mon Sep 17 00:00:00 2001 +From: Alexey Brodkin +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 +--- + 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 + diff --git a/board/synopsys/vdk/patches/linux/0003-arc-vdk-Add-support-of-UIO.patch b/board/synopsys/vdk/patches/linux/0003-arc-vdk-Add-support-of-UIO.patch new file mode 100644 index 0000000000..2b084a93cc --- /dev/null +++ b/board/synopsys/vdk/patches/linux/0003-arc-vdk-Add-support-of-UIO.patch @@ -0,0 +1,48 @@ +From caa0dca3f4913712d1883e9b3b540f0815864ed9 Mon Sep 17 00:00:00 2001 +From: Alexey Brodkin +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 +--- + 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 + diff --git a/configs/snps_hs38_smp_vdk_defconfig b/configs/snps_archs38_vdk_defconfig similarity index 61% rename from configs/snps_hs38_smp_vdk_defconfig rename to configs/snps_archs38_vdk_defconfig index d4dcd1ba93..d13fcb2236 100644 --- a/configs/snps_hs38_smp_vdk_defconfig +++ b/configs/snps_archs38_vdk_defconfig @@ -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