Skip to contentSkip to conversation

Add support for the snowball board

PATCH Superseded Gregory Hermant 3 participants 15 messages Nov 15, 2012 – Nov 23, 2012

v3 of 5 Superseded Latest is v5 →

lore
Share & tools
lore
#0 lore raw

v3 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
#1 lore raw

PATCH v3 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
index 074e9df..e9fd4a9 100644
@@ -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
new file mode 100644
index 0000000..0ea7c81
@@ -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
#2 lore raw

PATCH v3 1/6 snowball-hdmiservice: new package

Quoted 2 lines · Gregory Hermant

[snip]

package/snowball-hdmiservice/snowball-hdmiservice.mk line 14

Quoted 4 lines
package/snowball-hdmiservice/snowball-hdmiservice.mk new file +4 -0
+
+define SNOWBALL_HDMISERVICE_BUILD_CMDS
+	$(MAKE) CC="$(TARGET_CC)" -C $(@D)
+endef

I may have asked this before, but is there a reason to not pass buildroot's
CFLAGS and LDFLAGS? We usually pass $(TARGET_CONFIGURE_OPTS) to sub-makes.

[snip]

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
#3 lore raw

PATCH v3 1/6 snowball-hdmiservice: new package

Arnout,
Le 21/11/2012 07:51, Arnout Vandecappelle a ?crit :

Quoted 12 lines · Gregory Hermant
Quoted 2 lines

[snip]

package/snowball-hdmiservice/snowball-hdmiservice.mk line 14

Quoted 4 lines
package/snowball-hdmiservice/snowball-hdmiservice.mk new file +4 -0
+
+define SNOWBALL_HDMISERVICE_BUILD_CMDS
+    $(MAKE) CC="$(TARGET_CC)" -C $(@D)
+endef

I may have asked this before, but is there a reason to not pass buildroot's
CFLAGS and LDFLAGS? We usually pass $(TARGET_CONFIGURE_OPTS) to sub-makes.

Quoted 2 lines

[snip]

The build of the hdmiservice.so fails if i pass the buildroot's LDFLAGS.

Quoted 3 lines

Regards,
Arnout

BR,
gregory

#4 lore raw

PATCH v3 1/6 snowball-hdmiservice: new package

Quoted 14 lines · Gr?gory Hermant

Arnout,
Le 21/11/2012 07:51, Arnout Vandecappelle a ?crit :

Quoted 12 lines · Gregory Hermant
Quoted 2 lines

[snip]

package/snowball-hdmiservice/snowball-hdmiservice.mk line 14

Quoted 4 lines
package/snowball-hdmiservice/snowball-hdmiservice.mk new file +4 -0
+
+define SNOWBALL_HDMISERVICE_BUILD_CMDS
+    $(MAKE) CC="$(TARGET_CC)" -C $(@D)
+endef

I may have asked this before, but is there a reason to not pass buildroot's
CFLAGS and LDFLAGS? We usually pass $(TARGET_CONFIGURE_OPTS) to sub-makes.

Quoted 3 lines
Quoted 2 lines

[snip]

The build of the hdmiservice.so fails if i pass the buildroot's LDFLAGS.

It should be passed in the environment, not in the make argument list.
Otherwise it will override the definition in the Makefile itself.

A good Makefile appends to LDFLAGS passed in from the environment, but this
is not always the case... Anyway the worst that can happen is that the LDFLAGS are just ignored.

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
#5 lore raw

PATCH v3 1/6 snowball-hdmiservice: new package

Le 22/11/2012 15:00, Arnout Vandecappelle a ?crit :

Quoted 6 lines

It should be passed in the environment, not in the make argument list. Otherwise it will override the definition in the Makefile itself.

A good Makefile appends to LDFLAGS passed in from the environment, but this
is not always the case... Anyway the worst that can happen is that the LDFLAGS are just ignored.

You mean that way:

SNOWBALL_HDMISERVICE_MAKE_ENV = CC="$(TARGET_CC)" CCFLAGS="$(TARGET_CCFLAGS)" LDFLAGS="$(TARGET_LDFLAGS)"

$(SNOWBALL_HDMISERVICE_MAKE_ENV) $(MAKE) -C $(@D)

BR,
gregory

#6 lore raw

PATCH v3 1/6 snowball-hdmiservice: new package

Dear Gr?gory Hermant,

Quoted 4 lines · Gr?gory Hermant

Le 22/11/2012 15:00, Arnout Vandecappelle a ?crit :

Quoted 3 lines

It should be passed in the environment, not in the make argument list. Otherwise it will override the definition in the Makefile itself.

Quoted 8 lines
Quoted 3 lines

A good Makefile appends to LDFLAGS passed in from the environment, but this
is not always the case... Anyway the worst that can happen is that the LDFLAGS are just ignored.

You mean that way:

SNOWBALL_HDMISERVICE_MAKE_ENV = CC="$(TARGET_CC)" CCFLAGS="$(TARGET_CCFLAGS)" LDFLAGS="$(TARGET_LDFLAGS)"

$(SNOWBALL_HDMISERVICE_MAKE_ENV) $(MAKE) -C $(@D)

No, just:

$(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D)

Thomas

Signature · 4 lines
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
#7 lore raw

PATCH v3 1/6 snowball-hdmiservice: new package

Le 22/11/2012 18:45, Thomas Petazzoni a ?crit :

Quoted 12 lines

Dear Gr?gory Hermant,

Quoted 9 lines · Gr?gory Hermant

Le 22/11/2012 15:00, Arnout Vandecappelle a ?crit :

Quoted 6 lines

It should be passed in the environment, not in the make argument list. Otherwise it will override the definition in the Makefile itself.

A good Makefile appends to LDFLAGS passed in from the environment, but this
is not always the case... Anyway the worst that can happen is that the LDFLAGS are just ignored.

You mean that way:

Quoted 8 lines
Quoted 3 lines

SNOWBALL_HDMISERVICE_MAKE_ENV = CC="$(TARGET_CC)" CCFLAGS="$(TARGET_CCFLAGS)" LDFLAGS="$(TARGET_LDFLAGS)"

$(SNOWBALL_HDMISERVICE_MAKE_ENV) $(MAKE) -C $(@D)

No, just:

$(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D)

Thomas

It doesn't work with this Makefile.

Indeed if i use $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D), CC is set to the host gcc compiler.

gregory

#8 lore raw

PATCH v3 1/6 snowball-hdmiservice: new package

Quoted 18 lines · Gr?gory Hermant

Le 22/11/2012 18:45, Thomas Petazzoni a ?crit :

Quoted 17 lines

Dear Gr?gory Hermant,

Quoted 4 lines · Gr?gory Hermant

Le 22/11/2012 15:00, Arnout Vandecappelle a ?crit :

Quoted 3 lines

It should be passed in the environment, not in the make argument list. Otherwise it will override the definition in the Makefile itself.

Quoted 8 lines
Quoted 3 lines

A good Makefile appends to LDFLAGS passed in from the environment, but this
is not always the case... Anyway the worst that can happen is that the LDFLAGS are just ignored.

You mean that way:

SNOWBALL_HDMISERVICE_MAKE_ENV = CC="$(TARGET_CC)" CCFLAGS="$(TARGET_CCFLAGS)" LDFLAGS="$(TARGET_LDFLAGS)"

$(SNOWBALL_HDMISERVICE_MAKE_ENV) $(MAKE) -C $(@D)

No, just:

Quoted 7 lines
Quoted 3 lines

$(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D)

Thomas

It doesn't work with this Makefile.

Indeed if i use $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D), CC is set to the host gcc compiler.

Silly Makefile...

You can do either:

$(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) CC="$(TARGET_CC)"

or fix the Makefile in a patch.

But if the Makefile overrides CC, it will most likely also override all the
other stuff so passing TARGET_CONFIGURE_OPTS in the environment doesn't help much.

What should be our philosophy for bad Makefiles? Fix the Makefile and try
to upstream the patch, or just work around it in a package-specific way?

We can actually work around it generically, using:

$(MAKE) -C $(@D) CC="$(TARGET_CC) $(TARGET_CPPFLAGS) $(TARGET_CFLAGS)"

but I don't like forcing flags into the CC command.

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
#9 lore raw

PATCH v3 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
index e9fd4a9..4fa21ca 100644
@@ -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
new file mode 100644
index 0000000..7e8a94b
@@ -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
new file mode 100644
index 0000000..1fcb3b7
@@ -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
+
+define UX500_FIRMWARE_INSTALL_TARGET_CMDS
+	$(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) install
+# The CG2900 linux driver has to load firmware named CG29XX_* but the firmware
+# filenames contained in this package are CG2900_* hence the code below
+	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
#10 lore raw

PATCH v3 2/6 ux500-firmware: new package

Quoted 2 lines · Gregory Hermant

Minor detail below.

[snip]

package/ux500-firmware/ux500-firmware.mk line 16

Quoted 4 lines
package/ux500-firmware/ux500-firmware.mk new file +4 -0
+define UX500_FIRMWARE_INSTALL_TARGET_CMDS
+	$(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) install
+# The CG2900 linux driver has to load firmware named CG29XX_* but the firmware
+# filenames contained in this package are CG2900_* hence the code below

Comments inside the _CMDS macros don't work well: they are interpreted by
the shell. It's better to put them before the macro definition.

Regards,
Arnout

Quoted 6 lines
package/ux500-firmware/ux500-firmware.mk new file +6 -0
+	for f in $(TARGET_DIR)/lib/firmware/CG2900* ; do \
+		mv $$f $${f/CG2900/CG29XX}; \
+	done
+endef
+
+$(eval $(generic-package))
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
#11 lore raw

PATCH v3 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
new file mode 100644
index 0000000..4e6fb51
@@ -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
#12 lore raw

PATCH v3 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
index 4fa21ca..488d4be 100644
@@ -550,6 +550,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
new file mode 100644
index 0000000..906ff2d
@@ -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
new file mode 100644
index 0000000..278cacb
@@ -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
#13 lore raw

PATCH v3 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
new file mode 100644
index 0000000..e80af5f
@@ -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
#14 lore raw

PATCH v3 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
new file mode 100644
index 0000000..700be5d
@@ -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