Kernel mainlining progress

Kernel Development Stats

image1

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