Skip to contentSkip to conversation

fri2: update serial, drivers, and kernel version

PATCH New Darren Hart 1 participant 5 messages Mar 14, 2012

lore
Share & tools
lore
#0 lore raw

cover fri2: update serial, drivers, and kernel version

With this update the FRI2 is now much more functional.

o Legacy boot works with Syslinux over the USB Serial device
o Wifi is enabled at boot
o Bluetooth and Zigbee support added
o EMGD-1.10 is working
o Linux-Yocto 3.0 and 3.2 kernel tested and working

#1 lore raw

PATCH 1/4 fri2: Update serial console settings

With the pch_uart changes now in tree, update the machine config to make use of it.

Trick syslinux into using the port by IO address and a magic baud rate.

---
 meta-fri2/conf/machine/fri2-noemgd.conf |    9 ++++++---
 meta-fri2/conf/machine/fri2.conf        |    9 ++++++---
 2 files changed, 12 insertions(+), 6 deletions(-)
meta-fri2/conf/machine/fri2-noemgd.conf +6 -3
index a0eb8a0..9ba5753 100644
@@ -15,9 +15,12 @@ XSERVER ?= "${XSERVER_IA32_BASE} \
            ${XSERVER_IA32_VESA} \
            "
 
-SYSLINUX_OPTS = "serial 0 115200"
-SERIAL_CONSOLE = "115200 ttyS0"
-APPEND += "console=ttyS0,115200 console=tty0"
+# Syslinux does not know about the 64MHz uart clock and it does not detect the
+# serial device by number. Use the IO port directly and divide the baud down to
+# trick syslinux into configuring a 115200 baud.
+SYSLINUX_OPTS = "serial 0xb060 3318"
+SERIAL_CONSOLE = "115200 ttyPCH1"
+APPEND += "console=ttyPCH1,115200 console=tty0"
 
 # EFI boot will ignore this and use the EFI framebuffer at 800x600
 APPEND += "video=vesafb vga=0x318"
meta-fri2/conf/machine/fri2.conf +6 -3
index 3947736..3801836 100644
@@ -18,9 +18,12 @@ XSERVER ?= "${XSERVER_IA32_BASE} \
 PREFERRED_VERSION_xserver-xorg ?= "1.9.3"
 PREFERRED_VERSION_mesa-dri ?= "7.11"
 
-SYSLINUX_OPTS = "serial 0 115200"
-SERIAL_CONSOLE = "115200 ttyS0"
-APPEND += "console=ttyS0,115200 console=tty0"
+# Syslinux does not know about the 64MHz uart clock and it does not detect the
+# serial device by number. Use the IO port directly and divide the baud down to
+# trick syslinux into configuring a 115200 baud.
+SYSLINUX_OPTS = "serial 0xb060 3318"
+SERIAL_CONSOLE = "115200 ttyPCH1"
+APPEND += "console=ttyPCH1,115200 console=tty0"
 
 # EFI boot will ignore this and use the EFI framebuffer at 800x600
 APPEND += "video=vesafb vga=0x318"
Signature · 1 line
1.7.5.4
#2 lore raw

PATCH 2/4 fri2: Update KMACHINE and KBRANCH variables

In reply to Darren Hart

Specify only the machine itself in KMACHINE and set the branch explicitly. Use an fri2 specific branch in non-rt while we sort out whether or not to create these dynamically or not.

---
 .../linux/linux-yocto-rt_3.0.bbappend              |    9 ++++-----
 .../recipes-kernel/linux/linux-yocto_3.0.bbappend  |   14 ++++----------
 2 files changed, 8 insertions(+), 15 deletions(-)
meta-fri2/recipes-kernel/linux/linux-yocto-rt_3.0.bbappend +4 -5
index 3af5891..4563101 100644
@@ -1,10 +1,9 @@
 FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+
 COMPATIBLE_MACHINE_fri2 = "fri2"
 KMACHINE_fri2 = "fri2"
+KBRANCH_fri2 = "yocto/standard/preempt-rt/base"
+
 COMPATIBLE_MACHINE_fri2-noemgd = "fri2-noemgd"
 KMACHINE_fri2-noemgd = "fri2"
-
-# Update the following to use a different BSP branch or meta SRCREV
-#KBRANCH_fri2 = "yocto/standard/preempt-rt/base"
-#SRCREV_machine_pn-linux-yocto-rt_fri2 ?= XXXX
-#SRCREV_meta_pn-linux-yocto-rt_fri2 ?= XXXX
+KBRANCH_fri2-noemgd = "yocto/standard/preempt-rt/base"
meta-fri2/recipes-kernel/linux/linux-yocto_3.0.bbappend +4 -10
index 205370e..bacd6a5 100644
@@ -1,15 +1,9 @@
 FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
 
 COMPATIBLE_MACHINE_fri2 = "fri2"
-KMACHINE_fri2  = "yocto/standard/fri2"
-KERNEL_FEATURES_append_fri2 += " cfg/smp.scc cfg/efi-ext.scc"
+KMACHINE_fri2 = "fri2"
+KBRANCH_fri2 = "yocto/standard/fri2"
 
 COMPATIBLE_MACHINE_fri2-noemgd = "fri2-noemgd"
-KMACHINE_fri2-noemgd  = "yocto/standard/fri2"
-KERNEL_FEATURES_append_fri2-noemgd += " cfg/smp.scc cfg/efi-ext.scc"
-
-SRCREV_machine_pn-linux-yocto_fri2 ?= "16a35563a2a5cb3debc9d0666cbdc3b8d5d43b74"
-SRCREV_meta_pn-linux-yocto_fri2 ?= "59314a3523e360796419d76d78c6f7d8c5ef2593"
-
-SRCREV_machine_pn-linux-yocto_fri2-noemgd ?= "16a35563a2a5cb3debc9d0666cbdc3b8d5d43b74"
-SRCREV_meta_pn-linux-yocto_fri2-noemgd ?= "59314a3523e360796419d76d78c6f7d8c5ef2593"
+KMACHINE_fri2-noemgd = "fri2"
+KBRANCH_fri2-noemgd = "yocto/standard/fri2"
Signature · 1 line
1.7.5.4
#3 lore raw

PATCH 3/4 fri2: Autoload module iwlwifi

In reply to Darren Hart

iwlwifi uses a firmware blob that must exist on the FS at the time the driver is loaded. If the driver is built-in, the blob must exist in the initrd. We avoid this by building as a module, but we still want this to load at boot - so add it to autoload.

---
 .../linux/linux-yocto-rt_3.0.bbappend              |    2 ++
 .../recipes-kernel/linux/linux-yocto_3.0.bbappend  |    2 ++
 2 files changed, 4 insertions(+), 0 deletions(-)
meta-fri2/recipes-kernel/linux/linux-yocto-rt_3.0.bbappend +2 -0
index 4563101..d3b4f81 100644
@@ -7,3 +7,5 @@ KBRANCH_fri2 = "yocto/standard/preempt-rt/base"
 COMPATIBLE_MACHINE_fri2-noemgd = "fri2-noemgd"
 KMACHINE_fri2-noemgd = "fri2"
 KBRANCH_fri2-noemgd = "yocto/standard/preempt-rt/base"
+
+module_autoload_iwlwifi = "iwlwifi"
meta-fri2/recipes-kernel/linux/linux-yocto_3.0.bbappend +2 -0
index bacd6a5..e53991a 100644
@@ -7,3 +7,5 @@ KBRANCH_fri2 = "yocto/standard/fri2"
 COMPATIBLE_MACHINE_fri2-noemgd = "fri2-noemgd"
 KMACHINE_fri2-noemgd = "fri2"
 KBRANCH_fri2-noemgd = "yocto/standard/fri2"
+
+module_autoload_iwlwifi = "iwlwifi"
Signature · 1 line
1.7.5.4
#4 lore raw

PATCH 4/4 fri2: Add 3.2 kernel recipes

In reply to Darren Hart

Add linux-yocto_3.2 and linux-yocto-rt_3.2 kernel recipes, following the pattern of the 3.0 recipes.

---
 .../linux/linux-yocto-rt_3.2.bbappend              |   11 +++++++++++
 .../recipes-kernel/linux/linux-yocto_3.2.bbappend  |   11 +++++++++++
 2 files changed, 22 insertions(+), 0 deletions(-)
 create mode 100644 meta-fri2/recipes-kernel/linux/linux-yocto-rt_3.2.bbappend
 create mode 100644 meta-fri2/recipes-kernel/linux/linux-yocto_3.2.bbappend
meta-fri2/recipes-kernel/linux/linux-yocto-rt_3.2.bbappend new file +11 -0
new file mode 100644
index 0000000..c43975f
@@ -0,0 +1,11 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+
+COMPATIBLE_MACHINE_fri2 = "fri2"
+KMACHINE_fri2 = "fri2"
+KBRANCH_fri2 = "standard/preempt-rt/base"
+
+COMPATIBLE_MACHINE_fri2-noemgd = "fri2-noemgd"
+KMACHINE_fri2-noemgd = "fri2"
+KBRANCH_fri2-noemgd = "standard/preempt-rt/base"
+
+module_autoload_iwlwifi = "iwlwifi"
meta-fri2/recipes-kernel/linux/linux-yocto_3.2.bbappend new file +11 -0
new file mode 100644
index 0000000..c125e9a
@@ -0,0 +1,11 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+
+COMPATIBLE_MACHINE_fri2 = "fri2"
+KMACHINE_fri2  = "fri2"
+KBRANCH_fri2 = "standard/default/fri2"
+
+COMPATIBLE_MACHINE_fri2-noemgd = "fri2-noemgd"
+KMACHINE_fri2-noemgd  = "fri2"
+KBRANCH_fri2-noemgd = "standard/default/fri2"
+
+module_autoload_iwlwifi = "iwlwifi"
Signature · 1 line
1.7.5.4