Posts Tagged ‘mips’

Linux 4.7 Release – Main Changes, ARM and MIPS Architectures

July 25th, 2016 7 comments

Linux 4.7 is out:

So, after a slight delay due to my travels, I’m back, and 4.7 is out.

Despite it being two weeks since rc7, the final patch wasn’t all that big, and much of it is trivial one- and few-liners. There’s a couple of network drivers that got a bit more loving. Appended is the shortlog since rc7 for people who care: it’s fairly spread out, with networking and some intel Kabylake GPU fixes being the most noticeable ones. But there’s random small noise spread all over.

And obviously, this means that the merge window for 4.8 is open.Judging by the linux-next contents, that’s going to be a bigger release than the current one (4.7 really was fairly calm, I blame at least partly summer in the northern hemisphere).


Linux 4.6 brought USB 3.1 superspeed, OrangeFS distributed file system, 802.1AE MAC-level encryption (MACsec), and BATMAN V protocol support, improved the reliability of OOM task killer, and more.


Linux 4.7 most noticeable changes include:

  • Support for Radeon RX480 GPUs
  • Parallel directory lookups –  The directory cache caches information about path names to make them quickly available for pathname lookup. This cache uses a mutex to serialize lookup of names in the same directory.  The serializing mutex has been switched to a read-write semaphore in Linux 4.7, allowing for parallel pathname lookups in the same directory. Most filesystems have been converted to allow this feature.
  • New “schedutil” frequency governor –  There are two main differences between it and the existing governors. First, it uses information provided by the scheduler directly for making its decisions. Second, it can invoke cpufreq drivers and change the frequency to adjust CPU performance right away, without having to spawn work items to be executed in process context or similar, leading to lower latency to make frequency changes.
  • Histograms of events in ftrace –  . This release adds the “hist” command, which provides the ability to build “histograms” of events by aggregating event hits. As an example, let’s say a user needs to get a list of bytes read from files from each process. You can get this information using hist triggers, with the following command command:

    other data can also be retrieve by using fields found in /sys/kernel/debug/tracing/events/syscalls/sys_enter_read/format. The output will look like:

    More more details check ftrace documentation and related LWN article.
  • EFI ‘Capsule’ firmware updates –  The EFI Capsule mechanism allows to pass data blobs to the EFI firmware. The firmware then parses them and makes some decision based upon their contents. The most common use case is to bundle a flashable firmware image into a capsule that the firmware can use to upgrade in the next boot the existing version in the flash. Users can upload capsule by writing the firmware to the /dev/efi_capsule_loader device
  • Support for creating virtual USB Device Controllers in USB/IP – USB/IP allows to share real USB devices over the network. Linux 4.7 brings the ability to create virtual USB Device Controllers without needing any physical USB device, using the USB gadget subsystem. For what purpose? For example, for improving phone emulation in development environments, for testing USB and for educational purposes.

Some of ARM specific improvements and new features include:

  • Allwinner:
    • Allwinner A13/R8 – Display Engine support
    • Allwinner A10/A20 – S/PDIF Support
    • Allwinner A31/A23/H3 – DMAengine improvements for H3 audio support
    • Allwinner H3 – USB support (multi-reset line support delayed til 4.8)
    • New hardware supported
      • Tablets – Dserve DSRV9703C, Polaroid MID2809PXE4, Colorfly e708 q1, Difrence DIT4350
      • Boards – Olimex A20 OLinuXino LIME2, Xunlong Orange Pi 2, Orange Pi One, and Orange Pi PC
  • Rockchip:
    • Thermal management – Rockchip driver support for RK3399, RK3366
    • Added Rockchip RK3399 clock and reset controller
    • Pinctrl – Support the .get_direction() callback in the GPIO portions
    • New RK3399 device tree support
    • Added Rockchip DisplayPort PHY support
    • Added Geekbuying GeekBox, RK3399 Evaluation Board, mqmaker MiQi SBC
  • Amlogic
    • Added Meson GXBB (S905) pinctrl support
    • Fixed memory nodes on Vega S95 DTS
    • Added Hardkernel ODROID-C2, Amlogic Meson GXBB P200 and P201 development systems
  • Samsung
    • Added Samsung ARTIK5 evaluation board
    • Added generic exynos bus frequency driver
    • Added pinctrl driver for Samsung EXYNOS5440 SoC
    • DTS updates & fixes:
      • Fix s5p-mfc driver probe on Exynos542x Peach boards (need to provide MFC memory banks). On these boards this was broken for long time but apparently no one enabled this driver till now.
      • Fix creation of debugfs entries for one regulator on Exynos4210 Trats board.
      • Fix probing of max8997 MFD driver (and its children) because of missing interrupt. Actually the current version of the driver probes (just without interrupts) but after switching to regmap and regmap-irq, the interrupt will be mandatory.
      • Cleanup regulator bindings on Exynos5420 boards.
      • Support MIC bypass in display path for Exynos5420.
      • Enable PRNG and SSS for all Exynos4 devices.
      • Add PL330 DMA controller and Thermal Management Unit to Exynos 7
      • Enable accelerated AES (Security SubSystem) on Exynos4412-based boards
      • Enable HDMI CEC on Exynos4412-based Odroid.
      • Add regulator supplies for eMMC/SD on Odroid XU3/XU4.
      • Fix DTC unit name warnings.
  • Qualcomm
    • Qualcomm IPQ4019 support in pinctrl
    • Change SMD callback parameters
    • 96Boards HiKey based on the Hisilicon Hi6220 (Kirin 620) gets an overhaul with a lot of devices enabled in the DT.
    • Added Qualcomm IPQ4019 “Internet processor”,  Arrow DragonBoard 600c (96boards) with APQ8064 Snapdragon 600
    • Device tree changes:
      • Add additional nodes for APQ8064
      • Fix APQ8064 pinctrls for i2c/spi
      • Add MSM8974 nodes for smp2p and smd
      • Modify MSM8974 memory reserve for rfsa and rmtfs
      • Add support for BQ27541 on Nexus7
  • Mediatek
    • Added  CPU power cooling model to Mediatek thermal driver
    • Added Mediatek MT8173 display driver, DRM driver, and thermal controller
    • Added MIPI DSI sub driver
    • 4GB mode support for Mediatek IOMMU driver
    • DTS updates:
      • add pinctrl node for mt2701
      • add mt2701 pmic wrapper binding
      • add auxadc binding document
  • Other new ARM hardware or SoCs – LG1312 TV SoC, Hisilicon Hip06/D03, Google Pixel C, NXP Layerscape 1043A QDS development board, Aspeed AST2400/AST2500, Oxnas 810SE (WD My Book World Edition), ARM MPS2 (AN385 Cortex-M3 & AN399 Cortex-M7), Ka-Ro electronics industrial SoM modules, Embest MarS Board, Boundary Devices i.MX6 Quad Plus Nitrogen6_MAX and SoloX Nitrogen6sx embedded boards, Technexion Pico i.MX6UL compute module, ZII VF610 Development Board, Linksys Viper (E4200v2 / EA4500) WiFi router, Buffalo Kurobox Pro NAS, samtec VIN|ING 1000 vehicle communication interface, Amazon Kindle Fire first generation tablet and ebook reader,  OnRISC Baltos iR 2110 and 3220 embedded industrial PCs, TI AM5728 IDK, TI AM3359 ICE-V2, and TI DRA722 Rev C EVM development systems.

MIPS architecture changelog:

  • Add support for relocatable kernel so it can be loaded someplace besides the default 1MB.
  • Add KASLR support using relocatable support
  • Add perf counter feature
  • Add support for extending builtin cmdline
  • seccomp: Support compat with both O32 and N32
  • ath79: Add support for DTB passed using the UHI boot protocol, remove the builtin DTB support, add zboot debug serial support, add initial support for DPT-Module, Dragino MS14 (Dragino 2), and Onion Omega
  • BMIPS: Add BCM6358 support, add Whirlwind (BMIPS5200) initialization code, add support for BCM63268
  • Lantiq: Add support for device tree file from boot loader
  • Add basic Loongson 3A support
  • Add support for CN73xx, CN75xx and CN78xx
  • Octeon: Add DTS for D-Link DSR-1000N
  • Detect DSP v3 support
  • Detect MIPSr6 Virtual Processor support
  • Enable ptrace hw watchpoints on MIPS R6
  • Probe the M6250 CPUand the P6600 core
  • Support sending SIG_SYS to 32bit userspace from 64bit kernel
  • qca: introduce AR9331 devicetree
  • ralink: add MT7628 EPHY LEDs pinmux support
  • smp-cps: Add nothreads kernel parameter
  • smp-cps: Support MIPSr6 Virtual Processors
  • MIPS64: Support a maximum at least 48 bits of application virtual

For even much more details, you can check out Linux 4.7 changelog with comments only generated using git log v4.6..v4.7 --stat. Alternatively, and much easier to read, you can head to to learn more about Linux 4.7 changes.

Ingenic T10 is a MIPS Based Video Processor for 720p Cameras

June 13th, 2016 2 comments

Ingenic has been designing MIPS based SoCs using their Xburst processor engine for several years, which are found in tablets, development boards, and wearables. The company has now launched T10 smart video processor based on the same MIPS32 processor but mobile camera, security survey, video talking, video analysis and so on with image resolution up to 1280×960 (datasheet says 1280×1024), and videos up to 720p30 or VGA @ 30fps.

Ingenic T10 Block Diagram (Click to Enlarge)

Ingenic T10 Block Diagram (Click to Enlarge)

Ingenic T10 specifications:

  • CPU – XBurst single core MIPS32 processor up to 1GHz with FPU, 32KB L1 I-cache, 32KB L1 D-cache, and 128KB L2 unified cache.
  • Memory – Embedded [email protected] up to 512Mbit
  • Encoder engine -H.264 baseline, main profile; MJPEG/JPEG Baseline
  • Encode Performance
    • Max resolution 1280×960
    • Up to H.264 [email protected] encode
    • H.264 multiple streams
      • [email protected] + [email protected] + [email protected]
      • [email protected] + [email protected] + [email protected]
    • 8 ROIs (Regions of Interest)
    • 5-layer OSD with hardware
  • ISP
    • AE, AWB (automatic white balance), AF
    • Lens shading correction
    • Advanced spatial noise reduction
    • Motion-adaptive temporal noise reduction (3D de-noise)
    • Multi-exposure HDR image fusion (WDR)
    • Space-variant HDR processing
    • Host tuning tools
  • Computer Vision – Motion Detection/Perimeter Protection, Face Detection,Human Detection, People Counting, License Plate Recognition, etc…
  • CMOS Sensor Interface
    • Maximum 12 bit HSYNC/VSYNC (DVP)
    • I2C sensor control, Flash and DC control
    • Programmable sensor clock output
    • Up to 100M pixels/s input
  • Audio – Embedded audio CODEC; AAC, G726, G711, PCM encoding; Echo cancellation
  • On-chip Peripherals
    • POR, RTC, WDT
    • 2 channel ADC
    • 2x UART, 2x SMB, 2x SPI, 12x GPIO
    • 2x SDIO supporting SDHC
    • 4x PWM
    • USB OTG
    • RMII EMAC, supporting PHY clock output.
  • Security
    • Hardware AES/DES/3DES
    • Global unique Chip ID
    • 32Byte customer OTP
  • Power Consumption – Less than 400mW power consumption including DDRII
  • Package – TFBGA181 ROHS, ball pitch of 0.65mm, 10 x 10 mm package
  • Process – 40 nm CMOS low power

The company provides support for Linux-3.10 for the SoC. There’s no information about evaluation or development kits/boards for the video processor. You can find more details on Ingenic T10 product page where you’ll find the datasheet in English.

Thanks to Victor for the tip.

Categories: Ingenic, Linux Tags: camera, ingenic, Linux, mips

Imagination Solution to FCC Rules for WiFi Routers: Run OpenWrt / DD-WRT and the WiFi Driver in Separate Virtual Machines

June 10th, 2016 9 comments

About a year ago, discussions started about new rules from the FCC that could prevent routers from installing open source third party operating systems such as OpenWrt or DDWRT. Despite the FCC assurance that the rules were meant to prevent some users from illegally tweaking the RF settings, and that it would not have to impact installing of open source alternatives, the reality is that companies such as TP-Link ended up locking their routers up due to the new rules, while Linksys would only ensure OpenWrt/ DD-WRT compatibility on some of their routers, but not all. Companies are probably doing that due to the extra work that would be required to separate the RF settings which need to be locked, and the rest of the firmware. But Imagination Technology’s prpl security group has a solution for their MIPS Warrior P-Class processors using hardware virtualization.


In order to show the concept works, they’ve developed the solution on an evaluation board based on Baikal T1 dual core MIPS P5600 communication processor, and using a Realtek RTL8192 WiFi adapter and the Ethernet port (WAN) for communications. The serial port was used for debugging Linux.

One the software side, they run an hypervisor, and three virtual machines (VM) leveraging the processor hardware capabilities:

  • Open source L4Re hypervisor comprised of an L4 microkernel that can run trusted native applications and act as a trusted hypervisor for operating systems.
  • Open VM for OpenWrt running OpenWrt and providing the main interface to the router facilities
  • Isolated VM for the Wi-Fi driver without direct access to the driver from other VMs, except through the virtual network connection using ports 85 for http, 449 for https or 29 for ssh. That’s the important part to comply with the FCC rules.
  • Dedicated VM for third party applications acting as a sandbox for running third party applications that provide additional functionality such as home automation apps.

Here’s the demo.

Of course, this will not solve the issues for existing cheap routers, but this could be a solution for future not-so-low-end WiFi routers.

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 which is also detailed and includes links to relevant articles.

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.


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


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.

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

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..


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.

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 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]