diff options
author | Patrick Williams <patrick@stwcx.xyz> | 2022-10-04 15:57:18 +0300 |
---|---|---|
committer | Patrick Williams <patrick@stwcx.xyz> | 2022-10-04 23:48:44 +0300 |
commit | 8dd68484e26c2924fcc0eeda4d024b0116115009 (patch) | |
tree | fcd73baeab39ac71831143bb00cebb716c25a181 /meta-arm/meta-arm-bsp/recipes-kernel/linux/files/corstone1000 | |
parent | e71c689b0034a68d173d308dc66c31b6325ae2aa (diff) | |
download | openbmc-8dd68484e26c2924fcc0eeda4d024b0116115009.tar.xz |
subtree updates
meta-openembedded: 0782ea454a..ce0b93fc12:
Alex Kiernan (5):
faad2: Upgrade 2.8.8 -> 2.10.0
onig: Upgrade 6.9.4 -> 6.9.8
jansson: Honour multilib paths
jansson: Backport linker flag fixes
jansson: Default to shared builds
Beniamin Sandu (1):
libnet: update to v1.2 release
Daniel Gomez (4):
gst-instruments: Update 0.2.3 -> 0.3.1+cb8977a
libftdi: Add ftdi-eeprom support
xf86-video-ati: Update 19.1.0 -> 19.1.0+7a6a34af
v4l-utils: Update 1.22.1 -> 1.23.0+fd544473
Gianluigi Spagnuolo (1):
bpftool: add aarch64 to COMPATIBLE_HOST
Hitomi Hasegawa (1):
libsdl: add CVE-2019-14906 to allowlist
Khem Raj (2):
python3-gevent: Avoid building internal version of libev
xterm: Add _GNU_SOURCE via CFLAGS
Lukas Rusak (2):
libwebsockets: add optional support for sd-event loop
libwebsockets: add error check if PACKAGECONFIG contains systemd but DISTRO_FEATURES doesn't
Ming Liu (1):
plymouth: uprev to 22.02.122
William A. Kennington III (2):
gerbera: upgrade 1.9.2 -> 1.11.0
fmt: upgrade 8.1.1 -> 9.1.0
Yi Zhao (4):
freeradius: fix daemon startup warnings
frr: upgrade 8.2.2 -> 8.3.1
libnftnl: upgrade 1.2.2 -> 1.2.3
nftables: upgrade 1.0.4 -> 1.0.5
onkelpit (1):
tio: added tio version 2.0 and 1.47
wangmy (1):
xterm: upgrade 372 -> 373
meta-arm: 52f07a4b0b..0164b4ca7a:
Abdellatif El Khlifi (12):
arm-bsp/u-boot: corstone1000: update initramfs bundle size
arm-bsp/u-boot: corstone1000: upgrade FF-A support
arm-bsp/optee-os: corstone1000: upgrade to v3.18
arm-bsp/optee-spdevkit: corstone1000: drop the support
arm-bsp/corstone1000-initramfs-image: remove obsolete packages
arm-bsp/trusted-services: corstone1000: add secure partitions support
arm-bsp/machine: corstone1000: disable pulling the kernel into the initramfs
arm-bsp/trusted-services: corstone1000: add MHU-driver
arm-bsp/corstone1000-initramfs-image: add TS PSA API tests packages
arm-bsp/linux: corstone1000: use arm-ffa machine feature
arm/secure-partitions: drop use of the recipe
arm/ffa-debugfs: drop use of the kernel module
Adam Johnston (3):
arm-bsp/edk2-firmware: Update edk2/edk2-platforms versions for N1SDP
arm-bsp/edk2-firmware: Add edk2-platforms patches for N1SDP
arm-bsp/trusted-firmware-a: Update TF-A version for N1SDP
Andrei Gherzan (1):
edk2-firmware: Fix configure sed typo
Anton Antonov (1):
Temporary use qemu 7.0.0 for TS CI pipelines
Davidson K (6):
arm-bsp/tc: upgrade version of trusted-firmware-a
arm-bsp/tc: upgrade version of hafnium
arm-bsp/tc: upgrade version of optee
arm-bsp/u-boot: add gnutls-native as dependency
arm-bsp/trusted-firmware-a: add firmware update support for TC
arm-bsp/hafnium: enable Virtual Host Extension for TC
Denys Dmytriyenko (1):
arm-toolchain/gcc,external-arm-toolchain: resolve conflict with gcc headers
Emekcan (8):
arm-bsp/u-boot: Add external system driver to u-boot device tree
arm-bsp/kernel: Add external device driver
arm-bsp/u-boot: Add external system MHUs to u-boot device tree
arm-bsp/kernel: Add rpmsg_arm_mailbox to corstone1000
arm-bsp/test: Adding a test app for external system
arm-bsp/images: Adding external system test to initramfs image
arm-bsp/test: Changing the test app repository
arm-bsp/external-system: Changing the RTX repo
Jiacheng Tang (1):
arm/fvp-base-r-aem: upgrade to version 11.19.14
Joe Slater (1):
arm/packagegroup-ts-tests: fix parse error
Jon Mason (17):
arm-bsp/optee-os: add 3.10 recipe for corstone1000
arm-bsp/optee: rename corstone1000 files
arm/optee-spdevkit: add version to file name
arm/optee-os: add ARMv7 changes to clang patch and update patches
arm/qemuarm-secureboot: remove optee-os version pin
arm/optee: remove old versions
arm/optee-client: move the 3.14 recipe to meta-arm-bsp
arm/hafnium: update to 2.7
arm-bsp/n1sdp: update linux-yocto patches
arm/edk2-firmware: Work around clang issue
arm-bsp/tc: remove hafnium clang patch
layers: convert to langdale compatibility
CI: Remove uniquely zephyr machines
arm-bsp/fvp: move the fvp include file to the include directory
ci: move features only needed by testimage from base
CI: apply a patch so that meta-zephyr is compatible with langdale
Revert "CI: apply a patch so that meta-zephyr is compatible with langdale"
Khem Raj (6):
optee-os: Extend clang pragma fixes to core_mmu_v7.c for 3.18
trusted-services: Pin to use gcc
ffa-debugfs-mod: Exclude from world builds
linux-yocto: Add bbappend for 5.19
hafnium: Add a fix for clang-15 errors
hafnium: Exclude from world builds
Mohamed Omar Asaker (1):
arm-bsp/n1sdp-board-firmware: upgrade to N1SDP-2022.06.22
Peter Hoyes (4):
arm/lib: Specify the FVP environment variables explicitly
arm-bsp/trusted-firmware-m: Make branch names configurable
arm/classes: Migrate TF-M image signing to bbclass
arm-bsp/corstone1000: Refactor image signing to use new bbclass
Ross Burton (3):
gem5/linux-yocto: upgrade to 5.4.205 and fix buildpaths in binaries
Revert "Temporary use qemu 7.0.0 for TS CI pipelines"
runfvp: pass-through environment variables need for GUI applications
Rui Miguel Silva (1):
arm-bsp: trusted-services: fix openamp build
Vishnu Banavath (2):
arm-bsp/ffa-debugfs: update git SHA for v2.1.0
arm-bsp/external-system:corstone1000: build and install external-system
Xueliang Zhong (1):
arm-bsp/n1sdp: upgrade scp-firmware version
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: I7a07eab9e4aa0bdbdb50602050c3c4caf062acbf
Diffstat (limited to 'meta-arm/meta-arm-bsp/recipes-kernel/linux/files/corstone1000')
3 files changed, 451 insertions, 1 deletions
diff --git a/meta-arm/meta-arm-bsp/recipes-kernel/linux/files/corstone1000/0002-Add-external-system-driver.patch b/meta-arm/meta-arm-bsp/recipes-kernel/linux/files/corstone1000/0002-Add-external-system-driver.patch new file mode 100644 index 0000000000..ae69090a36 --- /dev/null +++ b/meta-arm/meta-arm-bsp/recipes-kernel/linux/files/corstone1000/0002-Add-external-system-driver.patch @@ -0,0 +1,223 @@ +Upstream-Status: Pending[Not submitted to upstream yet] +Signed-off-by: Emekcan Aras <emekcan.aras@arm.com> + +From 97509e82b51c57935fc8e918b33c09c4f6648ed7 Mon Sep 17 00:00:00 2001 +From: Emekcan <emekcan.aras@arm.com> +Date: Fri, 19 Aug 2022 14:51:08 +0100 +Subject: [PATCH] Add external system driver + +Adds external system driver to control it +from user-space. It provides run and reset +functionality at the moment. + +Signed-off-by: Emekcan Aras <emekcan.aras@arm.com> +--- + drivers/misc/Kconfig | 2 + + drivers/misc/Makefile | 1 + + drivers/misc/arm/Kconfig | 5 ++ + drivers/misc/arm/Makefile | 1 + + drivers/misc/arm/extsys_ctrl.c | 151 +++++++++++++++++++++++++++++++++ + 5 files changed, 160 insertions(+) + create mode 100644 drivers/misc/arm/Kconfig + create mode 100644 drivers/misc/arm/Makefile + create mode 100644 drivers/misc/arm/extsys_ctrl.c + +diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig +index 0f5a49fc7c9e..5ca195110b3f 100644 +--- a/drivers/misc/Kconfig ++++ b/drivers/misc/Kconfig +@@ -487,4 +487,6 @@ source "drivers/misc/cardreader/Kconfig" + source "drivers/misc/habanalabs/Kconfig" + source "drivers/misc/uacce/Kconfig" + source "drivers/misc/pvpanic/Kconfig" ++source "drivers/misc/arm/Kconfig" ++ + endmenu +diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile +index a086197af544..f5c1bd5747f7 100644 +--- a/drivers/misc/Makefile ++++ b/drivers/misc/Makefile +@@ -59,3 +59,4 @@ obj-$(CONFIG_UACCE) += uacce/ + obj-$(CONFIG_XILINX_SDFEC) += xilinx_sdfec.o + obj-$(CONFIG_HISI_HIKEY_USB) += hisi_hikey_usb.o + obj-$(CONFIG_HI6421V600_IRQ) += hi6421v600-irq.o ++obj-y += arm/ +diff --git a/drivers/misc/arm/Kconfig b/drivers/misc/arm/Kconfig +new file mode 100644 +index 000000000000..3c4b3f08e6b4 +--- /dev/null ++++ b/drivers/misc/arm/Kconfig +@@ -0,0 +1,5 @@ ++config EXTSYS_CTRL ++ tristate "Arm External System control driver" ++ help ++ Say y here to enable support for external system control ++ driver for the Arm Corstone-700 and Corstone1000 platform +\ No newline at end of file +diff --git a/drivers/misc/arm/Makefile b/drivers/misc/arm/Makefile +new file mode 100644 +index 000000000000..1ca3084cf8a0 +--- /dev/null ++++ b/drivers/misc/arm/Makefile +@@ -0,0 +1 @@ ++obj-$(CONFIG_EXTSYS_CTRL) += extsys_ctrl.o +diff --git a/drivers/misc/arm/extsys_ctrl.c b/drivers/misc/arm/extsys_ctrl.c +new file mode 100644 +index 000000000000..1c6ef14a32ae +--- /dev/null ++++ b/drivers/misc/arm/extsys_ctrl.c +@@ -0,0 +1,151 @@ ++// SPDX-License-Identifier: GPL-2.0 ++/* ++ * Arm Corstone700 and Corstone1000 external system reset control driver ++ * ++ * Copyright (C) 2019 Arm Ltd. ++ * ++ */ ++ ++#include <linux/fs.h> ++#include <linux/clk.h> ++#include <linux/err.h> ++#include <linux/interrupt.h> ++#include <linux/io.h> ++#include <linux/kernel.h> ++#include <linux/mod_devicetable.h> ++#include <linux/module.h> ++#include <linux/platform_device.h> ++#include <linux/miscdevice.h> ++#include <linux/init.h> ++ ++#define EXTSYS_DRV_NAME "extsys_ctrl" ++#define EXTSYS_MAX_DEVS 4 ++ ++#define EXTSYS_RST_SIZE U(0x8) ++#define EXTSYS_RST_CTRL_OFF U(0x0) ++#define EXTSYS_RST_ST_OFF U(0x4) ++ ++/* External system reset control indexes */ ++#define EXTSYS_CPU_WAIT (0x0) ++#define EXTSYS_RST_REQ (0x1) ++ ++/* External system reset status masks */ ++#define EXTSYS_RST_ST_ACK_OFF U(0x1) ++ ++/* No Reset Requested */ ++#define EXTSYS_RST_ST_ACK_NRR (0x0 << EXTSYS_RST_ST_ACK_OFF) ++ ++/* Reset Request Complete */ ++#define EXTSYS_RST_ST_ACK_RRC (0x2 << EXTSYS_RST_ST_ACK_OFF) ++ ++/* Reset Request Unable to Complete */ ++#define EXTSYS_RST_ST_ACK_RRUC (0x3 << EXTSYS_RST_ST_ACK_OFF) ++ ++/* IOCTL commands */ ++#define EXTSYS_CPU_WAIT_DISABLE 0x0 ++#define EXTSYS_RESET_REQ_ENABLE 0x1 ++ ++struct extsys_ctrl { ++ struct miscdevice miscdev; ++ void __iomem *reset_reg; ++ void __iomem *set_reg; ++}; ++ ++#define CLEAR_BIT(addr, index) writel(readl(addr) & ~(1UL << index), addr) ++#define SET_BIT(addr, index) writel(readl(addr) | (1UL << index), addr) ++ ++static long extsys_ctrl_ioctl(struct file *f, unsigned int cmd, ++ unsigned long arg) ++{ ++ struct extsys_ctrl *extsys; ++ ++ extsys = container_of(f->private_data, struct extsys_ctrl, miscdev); ++ ++ switch (cmd) { ++ case EXTSYS_CPU_WAIT_DISABLE: ++ CLEAR_BIT(extsys->reset_reg, EXTSYS_CPU_WAIT); ++ break; ++ case EXTSYS_RESET_REQ_ENABLE: ++ SET_BIT(extsys->reset_reg, EXTSYS_RST_REQ); ++ break; ++ default: ++ break; ++ } ++ ++ return 0; ++} ++ ++static const struct file_operations extsys_ctrl_fops = { ++ .owner = THIS_MODULE, ++ .unlocked_ioctl = extsys_ctrl_ioctl, ++}; ++ ++static int extsys_ctrl_probe(struct platform_device *pdev) ++{ ++ struct device *dev = &pdev->dev; ++ struct extsys_ctrl *extsys; ++ struct resource *res; ++ void __iomem *reset_reg; ++ void __iomem *set_reg; ++ int ret; ++ ++ res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "rstreg"); ++ reset_reg = devm_ioremap_resource(dev, res); ++ if (IS_ERR(reset_reg)) ++ return PTR_ERR(reset_reg); ++ ++ res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "streg"); ++ set_reg = devm_ioremap_resource(dev, res); ++ if (IS_ERR(set_reg)) ++ return PTR_ERR(set_reg); ++ ++ extsys = devm_kzalloc(dev, sizeof(*extsys), GFP_KERNEL); ++ if (!extsys) ++ return -ENOMEM; ++ ++ extsys->reset_reg = reset_reg; ++ extsys->set_reg = set_reg; ++ ++ extsys->miscdev.minor = MISC_DYNAMIC_MINOR; ++ extsys->miscdev.name = EXTSYS_DRV_NAME; ++ extsys->miscdev.fops = &extsys_ctrl_fops; ++ extsys->miscdev.parent = dev; ++ ++ ret = misc_register(&extsys->miscdev); ++ if (ret) ++ return ret; ++ ++ dev_info(dev, "external system controller ready\n"); ++ ++ return 0; ++} ++ ++static int extsys_ctrl_remove(struct platform_device *pdev) ++{ ++ struct extsys_ctrl *extsys = dev_get_drvdata(&pdev->dev); ++ ++ misc_deregister(&extsys->miscdev); ++ ++ return 0; ++} ++ ++static const struct of_device_id extsys_ctrl_match[] = { ++ { .compatible = "arm,extsys_ctrl" }, ++ { }, ++}; ++MODULE_DEVICE_TABLE(of, extsys_ctrl_match); ++ ++static struct platform_driver extsys_ctrl_driver = { ++ .driver = { ++ .name = EXTSYS_DRV_NAME, ++ .of_match_table = extsys_ctrl_match, ++ }, ++ .probe = extsys_ctrl_probe, ++ .remove = extsys_ctrl_remove, ++}; ++module_platform_driver(extsys_ctrl_driver); ++ ++MODULE_LICENSE("GPL v2"); ++MODULE_DESCRIPTION("Arm External System Control Driver"); ++MODULE_AUTHOR("Morten Borup Petersen"); ++MODULE_AUTHOR("Rui Miguel Silva <rui.silva@arm.com>"); +-- +2.17.1 + diff --git a/meta-arm/meta-arm-bsp/recipes-kernel/linux/files/corstone1000/0003-Add-rpsmg-driver-for-corstone1000.patch b/meta-arm/meta-arm-bsp/recipes-kernel/linux/files/corstone1000/0003-Add-rpsmg-driver-for-corstone1000.patch new file mode 100644 index 0000000000..d88acfc0f6 --- /dev/null +++ b/meta-arm/meta-arm-bsp/recipes-kernel/linux/files/corstone1000/0003-Add-rpsmg-driver-for-corstone1000.patch @@ -0,0 +1,222 @@ +Upstream-Status: Pending [Not submitted to upstream yet] +Signed-off-by: Emekcan Aras <emekcan.aras@arm.com> + +From e683c37ee51717e625c8a598056cf4bb1bdadcbc Mon Sep 17 00:00:00 2001 +From: Emekcan <emekcan.aras@arm.com> +Date: Wed, 17 Aug 2022 14:21:42 +0100 +Subject: [PATCH] Add rpsmg driver for corstone1000 + +Adds rpsmg driver to communicate with external +system in corstone1000 platform. + +Signed-off-by: Emekcan Aras <emekcan.aras@arm.com> +--- + drivers/rpmsg/Kconfig | 10 ++ + drivers/rpmsg/Makefile | 1 + + drivers/rpmsg/rpmsg_arm_mailbox.c | 164 ++++++++++++++++++++++ + 3 files changed, 175 insertions(+) + create mode 100644 drivers/rpmsg/rpmsg_arm_mailbox.c + +diff --git a/drivers/rpmsg/Kconfig b/drivers/rpmsg/Kconfig +index 0b4407abdf13..c276bd17bffe 100644 +--- a/drivers/rpmsg/Kconfig ++++ b/drivers/rpmsg/Kconfig +@@ -73,4 +73,14 @@ config RPMSG_VIRTIO + select RPMSG_NS + select VIRTIO + ++config RPMSG_ARM ++ tristate "ARM RPMSG driver" ++ select RPMSG ++ depends on HAS_IOMEM ++ depends on MAILBOX ++ help ++ Say y here to enable support for rpmsg lient driver which is built ++ around mailbox client using Arm MHUv2.1 as physical medium.This ++ driver enables communication which remote processor using MHU. ++ + endmenu +diff --git a/drivers/rpmsg/Makefile b/drivers/rpmsg/Makefile +index 8d452656f0ee..34e9c146cd64 100644 +--- a/drivers/rpmsg/Makefile ++++ b/drivers/rpmsg/Makefile +@@ -1,5 +1,6 @@ + # SPDX-License-Identifier: GPL-2.0 + obj-$(CONFIG_RPMSG) += rpmsg_core.o ++obj-$(CONFIG_RPMSG_ARM) += rpmsg_arm_mailbox.o + obj-$(CONFIG_RPMSG_CHAR) += rpmsg_char.o + obj-$(CONFIG_RPMSG_NS) += rpmsg_ns.o + obj-$(CONFIG_RPMSG_MTK_SCP) += mtk_rpmsg.o +diff --git a/drivers/rpmsg/rpmsg_arm_mailbox.c b/drivers/rpmsg/rpmsg_arm_mailbox.c +new file mode 100644 +index 000000000000..4a80102669f6 +--- /dev/null ++++ b/drivers/rpmsg/rpmsg_arm_mailbox.c +@@ -0,0 +1,164 @@ ++// SPDX-License-Identifier: GPL-2.0 ++/* ++ * rpmsg client driver using mailbox client interface ++ * ++ * Copyright (C) 2019 ARM Ltd. ++ * ++ */ ++ ++#include <linux/bitmap.h> ++#include <linux/export.h> ++#include <linux/io.h> ++#include <linux/kernel.h> ++#include <linux/ktime.h> ++#include <linux/mailbox_client.h> ++#include <linux/module.h> ++#include <linux/of_address.h> ++#include <linux/of_device.h> ++#include <linux/processor.h> ++#include <linux/semaphore.h> ++#include <linux/slab.h> ++#include <linux/rpmsg.h> ++#include "rpmsg_internal.h" ++#include <linux/mailbox/arm_mhuv2_message.h> ++ ++#define RPMSG_NAME "arm_rpmsg" ++#define RPMSG_ADDR_ANY 0xFFFFFFFF ++ ++struct arm_channel { ++ struct rpmsg_endpoint ept; ++ struct mbox_client cl; ++ struct mbox_chan *mbox; ++}; ++ ++#define arm_channel_from_rpmsg(_ept) container_of(_ept, struct arm_channel, ept) ++#define arm_channel_from_mbox(_ept) container_of(_ept, struct arm_channel, cl) ++ ++ ++static void arm_msg_rx_handler(struct mbox_client *cl, void *mssg) ++{ ++ struct arm_mhuv2_mbox_msg *msg = mssg; ++ struct arm_channel* channel = arm_channel_from_mbox(cl); ++ int err = channel->ept.cb(channel->ept.rpdev, msg->data, 4, channel->ept.priv, RPMSG_ADDR_ANY); ++ if(err) { ++ printk("ARM Mailbox: Endpoint callback failed with error: %d", err); ++ } ++} ++ ++ ++static void arm_destroy_ept(struct rpmsg_endpoint *ept) ++{ ++ struct arm_channel *channel = arm_channel_from_rpmsg(ept); ++ mbox_free_channel(channel->mbox); ++ kfree(channel); ++} ++ ++static int arm_send(struct rpmsg_endpoint *ept, void *data, int len) ++{ ++ struct arm_channel *channel = arm_channel_from_rpmsg(ept); ++ ++ mbox_send_message(channel->mbox, data); ++ return 0; ++} ++ ++static int arm_sendto(struct rpmsg_endpoint *ept, void *data, int len, u32 dest) ++{ ++ struct arm_mhuv2_mbox_msg msg; ++ struct arm_channel *channel = arm_channel_from_rpmsg(ept); ++ msg.data = data; ++ msg.len = len; ++ mbox_send_message(channel->mbox, &msg); ++ return 0; ++} ++ ++ ++static const struct rpmsg_endpoint_ops arm_endpoint_ops = { ++ .destroy_ept = arm_destroy_ept, ++ .send = arm_send, ++ .sendto = arm_sendto, ++}; ++ ++ ++static struct rpmsg_endpoint *arm_create_ept(struct rpmsg_device *rpdev, ++ rpmsg_rx_cb_t cb, void *priv, struct rpmsg_channel_info chinfo) ++{ ++ struct arm_channel *channel; ++ ++ channel = kzalloc(sizeof(*channel), GFP_KERNEL); ++ ++ // Initialize rpmsg endpoint ++ kref_init(&channel->ept.refcount); ++ channel->ept.rpdev = rpdev; ++ channel->ept.cb = cb; ++ channel->ept.priv = priv; ++ channel->ept.ops = &arm_endpoint_ops; ++ ++ // Initialize mailbox client ++ channel->cl.dev = rpdev->dev.parent; ++ channel->cl.rx_callback = arm_msg_rx_handler; ++ channel->cl.tx_done = NULL; /* operate in blocking mode */ ++ channel->cl.tx_block = true; ++ channel->cl.tx_tout = 500; /* by half a second */ ++ channel->cl.knows_txdone = false; /* depending upon protocol */ ++ ++ channel->mbox = mbox_request_channel_byname(&channel->cl, chinfo.name); ++ if (IS_ERR_OR_NULL(channel->mbox)) { ++ printk("RPMsg ARM: Cannot get channel by name: '%s'\n", chinfo.name); ++ return -1; ++ } ++ ++ return &channel->ept; ++} ++ ++static const struct rpmsg_device_ops arm_device_ops = { ++ .create_ept = arm_create_ept, ++}; ++ ++ ++static void arm_release_device(struct device *dev) ++{ ++ struct rpmsg_device *rpdev = to_rpmsg_device(dev); ++ ++ kfree(rpdev); ++} ++ ++ ++static int client_probe(struct platform_device *pdev) ++{ ++ struct device *dev = &pdev->dev; ++ struct rpmsg_device *rpdev; ++ ++ rpdev = kzalloc(sizeof(*rpdev), GFP_KERNEL); ++ if (!rpdev) ++ return -ENOMEM; ++ ++ /* Assign callbacks for rpmsg_device */ ++ rpdev->ops = &arm_device_ops; ++ ++ /* Assign public information to the rpmsg_device */ ++ memcpy(rpdev->id.name, RPMSG_NAME, strlen(RPMSG_NAME)); ++ ++ rpdev->dev.parent = dev; ++ rpdev->dev.release = arm_release_device; ++ ++ return rpmsg_chrdev_register_device(rpdev); ++} ++ ++static const struct of_device_id client_of_match[] = { ++ { .compatible = "arm,client", .data = NULL }, ++ { /* Sentinel */ }, ++}; ++ ++static struct platform_driver client_driver = { ++ .driver = { ++ .name = "arm-mhu-client", ++ .of_match_table = client_of_match, ++ }, ++ .probe = client_probe, ++}; ++ ++module_platform_driver(client_driver); ++ ++MODULE_LICENSE("GPL v2"); ++MODULE_DESCRIPTION("ARM RPMSG Driver"); ++MODULE_AUTHOR("Tushar Khandelwal <tushar.khandelwal@arm.com>"); +-- +2.17.1 + diff --git a/meta-arm/meta-arm-bsp/recipes-kernel/linux/files/corstone1000/defconfig b/meta-arm/meta-arm-bsp/recipes-kernel/linux/files/corstone1000/defconfig index 5f0a7e9198..3fe7a03877 100644 --- a/meta-arm/meta-arm-bsp/recipes-kernel/linux/files/corstone1000/defconfig +++ b/meta-arm/meta-arm-bsp/recipes-kernel/linux/files/corstone1000/defconfig @@ -10,7 +10,6 @@ CONFIG_ARCH_VEXPRESS=y CONFIG_CMDLINE="console=ttyAMA0 loglevel=9" CONFIG_EFI=y # CONFIG_SUSPEND is not set -CONFIG_ARM_FFA_TRANSPORT=y CONFIG_EFI_BOOTLOADER_CONTROL=y CONFIG_EFI_CAPSULE_LOADER=y CONFIG_EFI_TEST=y @@ -92,3 +91,9 @@ CONFIG_LIBCRC32C=y CONFIG_DEBUG_FS=y CONFIG_PANIC_TIMEOUT=5 CONFIG_STACKTRACE=y +CONFIG_EXTSYS_CTRL=y +CONFIG_MAILBOX=y +CONFIG_ARM_MHU_V2=y +CONFIG_RPMSG=y +CONFIG_RPMSG_CHAR=y +CONFIG_RPMSG_ARM=y |