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
stmmac
driver
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