[NOT-FOR-UPSTREAM] platform/x86: ayn-ec: Report RGB LED under the Legion Go name - #87
Open
KyleGospo wants to merge 16 commits into
Open
[NOT-FOR-UPSTREAM] platform/x86: ayn-ec: Report RGB LED under the Legion Go name#87KyleGospo wants to merge 16 commits into
KyleGospo wants to merge 16 commits into
Conversation
pastaq
reviewed
Jul 29, 2026
pastaq
left a comment
Member
There was a problem hiding this comment.
Need to test this one. This interface was made before I was standardizing them in the kernel.
KyleGospo
force-pushed
the
features/ayaneo
branch
from
August 3, 2026 17:10
2754a41 to
763e79d
Compare
KyleGospo
force-pushed
the
features/ayaneo
branch
from
August 14, 2026 01:05
763e79d to
9ffbc89
Compare
Adds platform driver for AYN Loki and Tectoy Zeenix lines of handheld devices. This patch implements a hwmon interface for EC provided manual PWM fan control and user defined fan curves. A global ACPI lock is used when reading or writing from the EC. There are 4 fan modes implemented in this patch. Modes 0-3 act in accordance with the standard hwmon logic where 0 is 100% fan speed, 1 is manual control, and 2 is automatic control. As the EC only provides 3 modes by default, mode 0 is implemented by setting the device to manual and then setting fan speed to 100% directly. In mode 1 the PWM duty cycle is set in sysfs with values [0-255], which are then scaled to the EC max of 128. Mode 4 is an automatic mode where the fan curve is user defined. There are 5 total set points and each set point takes a temperature in Celsius [0-100] and a PWM duty cycle [0-255]. When the CPU temperature reaches a given set point, the corresponding duty cycle is automatically set by the EC. Signed-off-by: Derek J. Clark <derekjohn.clark@gmail.com>
Adds temperature sensors to the ayn-ec hwmon interface. These read-only values include Battery, Motherboard, Charger IC, vCore, and CPU Core, as well as labels for each entry. The temperature values provided by the EC are whole numbers in degrees Celsius. As hwmon expects millidegrees, we scale the raw value up. `sensors` output after this patch is applied: aynec-isa-0000 Adapter: ISA adapter fan1: 1876 RPM Battery: +29.0°C Motherboard: +30.0°C Charger IC: +30.0°C vCore: +36.0°C CPU Core: +48.0°C Signed-off-by: Derek J. Clark <derekjohn.clark@gmail.com>
Adds an EC controlled LED Multicolor Class Device for controlling the RGB rings around the joysticks. The EC provides a single register for each of the colors red, green, and blue, as well as a mode switching register. The EC accepts values [0-255] for all colors. There are two available effects: breathe, which is the default when the device is started, and monocolor. When resuming from sleep the user selected effect will be overwritten by the EC, so the driver retains the last setting and resets on resume. When setting a color, each color register is set before a final "write" code is sent to the device. The EC may briefly reflect the "write" code when writing, but quickly changes to the "monocolor" value once complete. The driver interprets both of these values as "monocolor" in _show to simplify the sysfs exposed to the user. Two custom attributes are added to the standard LED parent device: effect, a RW file descriptor used to set the effect, and effect_index, which enumerates the available valid options. Signed-off-by: Derek J. Clark <derekjohn.clark@gmail.com>
Adds ABI documentation for the ayn-ec platform driver Signed-off-by: Derek J. Clark <derekjohn.clark@gmail.com>
KyleGospo
force-pushed
the
features/ayaneo
branch
from
August 27, 2026 17:18
9ffbc89 to
1fb2b66
Compare
KyleGospo
force-pushed
the
ayaneo-led-rename
branch
from
August 31, 2026 17:06
142dcf8 to
c08286a
Compare
…ntation Contribution by CVMagic (https://github.com/CVMagic) aw87xxx: Use strscpy instead of strlcpy awinic: i2c_driver cleanup and fixes This is deliberately an OGC-carried patch and must not be sent upstream. (cherry picked from commit 91a51cacadb95ba80227663a75fd113552b18e45) Signed-off-by: Hijae Song <hijae@naver.com>
…gging purposes, but also fixed Reset Pin GPIO initialization issue with Ayn Loki Mini This is deliberately an OGC-carried patch and must not be sent upstream. (cherry picked from commit 4b4179efc86828f8762f0819aabf4413a3ba0d27) Signed-off-by: Hijae Song <hijae@naver.com>
…a second I2C chip if specified in ACPI This is deliberately an OGC-carried patch and must not be sent upstream. (cherry picked from commit ed123302c7dde72a935052370de4a9b2ff3e1feb) Signed-off-by: Hijae Song <hijae@naver.com>
…sume. This is deliberately an OGC-carried patch and must not be sent upstream. (cherry picked from commit 92392036d95ffdf9fc2b4b42c3dd31a8939d4027) Signed-off-by: Hijae Song <hijae@naver.com>
This is deliberately an OGC-carried patch and must not be sent upstream. (cherry picked from commit dac32102659fa0ae4f2692ed81810ceb834ed584) Signed-off-by: Hijae Song <hijae@naver.com>
Multiple AyaNeo/Ayn/Orange Pi devices ship the aw87xxx amplifier with different firmware blobs. Select the firmware filename by DMI board/ product match so each device's blob coexists under /lib/firmware without collision, falling back to the original single filename when no match is found. This is deliberately an OGC-carried patch and must not be sent upstream. Co-developed-by: bouhaa <boukehaarsma23@gmail.com> Co-developed-by: Antheas Kapenekakis <git@antheas.dev> Signed-off-by: Hijae Song <hijae@naver.com>
linux/of_gpio.h has been removed from the tree. None of these files actually use anything from it (no of_gpio_* calls), so drop the dead include to fix the build. This is deliberately an OGC-carried patch and must not be sent upstream. Signed-off-by: Hijae Song <hijae@naver.com>
…mponent Newer kernels (6.16+) changed snd_soc_unregister_component()'s signature. Add a version-gated wrapper so the driver still builds across the kernel versions this branch needs to support. This is deliberately an OGC-carried patch and must not be sent upstream. Signed-off-by: Hijae Song <hijae@naver.com>
The valid-GPIO branch fell through without ever requesting the reset pin, leaving it unclaimed. Request it with devm_gpio_request_one() so the driver actually owns and can drive the reset line. This is deliberately an OGC-carried patch and must not be sent upstream. Signed-off-by: Hijae Song <hijae@naver.com>
The ALC269VB codec's internal speaker pin isn't configured correctly on the AyaNeo AIR 1S out of the box, so no audio plays even once the aw87xxx amplifier driver (added earlier in this branch) is working. Add a pin fixup matching the AIR 1S's PCI SSID that sets pin 0x1a to 0x90170110, restoring internal speaker output. This is deliberately an OGC-carried patch and must not be sent upstream. Co-developed-by: linh1987 (cherry picked from commit 89eb9630d9114c38f35edc4041daf8b1d25886d3) Signed-off-by: Hijae Song <hijae@naver.com>
feat: Add aw87xxx codec for AyaNeo/Ayn/Orange Pi handheld speaker amplifiers
…ion Go name This is deliberately an OGC-carried patch and must not be sent upstream. Squatting on another device's LED name is not acceptable in mainline; the real fix belongs in the Steam client, which should match the "*:rgb:joystick_rings" suffix rather than a per-device prefix.
KyleGospo
force-pushed
the
ayaneo-led-rename
branch
from
September 4, 2026 18:22
c08286a to
ed5b9d7
Compare
KyleGospo
force-pushed
the
features/ayaneo
branch
from
September 11, 2026 08:18
9477ffd to
9958eeb
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This is deliberately an OGC-carried patch and must not be sent upstream. Squatting on another device's LED name is not acceptable in mainline; the real fix belongs in the Steam client, which should match the "*:rgb:joystick_rings" suffix rather than a per-device prefix.