fri2: update serial, drivers, and kernel version
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
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
@@ -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
@@ -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
PATCH 2/4 fri2: Update KMACHINE and KBRANCH variables
In reply to Darren HartSpecify 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
@@ -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
@@ -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
PATCH 3/4 fri2: Autoload module iwlwifi
In reply to Darren Hartiwlwifi 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
@@ -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
@@ -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
PATCH 4/4 fri2: Add 3.2 kernel recipes
In reply to Darren HartAdd 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
@@ -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
@@ -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