[rulkc] [GIT PULL] Amlogic changes for landau-linux v7.0
Dmitry Rokosov
rockosov at rulkc.org
Thu Aug 13 15:39:03 MSK 2026
Hi Dmitry and Sergey!
The following changes since commit 028ef9c96e96197026887c0f092424679298aae8:
Linux 7.0 (2026-04-12 13:48:06 -0700)
are available in the Git repository at:
ssh://git@git.rulkc.org/pub/scm/landau/linux/kernel/git/amlogic/linux.git tags/linux-amlogic/landau-v7.0
for you to fetch changes up to 0e0488eb915954f96e9ce4b40c0a9d8da6eebc19:
configs: introduce Khadas vim3 defconfig (2026-08-13 14:41:35 +0300)
----------------------------------------------------------------
Amlogic SoC updates for LANDAU Linux v7.0
----------------------------------------------------------------
This pull request contains a comprehensive set of updates for Amlogic
SoC support, including new clock controllers, audio improvements,
LED driver enhancements, and hardware enablement for various platforms.
Key highlights:
- New A1 CPU and audio clock controllers
- A1 SoC audio subsystem support (EQDRC, TDM, PDM, codec glue)
- New Amlogic BBT parser for NAND
- AW200xx LED driver enhancements with framebuffer support
- ES7243E audio ADC driver
- New defconfigs: Odroid-C1, Khadas Vim1/Vim3, AC200
----------------------------------------------------------------
New drivers introduced in this release:
1. HX3203 Ambient Light Sensor (IIO)
- Driver for Nanjing TianYiHeXin Electronics HX3203 ALS
- Features: 8-18 bit resolution, programmable gain (1x-64x),
interrupt support, I2C interface
2. ES7243E Audio ADC (ASoC)
- Driver for Everest Semiconductor ES7243E
- Four-channel audio ADC with PGA control
- Supports 8-48kHz sample rates, I2S interface
3. Amlogic A1 CPU Clock Controller
- Supports CPU frequency scaling with OPP table
- SysPLL management with DVFS notifier
4. Amlogic A1 Audio Clock Controller
- Comprehensive clock management for A1 audio subsystem
- Master clock generation and TDM support
5. Amlogic NAND BBT Parser (Amlogic format)
- Amlogic-specific bad block table format
- Reserved area management with record-based storage
6. AW200xx LED Driver Enhancements
- Added framebuffer support with backlight control
- Pattern controllers (3 independent patterns)
- HWEN pin support, configurable pattern parameters
----------------------------------------------------------------
Alexey Romanov (2):
drivers: mtd: nand: raw: amlogic: fix buffer overflow
mtd: spinand: micron: correct parameters for MT29F2G01ABAGD
Amirreza Zarrabi (1):
tee: optee: prevent use-after-free when the client exits before the supplicant
Arseniy Krasnov (3):
mtd: rawnand: meson: suppress OOB write
mtd: introduce BBT parser for Amlogic format
mtd: two fixes for Amlogic BBT parser
Dmitry Rokosov (17):
arm64: dts: amlogic: ad402: fix model name and dai-link-2 name
clk: meson: a1: pll: support 'syspll' general-purpose PLL for CPU clock
clk: meson: a1: peripherals: support 'sys_pll_div16' clock as GEN input
dt-bindings: clock: meson: add A1 CPU clock controller bindings
clk: meson: a1: add Amlogic A1 CPU clock controller driver
arm64: dts: amlogic: a1: add new syspll_in input for clkc_pll controller
arm64: dts: amlogic: a1: declare cpu clock controller
arm64: dts: amlogic: a1: add new input clock 'sys_pll' to clkc_periphs
arm64: dts: amlogic: a1: setup CPU power management
ASoC: meson: sm1-eqdrc: set continuous rates
iio: light: add Nanjing TianYiHeXin HX3203 Ambient Light Sensor driver
dt-bindings: leds: aw200xx: Fix maximum LED number for all Awinics
clk: meson: a1: apply dev pointer for pdev->dev for shorter usage
clk: meson: a1: audio: use meson common reset auxiliary driver
arm64: dts: amlogic: meson-a1: add reset for audio clock controller
ASoC: meson: sm1: eqdrc: use snd_kcontrol_chip()
ASoC: meson: t9015: replace idle_bias_off with idle_bias
Evgeny Bachinin (1):
mtd: spinand: esmt: OTP: fix pagesize as unused var
George Stark (16):
dt-bindings: pwm: amlogic: Add a new binding for meson a1 pwm types
leds: aw200xx: Drop manual aw200xx_disable() if probe failed
leds: aw200xx: Fix calculating display_rows
leds: aw200xx: Redesign driver's probing stage
leds: aw200xx: Fully initialize chip before registering LEDs
leds: aw200xx: Support default-state DT property
leds: aw200xx: Introduce separate internal aw200xx_dim_fill()
leds: aw200xx: Update led states thru delayed work queue
leds: aw200xx: Add support for framebuffer interface
dt-bindings: leds: aw200xx: add properties for framebuffer
drivers/leds: Add framebuffer and backlight dependencies for AW200XX
leds: aw200xx: Share framebuffer's leds with patterns
configs: introduce defconfig for odroid-c1 (amlogic s805) board
arm: dts: amlogic: odroidc1: enable usb0 in otg mode
configs: introduce defconfig for khadas vim1 (amlogic s905) board
configs: introduce Khadas vim3 defconfig
Igor Prusov (4):
ASoC: dt-bindings: Add bindings for Everest ES7243E
ASoC: codecs: add ES7243E ADC driver
ASoC: codecs: add ntp8835_mute function
ASoC: codecs: remove unused ntp8835_mute_info
Ilias Izmaylov (3):
ASoC: codecs: ntp8918: fix snd_soc_component_update_bits handling
ASoC: codecs: ntp8835: fix snd_soc_component_update_bits handling
ASoC: codecs: ntp8918: calculate bclk using tdm params
Jan Dakinevich (38):
clk: meson: a1: add the audio clock controller driver
ASoC: meson: codec-glue: add support for capture stream
ASoC: meson: g12a-toacodec: fix "Lane Select" width
ASoC: meson: g12a-toacodec: rework the definition of bits
ASoC: dt-bindings: meson: g12a-toacodec: add support for A1 SoC family
ASoC: meson: g12a-toacodec: add support for A1 SoC family
ASoC: meson: t9015: prepare to adding new platforms
ASoC: dt-bindings: meson: t9015: add support for A1 SoC family
ASoC: meson: t9015: add support for A1 SoC family
ASoC: dt-bindings: meson: axg-pdm: document 'sysrate' property
ASoC: meson: axg-pdm: introduce 'sysrate' property
ASoC: dt-bindings: meson: meson-axg-audio-arb: claim support of A1 SoC family
ASoC: dt-bindings: meson: axg-fifo: claim support of A1 SoC family
ASoC: dt-bindings: meson: axg-pdm: claim support of A1 SoC family
ASoC: dt-bindings: meson: axg-sound-card: claim support of A1 SoC family
ASoC: dt-bindings: meson: axg-tdm-formatters: claim support of A1 SoC family
ASoC: dt-bindings: meson: axg-tdm-iface: claim support of A1 SoC family
arm64: dts: meson: a1: add audio devices
arm64: dts: ad402: enable audio
ASoC: dt-bindings: meson: t9015: document linein/lineout properties
ASoC: meson: t9015: configure linein/lineout using device tree
arm64: dts: ad402: configure linein/lineout using device tree
ASoC: meson: axg-frddr: add "OUT 8" sink widget in SM1
ASoC: meson: axg-tdmout: add "IN EQDRC" source widget in SM1
ASoC: meson: introduce BE<->BE connections
ASoC: dt-bindings: meson: sm1-eqdrc: document EQDRC module
ASoC: meson: sm1-eqdrc: introduce EQDRC module driver
arm64: dts: meson: a1: add EQDRC module
ASoC: meson: sm1-eqdrc: fix unexpected register's value
clk: meson: a1: don't set automatically the rate of master clocks
arm64: dts: ad402: configure audio master clock for 48kHz sample-rate family
ASoC: meson: t9015: avoid pop noise during BIAS operations
ASoC: meson: t9015: allow output driver to be always enabled
dt-bindings: clock: meson: add A1 audio clock and reset controller bindings
ASoC: es7243e: fix using of snd_soc_component_update_bits()
ASoC: es7243e: fix constraints handling
arch/arm64: dts: ac200: introduce device tree
configs: ac200: introduce meson_sm1_amlogic_ac200_defconfig
Martin Kurbanov (13):
mtd: spinand: micron: fixing the offset for OOB
ASoC: dt-bindigs: es7243e: add sclk/lrclk clocks binding
ASoC: es7243e: add sclk/lrclk clocks handling
dt-bindings: leds: aw200xx: add 'interrupts' property
mtd: spinand: esmt: introduce read/write OTP ops
mtd: spinand: esmt: enable ECC for read/write OTP
mtd: spinand: esmt: fix return value for OTP read/write
mtd: rawnand: amlogic_bbt: use rsv-info API
arm64: dts: amlogic: a1: set vddcore voltage to 0.84V
iio: hx3203: switch to sparse friendly iio_device_claim/release_direct
leds: aw200xx: Support for hw pattern controllers
arm64: dts: amlogic: a1: add uart_AO_c node
leds: aw200xx: add support for "all" in pattern LED selection
.../ABI/testing/sysfs-class-led-driver-aw200xx | 108 ++
.../bindings/clock/amlogic,a1-audio-clkc.yaml | 83 ++
.../bindings/clock/amlogic,a1-cpu-clkc.yaml | 64 +
.../devicetree/bindings/leds/awinic,aw200xx.yaml | 50 +-
.../devicetree/bindings/pwm/pwm-amlogic.yaml | 2 +
.../reset/amlogic,meson-axg-audio-arb.yaml | 10 +-
.../bindings/sound/amlogic,axg-fifo.yaml | 8 +
.../devicetree/bindings/sound/amlogic,axg-pdm.yaml | 5 +
.../bindings/sound/amlogic,axg-sound-card.yaml | 6 +-
.../bindings/sound/amlogic,axg-tdm-formatters.yaml | 22 +-
.../bindings/sound/amlogic,axg-tdm-iface.yaml | 6 +-
.../bindings/sound/amlogic,g12a-toacodec.yaml | 1 +
.../bindings/sound/amlogic,sm1-eqdrc.yaml | 66 +
.../devicetree/bindings/sound/amlogic,t9015.yaml | 58 +-
.../devicetree/bindings/sound/everest,es7243e.yaml | 57 +
Documentation/leds/leds-aw200xx.rst | 274 ++++
arch/arm/boot/dts/amlogic/meson8b-odroidc1.dts | 9 +
arch/arm/configs/meson8_odroid_c1_defconfig | 228 +++
arch/arm64/boot/dts/amlogic/meson-a1-ad402.dts | 114 ++
arch/arm64/boot/dts/amlogic/meson-a1.dtsi | 581 +++++++-
arch/arm64/boot/dts/amlogic/meson-sm1-ac200.dts | 26 +
.../arm64/configs/meson_g12b_khadas_vim3_defconfig | 402 ++++++
arch/arm64/configs/meson_gxl_khadas_vim1_defconfig | 397 ++++++
.../configs/meson_sm1_amlogic_ac200_defconfig | 338 +++++
drivers/clk/meson/Kconfig | 22 +
drivers/clk/meson/Makefile | 2 +
drivers/clk/meson/a1-audio.c | 560 ++++++++
drivers/clk/meson/a1-audio.h | 58 +
drivers/clk/meson/a1-cpu.c | 331 +++++
drivers/clk/meson/a1-peripherals.c | 18 +-
drivers/clk/meson/a1-pll.c | 77 ++
drivers/iio/light/Kconfig | 13 +
drivers/iio/light/Makefile | 1 +
drivers/iio/light/hx3203.c | 1462 ++++++++++++++++++++
drivers/leds/Kconfig | 3 +
drivers/leds/leds-aw200xx.c | 1414 +++++++++++++++++--
drivers/mtd/nand/raw/Kconfig | 11 +
drivers/mtd/nand/raw/Makefile | 8 +-
drivers/mtd/nand/raw/meson_nand.c | 9 +-
drivers/mtd/nand/raw/nand_bbt_amlogic.c | 881 ++++++++++++
drivers/mtd/nand/spi/esmt.c | 68 +-
drivers/mtd/nand/spi/micron.c | 28 +-
drivers/tee/optee/supp.c | 107 +-
include/dt-bindings/clock/amlogic,a1-audio-clkc.h | 122 ++
include/dt-bindings/clock/amlogic,a1-cpu-clkc.h | 19 +
include/dt-bindings/sound/meson-g12a-toacodec.h | 5 +
sound/soc/codecs/Kconfig | 3 +
sound/soc/codecs/Makefile | 2 +
sound/soc/codecs/es7243e.c | 688 +++++++++
sound/soc/codecs/ntp8835.c | 72 +-
sound/soc/codecs/ntp8918.c | 60 +-
sound/soc/meson/Kconfig | 8 +
sound/soc/meson/Makefile | 2 +
sound/soc/meson/axg-frddr.c | 55 +-
sound/soc/meson/axg-pdm.c | 10 +-
sound/soc/meson/axg-tdmout.c | 13 +-
sound/soc/meson/g12a-toacodec.c | 298 +++-
sound/soc/meson/meson-card-utils.c | 34 +-
sound/soc/meson/meson-codec-glue.c | 174 ++-
sound/soc/meson/meson-codec-glue.h | 23 +
sound/soc/meson/sm1-eqdrc.c | 673 +++++++++
sound/soc/meson/t9015.c | 425 +++++-
62 files changed, 10331 insertions(+), 343 deletions(-)
create mode 100644 Documentation/devicetree/bindings/clock/amlogic,a1-audio-clkc.yaml
create mode 100644 Documentation/devicetree/bindings/clock/amlogic,a1-cpu-clkc.yaml
create mode 100644 Documentation/devicetree/bindings/sound/amlogic,sm1-eqdrc.yaml
create mode 100644 Documentation/devicetree/bindings/sound/everest,es7243e.yaml
create mode 100644 Documentation/leds/leds-aw200xx.rst
create mode 100644 arch/arm/configs/meson8_odroid_c1_defconfig
create mode 100644 arch/arm64/boot/dts/amlogic/meson-sm1-ac200.dts
create mode 100644 arch/arm64/configs/meson_g12b_khadas_vim3_defconfig
create mode 100644 arch/arm64/configs/meson_gxl_khadas_vim1_defconfig
create mode 100644 arch/arm64/configs/meson_sm1_amlogic_ac200_defconfig
create mode 100644 drivers/clk/meson/a1-audio.c
create mode 100644 drivers/clk/meson/a1-audio.h
create mode 100644 drivers/clk/meson/a1-cpu.c
create mode 100644 drivers/iio/light/hx3203.c
create mode 100644 drivers/mtd/nand/raw/nand_bbt_amlogic.c
create mode 100644 include/dt-bindings/clock/amlogic,a1-audio-clkc.h
create mode 100644 include/dt-bindings/clock/amlogic,a1-cpu-clkc.h
create mode 100644 sound/soc/codecs/es7243e.c
create mode 100644 sound/soc/meson/sm1-eqdrc.c
More information about the rulkc
mailing list