Add support for the snowball board
v4 cover Add support for the snowball board
Snowball board is a low power, low cost Single Board Computer based on the ST-Ericsson Nova A9500 processor (Dual Cortex-A9 + MALI 400 GPU). More info at www.igloocommunity.org
The snowball board boots from eMMC, loads the linux kernel and mounts its root filesystem either from eMMC or from a microSD card. The user should prepare a microSD card with two partitions. On the fist partition he will install the kernel image and on the second one the root filesystem.
TO DO:
* Add the GPS support.
* Add the possibility to build an eMMC image directly from buildroot.
* Add the riff tool package
Gregory Hermant (6):
snowball-hdmiservice: new package
ux500-firmware: new package
Add board files for snowball
Add init script files for snowball board
bluez-utils: add support for the ST-Ericsson cg2900 combo controller Add config file for the snowball board
board/calao/snowball/linux-3.4.patch | 45 +++++++++ configs/calao_snowball_defconfig | 28 ++++++ package/Config.in | 3 + ...tils-4.101-enable_cg2900_on_upstream_4.91.patch | 106 ++++++++++++++++++++ package/snowball-hdmiservice/Config.in | 10 ++ .../snowball-hdmiservice/snowball-hdmiservice.mk | 41 ++++++++ package/snowball-init/Config.in | 10 ++ package/snowball-init/snowball-init.mk | 15 +++ package/ux500-firmware/Config.in | 7 ++ package/ux500-firmware/ux500-firmware.mk | 22 ++++ 10 files changed, 287 insertions(+) create mode 100644 board/calao/snowball/linux-3.4.patch create mode 100644 configs/calao_snowball_defconfig create mode 100644 package/bluez_utils/bluez_utils-4.101-enable_cg2900_on_upstream_4.91.patch create mode 100644 package/snowball-hdmiservice/Config.in create mode 100644 package/snowball-hdmiservice/snowball-hdmiservice.mk create mode 100644 package/snowball-init/Config.in create mode 100644 package/snowball-init/snowball-init.mk create mode 100644 package/ux500-firmware/Config.in create mode 100644 package/ux500-firmware/ux500-firmware.mk
Signature · 1 line
1.7.9.5
PATCH v4 1/6 snowball-hdmiservice: new package
--- package/Config.in | 1 + package/snowball-hdmiservice/Config.in | 10 +++++ .../snowball-hdmiservice/snowball-hdmiservice.mk | 41 ++++++++++++++++++++ 3 files changed, 52 insertions(+) create mode 100644 package/snowball-hdmiservice/Config.in create mode 100644 package/snowball-hdmiservice/snowball-hdmiservice.mk
package/Config.in +1 -0
@@ -250,6 +250,7 @@ source "package/sane-backends/Config.in" source "package/sdparm/Config.in" source "package/setserial/Config.in" source "package/smartmontools/Config.in" +source "package/snowball-hdmiservice/Config.in" source "package/sredird/Config.in" source "package/statserial/Config.in" source "package/sysstat/Config.in"
package/snowball-hdmiservice/Config.in new file +10 -0
@@ -0,0 +1,10 @@ +config BR2_PACKAGE_SNOWBALL_HDMISERVICE + bool "snowball-hdmiservice" + depends on BR2_TOOLCHAIN_HAS_THREADS + help + HDMI userspace control daemon + + This package contains the HDMI userspace control daemon for the + snowball board + + http://www.igloocommunity.org
package/snowball-hdmiservice/snowball-hdmiservice.mk new file +41 -0
41 lines not on this page · raw message
Signature · 1 line
1.7.9.5
PATCH v4 1/6 snowball-hdmiservice: new package
Quoted 1 line · Gregory Hermant
Signed-off-by Gregory Hermant<[email protected]>
(on various archs an toolchains)
Regards,
Arnout
Signature · 6 lines
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286540 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
PATCH v4 2/6 ux500-firmware: new package
In reply to Gregory Hermant--- package/Config.in | 1 + package/ux500-firmware/Config.in | 7 +++++++ package/ux500-firmware/ux500-firmware.mk | 22 ++++++++++++++++++++++ 3 files changed, 30 insertions(+) create mode 100644 package/ux500-firmware/Config.in create mode 100644 package/ux500-firmware/ux500-firmware.mk
package/Config.in +1 -0
@@ -261,6 +261,7 @@ source "package/usb_modeswitch/Config.in" source "package/usb_modeswitch_data/Config.in" source "package/usbmount/Config.in" source "package/usbutils/Config.in" +source "package/ux500-firmware/Config.in" source "package/wipe/Config.in" endmenu
package/ux500-firmware/Config.in new file +7 -0
@@ -0,0 +1,7 @@ +config BR2_PACKAGE_UX500_FIRMWARE + bool "ux500-firmware" + help + This package provides various binary firmware files (closed binary blobs) + for the Azurewave AW-NH580 combo module (wifi, bt, gps). + + https://launchpad.net/~igloocommunity-maintainers/+archive/snowball/+files/
package/ux500-firmware/ux500-firmware.mk new file +22 -0
@@ -0,0 +1,22 @@ +############################################################# +# +# ux500-firmware +# +############################################################# +UX500_FIRMWARE_VERSION = 1.1.3-6 +UX500_FIRMWARE_SOURCE = ux500-firmware_$(UX500_FIRMWARE_VERSION)linaro1.tar.gz +UX500_FIRMWARE_SITE = https://launchpad.net/~igloocommunity-maintainers/+archive/snowball/+files/ +UX500_FIRMWARE_LICENSE = Snowball click-wrap license +UX500_FIRMWARE_LICENSE_FILES = license.txt +UX500_FIRMWARE_REDISTRIBUTE = NO + +# The CG2900 linux driver has to load firmware named CG29XX_* but the firmware +# filenames contained in this package are CG2900_* hence the code below +define UX500_FIRMWARE_INSTALL_TARGET_CMDS + $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) install + for f in $(TARGET_DIR)/lib/firmware/CG2900* ; do \ + mv $$f $${f/CG2900/CG29XX}; \ + done +endef + +$(eval $(generic-package))
Signature · 1 line
1.7.9.5
PATCH v4 2/6 ux500-firmware: new package
Quoted 1 line · Gregory Hermant
Signed-off-by Gregory Hermant<[email protected]>
(with the calao_snowball_defconfig)
Regards,
Arnout
Signature · 6 lines
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286540 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
PATCH v4 3/6 Add board files for snowball
In reply to Gregory Hermant--- board/calao/snowball/linux-3.4.patch | 45 ++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 board/calao/snowball/linux-3.4.patch
board/calao/snowball/linux-3.4.patch new file +45 -0
@@ -0,0 +1,45 @@ +From 3d1a9b44b9dcd2c0f5d54c09596c96c0524d8340 Mon Sep 17 00:00:00 2001 +From: Gregory Hermant <[email protected]> +Date: Tue, 13 Nov 2012 11:47:41 +0100 +Subject: [PATCH] trace-debug[stm]: Fix for BT/WLAN instability + +Pins under mop500_ske_pins array are used for different +functionalities in snowball. Ex: GPIO161 pin configured +for keypad here must stay configured as GPIO alternate +function for operating PMU_EN pin of BT/WLAN chip in snowball. +So forbid configuring these pins, for snowball + +Signed-off-by: Rajanikanth H.V <[email protected]> +Signed-off-by: Gregory Hermant <[email protected]> +--- + arch/arm/mach-ux500/board-mop500-stm.c | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +diff --git a/arch/arm/mach-ux500/board-mop500-stm.c b/arch/arm/mach-ux500/board-mop500-stm.c +index 1bef2a0..532fb9e 100644 +--- a/arch/arm/mach-ux500/board-mop500-stm.c ++++ b/arch/arm/mach-ux500/board-mop500-stm.c +@@ -121,7 +121,9 @@ static int stm_ste_disable_ape_on_mipi60(void) + if (retval) + STM_ERR("Failed to disable MIPI60\n"); + else { +- retval = nmk_config_pins(ARRAY_AND_SIZE(mop500_ske_pins)); ++ if (!machine_is_snowball()) ++ retval = nmk_config_pins( ++ ARRAY_AND_SIZE(mop500_ske_pins)); + if (retval) + STM_ERR("Failed to enable SKE gpio\n"); + } +@@ -314,7 +316,8 @@ static int stm_ste_connection(enum stm_connection_type con_type) + /* Enable altC3 on GPIO70-74 (STMMOD) and GPIO75-76 (UARTMOD) */ + prcmu_enable_stm_mod_uart(); + /* Enable APE on MIPI60 */ +- retval = nmk_config_pins_sleep(ARRAY_AND_SIZE(mop500_ske_pins)); ++ if (!machine_is_snowball()) ++ retval = nmk_config_pins_sleep(ARRAY_AND_SIZE(mop500_ske_pins)); + if (retval) + STM_ERR("Failed to disable SKE GPIO\n"); + else { +-- +1.7.9.5 +
Signature · 1 line
1.7.9.5
PATCH v4 4/6 Add init script files for snowball board
In reply to Gregory Hermant--- package/Config.in | 1 + package/snowball-init/Config.in | 10 ++++++++++ package/snowball-init/snowball-init.mk | 15 +++++++++++++++ 3 files changed, 26 insertions(+) create mode 100644 package/snowball-init/Config.in create mode 100644 package/snowball-init/snowball-init.mk
package/Config.in +1 -0
@@ -551,6 +551,7 @@ source "package/empty/Config.in" source "package/googlefontdirectory/Config.in" source "package/mobile-broadband-provider-info/Config.in" source "package/shared-mime-info/Config.in" +source "package/snowball-init/Config.in" source "package/sound-theme-borealis/Config.in" source "package/sound-theme-freedesktop/Config.in" endmenu
package/snowball-init/Config.in new file +10 -0
@@ -0,0 +1,10 @@ +config BR2_PACKAGE_SNOWBALL_INIT + bool "snowball-init" + # Runtime dependency, needed by snowball startup script + select BR2_PACKAGE_BLUEZ_UTILS + select BR2_PACKAGE_UX500_FIRMWARE + help + Snowball init scripts + + http://www.igloocommunity.org +
package/snowball-init/snowball-init.mk new file +15 -0
@@ -0,0 +1,15 @@ +############################################################# +# +# snowball-init +# +############################################################# +SNOWBALL_INIT_VERSION = b064be21de25729039e5e54037bbdd2e25cfd5b7 +SNOWBALL_INIT_SITE = git://igloocommunity.org/git/bsp/snowball-init.git +SNOWBALL_INIT_LICENSE = BSD-4c +SNOWBALL_INIT_LICENSE_FILES = debian/copyright + +define SNOWBALL_INIT_INSTALL_TARGET_CMDS + $(INSTALL) -D -m 0755 $(@D)/snowball $(TARGET_DIR)/etc/init.d/S50snowball +endef + +$(eval $(generic-package))
Signature · 1 line
1.7.9.5
PATCH v4 4/6 Add init script files for snowball board
package/snowball-init/Config.in line 4
Quoted 4 lines · Gregory Hermant
package/snowball-init/Config.in new file +4
-0+config BR2_PACKAGE_SNOWBALL_INIT + bool "snowball-init" + # Runtime dependency, needed by snowball startup script + select BR2_PACKAGE_BLUEZ_UTILS
BLUEZ_UTILS depends on a lot of things:
depends on !BR2_avr32 # bluez_utils depends on BR2_USE_WCHAR # bluez_utils -> libglib2 depends on BR2_TOOLCHAIN_HAS_THREADS # bluez_utils -> dbus depends on BR2_USE_MMU # bluez_utils -> dbus
Regards,
Arnout
Quoted 6 lines
package/snowball-init/Config.in new file +6
-0+ select BR2_PACKAGE_UX500_FIRMWARE + help + Snowball init scripts + + http://www.igloocommunity.org +
Signature · 6 lines
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286540 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
PATCH v4 5/6 bluez-utils: add support for the ST-Ericsson cg2900 combo controller
In reply to Gregory Hermant--- ...tils-4.101-enable_cg2900_on_upstream_4.91.patch | 106 ++++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 package/bluez_utils/bluez_utils-4.101-enable_cg2900_on_upstream_4.91.patch
package/bluez_utils/bluez_utils-4.101-enable_cg2900_on_upstream_4.91.patch new file +106 -0
@@ -0,0 +1,106 @@ +From ac7992081abba87627c9e91735b3309584b48585 Mon Sep 17 00:00:00 2001 +From: Gregory Hermant <[email protected]> +Date: Wed, 14 Nov 2012 14:27:02 +0100 +Subject: [PATCH] add support for the ST-Ericsson CG2900 GPS FM Bluetooth + combo controller + + +Signed-off-by: Gregory Hermant <[email protected]> +--- + tools/hciattach.c | 22 +++++++++++++++------- + tools/hciattach.h | 1 + + 2 files changed, 16 insertions(+), 7 deletions(-) + +diff --git a/tools/hciattach.c b/tools/hciattach.c +index e4d5aa1..7f08243 100644 +--- a/tools/hciattach.c ++++ b/tools/hciattach.c +@@ -1066,6 +1066,11 @@ struct uart_t uart[] = { + { "texasalt", 0x0000, 0x0000, HCI_UART_LL, 115200, 115200, + FLOW_CTL, DISABLE_PM, NULL, texasalt, NULL }, + ++ /* ST-Ericsson CG2900 GPS FM Bluetooth combo controller */ ++ { "cg2900", 0x0000, 0x0000, HCI_UART_STE, 115200, 115200, ++ FLOW_CTL, DISABLE_PM, NULL, NULL }, ++ ++ + /* ST Microelectronics minikits based on STLC2410/STLC2415 */ + { "st", 0x0000, 0x0000, HCI_UART_H4, 57600, 115200, + FLOW_CTL, DISABLE_PM, NULL, st }, +@@ -1157,10 +1162,10 @@ static struct uart_t * get_by_type(char *type) + } + + /* Initialize UART driver */ +-static int init_uart(char *dev, struct uart_t *u, int send_break, int raw) ++static int init_uart(char *dev, struct uart_t *u, int send_break, int raw, int line_disc) + { + struct termios ti; +- int fd, i; ++ int fd; + unsigned long flags = 0; + + if (raw) +@@ -1217,8 +1222,7 @@ static int init_uart(char *dev, struct uart_t *u, int send_break, int raw) + } + + /* Set TTY to N_HCI line discipline */ +- i = N_HCI; +- if (ioctl(fd, TIOCSETD, &i) < 0) { ++ if (ioctl(fd, TIOCSETD, &line_disc) < 0) { + perror("Can't set line discipline"); + return -1; + } +@@ -1243,7 +1247,7 @@ static void usage(void) + { + printf("hciattach - HCI UART driver initialization utility\n"); + printf("Usage:\n"); +- printf("\thciattach [-n] [-p] [-b] [-r] [-t timeout] [-s initial_speed] <tty> <type | id> [speed] [flow|noflow] [bdaddr]\n"); ++ printf("\thciattach [-n] [-p] [-a line_disc_nr] [-b] [-r] [-t timeout] [-s initial_speed] <tty> <type | id> [speed] [flow|noflow] [bdaddr]\n"); + printf("\thciattach -l\n"); + } + +@@ -1252,6 +1256,7 @@ int main(int argc, char *argv[]) + struct uart_t *u = NULL; + int detach, printpid, raw, opt, i, n, ld, err; + int to = 10; ++ int line_disc = N_HCI; + int init_speed = 0; + int send_break = 0; + pid_t pid; +@@ -1264,8 +1269,11 @@ int main(int argc, char *argv[]) + printpid = 0; + raw = 0; + +- while ((opt=getopt(argc, argv, "bnpt:s:lr")) != EOF) { ++ while ((opt=getopt(argc, argv, "bnpt:s:lra:")) != EOF) { + switch(opt) { ++ case 'a': ++ line_disc = atoi(optarg); ++ break; + case 'b': + send_break = 1; + break; +@@ -1381,7 +1389,7 @@ int main(int argc, char *argv[]) + alarm(to); + bcsp_max_retries = to; + +- n = init_uart(dev, u, send_break, raw); ++ n = init_uart(dev, u, send_break, raw, line_disc); + if (n < 0) { + perror("Can't initialize device"); + exit(1); +diff --git a/tools/hciattach.h b/tools/hciattach.h +index fed0d11..09b534d 100644 +--- a/tools/hciattach.h ++++ b/tools/hciattach.h +@@ -39,6 +39,7 @@ + #define HCI_UART_H4DS 3 + #define HCI_UART_LL 4 + #define HCI_UART_ATH3K 5 ++#define HCI_UART_STE 6 + + #define HCI_UART_RAW_DEVICE 0 + +-- +1.7.9.5 +
Signature · 1 line
1.7.9.5
PATCH v4 5/6 bluez-utils: add support for the ST-Ericsson cg2900 combo controller
Quoted 1 line · Gregory Hermant
Signed-off-by Gregory Hermant<[email protected]>
(with the calao_snowball_defconfig)
Regards,
Arnout
Signature · 6 lines
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286540 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
PATCH v4 6/6 Add config file for the snowball board
In reply to Gregory Hermant--- configs/calao_snowball_defconfig | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 configs/calao_snowball_defconfig
configs/calao_snowball_defconfig new file +28 -0
@@ -0,0 +1,28 @@ +BR2_arm=y +BR2_cortex_a9=y +BR2_GCC_VERSION_4_7_X=y +# BR2_SOFT_FLOAT is not set +BR2_TOOLCHAIN_BUILDROOT_LARGEFILE=y +BR2_TOOLCHAIN_BUILDROOT_INET_IPV6=y +BR2_TOOLCHAIN_BUILDROOT_INET_RPC=y +BR2_TOOLCHAIN_BUILDROOT_LOCALE=y +BR2_TOOLCHAIN_BUILDROOT_CXX=y +BR2_VFP_FLOAT=y +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y +BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA2" +BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y +BR2_PACKAGE_FBSET=y +BR2_PACKAGE_SNOWBALL_HDMISERVICE=y +BR2_PACKAGE_LIBNL=y +BR2_PACKAGE_SNOWBALL_INIT=y +BR2_PACKAGE_WPA_SUPPLICANT=y +BR2_TARGET_ROOTFS_TAR_GZIP=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BOARDNAME="snowball" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_GIT=y +BR2_LINUX_KERNEL_CUSTOM_GIT_REPO_URL="git://igloocommunity.org/git/kernel/igloo-kernel.git" +BR2_LINUX_KERNEL_CUSTOM_GIT_VERSION="stable-linux-ux500-3.4" +BR2_LINUX_KERNEL_PATCH="board/calao/snowball/" +BR2_LINUX_KERNEL_DEFCONFIG="u8500" +BR2_LINUX_KERNEL_INSTALL_TARGET=y
Signature · 1 line
1.7.9.5
PATCH v4 6/6 Add config file for the snowball board
Quoted 13 lines · Gregory Hermant
Signed-off-by Gregory Hermant<[email protected]>--- configs/calao_snowball_defconfig | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+)create mode 100644 configs/calao_snowball_defconfig
configs/calao_snowball_defconfig new file +0
-0
configs/calao_snowball_defconfig line 9
Quoted 9 lines
configs/calao_snowball_defconfig new file +9
-0@@ -0,0 +1,28 @@ +BR2_arm=y +BR2_cortex_a9=y +BR2_GCC_VERSION_4_7_X=y +# BR2_SOFT_FLOAT is not set +BR2_TOOLCHAIN_BUILDROOT_LARGEFILE=y +BR2_TOOLCHAIN_BUILDROOT_INET_IPV6=y +BR2_TOOLCHAIN_BUILDROOT_INET_RPC=y +BR2_TOOLCHAIN_BUILDROOT_LOCALE=y +BR2_TOOLCHAIN_BUILDROOT_CXX=y
Are all of these needed? AFAICS only WCHAR is really needed
(for dbus, for bluez-utils).
configs/calao_snowball_defconfig line 14
Quoted 5 lines
configs/calao_snowball_defconfig new file +5
-0+BR2_VFP_FLOAT=y +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y +BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA2" +BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y +BR2_PACKAGE_FBSET=y
Why is FBSET needed?
Regards,
Arnout
Quoted 14 lines
configs/calao_snowball_defconfig new file +14
-0+BR2_PACKAGE_SNOWBALL_HDMISERVICE=y +BR2_PACKAGE_LIBNL=y +BR2_PACKAGE_SNOWBALL_INIT=y +BR2_PACKAGE_WPA_SUPPLICANT=y +BR2_TARGET_ROOTFS_TAR_GZIP=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BOARDNAME="snowball" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_GIT=y +BR2_LINUX_KERNEL_CUSTOM_GIT_REPO_URL="git://igloocommunity.org/git/kernel/igloo-kernel.git" +BR2_LINUX_KERNEL_CUSTOM_GIT_VERSION="stable-linux-ux500-3.4" +BR2_LINUX_KERNEL_PATCH="board/calao/snowball/" +BR2_LINUX_KERNEL_DEFCONFIG="u8500" +BR2_LINUX_KERNEL_INSTALL_TARGET=y
Signature · 6 lines
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286540 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F