Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
bd946f9
[FROM-ML] platform/x86: (ayn-ec) Add PWM Fan HWMON Interface
pastaq Jul 26, 2025
f0858c1
[FROM-ML] platform/x86: (ayn-ec) Add Temperature Sensors
pastaq Jul 26, 2025
0c3910d
[FROM-ML] platform/x86: (ayn-ec) Add RGB Interface
pastaq Jul 26, 2025
4dd2ba1
[FROM-ML] platform/x86: (ayn-ec) Add AYN EC Platform Documentation
pastaq Jul 26, 2025
3341605
[NOT-FOR-UPSTREAM] Codec: Add aw87xxx codec with partial acpi impleme…
ruineka Apr 25, 2024
605ec5b
[NOT-FOR-UPSTREAM] Updated AW87xxx driver to be more verbose for debu…
CVMagic May 16, 2024
8fad224
[NOT-FOR-UPSTREAM] Updated AW87xxx driver to automatically enumerate …
CVMagic May 19, 2024
bc61d45
[NOT-FOR-UPSTREAM] Updated AW87xxx driver to implement Suspend and Re…
CVMagic May 22, 2024
8b16e12
[NOT-FOR-UPSTREAM] fixup aw87xxx.{c,h} warnings
BoukeHaarsma23 Jul 27, 2024
aecf6b7
[NOT-FOR-UPSTREAM] aw87xxx: add DMI-based firmware filename selection
hijae Sep 1, 2026
0cb5975
[NOT-FOR-UPSTREAM] aw87xxx: drop unused linux/of_gpio.h include
hijae Sep 1, 2026
d890955
[NOT-FOR-UPSTREAM] aw87xxx: add compat shim for snd_soc_unregister_co…
hijae Sep 1, 2026
9a1b73f
[NOT-FOR-UPSTREAM] aw87xxx: request the reset GPIO when valid
hijae Sep 1, 2026
38ead3f
[NOT-FOR-UPSTREAM] ALSA: hda/realtek: Add Ayaneo Air 1S audio quirk
fewtarius Sep 1, 2026
1470e08
[FROM-ML] HID: ayaneo: Add AYANEO 3 detachable controller driver
matmartinez Sep 17, 2026
796050e
HID: ayaneo: gate the special driver on the vendor interface
sknowledge1 Sep 24, 2026
abf78f4
HID: generic: consult special-driver match callbacks
sknowledge1 Sep 24, 2026
e571bec
HID: ayaneo: expose the firmware rainbow effect
sknowledge1 Sep 24, 2026
3f86afc
HID: ayaneo: receive final LED acknowledgements during remove
sknowledge1 Sep 24, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions Documentation/ABI/testing/sysfs-class-led-driver-hid-ayaneo
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
What: /sys/class/leds/<led>/hw_pattern
Date: August 2026
KernelVersion: 7.3
Contact: Matías Martínez <hello@matias.me>
Description:
Specify a hardware pattern for the AYANEO 3 joystick
rings LED. The firmware supports a single breathing
pattern, pulsing the current colour at a fixed,
firmware-controlled period:

"0 <t> <brightness> <t>"

Both delta_t values are accepted but ignored, as the
period is not configurable. <brightness> must be
non-zero. Any other pattern is rejected.
36 changes: 36 additions & 0 deletions Documentation/ABI/testing/sysfs-driver-hid-ayaneo
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
What: /sys/bus/hid/drivers/hid-ayaneo/<dev>/module_left
What: /sys/bus/hid/drivers/hid-ayaneo/<dev>/module_right
Date: August 2026
KernelVersion: 7.3
Contact: Matías Martínez <hello@matias.me>
Description:
Reports the type of the module currently inserted in the
left/right slot of the AYANEO 3 detachable controller, as
the raw identifier reported by the controller firmware in
hexadecimal (e.g. "0x04"). Bits 0-5 encode the module
type, bit 6 indicates the module is inserted rotated.

Reading these attributes queries the controller and can
take up to a second.

What: /sys/bus/hid/drivers/hid-ayaneo/<dev>/eject
Date: August 2026
KernelVersion: 7.3
Contact: Matías Martínez <hello@matias.me>
Description:
Write-only. Writing "left", "right" or "both" asks the
controller firmware to release the corresponding
module(s). The write blocks until the firmware confirms
the release handshake (typically a few seconds). The
module is physically released once controller power is
subsequently cut through the ayaneo-ec platform driver's
controller_power attribute; that final step is left to
userspace.

What: /sys/bus/hid/drivers/hid-ayaneo/<dev>/reset
Date: August 2026
KernelVersion: 7.3
Contact: Matías Martínez <hello@matias.me>
Description:
Write-only. Writing "1" asks the controller firmware to
perform a quick reset of the controller configuration.
28 changes: 28 additions & 0 deletions Documentation/ABI/testing/sysfs-driver-hid-ayaneo-led
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
What: /sys/class/leds/*:rgb:joystick_rings/effect
Date: September 2026
Contact: Linux input mailing list <linux-input@vger.kernel.org>
Description:
Select the AYANEO controller firmware LED effect. Reading
returns the selected effect name. Supported writes are:

none: standard multicolour brightness/intensity and the
LED pattern trigger control the rings.

rainbow: firmware cycles both rings through colours at a
fixed speed. Brightness controls amplitude; zero turns the
output off without changing the selected effect. Firmware
controls hue and tempo, independently of multi_intensity.

The rainbow effect requires no LED trigger to be selected.
Hardware pattern writes fail with EBUSY while rainbow is
selected. Select none before configuring a hardware pattern.
Clearing the effect restores normal multicolour interpretation
using the current brightness and cached intensity.

What: /sys/class/leds/*:rgb:joystick_rings/effect_index
Date: September 2026
Contact: Linux input mailing list <linux-input@vger.kernel.org>
Description:
Read-only, space-separated supported effect names:
"none rainbow". The effect interface does not expose controller
reset, module eject or arbitrary HID commands.
59 changes: 59 additions & 0 deletions Documentation/ABI/testing/sysfs-platform-ayn-ec
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
What: /sys/class/hwmon/hwmon[0-9]/pwm1_enable
Date: July 2025
KernelVersion: 6.17
Contact: "Derek J. Clark" <derekjohn.clark@gmail.com>
Description:
This sets the PWM fan mode of operation. Valid values are [0-3].
Values [0-2] conform with standard hwmon operating modes. Value 3
enables user defined fan curve settings.

Applies to AYN Loki and Tectoy Zeenix lines of handheld devices.

What: /sys/class/hwmon/hwmon[0-9]/pwm1_auto_point[1-5]_pwm
Date: July 2025
KernelVersion: 6.17
Contact: "Derek J. Clark" <derekjohn.clark@gmail.com>
Description:
This sets the PWM fan duty cycle for the given index of the fan curve.
When the temperature reaches the corresponding pwm1_auto_point[1-5]_temp,
the EC will automatically increase the fan duty cycle to the given value.

Values are [0-255]

Applies to AYN Loki and Tectoy Zeenix lines of handheld devices.

What: /sys/class/hwmon/hwmon[0-9]/pwm1_auto_point[1-5]_temp
Date: July 2025
KernelVersion: 6.17
Contact: "Derek J. Clark" <derekjohn.clark@gmail.com>
Description:
This sets the activation temperature for the given index of the fan curve.
When the temperature reaches the given value, the EC will automatically
increase the fan duty cycle to the corresponding pwm1_auto_point[1-5]_pwm
value.

Values are [0-100]

Applies to AYN Loki and Tectoy Zeenix lines of handheld devices.

What: /sys/class/leds/ayn:rgb:joystick_rings/effect
Date: July 2025
KernelVersion: 6.17
Contact: "Derek J. Clark" <derekjohn.clark@gmail.com>
Description:
This controls the display effect of the RGB interface.

Values are monocolor or breathe.

Applies to AYN Loki and Tectoy Zeenix lines of handheld devices.

What: /sys/class/leds/ayn:rgb:joystick_rings/effect_index
Date: July 2025
KernelVersion: 6.17
Contact: "Derek J. Clark" <derekjohn.clark@gmail.com>
Description:
This displays the available options for the effect attribute.

Values are monocolor or breathe.

Applies to AYN Loki and Tectoy Zeenix lines of handheld devices.
15 changes: 15 additions & 0 deletions MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -4459,6 +4459,21 @@ F: Documentation/devicetree/bindings/spi/axiado,ax3000-spi.yaml
F: drivers/spi/spi-axiado.c
F: drivers/spi/spi-axiado.h

AYN PLATFORM EC DRIVER
M: Derek J. Clark <derekjohn.clark@gmail.com>
L: platform-driver-x86@vger.kernel.org
S: Maintained
F: Documentation/ABI/testing/sysfs-platform-ayn-ec
F: drivers/platform/x86/ayn-ec.c

AYANEO 3 CONTROLLER HID DRIVER
M: Matías Martínez <hello@matias.me>
L: linux-input@vger.kernel.org
S: Maintained
F: Documentation/ABI/testing/sysfs-class-led-driver-hid-ayaneo
F: Documentation/ABI/testing/sysfs-driver-hid-ayaneo
F: drivers/hid/hid-ayaneo.c

AYANEO PLATFORM EC DRIVER
M: Antheas Kapenekakis <lkml@antheas.dev>
L: platform-driver-x86@vger.kernel.org
Expand Down
14 changes: 14 additions & 0 deletions drivers/hid/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -205,6 +205,20 @@ config HID_AUREAL
help
Support for Aureal Cy se W-01RN Remote Controller and other Aureal derived remotes.

config HID_AYANEO
tristate "AYANEO 3 detachable controller support"
depends on USB_HID
depends on DMI
depends on LEDS_CLASS_MULTICOLOR
help
Provides support for the detachable controller ("Magic Modules")
of the AYANEO 3 handheld: module identification, software eject
and RGB control of the joystick rings. Complements the ayaneo-ec
platform driver, which handles module attach state and controller
power.

Say Y or M here if you have an AYANEO 3.

config HID_BELKIN
tristate "Belkin Flip KVM and Wireless keyboard"
help
Expand Down
1 change: 1 addition & 0 deletions drivers/hid/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ obj-$(CONFIG_HID_APPLETB_KBD) += hid-appletb-kbd.o
obj-$(CONFIG_HID_CREATIVE_SB0540) += hid-creative-sb0540.o
obj-$(CONFIG_HID_ASUS) += hid-asus.o
obj-$(CONFIG_HID_AUREAL) += hid-aureal.o
obj-$(CONFIG_HID_AYANEO) += hid-ayaneo.o
obj-$(CONFIG_HID_BELKIN) += hid-belkin.o
obj-$(CONFIG_HID_BETOP_FF) += hid-betopff.o
obj-$(CONFIG_HID_BIGBEN_FF) += hid-bigbenff.o
Expand Down
Loading