All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] Add MCC support for Freescale Vybrid platforms
@ 2013-08-23 20:51 Andy Voltz
  2013-08-23 20:51 ` [PATCH 1/3] kernel-module-mcc: Add package Andy Voltz
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Andy Voltz @ 2013-08-23 20:51 UTC (permalink / raw)
  To: meta-freescale

Freescale Vybrid platforms use an MCC (Multi-core-communication) protocol to
communicate between Linux running on the A5 and MQX images running on the M4.

This series adds the kernel support, as well as userspace packages necessary
to run an MQX image and communicate over MCC.

These package versions are compatible with MCC version 1 API which is
implemented in MQX 4.0.1 series.

For more information about this API and packages, visit:
https://linuxlink.timesys.com/docs/wiki/engineering/userguide_vybrid_mcc



^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH 1/3] kernel-module-mcc: Add package
  2013-08-23 20:51 [PATCH 0/3] Add MCC support for Freescale Vybrid platforms Andy Voltz
@ 2013-08-23 20:51 ` Andy Voltz
  2013-08-23 20:51 ` [PATCH 2/3] libmcc: " Andy Voltz
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Andy Voltz @ 2013-08-23 20:51 UTC (permalink / raw)
  To: meta-freescale

kernel-module-mcc is a kernel module for Freescale Vybrid platforms.

This module is used for communication and synchronization between
MQX applications (running on the M4) and Linux (on A5)
---
 .../mcc-kmod-oe-module-makefile.patch              |   37 ++++++++++++++++++++
 .../kernel-module-mcc/kernel-module-mcc_1.03.bb    |   17 +++++++++
 2 files changed, 54 insertions(+)
 create mode 100644 recipes-kernel/kernel-module-mcc/kernel-module-mcc/mcc-kmod-oe-module-makefile.patch
 create mode 100644 recipes-kernel/kernel-module-mcc/kernel-module-mcc_1.03.bb

diff --git a/recipes-kernel/kernel-module-mcc/kernel-module-mcc/mcc-kmod-oe-module-makefile.patch b/recipes-kernel/kernel-module-mcc/kernel-module-mcc/mcc-kmod-oe-module-makefile.patch
new file mode 100644
index 0000000..dc4b947
--- /dev/null
+++ b/recipes-kernel/kernel-module-mcc/kernel-module-mcc/mcc-kmod-oe-module-makefile.patch
@@ -0,0 +1,37 @@
+OE-Core uses "make modules && make modules install" for kernel modules
+It also uses KERNEL_SRC to specify the kernel source tree location
+
+This patch adds support for modules and modules_install targets, and
+adds logic to pickup INSTALL_MOD_PATH and use KERNEL_SRC
+
+Upstream-status: Pending
+
+diff -Nuarp mcc-kmod-1.03-orig/Makefile mcc-kmod-1.03/Makefile
+--- mcc-kmod-1.03-orig/Makefile	2013-08-12 14:11:56.439711957 -0400
++++ mcc-kmod-1.03/Makefile	2013-08-12 14:16:03.472603053 -0400
+@@ -3,17 +3,19 @@ mcc-y = mcc_linux.o mcc_shm_linux.o mcc_
+ 
+ PWD := $(shell pwd)
+ 
+-EXTRA_CFLAGS += -I$(KERNELDIR)/include -Wno-format
++EXTRA_CFLAGS += -I$(KERNEL_SRC)/include -Wno-format
+ 
+-all:
+-	$(MAKE) -C $(KERNELDIR) M=$(PWD) modules
++DESTDIR ?= $(INSTALL_MOD_PATH)
+ 
+-install: all
+-	$(MAKE) -C $(KERNELDIR) M=$(PWD) modules_install INSTALL_MOD_PATH=$(DESTDIR)
++modules all:
++	$(MAKE) -C $(KERNEL_SRC) M=$(PWD) modules
++
++modules_install install: all
++	$(MAKE) -C $(KERNEL_SRC) M=$(PWD) modules_install INSTALL_MOD_PATH=$(DESTDIR)
+ 	@echo Copying mcc headers to toolchain
+ 	mkdir -p $(DESTDIR)/usr/include/linux
+ 	cp -f {mcc_linux.h,mcc_common.h,mcc_config.h} $(DESTDIR)/usr/include/linux/
+ 
+ 
+ clean:
+-	$(MAKE) -C $(KERNELDIR) M=$(PWD) clean
++	$(MAKE) -C $(KERNEL_SRC) M=$(PWD) clean
diff --git a/recipes-kernel/kernel-module-mcc/kernel-module-mcc_1.03.bb b/recipes-kernel/kernel-module-mcc/kernel-module-mcc_1.03.bb
new file mode 100644
index 0000000..a7fe8e4
--- /dev/null
+++ b/recipes-kernel/kernel-module-mcc/kernel-module-mcc_1.03.bb
@@ -0,0 +1,17 @@
+# Copyright (C) 2013 Timesys Corporation
+SUMMARY = "MCC KERNEL MODULE"
+DESCRIPTION = "Timesys Multicore communication kernel module"
+LICENSE = "GPL-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c8959abcbbe4d6676c58eab9354019e6"
+
+inherit module
+
+SRC_URI = "http://repository.timesys.com/buildsources/m/mcc-kmod/mcc-kmod-${PV}/mcc-kmod-${PV}.tar.bz2 \
+           file://mcc-kmod-oe-module-makefile.patch"
+
+SRC_URI[md5sum] = "046b0a86d70b9e3424efc86f442bc335"
+SRC_URI[sha256sum] = "44ed7f812625ef764d62ff0871784ceb155ef86df8932e91830f9222adbf3a9e"
+
+S = "${WORKDIR}/mcc-kmod-${PV}"
+
+COMPATIBLE_MACHINE = "(vf60)"
-- 
1.7.9.5



^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 2/3] libmcc: Add package
  2013-08-23 20:51 [PATCH 0/3] Add MCC support for Freescale Vybrid platforms Andy Voltz
  2013-08-23 20:51 ` [PATCH 1/3] kernel-module-mcc: Add package Andy Voltz
@ 2013-08-23 20:51 ` Andy Voltz
  2013-08-23 20:51 ` [PATCH 3/3] mqxboot: " Andy Voltz
  2013-08-24 18:11 ` [PATCH 0/3] Add MCC support for Freescale Vybrid platforms Otavio Salvador
  3 siblings, 0 replies; 5+ messages in thread
From: Andy Voltz @ 2013-08-23 20:51 UTC (permalink / raw)
  To: meta-freescale

libmcc is a userspace library which can be used in Linux applications on
Freescale Vybrid Platforms. This library interfaces with the kernel-module-mcc
to pass information to MQX running on the M4.
---
 recipes-bsp/libmcc/libmcc/libmcc-cflags.patch  |   18 +++++++++++++
 recipes-bsp/libmcc/libmcc/libmcc-symlink.patch |   32 ++++++++++++++++++++++++
 recipes-bsp/libmcc/libmcc_1.03.bb              |   20 +++++++++++++++
 3 files changed, 70 insertions(+)
 create mode 100644 recipes-bsp/libmcc/libmcc/libmcc-cflags.patch
 create mode 100644 recipes-bsp/libmcc/libmcc/libmcc-symlink.patch
 create mode 100644 recipes-bsp/libmcc/libmcc_1.03.bb

diff --git a/recipes-bsp/libmcc/libmcc/libmcc-cflags.patch b/recipes-bsp/libmcc/libmcc/libmcc-cflags.patch
new file mode 100644
index 0000000..01f4c41
--- /dev/null
+++ b/recipes-bsp/libmcc/libmcc/libmcc-cflags.patch
@@ -0,0 +1,18 @@
+This patch is required with the Yocto toolchain.
+
+Upstream-status: Pending
+
+diff -Nuar libmcc-1.03-orig/Makefile libmcc-1.03/Makefile
+--- libmcc-1.03-orig/Makefile	2013-08-12 14:43:50.063656300 -0400
++++ libmcc-1.03/Makefile	2013-08-12 14:44:10.007427139 -0400
+@@ -1,9 +1,8 @@
+-CFLAGS+=-Iinclude/
+ all: build/libmcc.a build/libmcc.so
+ 
+ build/libmcc.o: src/libmcc.c
+ 	mkdir -p build/
+-	$(CC) -c -fPIC $< -o $@ $(CFLAGS)
++	$(CC) -c -fPIC $< -o $@ -Iinclude/ $(CFLAGS)
+ 
+ build/libmcc.a: build/libmcc.o
+ 	$(AR) rcs $@ $<
diff --git a/recipes-bsp/libmcc/libmcc/libmcc-symlink.patch b/recipes-bsp/libmcc/libmcc/libmcc-symlink.patch
new file mode 100644
index 0000000..f21a93e
--- /dev/null
+++ b/recipes-bsp/libmcc/libmcc/libmcc-symlink.patch
@@ -0,0 +1,32 @@
+This patch adds the proper version suffix to the libmcc shared libs.
+
+Upstream-status: Pending
+
+diff -Nuar libmcc-1.03-orig/Makefile libmcc-1.03/Makefile
+--- libmcc-1.03-orig/Makefile	2013-08-13 10:05:46.187200835 -0400
++++ libmcc-1.03/Makefile	2013-08-13 12:23:45.167119943 -0400
+@@ -1,4 +1,4 @@
+-all: build/libmcc.a build/libmcc.so
++all: build/libmcc.a build/libmcc.so.1.0
+ 
+ build/libmcc.o: src/libmcc.c
+ 	mkdir -p build/
+@@ -7,13 +7,16 @@
+ build/libmcc.a: build/libmcc.o
+ 	$(AR) rcs $@ $<
+ 
+-build/libmcc.so: build/libmcc.o
++build/libmcc.so.1.0: build/libmcc.o
+ 	$(CC) -shared -o $@  $<
+ 
+ install:
+ 	mkdir -p $(DESTDIR)/usr/{lib,include}
+-	cp -f build/libmcc.{so,a} $(DESTDIR)/usr/lib
++	cp -f build/libmcc.{so.*,a} $(DESTDIR)/usr/lib
+ 	cp -f include/*.h $(DESTDIR)/usr/include
++	cd $(DESTDIR)/usr/lib/
++	ln -sf libmcc.so.1.0 libmcc.so.1
++	ln -sf libmcc.so.1 libmcc.so
+ 
+ clean:
+ 	rm -rf build
diff --git a/recipes-bsp/libmcc/libmcc_1.03.bb b/recipes-bsp/libmcc/libmcc_1.03.bb
new file mode 100644
index 0000000..18fc84e
--- /dev/null
+++ b/recipes-bsp/libmcc/libmcc_1.03.bb
@@ -0,0 +1,20 @@
+# Copyright (C) 2013 Timesys Corporation
+SUMMARY = "MCC Userspace Library"
+DESCRIPTION = "Timesys Multicore communication Library"
+LICENSE = "GPL-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c49712341497d0b5f2e40c30dff2af9d"
+
+RDEPENDS_${PN} = "kernel-module-mcc"
+
+inherit autotools
+
+SRC_URI = "http://repository.timesys.com/buildsources/l/libmcc/libmcc-${PV}/libmcc-${PV}.tar.bz2 \
+           file://libmcc-cflags.patch \
+           file://libmcc-symlink.patch"
+
+SRC_URI[md5sum] = "adac15d52206be21a4589b2b923af4cc"
+SRC_URI[sha256sum] = "8b4d88f260d4d3a67ee2c16e20112e0584403f350182087daa1cfafeceb16a7f"
+
+S = "${WORKDIR}/libmcc-${PV}"
+
+COMPATIBLE_MACHINE = "(vf60)"
-- 
1.7.9.5



^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 3/3] mqxboot: Add package
  2013-08-23 20:51 [PATCH 0/3] Add MCC support for Freescale Vybrid platforms Andy Voltz
  2013-08-23 20:51 ` [PATCH 1/3] kernel-module-mcc: Add package Andy Voltz
  2013-08-23 20:51 ` [PATCH 2/3] libmcc: " Andy Voltz
@ 2013-08-23 20:51 ` Andy Voltz
  2013-08-24 18:11 ` [PATCH 0/3] Add MCC support for Freescale Vybrid platforms Otavio Salvador
  3 siblings, 0 replies; 5+ messages in thread
From: Andy Voltz @ 2013-08-23 20:51 UTC (permalink / raw)
  To: meta-freescale

mqxboot is a utility for Freescale Vybrid platforms which allows an MQX image
to be loaded into memory. It's used for launching an MQX application from
a running Linux kernel.
---
 recipes-bsp/mqxboot/mqxboot_1.0.bb |   18 ++++++++++++++++++
 1 file changed, 18 insertions(+)
 create mode 100644 recipes-bsp/mqxboot/mqxboot_1.0.bb

diff --git a/recipes-bsp/mqxboot/mqxboot_1.0.bb b/recipes-bsp/mqxboot/mqxboot_1.0.bb
new file mode 100644
index 0000000..17f0233
--- /dev/null
+++ b/recipes-bsp/mqxboot/mqxboot_1.0.bb
@@ -0,0 +1,18 @@
+# Copyright (C) 2013 Timesys Corporation
+SUMMARY = "mqxboot"
+DESCRIPTION = "Timesys MQX Image loader - starts an MQX image on the M4"
+LICENSE = "GPL-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c49712341497d0b5f2e40c30dff2af9d"
+
+RDEPENDS_${PN} = "kernel-module-mcc"
+
+inherit autotools
+
+SRC_URI = "http://repository.timesys.com/buildsources/m/mqxboot/mqxboot-${PV}/mqxboot-${PV}.tar.bz2"
+
+SRC_URI[md5sum] = "3de3c8b5f8cd6664870587d29c04c421"
+SRC_URI[sha256sum] = "c2f66ae962fe2529578d5c007e3f91a36085b714a0ea276f47bc3aea90e69699"
+
+S = "${WORKDIR}/mqxboot-${PV}"
+
+COMPATIBLE_MACHINE = "(vf60)"
-- 
1.7.9.5



^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH 0/3] Add MCC support for Freescale Vybrid platforms
  2013-08-23 20:51 [PATCH 0/3] Add MCC support for Freescale Vybrid platforms Andy Voltz
                   ` (2 preceding siblings ...)
  2013-08-23 20:51 ` [PATCH 3/3] mqxboot: " Andy Voltz
@ 2013-08-24 18:11 ` Otavio Salvador
  3 siblings, 0 replies; 5+ messages in thread
From: Otavio Salvador @ 2013-08-24 18:11 UTC (permalink / raw)
  To: Andy Voltz; +Cc: meta-freescale

On Fri, Aug 23, 2013 at 5:51 PM, Andy Voltz <andy.voltz@timesys.com> wrote:
> Freescale Vybrid platforms use an MCC (Multi-core-communication) protocol to
> communicate between Linux running on the A5 and MQX images running on the M4.
>
> This series adds the kernel support, as well as userspace packages necessary
> to run an MQX image and communicate over MCC.
>
> These package versions are compatible with MCC version 1 API which is
> implemented in MQX 4.0.1 series.
>
> For more information about this API and packages, visit:
> https://linuxlink.timesys.com/docs/wiki/engineering/userguide_vybrid_mcc

The whole patchset is good to apply but it lacks Signed-off-by on
them. Please send a v2 with this and also add a
'--subject-prefix="meta-fsl-arm PATCH"' to your format-patch call so
this is easy to spot.

-- 
Otavio Salvador                             O.S. Systems
http://www.ossystems.com.br        http://code.ossystems.com.br
Mobile: +55 (53) 9981-7854            Mobile: +1 (347) 903-9750


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2013-08-24 18:11 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-08-23 20:51 [PATCH 0/3] Add MCC support for Freescale Vybrid platforms Andy Voltz
2013-08-23 20:51 ` [PATCH 1/3] kernel-module-mcc: Add package Andy Voltz
2013-08-23 20:51 ` [PATCH 2/3] libmcc: " Andy Voltz
2013-08-23 20:51 ` [PATCH 3/3] mqxboot: " Andy Voltz
2013-08-24 18:11 ` [PATCH 0/3] Add MCC support for Freescale Vybrid platforms Otavio Salvador

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.