Archive

Posts Tagged ‘mips’

Linux 4.6 Release – Main Changes, ARM and MIPS Architectures

May 16th, 2016 2 comments

Linus Torvalds released Linux Kernel 4.6 earlier today:

It’s just as well I didn’t cut the rc cycle short, since the last week ended up getting a few more fixes than expected, but nothing in there feels all that odd or out of line. So 4.6 is out there at the normal schedule, and that obviously also means that I’ll start doing merge window pull requests for 4.7 starting tomorrow.

Since rc7, there’s been small noise all over, with driver fixes being the bulk of it, but there is minor noise all over (perf tooling, networking, filesystems,  documentation, some small arch fixes..)

The appended shortlog will give you a feel for what’s been going on during the last week. The 4.6 kernel on the whole was a fairly big release – more commits than we’ve had in a while. But it all felt fairly calm despite that.

Linux 4.5 added support for GCC’s Undefined Behavior Sanitizer flag (-fsanitize=undefined) which should make the Linux kernel even more secure,an implementation of the next generation media controller, some performance improvements for file systems, etc…

Linux 4.6 brings many changes including:

  • USB 3.1 SuperSpeedPlus (10Gbps) support  – This release adds support for the USB 3.1 SuperSpeedPlus 10 Gbps speeds for usb core and xHCI host controller, meaning that a USB 3.1 mass storage connected to a USB 3.1 capable xHCI host should work with 10Gbps speeds.
  • Improve the reliability of the Out Of Memory task killer – The OOM killer kills tasks in order to free memory, but some tasks may take a long time before freeing up the memory, for example if it is stuck into an uninterruptible state. Linux 4.6 kernel adds oom_reaper thread that tries to reclaim memory by preemptively reaping the anonymous or swapped out memory owned by the OOM victim.
  • OrangeFS, a new distributed file system – OrangeFS is an LGPL scale-out parallel storage system used in applications such as HPC, BigData, Streaming Video, Genomics, Bioinformatics. You can read The OrangeFS distributed filesystem LWN article for more details.
  • 802.1AE MAC-level encryption (MACsec)MACsec standard provides encryption for all traffic over Ethernet using GCM-AES-128.
  • BATMAN V protocol – B.A.T.M.A.N. (Better Approach To Mobile Adhoc Networking) adds support for the V protocol, which does not rely on packet loss anymore, but the estimated throughput.

ARM architecture improvements and new features:

  • Allwinner:
    • Allwinner A83T support – Initial bringup; timer, watchdog and reboot
    • Allwinner H3 – R_PIO support
    • Allwinner A64 – Initial support
    •  NAND – ECC layout definition rework (partially) and randomizer support. Note: For devices that use eMMC, old device trees may no longer work with this version (i.e. you have to rebuild your .dtb files). Expect eMMC I/O errors otherwise.
    • ASoC – A10/A20 SPDIF driver
    • AXP223 PMIC support
    • Added board – Allwinner A83TDevBoard, Cubietruck Plus, Itead Ibox, Lamobo R1
  • Rockchip:
    • Rockchip rk3399 support for the rockchip-io-domain adaptive voltage scaling (AVS) driver
    • Rockchip rk3368 gains power domain support
    • Add Rockchip mailbox drive
    • pl330 updates to support DMAFLUSHP for Rockchip platforms
    • SPI controller bug fixes
    • Add driver for rockchip Display Port PHY
    • Add driver for the Rockchip SoC internal eMMC PHY
    • Add usb-uart functionality in rockchip-usb
  • Amlogic
    • Support for Amlogic S905 SoC and Tronsmart  Vega S95 boxes
    • Enable Amlogic Meson GXBaby platform
  • Samsung
    • Samsung exynos5433 updates for clk id errors, HDMI support, suspend/resume simplifications
    • Enable Samsung MFD and related configs
    • Fix for the Samsung I2S driver locking
    • Samsung Exynos ARM64 improvements – Remove separate ARCH_EXYNOS7 symbol and consolidate it into one ARCH_EXYNOS
    • Samsung Exynos (and older platforms) improvements
      • Split out Exynos PMU driver implementation from arm/mach-exynos to the drivers/soc/samsung which will allow re-use of it on ARM64.
      • Use generic DT cpufreq driver on Exynos542x/5800.
      • Minor cleanups.
    • Device tree updates
      • Split common reboot/poweroff node to separate DTSI
      • Don’t overheat Odroid XU3 by cooling CPU with cpufreq
      • Add SROM controller device nodes.
      • Add Ethernet chip as child of SROM controller on SMDK5410.
      • Allow simultaneous usage exynos-rng and s5p-sss drivers on Exynos5.
      • Cleanup CPU configuration on Exynos542x/5800.
      • Add necessary nodes for cpufreq-dt driver on Exynos542x/5800 (OPPs, regulator supplies) which allows frequency and voltage scaling of this SoC.
      • Minor cleanups
  • Qualcomm
    • ARM64 – Added support for Qualcomm MSM8996 SoC support, updates & cleanups for Qualcomm APQ8064, MSM8974, MSM8916, and others
    • Revert of patches for the Qualcomm BAM, these need to be reworked for 4.7 to avoid breaking boards other than the one they were intended for
    • Add Qualcomm NAND controller driver
    • ASoC capture support for Qualcomm drivers
    • Add Qualcomm Technologies HIDMA channel & HIDMA management drivers
    • Qualcomm IPQ4019 support in pinctrl
    • Qualcomm ARM Based Device Tree Updates:
      • Add documentation for Kryo
      • Add RPMCC node for APQ8064
      • Updates for MSM8974
      • Add board clocks
      • Add support for Nexus7 device
      • Fixup pmic reg properties
      • Various updates/cleanups for APQ8064 based boards
  • Mediatek
    • Added support for  Mediatek MT7623 SoC
    • SMP support for Mediatek mt2701
    • Revert part of the power domain initialization changes that broke mt8173-evb
    • Introduce Mediatek thermal driver
    • New Mediatek IOMMU driver
    • ASoC – New machine driver for Mediatek systems with RT5650 CODECs
    •  Add Mediatek MT8173 EFUSE driver
  • Texas Instruments
    • Improved support for Nokia N900 and other OMAP machines
    •  DaVinci & OMAP now uses the new DMA engine dma_slave_map
  • Other new ARM hardware or SoCs – 96Boards Husky board, AMD Overdrive board, Annapurna Labs Alpine family and development board, Broadcom Vulcan servers, Broadcom Northstar 2 SoC, Marvell Armada 3700 family and development board,   Axis Artpec-6 SoC, TI Keystone K2G SoC, ST Microelectronics stm32f469, ARM Juno R2,  Buffalo Linkstation LS-QVL and LS-GL, D-Link DIR-885L, ARM RealView PB1176 and PB11MPCore,  Google Nexus 7, Homlet v2,  LG Optimus Black, Logicpd DM3730, Raspberry Pi Model A, NXP i.MX6QP

MIPS pull request included the following changes:

  • Fix spelling mistakes all over arch/mips
  • Provide __bswapsi2 so XZ kernel compression will build with older GCC
  • ATH79 clock fixes.
  • Fix clock-rated copy-paste erros in ATH79 DTS.
  • Fix gisb-arb compatible string for 7435 BMIPS
  • Enable NAND and UBIFS support in CI20.
  • Fix BUG() assertion caused by inapropriate smp_processor_id() use.
  • Fix exception handling issues for the sake of debuggers
  • Fix the last remaining instance of irq_to_gpio in the db1xxx_ss PCMCIA code
  • Fix MSA unaligned load failures
  • Panic if kernel is configured for a not TLB-supported page size
  • Bail out on unsupported relocs in modules.
  • Partial fix for Qemu breakage after recent IPI rewrite
  • Wire up the preadv2 and pwrite2 syscalls
  • Fix the ar724x clock calculation

I’ve generated Linux 4.6 changelog with comments only using git log v4.5..v4.6 --stat, but you might as well as just read the changelog on kernelnewbies.org which is also detailed and includes links to relevant articles.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Imagination Releases OpenWrt and LWM2M Stack Source Code for MIPS Creator Ci40 Development Board

March 25th, 2016 No comments

MIPS Creator Ci40 is a development board made by Imagination technology that features the company’s Creator cXT200 “Pistachio” SoC with a dual core MIPS interAptiv processor @ 550MHz and Ensigma C4500 RPU for 802.11ac/ BT 4.1 LE connectivity. The boards are supposed to be shipped to Kickstarter backers in April, but in the meantime, the company has released the source code for OpenWrt distribution as well as LWM2M stack for the board.

MIPS_Creator_Ci40_OpenWrt_LWM2M

OpenWRT source code is available in OpenWrt repo in FlowM2M gitbub account. Building the code for MIPS Creator Ci40 is quite straightforward:

IMG_MIPS_Pistachio

Select IMG MIPS Pistachio in make menuconfig, save the settings, and then run make to build OpenWrt for the board. This will also build the toolchain, so you don’t need to install any before hand.

LWM2M stands for Lightweight Machine to Machine, and is a protocol from the Open Mobile Alliance (OMA) for M2M / IoT device management, which defines the application layer communication protocol between a LWM2M Server and a LWM2M Client running on LWM2M Device. Imagination implementation is called Awa LWM2M. It’s a development suite that provides a number of components and tools.  For example a gateway will run both LWM2M daemon and client, but a sensor node would only run the client, Creator Ci40 board would communicate with sensors over 6LoWPAN using MikroElektronica 6LoWPAN Clicker boards.

Click to Enlarge

Click to Enlarge

You can find the source code and documentation on Awa LWM2M github repo.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Linux 4.5 Released – Main Changes, ARM and MIPS Architectures

March 15th, 2016 1 comment

Linus Torvalds released Linux Kernel 4.5 on Sunday:

So this is later on a Sunday than my usual schedule, because I just couldn’t make up my mind whether I should do another rc8 or not, and kept just waffling about it. In the end, I obviously decided not to,but it could have gone either way.

We did have one nasty regression that got fixed yesterday, and the networking pull early in the week was larger than I would have wished for. But the block  layer should be all good now, and David went through all his networking commits an extra time just to make me feel comfy about it, so in the end I didn’t see any point to making the release cycle any longer than usual.

And on the whole, everything here is pretty small. The diffstat looks a bit larger for an xfs fix, because that fix has three cleanup refactoring patches that precedes it. And there’s a access type pattern fix in the sound layer that generated lots of noise, but is all very simple in the end.

In addition to the above, there’s random small fixes all over-shortlog appended for people who want to skim the details as usual.

Go test, and obviously with 4.5 released, I’ll start the merge window for 4.6.

Linux 4.4 added support for a faster and leaner loop device, 3D support in virtual GPU driver, TCP improvements, various file systems improvements for BTRFS, EXT-4, CIFS, XFS etc… Some notable changes made to Linux 4.5 include:

  • Copy offloading with new copy_file_range(2) system call – Performance improvements on local file systems are marginal, but for networked file systems such as NFS, you could copy a file internally on a server drive without transferring file data over the network.
  • Experimental PowerPlay for amdgpu driver
  • Btrfs free space handling scalability improvements – New, experimental way of representing the free space cache that takes less work overall to update on each commit and fixes the scalability issues for large drives (30TB+). It can be enabled with -o space_cache=v2 mount option, and you can revert to the one method with -o clear_cache,space_cache=v1.
  • Support for GCC’s Undefined Behavior Sanitizer (-fsanitize=undefined) UBSAN (Undefined Behaviour SANitizer) is a debugging tool available since GCC 4.9. It inserts instrumentation code during compilation that will perform checks at runtime before operations that could cause undefined behaviors. Linux 4.5 supports compiling the kernel with the Undefined Behavior Sanitizer enabled.
  • Next gen media controller whose “goal is to improve the media controller to allow proper support for other types of Video4Linux devices (radio and TV ones) and to extend the media controller functionality to allow it to be used by other subsystems like DVB, ALSA and IIO”. See lkml for details

Some new features and improvements specific to the ARM architecture:

  • Allwinner:
    • Allwinner A80 support – IR receiver driver, NMI controller,PRCM driver, R_PIO support, and RSB driver
    • Allwinner H3 SoC support – H3 USB PHY clocks
    • A10/A20 Video Engine clocks
    • MIC1 capture for sun4i codec
    • Audio codec enabled on various boards
    • Added board – Orange Pi Plus
  • Rockchip:
    • Crypto module and io-domain driver enabled in multi_v7_defconfig
    • Tweaks for RK3368 SoC and eval board
    • Added Rockchip RK3228 SoC and eval board
    • New RK3228 subdriver in pinctrl
    • SPI driver fix
    • Added support for RK3399 in thermal driver
    • RK3036: Added SMP support, emac support
    • Expose USB PHY PLLs
  • Amlogic
    • Device tree changes – Add watchdog node to meson8b, add status LED for ODROID-C1
    • Watchdog timer modifications
  • Samsung
    • eMMC/SDIO minor fixes usage of bindings on Snow and Peach chromebooks.
    • Remove FIMD from Odroid XU3-family because on XU3 it cannot be used yet and on XU3-Lite and XU4 it is not supported.
    • Remove deprecated since June 2013 samsung,exynos5-hdmi.
    • Add support for Pseudo Random Generator on Exynos4 (Trats2 for now). This depends on new SSS clock.
    • Add rotator nodes for Exynos4 and Exynos5.
    • Switch DWC3_1 on Odroid XU3 and XU3-Lite to peripheral mode because  now it cannot be used as OTG.
    • Cleanup the G2D usage on Exynos4 and add it to a proper domain in case of Exynos4210.
    • Put MDMA1 in proper domain on Exynos4210 as well.
    • Minor cleanups
  • Qualcomm
    • New pinctrl subdrivers for Qualcomm MSM8996, PM8994,  PM8994 MPP support
    • Added Qualcomm PCIe controller driver
    • Qualcomm ARM64:  Add fixed rate oscillators to dts, fixup PMIC alias and properties, change 8916-MTP compatible to be compliant with new scheme, fix 8×16 UART pinctrl configuration, add SMEM, RPM/SMD, and PM8916 support on MSM8916
  • ARM SoC multiplatform code – “This branch is the culmination of 5 years of effort to bring the ARMv6 and ARMv7 platforms together such that they can all be enabled and boot the same kernel”
  • ARM64 – hugetlb: add support for PTE contiguous bit; perf: add support for Cortex-A72;
  • Other new hardware or SoCs – Sigma Designs ARM Cortex-A9 Tango4 “Secure Media Processor” platforms (SMP8756, SMP8758, and SMP8759), TI-based DM3730 from LogicPD (Torpedo), Cosmic+ M4 (nommu) initial support (Freescale Vybrid), Veyron-mickey (ASUS Chromebit), BCM2836 and Raspberry Pi 2 B.

MIPS changes:

  • Add support for PIC32MZDA platform
  • bcm963xx: Add Broadcom BCM963xx board nvram data structure
  • dts: Add initial DTS for the PIC32MZDA Starter Kit
  • math-emu: Add IEEE Std 754-2008 ABS.fmt and NEG.fmt emulation
  • math-emu: Add IEEE Std 754-2008 NaN encoding emulation
  • math-emu: Add IEEE Std 754 conformance mode selection
  • pci: Add MT7620a PCIE driver
  • ralink: add MT7621 support
  • zboot: Add support for serial debug using the PROM

If you want to get the full details, I’ve generated Linux 4.5 Changelog with comments only (12.2MB) using git log v4.4..v4.5 --stat, but it’s probably a better idea to simply check out Linux 4.5 changelog on kernelnewbies.org.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Tavolga Terminal TP-T22BT Debian 8 All-in-One Computer is Powered by Baikal-T1 MIPS Processor

March 3rd, 2016 6 comments

A Russian company called Baikal Electronics announced it was working on Baikal T1 dual core MIPS P5600 to provide an alternative to US based Intel and AMD processor last year, not too long after Edwards Snowden revaluations about the NSA malpractices. Good progress has been made as T-Platforms has now launched Tavolga Terminal TP-T22BT All-in-One computer with a 21.5″ display, up to 8 GB RAM, and the Baikal T1 processor running Debian 8.

Tavolga_Terminal_TB-T22BTTP-T22BT specifications (derived from product brief in Russian):

  • Processor – Baikal dual core MIPS 5600 processor @ 1.0 GHz with 1MB L2 cache
  • GPU – Silicon Motion SM750 GPU with 16MB video memory, 2D graphics acceleration
  • System Memory – 2 to 8GB DDR3
  • Storage – Optional 8GB NAND flash, optional 8GB SSD, and optional 2.5″ SATA drive (Baikal-T1 has a built-in SATA interface)
  • Display – 21.5″ IPS Full HD (1920×1080) display with LED backlight
  • Audio – PCM2912A codec, 2x 2.5W speakers, 3.5mm headphone jack
  • Connectivity – 2x Gigabit Ethernet RJ45 ports, and 1x SFP module (100/1000M)
  • USB – 4x USB 2.0 ports
  • Misc – 1x PS/2 port, Kensington lock
  • Power Supply – 110-230V, 50/60Hz AC

The terminal ships with a USB keyboard and mouse, and comes with a 3-year warranty. The GPU appears to be pretty weak, without 3D graphics, nor VPU, so it will probably mostly be used as a thin client or for office tasks.

T-Platforms also demonstrated SMARC 1.1 compliant SF-BT1 system-on-module used inside the terminal at Mobile World Congress and Embedded World 2016 with  2 to 8GB RAM, and all Baikal-T1 interfaces via the MXM 3 edge connector: 2x SATA 3.0, 1x PCie Gen3 x4, GPIOs, 1x 10 GbE, 2x GbE, etc..

Baikal-T1_SF-BT1_SMARC_Module

The module supports Linux 3.19.

The computer can be purchased / pre-ordered now, but price has not been disclosed, and  delivery is scheduled to start in Q2 2016, while the SMARC module with be available with 2GB and the full SDK in Q2 2016 as well, but other configurations will come a little later. More details can be found on TP-T22BT and SF-BT1 product pages, as well as on Imagination Blog.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Categories: Debian, Linux, Processors Tags: baikal, debian, Linux, mips, smarc, som

Two Contests for Makers with BeagleBone Green (ARM) and Creator CI20 (MIPS) Boards

February 12th, 2016 3 comments

I’ve noticed Hackster hardware community has helped organizing several challenges for makers, and the most two recent one are sponsored by Imagination Technologies with their Creator CI20 MIPS board, and SeeedStudio and Beagleboard.org with BeagleBone Green board.

“Terminate the competition with Creator Ci20!”

Creator_CI40_BoardThat’s the title for Imagination Technologies contest, who basically wants you to create our robot overloads using their MIPS board, or at least design a Terminator inspired robot or hack using the board.

You’ll need to submit your idea by March 4, 2016, and the company will give 50 Creator Ci20 to the best 50 ideas, aftwer which you have until April 29, 2016 to complete your project, and write about it on Hackster with photos, code and schematics. Three winners will be selected by May 6, 2016 to get one of the three prizes:

  • 1st place (worth $400) – A bag of Imagination-powered goodies, including a Meizu MX5 smartphone, the upcoming Creator Ci40 development board, and other accessories and add-on boards from MikroEletronika
  • 2nd place (worth $200) – A Securifi Almond router and a Creator Ci40 board
  • 3rd place (worth $150) – A chipKIT Wi-FIRE development board and a Creator Ci40 board

BeagleBone Green (BBG) Contest

BeagleBone_GreenThere’s no particular theme for this contest, and the organizers simply ask you to submit any idea using BBG by February 22, 2016, where 20 contestants will win a BBG board each, and 100 more get a 20% discount coupon valid on SeeedStudio. Winners of the pre-contest will be announced on February 27. You’ll then have until March 31 to submit your complete project with hardware design files, source code, and pictures, and 3 winners will be selected by April 2. The three prizes will take you to Shenzhen Maker Faire:

  • 1st place – Paid Trip to Maker Faire Shenzhen 2016 ($3,000) + $900 SeeedStudio Store coupon + Designed for Manufacturing Review
  • 2nd place – Paid Trip to Maker Faire Shenzhen 2016 ($3,000) + $400 SeeedStudio Store coupon + Designed for Manufacturing Review
  • 3rd place – Paid Trip to Maker Faire Shenzhen ($3,000) + $200 SeeedStudio Store coupon + Designed for Manufacturing Review

I could not find the exact dates for Shenzhen Maker Faire 2016, but last year it took place on June 19 to 21. [Update: I’ve been told it will take place mid-October this year, with exact date to be decided]

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

FOSDEM 2016 Schedule – Open Source Hardware and Software Event in Europe

January 13th, 2016 3 comments

FOSDEM (Free and Open Source Software Developers’ European Meeting) is a 2-day event that usually takes place on the first week-end of February in Brussels, but this year it will be on January 30-31. The event brings thousands of developers, hackers, and other person interested in open source technology who present their projects and share ideas. FOSDEM 2016 schedule is now available, and There will be 557 speakers, 612 events, and 50 tracks this year including 7 main tracks: Distros, Enterprise, Hardware, Communications, Miscellaneous, Office, Systems Administration, and Virtualization.

FOSDEM_2016

So I’ve had a look at some of the talks, especially out of  “Embedded, Mobile and Automotive” and “IoT” devrooms, and prepared my own virtual schedule although I won’t be able to attend.

Saturday

For many years MIPS processors have been involved in the embedded market, particularly in areas related to networks and storage. With the success of the mobile market, and the great evolution of the world linked to the “makers”, other architectures (such as ARM), they have reached very large levels of diffusion.

Meanwhile, the MIPS architecture has evolved, introducing innovations and improvements to adapt to both the processor market from performance, both to the world of micro-controllers. The future of MIPS is a new family divided into several generations evolving.

During the presentation, after a brief and simplified introduction to architecture, will be shown the technologies available at the time and what will be the future developments.

The presentation will also show some reference platforms (ex. Imagination Creator CI20), and how to work to integrate and port on these platforms. Application examples with Yocto and buildroot, to switch to a full distribution (Debian). Finally it will also present a perspective on the use of MIPS in embedded designs.

AsteroidOS is a free and open-source smartwatch platform based on OpenEmbedded, libhybris, BlueZ5 and Qt5. The OS currently offers a basic user experience on the LG G Watch. This technical talk will briefly introduce the philosophical background of the project and more deeply its architecture’s details in order to attract developers, porters and curious.

This talk will successively be focused on how to boot an Android Wear watch, on how to gain hardware acceleration on that kind of hardware, on how Qt5 and OpenEmbedded are used and on the future of AsteroidOS.

AsteroidOS uses similar technological choices as those of projects like SailfishOS, NemoMobile, Mer, WebOS-Ports or Ubuntu Touch but adapted to the needs of smartwatches. The architecture of those project will briefly be compared during the presentation.

Based on Migen, MiSoC is a library of cores and a system-on-chip integration system to build gateware for various applications. MiSoC is lightweight (runs on FPGA devices as small as Spartan-6 LX9 with 32-bit RISC CPU and SDRAM), portable (demonstrated on Xilinx, Altera and Lattice devices) and high performance (e.g. contains the fastest open source DDR3 solution we are aware of). Designing and integrating cores is facilitated by Python and Migen features. Current MiSoC applications include LTE base stations, video processing (Numato Opsis) and experiment control system (ARTIQ).

Nemo Mobile is a long time FOSS operating system. Created in 2012 as continuation to Meego Community Edition, it has been actively developed since then. The newest iteration of it is to use Glacier UI as its renewed User Interface, along with its Qt Components. These components are now used in the NemoTablet adaptation using Raspberry Pi2 as underlying hardware and its plethora of possible peripherals to create a true DIY tablet derived from SailPi project.

With Raspberry Pi 2 introduction in February 2015, it was then possible to create an adaptation for it. This enables the myriad of functionality it offers, with its hardware provided. Initial adaptation was done originally for SailfishOS, but Nemo Mobile had the first run and checking that everything worked, before a closed system was installed. Nemo Mobile, however, was then not tried until later. The idea came once the official touchscreen by Raspberry Pi Foundation was released, so that a FOSS tablet could be built by anyone and used. Raspberry Pi 2 has non-free hardware, but Nemo Mobile itself is FOSS completely. As with all other adaptations, the questions regarding hardware freedom limitations rise for a good reason.

Libreboot is a free software BIOS replacement (boot firmware), based on coreboot, for Intel, AMD and ARM based systems. Backed by the Free Software Foundation, the aim of the Libreboot project is to provide individuals and companies with an escape from proprietary firmware in their computing. Libreboot is also being reviewed for entry as an official component of the GNU system.

Boot firmware is the low-level software that runs when you turn your computer on, which initializes the hardware and starts a bootloader for your operating system. Libreboot currently supports laptops and servers, on x86 (Intel and AMD) and ARM (Rockchip RK3288), with more hardware support on the horizon. The purpose of this talk is to describe the history of the project, why it started, why it’s important, where it’s going and, most importantly, to tell people how they can get involved.

Francis also runs the Minifree (formerly Gluglug), a company that sells computers with libreboot and Trisquel GNU/Linux pre-installed.

No abstract, but it’s clear about Olimex’s Allwinner A64 A64-OlinuXino board to be used in the company’s open source hardware laptop.

A brief discussion about the stable release branch 4 of KiCad as well as goals for the next development cycle and beyond.

The WPANKit is a ptxdist based Open-Source 6LoWPAN Board Support Package (BSP). The main focus is to provide a software development kit for the linux-wpan project. The linux-wpan project aims to implement a 6LoWPAN inside the mainline Linux kernel.

This talk will present the WPANKit: An Open-Source Linux BSP to develop 6LoWPAN IoT applications. It contains support for various common platforms such Raspberry Pi’s and Beaglebones. Additional components like the openlabs 802.15.4 transceiver SPI transceiver or BTLE USB dongles gives you a getting started platform into the Linux 6LoWPAN world.

The WPANKit will directly build a current mainline 6LoWPAN kernel, which is the official bluetooth-next tree. This is important, because the mainline 6LoWPAN development is still much in development. Additional the WPANKit offers a large of userspace IoT software collection e.g. tshark for sniffing network traffic, libcoap, etc. On top of this BSP you can develop your IoT application, setting up a Border-Router or help at the current mainline 6LoWPAN Linux-kernel development.

Through the power of ptxdist you can easily add new own packages for cross-compiling. As well we accept patches to integrate new software into the official WPANKit repository, so we getting more and more new IoT capable software into the WPANKit which can be used by other ptxdist users.

An AdaCore intern has rewritten the CrazyFlie drone software, originally in C, into SPARK. In addition to fixing some bugs, this allowed to prove absence of runtime errors. Various techniques used to achieve that result will be presented, as well as a live demo of free fall detection.

This talk will take us through the available FOSS software stacks that are available for automotive. This last year has produced a lot of working software from fiber-optic networking drivers in the Linux kernel, complete In-Vehicle Infotainment stacks, to a newly released Qt Automotive. There has also been a change in available hardware to run this software on, new boards like the Minnowboard Max, Renesas’ Porter board, and even the Raspberry Pi 2. This talk will try and cover the entire software ecosystem and how it matches to hardware, how you can get involved today, and what the future holds.

Turris Omnia aims to bring to the market affordable, powerful and secure SOHO router which is completely open-source and open-hardware. As a operating system it uses our own fork of OpenWrt which has some additional features such as automatic security updates. This talk will cover few topics such as motivation for starting this project and developing of our own hardware and software.

FROSTED is an acronym for “FRee Operating System for Tiny Embedded Devices”. The goal of this project is to provide a free kernel for embedded systems based on ARM Cortex-M CPU family, which exposes a POSIX-compliant system call API. Even if it runs on small systems with no MMU and limited resources, Frosted has a VFS, UNIX command line tools and a HW abstraction layer which makes it easy to support new platforms and device drivers.

This talk will cover why the project was started, the approach taken to separate the kernel and user-space on ARM Cortex-M CPU’s without MMU, the collaboration with the libopencm3 project to provide a high quality hardware abstraction layer and the future goals of the project. Of course there will a demo showing the latest developments: dynamic loading of applications and possibly TCP/IP communication.

Sunday

Yocto project has been used at Open-RnD for building a number of IoT related products. The talk will go though the details of integration of Poky build system and OpenEmbedded layers into 3 projects carried out at Open-RnD:

  • an autonomous parking space monitoring system
  • a distributed 3D steroscopic image acquisition system
  • a gadget for acquisition of metabolic parameters of professional athletes

The presentation will approach to building software, automation and upstreaming of fixes. Only widely available hardware platforms such as BeagleBone Black, Raspberry Pi, Wandboard or Gateworks GW5400 (not as widely used as the previous ones, but still fully supported) were used in the project, hence all the points made during presentation are directly applicable by professionals and hobbyists alike.

Tizen is an open source GNU/Linux based software platform for mobile, wearable and embedded devices as well as Internet of Things. Tizen:Common provides a generic development environment for Tizen 3 which key features include, Wayland, Weston, EFL UI/UX toolkit, and a web runtime for safely running standalone HTML5 apps. Yocto Project offers tools to easily expends features of Tizen:Common by creating layers for new profiles. This talk will focus the Tizen architecture and it will provide guidelines for creating and building new Tizen profiles, based on Tizen:Common, using the Yocto Project for devices with Intel or ARM processors. It will also provide information about hidden gems in Tizen on Yocto and practical examples for packaging and deploying HTML5 applications through Yocto recipes for the open source hardware development boards like Raspberry PI2 or HummingBoard (Freescale I.MX6 ARM SoC) or MinnowBoard Max (Intel).

Finally, since Tizen aims to because the OS of everything, we will illustrate this by extending Tizen Distro with new connectivity features provided by IoTivity library, the open source implementation of OpenInterConnect’s standard.

This session will show you how to build your own retro hand-held console that is powered by Java, runs on a Raspberry Pi, and is printed on a 3D printer. Some of the topics covered include:

  • Hacking Java on the Raspberry Pi
  • Rigging input devices with Pi4J
  • Insane performance tuning on the JVM
  • Why your boss [or SO] needs to buy you a 3D printer!

And of course your retro gaming mettle will be put to the test, so make sure to dust off your old 8 and 16 bit consoles to prepare.

How to roll your own build and extend the Fairphone 2 hardware

The kernelci.org project is currently doing hundreds of build and boot tests for upstream kernels on a wide variety of hardware. This session will provide an introduction to the kernelci.org system, some live demos and how to start consuming its results, and be a forum for further discussions.

Distributed boards farms across the world are working together to deliver unified build, boot, and test results for every merge of an upstream Linux kernel tree. A community based architecture agnostic effort, kernelci.org aims to detect regressions in a timely manner and report back to kernel developers with a concise summary of the issues found. On every merge, all defconfigs for x86, arm, and arm64 are built, booted, and tested on over 300 real or virtual hardware platforms. Come join in the discussion and help make Linux better!

Hardware is funny stuff. It is often documented to work one way when it actually works a slightly different way. Different revisions of the hardware may have different bugs that require different sets of work-arounds. Programming it even slightly incorrectly can lead to software crashes or system hangs. Sometimes some versions of the hardware work fine, but the version not on the developer’s desk crashes. Failure modes are often opaque and give no clues for fixing the problem. Writing robust, reliable software to run directly on hardware is hard.

Software simulation of hardware is a technique that, in many cases, can alleviate some of this pain. Teams that develop hardware will often create a simulator as a by-product of hardware synthesis. Not ever developer is fortunate to have access to such tools. Those who do have access often find them slow or difficult to use. After all, these simulators are generally created as an aid for the hardware developers themselves. Much of the benefit of a full hardware simulator can be attained by developing the simulator independently from the hardware development. When the correct techniques are applied, it’s not even that hard.

This talk will present a variety of techniques based on experience with several “home grown” simulation environments. Techniques for both developing and validating the simulator and techniques for integrating simulation in the regular development process will be described.

  • 16:00 – 17:00 – PHP7 by Derick Rethans

With PHP 7 having been released, it is time to show what’s in there. Speed, scalar type hints and spaceships.

These are just a few selection from the complete schedule. Last year, most FOSDEM 2015 videos were available in mid-March, so I’d expect FOSDEM 2016 videos to be available in about the same time frame.

As usual, the event will be free, and does not require registration, so you just need to show up at the Université libre de Bruxelles in order to attend.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

MIPS Creator Ci40 Development Board Powered by cXT200 SoC Launched for $53 on Kickstarter

November 23rd, 2015 21 comments

Last year, Imagination Technologies launched their first community development board with MIPS Creator CI20 powered by Ingenic JZ4780 dual core MIPS processor running both Android and Linux, and now supported by various projects. The company has been teasing about its MIPS Creatort Ci40 for a few weeks, and was already announced as the MIPS platform of choice for Google Brillo operating system, but the board has now officially been launched via a Kickstarter campaign where you can get the board for $53, as well as some add-on boards.

MIPS_Creator_CI40But instead of using a processor from one of their partner, Imagination just designed their own MIPS interAptiv SoC for the board.

Creator Ci40 board specifications:

  • SoC – Imagination Technologies Creator cXT200 with 2x MIPS interAptiv core @ 550MHz, 512KB L2 cache, and an Ensigma C4500 RPU (for 802.11ac/ BT 4.1 LE)
  • System Memory – 256 MB DDR3
  • Storage – 512 MB NAND flash, micro SD card slot
  • Connectivity – Ethernet, 802.11ac 2×2 WiFi, Bluetooth 4.1, 802.15.4 radio for 6LoWPAN
  • USB – 1x micro USB OTG port
  • Audio – 1 x 3.5mm input/output jack, 1 x S/PDIF input/output connector
  • Expansion Headers:
    • 40-pin Raspberry Pi compatible header
    • 2x mikroBus headers
    • Other undocumented headers
    • I/Os include: 32x GPIO, 4x PWM, 1x SPI, 2x UART, 2x I2C, and 5x ADC.
  • Debugging – JTAG/EJTAG, 1x micro USB port for serial console (TBC)
  • Security – TPM chip
  • Misc – 9x indicator LEDs
  • Power Supply – 9V via power barrel, or 5V via micro USB port
  • Dimensions – 100 mm x 106 mm
cXT200 Block Diagram

cXT200 Block Diagram

The board will support Linux (buildroot), Brillo OS, Debian, and OpenWRT. Optimized GNU tools and library will also be provided for the MIPS platform, and the board will have access to the cloud via the company’s FlowCloud IoT framework. Some code sample for the latter  have already been provided on github.

Creator Ci40 Open Source Software Stack (Click to Enlarge)

Creator Ci40 Open Source Software Stack (Click to Enlarge)

In Internet of Things projects you also need “things”, and not only a gateway, so the company is also offering Creator Ci40 IoT kit with Ci40 board, as well as two MikroElektronika’s 6LoWPAN Clicker boards  powered by 2 AAA batteries acting as nodes (i.e. things), and three Click boards fitting in mikroBus sockets.

Credtor Ci40 IoT Kit (Click to Enlarge)

Credtor Ci40 IoT Kit (Click to Enlarge)

The Clicker boards are powered by a MIPS based Pic32MX micro-controller, and run Contiki real-time operating system. As reported in my post about HummingBoard Gate board, there are over 150 Click (add-on) boards to both Ci40 and clickers board functionality can be augmented by any of these standard add-on boards by MikroElectronika.

While Creator Ci40 board itself is 35 GBP (~$53), you could consider getting the IoT kit instead for 70 GBP ($106). Shipping is not included, and they charge a flat fee to any destination ranging from 5 GBP for th board only to 12 GBP for the various kits. Delivery is scheduled for April 2016. You can also find more details on Imagination’s Creator Ci40 product page.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Linux 4.3 Release – Main Changes, ARM and MIPS Architectures

November 4th, 2015 2 comments

Linus Torvalds released Linux Kernel 4.3 last week-end:

So it *felt* like the last week of the rc series was busy, to the point where I got a bit worried about the release. But doing the actual numbers shows that that really was just my subjective feeling, probably due to the kernel summit and travel back home from Korea. It wasn’t actually a particularly busy week, it’s just that the pull requests were more noticeable in the last couple of days.

We had a network update and a late fix for a x86 vm86 mode bug introduced by the vm86 cleanups, but other than that it’s just a collection of various small one-liners all over. Ok, the vm86 mode thing was a one-liner too, it was just slightly more nerve-wracking because it looked scarier than it was before people (Andy) figured out what was going on.

The changes from rc7 are dominated by the network stuff, but as you can tell from the appended shortlog it’s not anything particularly scary.

So on the whole, this remains a rather calm release cycle until the very end. And with the release of 4.3, obviously the merge window for 4.4 is open, and let’s keep our fingers crossed that that will be an equally calm release. Especially since apparently Greg has decided ahead of time (as an experiment brought on by discussion at the kernel summit) that 4.4 will be another LTS release.

Linus

Linux 4.2 brought us file systems and networking changed, new cryptography implementations, AMD GPU driver support for more graphics card, among other things. Some changes made to Linux 4.3 include:

  • Removal of EXT-3 file system (EXT-4 file system will handle EXT-3)
  • Various fixed for BTRFS, EXT-4, F2FS, and XFS file systems
  • IPv6 is now built into the kernel by default.
  • New driver framework for nonvolatile memory devices (e.g.EEPROMs). See nvmem.txt for details.
  • The networking layer added “lightweight tunnel” support.

More user visible and internal changes can be found on LWN’s merge window articles [1], [2] and [3].

I’ve also compiled some of the new features and improvements specific to the ARM architecture with a focus on Allwinner, Rockchip, Amlogic and /Mediatek processors often featured in this blog:

  • Allwinner:
    • A10 / A13 / A20 / A23 / A31 – Enabled OTG controller
    • A10 / A10s / A13 / A20 – Support for DMA engine
    • A23 / A33 – Support for USB controllers
    • most of Allwinner SoC – Support for Allwinner Security System crypto accelerator (sunxi-ss)
    • AXP152 – AXP152 mfd support
    • Added boards – Iteaduino Plus A10 board, Ippo-q8h-a33 v1.2 tablet board
  • Rockchip
    • Audio – Machine drivers for Rockchip systems with MAX98090 and RT5645 and RT5650
    • Added USB PHY support for RK3066 and RK3188, enabled on Marsboard
    • Reserve unusable memory region (0xfe000000~0xff000000) on RK3288 and RK3368
    • Fixed suspend issues on RK3288
    • Added support for phase inverters
    • Added support for Rockchip RK3368 including clock-controller
    • Added support for Netxeon R89 board, two Chromebooks (Veyron family), and R88 board (RK3368)
  • Amlogic (Minor changes)
    • meson6: DTS: Fix wrong reg mapping and IRQ numbers
    • meson8b: Properly include clk.h
  • Mediatek
    • Added basic support for Mediatek MT6580
    • Added SMP support for Mediatek MT6795
    • Mediatek MT8173: cpuidle-dt updates, watchdog device, misc other additions
    • Added MT6397 PMIC support to MT8173 eval board
  • Qualcomm
    • Qualcomm MSM8916 and APQ8016 updates for USB
    • Pinctrl driver updates for Qualcomm SPMI-MPP, and Qualcomm Technologies QDF2xxx ARM64 SoCs
    • Qualcomm driver for SMM/SMD (Shared Memory Driver)
    • Regulator driver for the Qualcomm RPM
    • Device tree updates for Compulab QS600, Inforce 6410 & 6540,  APQ8074 Dragonboard, etc…
  • Samsung
    • Various defconfig and device tree updates for Exynos processors
    • cpufreq driver updates
    • clk driver updates for Exynos 3250, 4210, 4412, and 5250 SoCs
  • Xilinx – ZynqMP: A bunch of devices added to the existing DTSI (sdhci and watchdog on ep108, DWC3 usb, SMMU, CANs node…)
  • Other new ARM SoCs & hardware platforms – Broadcom North Star 2 (ns2), Marvell Berlin4CT,  Freescale i.MX6UL boards, SocioNext (previously Panasonic) UniPhier, Texas Instruments DM814x, Gumstix Overo platforms

There have also been some changes for MIPS architecture mostly committed by Imagination Technologies themselves:

  • Fixed JZ4740 build
  • Cavium Octeon CN68XX improvements
  • Some work on the clock framework
  • Added uprobes support
  • Support for the I6400
  • Moved ath79 GPIO driver to drivers/gpio
  • Various fixes

Finally, I’ve generated Linux 4.3 Changelog with comments only (12.3MB) using git log v4.2..v4.3 --stat. Normally I would also recommend checking out the changelog on KernelNewbies here, but they have not even updated Linux 4.2 changelog yet.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter