Linux Kernel 4.19 released, our contributions

BayLibre has continued our contribution to the Linux community as seen with this new version of Linux Kernel 4.19, released on Sunday, 21th October 2018.  An excellent summary of this release can be found at KernelNewbies.

Here is a summary of our contributions, organized by SoC family and a summary graph of contributions by developer.

Amlogic SoC family:

  • Initial support of the audio hardware on the Amlogic AXG SoC : A113D
    • Audio clock controller
    • Audio reset controller
    • Pinctrl missing configurations
    • ALSA SoC card
    • TDM input/output
    • SPDIF output
    • HW FIFOs handling
    • es7134 codec support
    • tas517x support
    • DT audio and pinctrl nodes
  • Add S805X based P241 board
  • Finally enable graphics output on the FriendlyElec Nanopi-K2
  • Enable DMT (Display Monitor Timing) HDMI output to support generic, non-HDMI monitors (DVI, VGA via HDMI->VGA dongle or monitors with custom timings in EDID)

Ti DaVinci SoC Family:

  • switch davinci SoCs to use the ti-aemif driver
  • switch to the reset framework for the DSP remoteproc

Misc:

  • Lots of cleanup and some code removal from Corentin
  • Various Clock & ALSA SoC fixups to make AXG Audio work
  • Add support for the CEC functionality on the upcoming Asus ChromeBox via the Embedded Controller interface and the Linux CEC Framework maintained by Hans Verkuil

 

 

U-Boot v2018.07 released, our contributions

BayLibre has continued contribution to the open-source community as seen with this new version of U-Boot v2018.07, released on 27th July 2018.

This release permits booting over an USB Mass Storage (USB Stick or Hard Drive) with EFI on the Libre Computer AML-S905X-CC board !

With U-Boot 2018.07, you can download the nighly Debian-Installer or OpenSuse  TumbleTweed, copy U-boot to a blank SDCard, copy the installer to an USB, plug USB and SDCard, boot and install !

Here is a summary of our contributions:

Amlogic SoC family:

  • Add support for the USB PHY and Controller on the Meson GXL (S905X, S905D) SoC based on the Linux version done by Martin Blumenstingl
  • Add Analog-to-Digital (ADC) driver based on the Linux version done by Martin Blumenstingl
  • Add Amlogic Reset Controller
  • Add ADC cli command
  • Sync DT with Linux 4.17

Misc :

  • Add “bulk” commands for Reset and Clocks + tests
  • Add dwc3-of-simple USB DWC3 simple Glue driver based on the Linux version
  • Add support for any number of PHYs for the DWC3 controller

Linux Kernel 4.18 released, our contributions

BayLibre has continued our contribution to the Linux community as seen with this new version of Linux Kernel 4.18, released on Sunday, 12th August 2018.  An excellent summary of this release can be found at KernelNewbies.

Here is a summary of our contributions, organized by SoC family and a summary graph of contributions by developer.

Amlogic SoC family:

  • Multiple fixups/enhancements for the AXG A113D SoC (I2C, TDM)
  • Add write support for NVMEM
  • MMC/SDCard Fixups
  • Boot fixup with SCPI

Ti DaVinci SoC Family:

  • Fixup for NAND support
  • Fixups for RemoteProc support
  • Fixups for AEMIF support

Misc:

  • Lots of cleanup and some code removal

 

 

Linux Kernel 4.17 released, our contributions

BayLibre has continued our contribution to the Linux community as seen with this new version of Linux Kernel 4.17, released on June, 3rd 2018.  An excellent summary of this release can be found at KernelNewbies.

We’re happy to report BayLibre is once again featured in the LWN stats for this release. Corentin Labbe from our team is a Top 10 developer and BayLibre is a Top 20 employer, both by Lines Changed.

Here is a summary of our contributions, organized by SoC family and a summary graph of contributions by developer.

Amlogic SoC family:

  • clocks: major rework to switch to regmap; misc. cleanups
  • improve DT support for WeTek hub and play2
  • MMC: reduce max speed for Odroid-C2 boards after multiple problems reported
  • AXG family: enable hardware RNG
  • HDMI: Add support for DMT modes

Misc:

  • Lots of cleanup and dead code removal (see Lines removed by Corentin)

 

 

Linux Kernel 4.16 released, our contributions

Linux Kernel 4.16 released

BayLibre has continued our contribution to the Linux community as seen with this new version of Linux Kernel 4.16, released on April, 1st 2018.  An excellent summary of this release can be found at KernelNewbies.

Here is a summary of our contributions, organized by SoC family and a summary graph of contributions by developer.

Amlogic SoC family:

This release is important since it’s the first Linux release that can boot an Amlogic SoC with graphics with u-boot mainline, both unchanged !

  • Finally enable the Video Processing Unit power domain and all the missing bit :
    • drm/meson: Add missing VPU init
    • drm/meson: dw_hdmi: Add support for an optional external 5V regulator
    • ARM64: dts: odroid-c2: Add HDMI and CEC Nodes
    • ARM64: dts: meson-gx: grow reset controller memory zone
    • ARM64: dts: meson-gx: Add HDMI_5V regulator on selected boards
    • ARM64: dts: meson-gx: add VPU power domain
    • dt-bindings: display: amlogic, meson-dw-hdmi: Add optional HDMI 5V regulator
    • dt-bindings: display: amlogic, meson-vpu: Add optional power domain property
    • This means you can download Linux v4.16 and U-Boot v2018.01, build them, flash them and you will be able to boot to graphics with HDMI on most Amlogic S905, S905X and S912 supported boards !
  • drm/meson: fix vsync buffer update : fix a long-time issue causing glitches when rendering directly using GBM
  • Jerome improved the Meson S905X/S905D/S912 internal ethernet PHY support by :
    • net: phy: meson-gxl: add interrupt support
    • net: phy: meson-gxl: use genphy_config_init
    • net: phy: meson-gxl: add read and write helpers for banked registers
    • net: phy: meson-gxl: define control registers
    • net: phy: meson-gxl: check phy_write return value
    • ARM64: dts: meson-gxl: add internal ethernet PHY irq
  • Jerome added the “clock protection” feature to the clock framework

Misc:

  • Add support for the the Variscite DART-MX6 SoM and Carrier board with LVDS display
  • media: uvcvideo: Add a quirk for Generalplus Technology Inc. 808 Camera
  • ARM: davinci: fix the GPIO lookup for omapl138-hawk
  • i2c: davinci: fix the cpufreq transition
  • Corentin did some cleanup in the crypto directory and some overall remove of unused code/documentation

 

 

Zephyr 1.11.0 released, BayLibre contributions

A full changelog of this release are available on the project releases page.

For these last 3 Zephyr releases, BayLibre engineer Neil Armstrong worked to add a better support for the STM32F0 SoC family by adding SPI, I2C, and internal Flash support, following his work on the previous Zephyr release on the overall STM32 Microcontrollers.
A hard time was spent adding SPI Slave and I2C Slave support on Zephyr for the whole STM32 Microcontroller family, to align with other RTOS and Linux for the I2C Slave part.

Since Zephyr 1.8, supported in Zephyr :

Along the following STM32 Microcontrollers features :

And ongoing features still in discussions :

The last Pull Request is done in cooperation with Daniel Wagenknecht, and triggered a lot of technical discussions ! Thanks Daniel !

 

Linux Kernel 4.15 released, our contributions

Linux Kernel 4.15 released

BayLibre has continued our contribution to the Linux community as seen with this new version of Linux Kernel 4.15, released on January, 28th 2018.  An excellent summary of this release can be found at KernelNewbies.

Here is a summary of our contributions, organized by SoC family and a summary graph of contributions by developer.

Amlogic SoC family:

  • Finally GPIO IRQ Support for Amlogic SoCs
  • Pinctrl cleanup for AXG future support
  • Meson GXL/GXM Internal PHY fixup for reliability
  • Support for new boards :
    • Vega S96
    • Khadas VIM2
  • Driver support for the Video Processing Unit Power Domain for mainline U-Boot support
  • Level Reset support for GX Family

Misc:

  • Support for the Winbond w25q16dw present on the Khadas VIM2
  • usb: musb: da8xx: Remove duplicated defines

 

 

U-Boot v2018.01 released, our contributions

BayLibre has continued contribution to the open-source community as seen with this new version of U-Boot v2018.01, released on 9 Jan 2018.

Here is a summary of our contributions:

Amlogic SoC family:

Add support for the Meson GXL Family by :

  • Adding pinctrl support, based on excellent work of Beniamino Galvani
  • Adding Internal PHY Support + fixups for reliability
  • Add support for dynamic reserved memory
  • Adding support for S905X Based boards :
    • P212 reference board
    • Khadas VIM
    • LibreTech-CC
  • Neil Armstrong becomes maintainer of these freshly added boards

This version of U-Boot for Amlogic GXL SoCs will need to wait for Linux 4.16 to be released, or is compatible with the LibreTech-cc 4.14 stable linux tree for the LibreTech-CC board.

Khadas has released an image with this version of U-Boot and Linux Mainline for the Khadas VIM board here.

Misc :

  • fat: Use cache aligned buffers for fat_opendir

Linux Kernel v4.14 released, our contributions

Linux Kernel v4.14 released

BayLibre has continued our contribution to the Linux community as seen with this new version of Linux Kernel v4.14, released on Nov 12 2017.  An excellent summary of this release can be found at KernelNewbies.

Here is a summary of our contributions, organized by SoC family and a summary graph of contributions by developer.

Amlogic SoC family:

  • Add support for eMMC HS200 and SD SRD104 modes to GX MMC Controller
  • Fix GX MMC Controller clocking scheme
  • Add GPIO Lines names to the following Single Board Computers :
    • LibreTech-CC
    • Nanopi K2
    • Khadas VIM
  • Add support for the HDMI CEC Controller on Meson GX SoCs

TI DaVinci SoC family:

  • musb: musb_cppi41: Configure the number of channels for DA8xx

 

 

Kernel Recipes: Mainline Linux on AML-S905X-CC: Le Potato

At Kernel Recipes this year, BayLibre was proud to partner with the Libre Computer Project to give away around 30 “Le Potato” boards to attendees.  Kernel Recipes is already known for its throw microphone, but this year each speaker threw a “Le Potato” board at the audience.

For those who received the board, pre-built images (to be written to a microSD card, at least 4Gb) are available here :

What works:

  • Quad-Core Cortex-A53 @ 1.5GHz with Dynamic Voltage and Frequency Scaling (DVFS)
  • Penta-Core Mali-450 MP3 GPU limited to X11 (experimental) and Framebuffer acceleration
  • RS-232 TTL serial console on UART header and 40-pin header using DT Overlay
  • microSDCard SD/SDHC/SDXC up to SDR104 (UHS-I) speed
  • Optional eMMC 5.1 up to HS200 speed
  • SDIO up to SDR104 on 40-pin header
  • I2C, SPI, PWM, ADC on 40-pin header
  • Infrared Receiver
  • Hardware Watchdog
  • Up to 100Mb Full Duplex Ethernet
  • 4x USB2.0 Type A ports
  • 480i/576i CVBS Analog Output on AV Jack
  • Up to 1080p60 Full HD Output with CEC and Stereo Digital Audio

What doesn’t work (yet) :

  • 4k2k HDMI 2.0a modes, 7.1 and compressed Digital Audio
  • Mali-450 MP3 GPU Acceleration for Wayland
  • Analog and 7.1 I2S Digital audio output
  • Hardware Accelerated Video decoding/encoding for H.264/H.265/VP9

How to build and boot your own kernel from mainline:

For Overlays support, please follow the steps on https://github.com/libre-computer-project/libretech-overlays/blob/for-4.13.y/README.md

For Questions, please find us on the IRC channel #linux-amlogic (on Freenode) or ask questions on linux-amlogic@lists.infradead.org