Kernel mainlining progress¶
Kernel Development Stats¶

Changelog¶
v6.11 (Work in Progress)¶
- ARM64 DT - New Boards: - OSMC Vero 4K 
- Dreambox One & Two 
- GXLX/S905L p271 Reference Boards 
 
- Amlogic A4 Power Domain 
- A bunch of DT fixes to allmost solve all remaining check errors 
- Amlogic S4 PWM 
- Fixes for: - SM1 SPDIF compatibles 
- Bump G12 SPDIF driver strength 
- Add power domain to HDMI TX 
- Correct HDMI TX clocks 
 
 
- Drivers - Add S905L & A113X SoC IDs 
- add missing MODULE_DESCRIPTION() macro for meson_sm driver 
 
- Clocks - Minor S4 clock fixes 
- DT bindings Yaml conversion of the AXG audio controller 
- C3 clock controllers support 
- Flag added to skip init of already enabled PLLs and avoid relocking 
- A1 DT bindings updates for system pll support 
- Add missing MODULE_DESCRIPTION where necessary. 
 
v6.10¶
- ARM64 DT - New Boards: - MNT Reform 2 CM4 adapter with a BPI-CM4 Module 
- AV400 (Amlogic A5) 
- BA400 (Amlogic A4) 
 
- Initial Amlogic A4 & A5 support 
- MIPI DSI support for G12A, G12B & SM1 SoCs 
- Overlay for Khadas TS050 panel for the Khadas VIM3/VIM3L 
- Amlogic T7 reset controller 
 
- Defconfig - Enable Khadas TS050 driver as module 
 
- Clocks - s4/a1: add regmap maximum register for proper debugfs dump 
- s4: add MODULE_DEVICE_TABLE() on pll and periph controllers 
- pll driver: print clock name on lock error to help debug 
- vclk: finish dsi clock path support 
- license: fix occurence “GPL v2” as reported by checkpatch 
 
v6.9¶
- ARM64 DT - New Board: - Freebox Pop Player (IPTV Set-To-Box from Free FRench internet provider) 
 
- Add reset controller for Amlogic C3 
- Set initial rate for the NPU on Amlogic G12 SoCs 
- Set initial clocks for USB on Amlogic A1 
- Initialize Amlogic AXG SoC capacitance 
- Drop unstable remark on Amlogic Bindings 
- Add all Amlogic maintainers/reviewers on Amlogic SoCs bindings 
- Cleanups: - T7 whitespaces 
- Underscore in names 
 
 
- ARM DT - bus name & node compatible DT fixups for bindings check 
 
- Clocks - Fix clock listing Oops on axg 
 
v6.8¶
- ARM64 DT - DT cleanups - s4 uart node - drop redundant status=okay - minor whitespace cleanup around ‘=’ 
- Watchdog nodes for S4 & C4 SoCs 
- Clock, I2C, SPICC, NAND, Ethernet nodes for S4 And the AQ222 dev board 
- Add EEPROM on the jethub-jxx boards 
- Update of the amlogic,meson-gx-hhi-sysctrl bindings 
 
- Drivers - meson-sm: unmap out_base shmem in error path 
- meson-sm: use dev_groups attrs for sysfs entries 
 
- Clocks - Add DSI clocks on g12/sm1 
- Add CSI and ISP clocks on g12/sm1 
 
v6.7¶
- ARM64 DT - Add audio DT nodes for p200/p201/u200 
- Add a bunch of peripherals for Amlogic-T7 (watchdog, power domain, pinctrl) 
- Add a bunch or peripherals for Amlogic-A1 (clk, usb, efuse, spi, uarts, emmc, ADC, rng, i2c) 
- Add NAND node on Amlogic AXG 
- Again a bunch of DT fixups for DT bindings check 
- New boards: - Amlogic AD402 reference board based on A113L SoC 
- Libre Computer Cottonwood boards 
 
 
- Drivers - correct meson_sm_* API retval handling 
- Use device_get_match_data() in meson SM 
 
- Defconfig - KEYBOARD_GPIO_POLLED=m used to support buttons on pre-G12A boards, the old SoC do not support dual-edge gpio interrupts, so we rely on polling instead 
- KHADAS_MCU_FAN_THERMAL=m & MFD_KHADAS_MCU=m to control FAN over the MCU on Khadas VIM boards, those boards have an on-board MCU that controls (in addition of boot stuff) the FAN pins 
- MEDIA_CEC_SUPPORT=y & CEC_MESON_G12A_AO=m to enable the CEC bus 
- RTC_DRV_PCF8563=m to enable support for RTC on most SBC boards 
- VIDEO_MESON_VDEC=m to enable HW Video Decoder 
- MESON_DDR_PMU=m to enable DDR PMU perf driver on G12A & SM1 SoCs 
 
- Clocks - Add s4 main clock controller support 
 
v6.6¶
- ARM - Drop unused DT includes in mach-meson 
 
- ARM64 DT - Add initial support for A311D2 
- Add AN400 board 
- Add gpio_intc, power domain for C3 SoC 
- Again some DT bindings fixes & cleanups 
 
- Drivers - Add C3 Power Domains 
- Explicitly include correct DT includes in Amlogic SoC drivers 
- fix to avoid potential NULL pointer dereference in meson_sm 
- Merge of genpd-v6.5-rc1-1 to move genpd amlogic drivers 
 
- Clocks - dt-bindings: expose all clock ids 
- Migrate gxbb clock controllers dt-bindings to schema 
 
v6.5¶
- ARM DT - correct uart_B and uart_C clock references for meson8 & meson8b 
 
- ARM64 DT - Introduce initial DT for Amlogic C4 SoC based AW409 
- add missing cache properties 
 
- Drivers - tag some powers domains as always-on for secure-pwrc 
- fix MAINTAINERS entry for PHY drivers & bindings 
- Amlogic Meson GPIO interrupt controller binding to yaml conversion 
 
- Clocks - Add amlogic a1 SoC family PLL and peripheral clock controller support 
- Fix maintainers file pattern mistake 
- Remove unneeded semicolon 
 
v6.4¶
- Drivers - convert clk-measure.txt to dt-schema 
- meson-pwrc: Use dev_err_probe() 
- meson_sm: populate platform devices from sm device tree data 
- dt-bindings: Drop unneeded quotes 
 
- ARM64 DT - New boards are added: - BananaPi M2S, which can be mounted with pin2pin compatibles A311D or S922X SoCs 
- BPI-CM4 module with BPI-CM4IO baseboard, a RPI CM4 compatible module & baseboard 
 
- set of DT bindings check fixes 
- adjust order of some compatibles to match dt-schema migration 
- gxbb-kii-pro: add audio & bluetooth support 
- meson-a1: add gpio_intc node 
- gxl: use gxl mdio multiplexer 
 
- ARM DT - adjust order of some compatibles 
- meson8: add the xtal_32k_out pin 
- meson8: add the SDXC_A pins 
- mxiii-plus: Enable Bluetooth and WiFi support 
 
v6.3¶
- Drivers - Addition of NNA power domain for A311D SoC 
- meson_sm.txt conversionto dt-schema 
- mark amlogic,meson-gx-pwrc bindings as deprecated 
- fix of meson_sm driver by using NULL instead of 0 
 
- ARM64 DT - New boards are added: - Odroid-N2L using S922X (Smaller version of Odroid-N2+) 
- BananaPi M2-Pro using S905X4 (Variant of BPI=M5 with on-board wifi) 
- Radxa Zero2 using A311D (Faster version of Radza Zero) 
 
- A cleanup & fixup of the ARM64 DT has started, first by covering easy mistakes like invalid node names & missing unit address. This goes along a complete migration of bindings to dt-schema, which are merged by the respective maintainers, the migration will cover the next Lnux versions. 
- In addition, the following changes are added: - Add DT node for the VIPNano-QI on the A311D, a Neural Network variant of the Vivant GPU core 
- remove CPU opps below 1GHz for G12A boards, like it was done for G12B/SM1 
- Fix WiFi/Bt definition around P212 & Khadas VIM1 
- Add audio node to P212 
- Fix FAN trip definition to Odroid-HC4 
- Fix gpio-fan gpios definition 
- Permit Radxa Zero OTG on USB1 
- Fix VDDIO_C enable gpio by using OPEN DRAIN flag 
 
 
- ARM DT - align OPP table names with DT schema 
- meson8/8b: Add more L2 (PL310) cache properties 
- align LED node names with dtschema 
 
v6.2¶
- ARM64 DT - Support for SPI clk pullups on pre-G12A 
- Active cooling on Odroid N2/N2+ 
- DDR PMU on G12A, G12B & SM1 
- Update cache properties in Amlogic DTs 
- remove clock-frequency from rtc in Amlogic DTs 
- Initial support of the new Portable Game Console from Hardkernel: Odroid Go Ultra 
 
- Clocks - Adds 2 PLL driver fixups 
 
v6.1¶
- MAINTAINERS - Updated work e-mail of Neil Armstrong 
 
- ARM64 DT 
add Bindings & DT for Beelink GT1 Ultimate
Remove invalid ‘enable-active-low’ on SM1 & G12A boards
add Bindings & DT for the new JetHub D1p
- ARM DT - Hold reference returned by of_get_parent() in meson_pwrc 
 
- Clock - Adds 2 PLL driver fixups 
 
v6.0¶
- ARM64 DT 
adjust whitespace around ‘=’
add reset controller node for Meson-S4 SoC
correct gpio-keys properties
align gpio-key node names with dtschema
add gpio-fan control to GS-King-X
- ARM DT - adjust whitespace around ‘=’ in ARM meson DT 
 
- ARM - Fix refcount leak in meson_smp_prepare_cpus 
 
- Drivers - Fix refcount leak in meson-secure-pwrc.c 
- Fix refcount leak in meson_mx_socinfo_init 
 
- Display - Correct OSD1 global alpha value 
- drm/meson: Fix OSD1 RGB to YCbCr coefficient 
 
v5.19¶
- ARM64 DT 
DTS makefile alpha sort
align SPI NOR node name with dtschema
add support for S4 power domain, gpio_intc, pinctrl
updates and fixes for JetHub D1/H1 boards
- ARM DT - align SPI NOR node name with dtschema 
 
v5.18¶
- ARM64 DT 
New Boards
Amediatek X96-AIR (Amlogic S905X3)
CYX A95XF3-AIR (Amlogic S905X3)
Haochuangy H96-Max (Amlogic S905X3)
Amlogic AQ222 (Amlogic S4)
OSMC Vero 4K+ (Amlogic S905D)
Initial support for Amlogic S4
Support for uart_ao_b & pwm_f on G12 SoCs
- Drivers - Add support for Amlogic S4 in meson-secure-pwrc power domain driver 
 
v5.17¶
- ARM64 DT 
Add missing cec nodes for Odroid-C4 & HC4
Fix thermal-zones indent for G12/SM1 SoCs dtsi
Fix GPU OPP table node name for G12/SM1 SoCs dtsi
Fix SPI NOR Flash node name for Odroid-N2/N2+
Fixes for GXBB Wetek boards:
Fix HDMI supply
Add missing gpio bindings include
Switch to new LED bindings
P241 additions
Add VCC 5v regulator
Add sound nodes
- clocks - Fix MPLL0 gxbb SDM enable 
 
- DRM - Complete rework of HDMI & CVBS bridge structure to support NO_CONNECTOR flag 
 
v5.16¶
- ARM64 DT - New Boards (with bindings): - Radxa Zero 
- Jethub D1 & H1 ho2 
 
 
- SoC Drivers - soc: amlogic: meson-gx-socinfo: Add the SOC ID for the S905Y2 used in the Radxa Zero 
- soc: amlogic: meson-clk-measure/canvas: Make use of devm_platform_ioremap_resource() 
 
v5.15¶
- ARM64 DT - nanoki-k2: enable bluetooth 
- khadas vim & vim2: improve wifi 
- add audio to nodes vega-s95 
- add audio to nodes nexbox-a1 
 
- ARM DT - meson8: use a default higher default GPU clock to solve probe failure 
- meson: add AIU audio controller and codec for ec100 
- meson8b: fix pwm regulator supply property name 
 
- Misc - Enable CONFIG_MMC_MESON_MX_SDHC controller used on meson8/8bEnable CONFIG_MMC_MESON_MX_SDHC controller used on meson8/8b 
 
v5.14¶
- ARM64 DT - new boards: Banana Pi M5 
- set 128bytes FIFO size on uart A 
- meson-sm1: add toacodec node to use internal audio DAC 
- enable hdmi audio loopback on VIM3 board 
- various fixes for Odroid C4/HC4 regulators handling, USB and SPI NOR Flash for HC4 
 
- ARM DT - Set the fifo-size of uart_A to 128 bytes like the ARM64 counterpart 
 
- ARM64 SoC Drivers - meson-ee-pwrc: Rename “get_power” to “is_powered_off” 
 
- Clocks - Use determine_rate() for the pll ops instead of round_rate() 
- Restrict gp0/1 and audio plls range on g12a/sm1 
- Improve axg-audio controller error on deferral 
- Add NNA clocks on g12a 
 
v5.13¶
- ARM64 DT - new boards: MeCool KII & KIII, Minix NEO U9-H 
- used fixed index for MMC devices 
- updates/cleanups for Hardkernel Odroid N2/N2+ 
 
- drm/bridge: dw-hdmi: disable loading of DW-HDMI CEC sub-driver 
- Audio FIFO Depth/IRQ fixes for G12A/G12B/SM1 
v5.12¶
- Clock Changes - pll driver fixup 
- meson8b clock controller dt support clean up 
- remove mipi clk from the axg clock controller 
 
- ARM SoC drivers - ARM64 DT - new board: Hardkernel ODROID-HC4 (SoC: SM1) 
- new board: Beelink GS-King-X (SoC: S922X) 
- shorten shorten audio card names for alsa compatibility 
- misc cleanups & fixes 
 
- ARM DT - add thermal zones with cooling configuration 
 
- ARM Kconfig - enable support for the ADC thermal sensor as module 
 
- Other subsystems - tty: serial: meson: enable console as module 
 
 
v5.11¶
- Clock Changes - Add MIPI DSI clocks for axg and g12 
- Make it possible to build controllers as modules 
- Fix Video PLL clock dependency 
 
- ARM SoC drivers - enable building as modules 
- reset API updates 
 
- ARM64 DT - AXG SoCs: add/enable PCIe & USB OTG support 
- AXG SoCs: add MIPI DSI support 
- Khadas VIM: add RTC 
- several cleanups & fixups 
 
- ARM DT - audio support for several more boards 
- PHY timing fixes 
 
- ARM64 Kconfig - ship only the necessary clock controllers 
 
- Other subsystems - Add support for the Amlogic 2D Accelerator on AXG 
- Add AXG MIPI D-PHY driver on AXG 
- Add MIPI DSI support on the AXG PCI/MIPI Analog driver 
 
v5.10¶
- PCI: meson: Build as module by default 
- usb: dwc-meson-g12a: Add support for USB on AXG SoCs 
- dt-bindings: usb: amlogic,meson-g12a-usb-ctrl: add the Amlogic AXG Families USB Glue Bindings 
- usb: dwc3: meson: fix checkpatch errors and warnings 
- dt-bindings:iio:adc:amlogic,meson-saradc yaml conversion 
- drm/panfrost: add Amlogic GPU integration quirks 
- arm64: dts: meson: initial support for aml-s905x-cc v2 
- arm64: dts: meson: add support for the ODROID-N2+ 
- arm64: dts: meson: convert ODROID-N2 to dtsi 
- soc: amlogic: meson-ee-pwrc: add support for the Meson AXG SoCs 
- dt-bindings: power: amlogic, meson-ee-pwrc: add Amlogic AXG power controller bindings 
- clk: meson: axg-audio: fix g12a tdmout sclk inverter 
- clk: meson: add sclk-ws driver 
- arm64: dts: meson: vim3: make sound card common to all variants 
v5.9¶
- i2c: meson: fixup rate calculation with filter delay 
- i2c: meson: fix clock setting overwrite 
- ASoC: meson: cards: deal dpcm flag change 
- arm64: dts: meson: odroid-n2: add jack audio output support 
- arm64: dts: amlogic: meson-gx: add the Mali-450 OPP table and use DVFS 
- arm64: dts: meson: add support for the WeTek Core 2 
- arm64: dts: meson: add audio playback to khadas-vim3l 
- arm64: dts: meson: add audio playback to odroid-c4 
- crypto: amlogic-gxl - permit async skcipher as fallback 
- ARM: dts: meson: add the SDHC MMC controller 
- arm64: dts: meson-gx: Switch to the meson-ee-pwrc bindings 
- ARM: dts: meson8b: add power domain controller 
- ARM: dts: meson8m2: add resets for the power domain controller 
- ARM: dts: meson8: add power domain controller 
- clk: meson: meson8b: add the vclk2_en gate clock 
- clk: meson: meson8b: add the vclk_en gate clock 
- pinctrl: meson: fix drive strength register and bit calculation 
- drm/meson: crtc: handle commit of Amlogic FBC frames 
- drm/meson: overlay: setup overlay for Amlogic FBC 
- net: stmmac: dwmac-meson8b: use clk_parent_data for clock registration 
- drm: meson: dw-hdmi: Use dw_hdmi context to replace hack 
- net: stmmac: dwmac-meson8b: add a compatible string for G12A SoCs 
- dt-bindings: net: dwmac-meson: Add a compatible string for G12A onwards 
- drm/meson: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE 
v5.8¶
- drm/meson: viu: fix setting the OSD burst length in VIU_OSD1_FIFO_CTRL_STAT 
- arm64: dts: meson-gxl-s805x: reduce initial Mali450 core frequency 
- mmc: meson-mx-sdhc: Fix building with CONFIG_MMC_MESON_MX_SDHC=m 
- mmc: host: meson-mx-sdhc: new driver for the Amlogic Meson SDHC host 
- mmc: meson-mx-sdio: trigger a soft reset after a timeout or CRC error 
- phy: amlogic: meson-gxl-usb3: remove code for non-existing PHY 
- arm64: dts: amlogic: use the new USB control driver for GXL and GXM 
- usb: dwc3: meson-g12a: add support for GXL and GXM SoCs 
- arm64: dts: meson-g12b-gtking-pro: add initial device-tree 
- arm64: dts: meson-g12b-gtking: add initial device-tree 
- arm64: dts: meson: convert ugoos-am6 to common w400 dtsi 
- arm64: dts: meson: add support for the Smartlabs SML-5442TW 
- arm64: dts: meson-sm1: add support for Hardkernel ODROID-C4 
- arm64: dts: meson: libretech-pc: add initial audio playback support 
- arm64: dts: meson: libretech-ac: add initial audio playback support 
- arm64: dts: meson: libretech-cc: add initial audio playback support 
- arm64: dts: meson: p230-q200: add initial audio playback support 
- soc: amlogic: meson-ee-pwrc: add support for the Meson GX SoCs 
- soc: amlogic: meson-ee-pwrc: add support for Meson8/Meson8b/Meson8m2 
- phy: amlogic: meson8b-usb2: Add a compatible string for Meson8m2 
- phy: amlogic: meson8b-usb2: Don’t set REG_ADP_BC_ACA_ENABLE on Meson8 
- phy: amlogic: meson8b-usb2: Use a MMIO regmap 
- dt-bindings: phy: meson8b-usb2: Add compatible string for Meson8m2 
- dt-bindings: phy: meson8b-usb2: Convert to json-schema 
- net: stmmac: dwmac-meson8b: add support for the RX delay configuration 
- net: stmmac: dwmac-meson8b: Make the clock enabling code re-usable 
- drm/meson: add mode selection limits against specific SoC revisions 
- clk: meson: meson8b: Don’t rely on u-boot to init all GP_PLL registers 
- arm64: dts: meson-gxbb-kii-pro: fix board compatible 
- arm64: dts: meson: fixup SCP sram nodes 
- clk: meson: meson8b: Fix the polarity of the RESET_N lines 
- clk: meson: meson8b: Fix the first parent of vid_pll_in_sel 
- dt-bindings: sram: Add Amlogic SCP SRAM compatibles 
v5.7¶
- Update audio clock gate hierarchy for meson8 and gxbb 
- Update g12a spicc clock sources 
- spicc: Add support for G12A 
- A1: Add secure power domain controller 
- Add VP9 HW decoder 
- DT updates: - fix gxm-khadas-vim2 wifi 
- odroid-c2: add rc-odroid ir keymap 
- p212: add bluetooth nodes 
- s95: fix bluetooth node 
- g12b: fix N2/VIM3 audio card model names 
- khadas-vim3: move model to g12b-khadas-vim3 dtsi 
- add thermal zones to meson gx devices 
- add pdm reset line 
- s400: fix sound card codec nodes 
- sei510: fix sound card codec node 
- a1: add secure power domain controller 
- add rc-videostrong-kii-pro keymap 
- g12-common: add parkmode_disable_ss_quirk on DWC3 controller 
- g12-common: add spicc controller nodes 
- g12: split emmc pins to select 4 or 8 bus width 
- g12: add the SPIFC nodes 
- khadas-vim3: add SPIFC controller node 
- g12b-odroid-n2: add SPIFC controller node 
 
v5.6¶
- irqchip/meson-gpio: Add support for meson a1 SoCs 
- add reset controller for Meson-A1 SoC 
- a1: add pinctrl controller support 
- add libretech-pc boards support 
- meson-gxbb: add support for Videostrong KII Pro 
- vdec: add sm1 platform 
- vdec: add g12a platform 
- add a driver for the Meson8/8b/8m2 DDR clock controller 
v5.5¶
- drm/meson: add support for suspend/resume 
- GXL/GXM: add a driver for the HW crypto IP block 
- G12A/G12B/SM1: Add thermal zone support 
- G12A/G12B/SM1: add PCIe support 
- DT updates: - A1: initial SoC support 
- G12A/G12B/GX/SM1: keep the wifi module enabled in suspend (so it can wake up the board) 
- G12A/G12B/SM1: enable thermal zone support 
- G12A/G12B/SM1: enable PCIe support 
- G12A/G12B: add simplefb support 
- GXBB: add more regulators for Odroid-C2 
- GXL/GXM: enable the HW crypto accelerator 
- SM1: add audio support 
- SM1: enable audio on SEI610 
 
- New board support - Amlogic AD401 (A1) 
- Ugoos AM6 (G12B, S922X) 
 
v5.4¶
- G12B: add the SoC ID for the A311D SoC 
- G12B: add support for the second CPU cluster in the meson-clk-measure driver 
- G12A/G12B: make the CPU clock trees mutable 
- DT updates: - G12A/G12B: use a common .dtsi for both SoCs 
- G12A/G12B: add the pwm_a pin (used for the CPU voltage regulator) 
- G12A/G12B: use the correct Ethernet FIFO sizes 
- G12A: add the CPU OPP table 
- G12B: add the CPU OPP table 
- G12A: enable CPU DVFS (dynamic voltage and frequency switching) 
- G12B: add the CPU OPP table 
- G12B: enable CPU DVFS (dynamic voltage and frequency switching) 
- GX: use the correct Ethernet FIFO sizes 
- GX: add the video decoder 
- Meson8b: use the correct Ethernet FIFO sizes 
- Meson8b: add the VDDEE (GPU and other parts of the SoC) regulator on all supported boards 
- Meson8b: use the Ethernet MAC address from the eFuse on Odroid-C1 
 
- New board support - Khadas VIM3 (G12B, S922X or A311D) 
- Khadas VIM3L (SM1, S905D3) 
- SEI Robotics SEI610 (SM1, S905X3) 
 
v5.3¶
- all SoCs: PWM driver improvements 
- AXG: move spread spectrum to MPLL2 
- G12A: add support for thetohdmitx audio controller 
- G12A: fix the name of the MPLL 50M clock ID 
- G12A: initialize MPLL registers correctly 
- G12A: add drive-strength-microamp support in the pinctrl driver 
- G12B: add support for the second CPU cluster clocks 
- G12A/G12B: add support for the thermal sensor clock 
- G12A/G12B: add GPIO IRQ support 
- G12A/G12B: use interrupt based OTG switching 
- GX: add support for the XBGR8888 and ABGR8888 color formats 
- GXBB: remove incorrect spread spectrum on MPLL0 
- Meson8/Meson8b/Meson8m2: add support for the audio clocks 
- Meson8/Meson8b/Meson8m2: add support to the canvas video lookup-table 
- DT updates: - G12A: add the PWM controllers 
- G12A: add the IR decoder 
- G12A: enable the IR decoder on the U200 and X96 Max boards 
- G12A: add the SD and eMMC controllers 
- G12A: enable SD card and eMMC on the U200 and SEI510 boards 
- G12A: add clocks to the AO UART controllers 
- G12A: add the I2C busses 
- G12A: enable the I2C bus with the RGB LED controller on SEI510 
- G12A: add the audio controllers 
- G12A: add the Ethernet controller and MDIO mux 
- G12A: enable the internal PHY on the U200 and SEI510 boards 
- G12A: add the SDIO controller 
- G12A: enable the SDIO WiFi module on the X96 Max and SEI510 boards 
- G12A: enable Bluetooth on the X96 Max and SEI510 boards 
- G12A: enable the SDIO MMC controller and enable wifi on supported boards 
- G12A: enable audio support on the X96 Max 
- G12A: enable audio support on the SEI510 
- G12B: add support for the S922X SoC 
- G12B: minimal support for the Odroid-N2 
- G12B: enable audio support on the Odroid-N2 
- G12A/G12B: add the Ethernet controller and enable it on all supported boards 
- G12A/G12B: add the GPIO interrupt-controller 
- G12A/G12B: switch to (GPIO) interrupt driven PHY status updates 
- G12A/G12B: enable the RNG 
- GX: fix eMMC pin bias and set max-frequency 
- GXBB: add more supported SD card modes on Odroid-C2 and NanoPi K2 
- GXBB: enable Bluetooth on the Wetek boards 
- GXBB: fix reading the chip temperature on some Wetek boards 
- GXBB: enable HDMI CEC on the Tronsmart Vega S95 boards 
- GXBB: fix reading the chip temperature on some Tronsmart Vega S95 boards 
- GXBB: add Bluetooth support on the Tronsmart Vega S95 boards 
- GXBB: use an interrupt instead of polling the Ethernet PHY status on the Tronsmart Vega S95 boards 
- GXL: correct eMMC module voltage and mark it as removable on Libretech CC 
- GXM: update eMMC settings for Khadas VIM2 
- GXM: enable Bluetooth on the Khadas VIM2 
- Meson8b: improve support for the Tronfy MXQ S805 
- Meson8/Meson8b/Meson8m2: add the canvas video lookup-table 
- Meson8m2: add the mali-supply on the MXIII-Plus board 
 
- New board support - Hardkernel Odroid-N2 (G12B, S922X) 
 
v5.2¶
- G12A: add CPU clocks (read-only for now) 
- G12A: add the PCIe PLL clocks 
- G12A: new USB2 PHY driver 
- G12A: new PCIe / USB3 combo PHY driver 
- G12A: add G12A SoC support in the SAR ADC driver 
- G12A: support for the internal PHY 
- G12A: new MDIO mux driver 
- G12A: support for G12A in the ASoC drivers for AXG 
- G12A: support for the audio clock controller 
- G12A: support for the USB control IP 
- G12A: support for the peripheral-only dwc2 
- G12A: support in the PWM controller driver 
- Meson GX/AXG MMC: clean-ups and clock phase tuning updates 
- Meson8/Meson8b/Meson8m2: support for the VDEC clocks 
- Meson8/Meson8b/Meson8m2: support for the VPU clocks 
- DT updates - G12A: add the secure monitor 
- G12A: add the eFuse 
- G12A: add the AO clock and reset controller 
- G12A: add the AO and EE pin controllers 
- G12A: add the reset controller 
- G12A: add HDMI and CVBS video outputs 
- G12A: add the HDMI CEC controllers 
- G12A: add the SAR ADC 
- G12A: add the Mali-G31 GPU 
- G12A: prepare USB support 
- G12A: add regulators for various boards 
- G12A: enable the Bluetooth module on X96 Max 
- GXM: add the Mali-T820 GPU 
- GXM: enable USB on the Nexbox A1 
- Meson8b: gpio-line-names for Odroid-C1 
- Meson8b: enable the RTC on EC-100 
- Meson8b: prepare support for the RTC on Odroid-C1 
- Meson8/Meson8b: enable the clock measurer 
 
- New board support - SEI Robotics SEI510 (G12A, S905X2) 
 
v5.1¶
- clkmsr: add support for AXG and G12A in the “clock measurer” driver 
- clk: claim clock controller input clocks from DT 
- clk: rework dependencies and make the drivers more modular 
- NAND: controller driver for GXL/GXM/AXG 
- RTC: new driver for Meson6/Meson8/Meson8b/Meson8m2 
- GX: add support for the 32kHz clock sub-tree in the AO clock controller 
- G12A: add a driver for the peripheral clock controller 
- G12A: fix pin controller pull registers 
- Meson8b: add the RXD2 and RXD3 pins to the pin controller driver 
- Meson8/Meson8b/Meson8m2: add the GPU clock tree 
- Meson8b/Meson8m2: add support for the temperature sensor in the SAR ADC driver 
- DT Updates - AXG: add the SPDIF input 
- AXG: add the eFuse 
- AXG: enable SPDIF input on the S400 board 
- AXG: fix eMMC maximum frequency on the S400 board 
- AXG: enable SDR104 mode for the SDIO WiFi module 
- AXG: enable the clock measurer 
- GX: Add canvas provider node to the VPU 
- G12A: fix bus descriptions 
- G12A: enable the clock measurer 
- G12A: add the main clock controller 
- Meson8/Meson8m2: add the Mali-450 MP6 GPU 
- Meson8b: add the Mali-450 MP2 GPU 
- Meson8b: add missing RGMII Ethernet RXD pins 
- Meson8b: enable the temperature sensor on EC-100 and Odroid-C1 
- Meson8b: enable the PHY interrupt on EC-100 
- Meson8b: add the GPIO line names on EC-100 
- Meson8b: add more regulators for EC-100 
- Meson8m2: enable the temperature sensor on MXIII-Plus 
- Meson8/Meson8b/Meson8m2: add temperature sensor calibration data from eFuse 
 
- New board support - X96 Max from Shenzhen Amediatech Technology Co., Ltd (G12A, S905X2) 
 
v5.0¶
- Support for Canvas shared module from DRM 
- Support for DRM Video Overlay and Primary plane scaler 
- Support for HDMI 1.4 4K resolutions 
- Support for HDMI Alternative 29.97Hz/59.94Hz clocks 
- Meson8/Meson8b/Meson8m2/GXBB: fix USB hot-plugging 
- Meson8/Meson8b/Meson8m2: CPU clock driver fixes 
- Meson8/Meson8b/Meson8m2: make the CPU clock tree mutable 
- Meson8/Meson8b/Meson8m2: add the CPU post-divider clocks 
- GX: add video clocks in the Common Clock Framework driver (read-only) 
- Meson8/Meson8b/Meson8m2: add video clocks in the Common Clock Framework driver (read-only) 
- pinctrl: fix for setting the bias 
- Implemented a “clock measurer” driver which helps with clock driver development 
- Implement the ARM delay timer (32-bit SoCs only) in our timer driver 
- Add initial support for the temperature sensor on Meson8 in the SAR ADC driver 
- DT Updates - all: disable pinctrl bias 
- all: fix MMC card detection GPIO polarity 
- all: fix the Ethernet IRQ (fixes Ethernet performance) 
- AXG: add secure monitor and SCPI support (enables CPU frequency scaling) 
- AXG: add Bluetooth support on the S400 board 
- AXG: remove non-existent alternate XTAL 
- AXG: enable the watchdog 
- AXG: add the inputs for the clock controllers 
- AXG: enable the GPIO interrupt controller 
- AXG: enable the Ethernet PHY interrupt on the S400 board 
- AXG: fix the Ethernet IRQ (fixes Ethernet performance) 
- GX: add the pclk for the efuse 
- GX: add the HDMI 5V regulator on all boards 
- GX: enable the “clock measurer” 
- GXBB: fix GPIO line names on NanoPi K2 
- GXBB: fix GPIO line names on Odroid-C2 
- GXBB: add the inputs for the clock controllers 
- GXL: enable Bluetooth on the Khadas VIM 
- GXL: add the inputs for the clock controllers 
- GXL: fix GPIO line names on Libretech CC 
- GXL: fix GPIO line names on Khadas VIM 
- GXL: disable EEE (Energy Efficient Ethernet) on P230 
- Meson6/Meson8/Meson8b/Meson8m2: add all timer interrupts 
- Meson6/Meson8/Meson8b/Meson8m2: add the timer’s clock inputs 
- Meson8/Meson8b/Meson8m2: add the ARM TWD timer 
- Meson8/Meson8b/Meson8m2: prepare support for the ARM Global Timer 
- Meson8/Meson8b/Meson8m2: enable CPU frequency scaling 
 
- New board support - PHICOMM N1 (GXL, S905D) 
- Libretech aml-s805x-ac, aka ‘La Frite’ (GXL, S805X) 
 
v4.20¶
- meson-sm: add serial number sysfs entry 
- canvas video lookup-table driver 
- clk-pll: add the enable bit 
- clk-pll: split the OD (post-divider) into separate clocks 
- clk-pll: remove hardcoded rate tables 
- pinctrl: fix pull (up / down) setting for the AO pins 
- minor code improvements in the SAR ADC driver 
- AXG: round audio system master clocks down 
- AXG: don’t use mpll3 as PCIe clock parent 
- Fix for DRM crtc_vblank errors 
- DT updates - AXG: add the audio FIFOs 
- AXG: add the PDM audio controller 
- AXG: enable audio support on the S400 board 
- GX: increase shared CMA pool memory size for 4K video support 
- GX: add canvas node 
- GXL: update model name of the Libre Computer Board AML-S905X-CC board 
- Meson8/Meson8b: fix the clock controller register size 
- Meson8b: add Odroid-C1 voltage regulators 
- Meson8b: enable SAR ADC on Odroid-C1 
- Meson8b: add /chosen/stdout-path property for earlycon support on Odroid-C1 
- G12A: basic SoC support 
 
- New board support - Endless Mini (EC-100) (Meson8b, S805) 
 
v4.19¶
- add support for the phase, triple phase and audio sclk divider clock types 
- remove audio divider clock type 
- remove support for obsolete register access in the AXG and GXBB clock controller drivers 
- add support for the gen_clk clock on AXG/GXL/GXM 
- AXG: new driver for the audio clock controller 
- AXG: new driver for the audio subsystem 
- AXG: add support for the PCIe and MIPI clocks 
- AXG: add support for the gen_clk_ee function of the pin controller 
- GXBB: add support for the gen_clk_out function of the pin controller 
- GXL: add support for the S805X and S905W SoCs 
- DT updates - AXG: add SPDIF output, PDM and SPDIF input pins 
- AXG: add SAR ADC support 
- AXG: add 12V supply on S400 
- AXG: add speaker amplifier and speaker LEDs on S400 
- AXG: enable ADC buttons on S400 
- AXG: add the audio clock controller 
- GXBB: enable HDMI, CEC and CVBS on NanoPi K2 
- GXL/GXM: enable SAR ADC on P231 and Q201 
- GXM: fix cooling cells on Khadas VIM2 
 
- New board support - Amlogic P241 (GXL, S805X) 
- Amlogic P281 (GXL, S905W) 
- Oranth Tanix TX3 Mini (GXL, S905W) 
 
v4.18¶
- AXG: MMC controller driver support 
- Meson8m2: add pinctrl support 
- AXG: add Meson AXG support to the dwmac-meson8b Ethernet driver 
- memory allocation fix for the pwm-meson driver (which can cause memory corruption) 
- Meson8/Meson8b/Meson8m2: add support for the NAND clocks 
- AXG: add support for the AO clock controller 
- the MPLL clock driver can now round to the closest rate (based on the requested rate) 
- Meson GX/AXG MMC: support for the reset line 
- DT updates - GX: add hiubus system controller 
- GX: add alternative ATF reserved memory region (fixes GXBB boards with newer ATF/Amlogic u-boot) 
- AXG: add hiubus system controller 
- AXG: SD/eMMC/SDIO support (sd_emmc_b and sd_emmc_c controllers) 
- AXG: S400: add eMMC storage 
- AXG: S400: add AP6255 SDIO wifi 
- AXG: S400: fix Ethernet stability 
- AXG: GPIO interrupt support 
- AXG: add the 32K alt aoclk 
- GX/AXG: add MMC resets 
- GX/AXG: fix MMC register ranges 
- GXL: disable SD UHS modes on LibreTech CC (“Le Potato”) 
- GXL: add PHY supply (USB VBUS) for P212 and Khadas VIM 
- GXL: fix Mali-450 GPU compatible string 
- Meson8: add Cortex-A9 PMU 
- Meson8b: add Cortex-A5 PMU 
- Meson8b: Odroid-C1: enable the IR receiver 
- Meson8m2: add support for this SoC (“S812”) 
 
- New board support - Tronsmart MXIII Plus (Meson8m2) 
 
v4.17¶
- GX VPU power domain driver: small bugfixes 
- reset driver: add support for level resets on Meson8b 
- cleanups for the dwmac-meson8b driver (used on Meson8b/GXBB/GXL/GXM) 
- clock and reset support for the USB2 PHY driver on GXL/GXM 
- Meson8b GPIO driver fixes which make the GPIOs from the CARD, BOOT and DIF banks usable again 
- usb: core: support for multiple PHYs per HCD (pre-condition for USB host on GXL/GXM) 
- dwc3 support for GXL/GXM/AXG (pre-condition for USB host on GXL/GXM) 
- fix ghost key presses in the IR remote driver 
- new USB3 PHY driver for GXL/GXM/AXG 
- PLL fixes for GXBB, GXL and AXG 
- use regmap in clock controller drivers 
- general clock updates for Meson8, GXBB, GXL and AXG 
- add more SoC IDs (including S905W) to the GX SoC information driver 
- SAR ADC support for the Meson AXG SoCs 
- Meson8m2 support for the dwmac-meson8b (Ethernet) driver 
- DT updates - GXL: add internal PHY interrupt 
- GX: fix UART register range 
- AXG: add i2c support 
- AXG: add pinctrl pins for RMII and UART 
- GX: add ethernet0 alias (to make Linux use the MAC address from u-boot) 
- Meson8b: update reset controller register range 
- Meson8: add reset controller and USB reset lines 
- Meson8b: Odroid-C1 Ethernet support 
- Meson8b: add the I2C clocks 
- GXBB: Odroid-C2: reduce eMMC maximum rate (fixes data corruption) 
- GXBB: add a wetek specific dtsi 
- GXBB/GXL: bump Mali-450 clock to 744MHz 
- GX: mark eFuse as read-only 
- GXL: USB host support 
- GXM: USB host support 
- GXL: enable USB host support on the following boards: - Khadas VIM 
- LibreTech CC (“Le Potato”) 
- Amlogic P212 
- Amlogic P230 
- Amlogic P231 
- Nexbox A95X 
 
- GXM: enable USB host support on the following boards: - Khadas VIM2 
- Amlogic Q200 
- Amlogic Q201 
 
 
v4.16¶
- internal Ethernet PHY on GXL: code-improvements 
- Ethernet (RGMII TX) clock (dwmac-meson8b) fixes for Meson8b 
- DT updates - all SoCs: dropped SANA (“stream analyzer”) clock from SAR ADC 
- Meson8: updated L2 cache settings 
- Meson8b: updated L2 cache settings 
- Meson8/Meson8b: switch to the stable UART bindings 
- Meson8: enable GPIO IRQ support 
- GX: VPU power domain support 
- GX: add 5V HDMI regulator 
- GX: HDMI and CEC support on Odroid-C2 
- GX: use generic bus node names 
- GX: fixed Ethernet PHY GPIO interrupt line on GXM Q200 
- GX: add Ethernet PHY GPIO interrupt line on Khadas VIM2 
 
v4.15¶
- USB controller interrupt fix for Meson6/Meson8/Meson8b 
- SoC information driver for Meson6/Meson8/Meson8b/Meson8m2 
- SD/MMC/SDIO driver for Meson6/Meson8/Meson8b/Meson8m2 
- pinctrl: cleanups and minor fixes 
- GPIO IRQ support on Meson GX as well as Meson8/Meson8b/Meson8m2 
- eFuse driver for Meson6/Meson8/Meson8b/Meson8m2 
- SMP (multi-core) and CPU hotplug support on Meson8/Meson8b/Meson8m2 
- VPU power domain support on Meson GX 
- internal Ethernet PHY on GXL: auto-negotiation fix 
- UART SysRq 
- minor fixes for the SAR ADC on Meson8 and Meson8b 
- DT updates - Meson8b: add reserved-memory zones to fix system freezes 
- Meson8b: add USB support on Odroid-C1 
- Meson8b: enable GPIO IRQ support 
- Meson8/Meson8b: add the SDIO MMC controller 
- Meson8/Meson8b: add SMP and CPU hotplug support 
- Meson6/Meson8/Meson8b: add the eFuse 
- GX: enable the SAR ADC on Libre Tech CC 
- GX: enable the internal Ethernet PHY LEDs on Libre Tech CC 
- GX: enable the USB on Nexbox A95X (GXBB) 
- GX: pinctrl offset cleanup 
- GX: enable GPIO IRQ support 
 
- New board support - Khadas VIM2 (GXM) 
- Tronsmart Vega S96 (GXM) 
 
v4.14¶
- clock controller driver updates - GX: add SD/eMMC clocks 
- GX: fix divider flags 
- GX: add the AO CEC clock 
- Meson8/Meson8b: register reset controller built into the clock-controller 
 
- DT updates - GX: GPIO line names for Khadas VIM and NanoPi K2 
- GX: CEC support (for all boards where HDMI is enabled) 
- GX: use the correct MMC clocks 
- GX: add MMC regulator settle times for NanoPi K2, Libre Tech CC, P200 and P201 
- GX: enable SD card UHS modes on NanoPi K2, Libre Tech CC, P200 and P201 
- GX: enable SD card SDR104 mode on NanoPi K2 
- GX: update to use stable UART bindings (fixes HCI UART where the bootloader doesn’t enable the UART clocks) 
- Meson8/Meson8b: add the SRAM 
- Meson8: PWM support 
- Meson8b: cleanup duplicate code in watchdog node 
 
- GX: SoC information driver (SoC version, etc.) 
- AO CEC Driver 
- Watchdog support for Meson8m2 
v4.13¶
- DT cleanups - GX: reorganize alphabetically to better avoid conflicts 
- Meson6/8/8b: use interrupt pre-processor macros instead of magic numbers 
 
- add HDMI and CVBS nodes for multiple GX boards 
- pinctrl updates: - GX: add SPI (SPICC) and HDMI CEC pins 
- Meson8: (AO) HDMI CEC, AO remote output, I2S, SPDIF and PWM pins 
 
- SCPI: fix thermal sensor reporting 
- Meson8 support for the SAR ADC driver 
- USB PHY driver for Meson GXL/GXM 
- SPICC (SPI Communication Controller) driver 
- Meson8 clock controller support 
- USB support for Meson8 and Meson8b 
- Hardware random number generator support for Meson6, Meson8 and Meson8b 
- reserved memory zones (to prevent random crashes) on Meson8 
- New board support 
NanoPi K2 (GXBB)
R-Box Pro (GXM)
v4.12¶
- DRM/KMS: added support for HDMI output 
- clocks: added clocks for audio, GFX (Mali) 
- pinctrl: added pins for audio, missing pins for GXL/GXM 
- phy: added GPIO resets for ethernet PHYs 
- Add clocks and DT node for Mali-450 support for GXBB/GXL (using off-tree driver) 
- usb: dwc2 support for Meson8 
- i2c: driver code improvements and code cleanup 
- Meson GX MMC - performance improvements 
- eMMC calibration support 
- CMD23 support 
- misc. cleanup and refactoring 
- descriptor chaining (DMA) support 
 
- Enhanced board support - Amlogic P212 (S905X) 
 
- new boards - Khadas Vim (S905X) 
- HwaCom AmazeTV (S905X) 
 
v4.11¶
- SAR ADC support 
- ADC laddered keys (P200 board) 
- New board support - Wetek Play (S905) 
- Wetek Hub (S905) 
 
v4.10¶
- Meson GX MMC support, including SDIO WLAN 
- Meson GXBB USB (host) support 
- Meson GXL internal (100Mbit/s) PHY support 
- initial support for the GXL (S905D/S905X) and GXM (S912) SoCs 
- SCPI support for GXBB 
- CPU DVFS (using SCPI) 
- Meson GX DRM basics along with CVBS output 
- new board support - Amlogic P230 (S905D) 
- Amlogic P212 (S905X) 
- Nexbox A95 (S905) 
- Nexbox A1 (S912) 
 
v4.9¶
- Meson GX Secure Monitor 
- Enhanced Meson GXBB Ethernet support 
- Meson GX SPIFC support 
- Meson GX I2C support 
- Meson8b and GX PWM support 
- USB host support 
- clocks: added AO clocks and reset 
- MHU / mailbox support 
v4.8¶
- Meson GXBB Ethernet support 
- Meson GXBB Hardware Random Number Generator 
- Meson GXBB Watchdog driver 
- Meson 8b and GXBB support for the IR remote driver 
v4.7¶
- MesonGXBB pin control support 
- earlycon support in serial driver 
- Initial device trees for Amlogic reference boards P200 and P201 (S905) 
- Initial device tree for Hardkernel ODROID-C2 (S905) 
v4.6¶
- Initial GXBB family support (clocks, serial) 
- Initial device trees for Tronsmart Vega S95 (S905) 
v4.5¶
- Meson8b watchdog support / Reboot 
- ODROID-C1 status LED support 
- Serial driver bugfixes 
v4.4¶
- Initial Meson8b device trees for Hardkernel ODROID-C1 (S805) and Tronfy MXQ (S805) 
v4.2¶
- Clock controller driver added 
v4.1¶
- MINIX NEO X8 board support (M8-S802) 
- Meson8b GPIO & pin control driver added 
v4.0¶
- Meson6/Meson8 GPIO & pin control driver added 
v3.19¶
- Core Meson8 support added 
- I2C driver added 
- SPI flash driver added 
- IR remote control driver added 
- L2 cache enabled 
v3.18¶
- Core Meson6 support added 
- Geniatech ATV1200 board support (AML8726-MX) 
- UART driver added 
- Watchdog driver added 
- Timer/clocksource driver added 
- Ethernet controller enabled with glue added to - stmmacdriver
Work in Progress¶
WiP¶
- Meson DRM Features - Add Display support for pre-GX SoCs (xdarklight) 
- Add HDMI support for pre-GX SoCs which uses TranSwitch TXC-48352 (or similar part number from TranSwitch) (xdarklight) 
 
Stalled WiP¶
- HEVC HW Video Decoder (elyotna / narmstrong) 
- Meson GX System Suspend / Power Management (Neil Armstrong / narmstrong) (last patches) 
- convert existing devices to use the PWM LED driver to allow dimming the LEDs (Martin Blumenstingl / xdarklight) (last patches) 
TODO¶
- Support more boards (Amlogic based retail products should have PCB holes to enable Serial console with a simple USB to Serial TTL adapter, i.e. Sparkfun USB to Serial TTL cable) 
- USB OTG for Meson8/Meson8b (dwc2 does not get the OTG interrupts, instead Amlogic’s kernel code polls some USB PHY registers to detect the mode. maybe this could be solved by implementing [STRIKEOUT:extcon] usb_role_switch support in the USB2 PHY [STRIKEOUT:and]dwc2 (based on this RFC)) 
- Find a way to cap the SCPI cpufreq max frequency to re-enable DVFS on Odroid-C2 
- Meson DRM Features - Cursor Plane 
- More formats support for Primary Plane 
- ColorKey as DRM Attribute 
- CRTC Color correction attributes 
- CVBS Color optimizations as attributes 
 
- NAND controller driver support for Meson8/Meson8b/Meson8m2/GXBB 
