========================== Kernel mainlining progress ========================== Kernel Development Stats ------------------------ |image1| Changelog --------- v6.9 (work in progress) ~~~~~~~~~~~~~~~~~~~~~~~ - 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) - LVDS and LCD output support on supported boards (DSI narmstrong) 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 .. |image1| image:: Amlogic_Mainline_Linux_Commits.png