Message ID | 20250309112114.1177361-5-lkml@antheas.dev |
---|---|
State | New |
Headers | show |
Series | None | expand |
On Sun, Mar 9, 2025 at 4:21 AM Antheas Kapenekakis <lkml@antheas.dev> wrote: > > When tt_toggle was introduced, it was not added to the platform sysfs. > Add it, then add documentation for tt_led. Remove the documentation > from the hwmon entry, then update its readme to be current. > > Signed-off-by: Antheas Kapenekakis <lkml@antheas.dev> > --- > Documentation/ABI/testing/sysfs-platform-oxp | 29 +++++++++ > Documentation/hwmon/oxpec.rst | 62 +++++++------------- > 2 files changed, 49 insertions(+), 42 deletions(-) > create mode 100644 Documentation/ABI/testing/sysfs-platform-oxp > > diff --git a/Documentation/ABI/testing/sysfs-platform-oxp b/Documentation/ABI/testing/sysfs-platform-oxp > new file mode 100644 > index 000000000000..8727d5ecaab5 > --- /dev/null > +++ b/Documentation/ABI/testing/sysfs-platform-oxp > @@ -0,0 +1,29 @@ > +What: /sys/devices/platform/<platform>/tt_toggle > +Date: Jun 2023 > +KernelVersion: 6.5 > +Contact: "Antheas Kapenekakis" <lkml@antheas.dev> > +Description: > + Takeover TDP controls from the device. OneXPlayer devices have a > + turbo button that can be used to switch between two TDP modes > + (usually 15W and 25W). By setting this attribute to 1, this > + functionality is disabled, handing TDP control over to (Windows) > + userspace software and the Turbo button turns into a keyboard > + shortcut over the AT keyboard of the device. > In addition, > + using this setting is a prerequisite for PWM control for most > + devices (otherwise it NOOPs). > + Is this accurate? This wasn't the case for the mini pro/A1/A1 pro when we added them. If it is accurate, we should check for this in the pwm _store functions for affected devices so we can inform the user it failed (-EOPNOTSUP or similar). > + This attribute was originally introduced in 6.5, without a > + corresponding documentation entry. > + This last line doesn't provide anything useful to someone reading the ABI docs for implementation. Please drop it. > +What: /sys/devices/platform/<platform>/tt_led > +Date: Feb 2025 > +KernelVersion: 6.15 > +Contact: "Antheas Kapenekakis" <lkml@antheas.dev> > +Description: > + Some OneXPlayer devices (e.g., X1 series) feature a little LED > + nested in the Turbo button. This LED is illuminated when the > + device is in the higher TDP mode (e.g., 25W). Once tt_toggle > + is engaged, this LED is left dangling to its last state. This > + attribute allows userspace to control the LED state manually > + (either with 1 or 0). Only a subset of devices contain this LED. > + > diff --git a/Documentation/hwmon/oxpec.rst b/Documentation/hwmon/oxpec.rst > index 581c4dafbfa1..0a0a7c5d0263 100644 > --- a/Documentation/hwmon/oxpec.rst > +++ b/Documentation/hwmon/oxpec.rst > @@ -1,35 +1,41 @@ > .. SPDX-License-Identifier: GPL-2.0-or-later > > -Kernel driver oxp-sensors > +Kernel driver oxpec > ========================= > > Authors: > - Derek John Clark <derekjohn.clark@gmail.com> > - Joaquín Ignacio Aramendía <samsagax@gmail.com> > + - Antheas Kapenekakis <lkml@antheas.dev> > > Description: > ------------ > > -Handheld devices from OneNetbook, AOKZOE, AYANEO, And OrangePi provide fan > -readings and fan control through their embedded controllers. > +Handheld devices from OneXPlayer and AOKZOE provide fan readings and fan > +control through their embedded controllers, which can be accessed via this > +module. If the device has the platform `tt_toggle` attribute (see > +Documentation/ABI/testing/sysfs-platform-oxp), controlling these attributes > +without having it engaged is undefined behavior. > > -Currently supports OneXPlayer devices, AOKZOE, AYANEO, and OrangePi > -handheld devices. AYANEO devices preceding the AIR and OneXPlayer devices > -preceding the Mini A07 are not supportable as the EC model is different > -and do not have manual control capabilities. > - > -Some OneXPlayer and AOKZOE models have a toggle for changing the behaviour > -of the "Turbo/Silent" button of the device. It will change the key event > -that it triggers with a flip of the `tt_toggle` attribute. See below for > -boards that support this function. > +In addition, for legacy reasons, this driver provides hwmon functionality > +to Ayaneo devices, and the OrangePi Neo (AOKZOE is a sister company of > +OneXPlayer and uses the same EC). > > Supported devices > ----------------- > > Currently the driver supports the following handhelds: > - > - AOKZOE A1 > - AOKZOE A1 PRO > + - OneXPlayer 2/2 Pro > + - OneXPlayer AMD > + - OneXPlayer mini AMD > + - OneXPlayer mini AMD PRO > + - OneXPlayer OneXFly variants > + - OneXPlayer X1 variants > + > +In addition, until a driver is upstreamed for the following, the driver > +also supports controlling them: > - AYANEO 2 > - AYANEO 2S > - AYANEO AIR > @@ -41,29 +47,8 @@ Currently the driver supports the following handhelds: > - AYANEO Geek > - AYANEO Geek 1S > - AYANEO KUN > - - OneXPlayer 2 > - - OneXPlayer 2 Pro > - - OneXPlayer AMD > - - OneXPlayer mini AMD > - - OneXPlayer mini AMD PRO > - - OneXPlayer OneXFly > - - OneXPlayer X1 A > - - OneXPlayer X1 i > - - OneXPlayer X1 mini > - OrangePi NEO-01 > > -"Turbo/Silent" button behaviour toggle is only supported on: > - - AOK ZOE A1 > - - AOK ZOE A1 PRO > - - OneXPlayer 2 > - - OneXPlayer 2 Pro > - - OneXPlayer mini AMD (only with updated alpha BIOS) > - - OneXPlayer mini AMD PRO > - - OneXPlayer OneXFly > - - OneXPlayer X1 A > - - OneXPlayer X1 i > - - OneXPlayer X1 mini > - As in the previous patch, I don't think we need to pre-stage the move of those devices until the other driver is ready to be submitted. Cheers, - Derek > Sysfs entries > ------------- > > @@ -79,11 +64,4 @@ pwm1_enable > pwm1 > Read Write. Read this attribute to see current duty cycle in the range [0-255]. > When pwm1_enable is set to "1" (manual) write any value in the range [0-255] > - to set fan speed. > - > -tt_toggle > - Read Write. Read this attribute to check the status of the turbo/silent > - button behaviour function. Write "1" to activate the switch and "0" to > - deactivate it. The specific keycodes and behaviour is specific to the device > - both with this function on and off. This attribute is attached to the platform > - driver and not to the hwmon driver (/sys/devices/platform/oxp-platform/tt_toggle) > + to set fan speed. > \ No newline at end of file > -- > 2.48.1 >
On Tue, 11 Mar 2025 at 00:26, Derek John Clark <derekjohn.clark@gmail.com> wrote: > > On Sun, Mar 9, 2025 at 4:21 AM Antheas Kapenekakis <lkml@antheas.dev> wrote: > > > > When tt_toggle was introduced, it was not added to the platform sysfs. > > Add it, then add documentation for tt_led. Remove the documentation > > from the hwmon entry, then update its readme to be current. > > > > Signed-off-by: Antheas Kapenekakis <lkml@antheas.dev> > > --- > > Documentation/ABI/testing/sysfs-platform-oxp | 29 +++++++++ > > Documentation/hwmon/oxpec.rst | 62 +++++++------------- > > 2 files changed, 49 insertions(+), 42 deletions(-) > > create mode 100644 Documentation/ABI/testing/sysfs-platform-oxp > > > > diff --git a/Documentation/ABI/testing/sysfs-platform-oxp b/Documentation/ABI/testing/sysfs-platform-oxp > > new file mode 100644 > > index 000000000000..8727d5ecaab5 > > --- /dev/null > > +++ b/Documentation/ABI/testing/sysfs-platform-oxp > > @@ -0,0 +1,29 @@ > > +What: /sys/devices/platform/<platform>/tt_toggle > > +Date: Jun 2023 > > +KernelVersion: 6.5 > > +Contact: "Antheas Kapenekakis" <lkml@antheas.dev> > > +Description: > > + Takeover TDP controls from the device. OneXPlayer devices have a > > + turbo button that can be used to switch between two TDP modes > > + (usually 15W and 25W). By setting this attribute to 1, this > > + functionality is disabled, handing TDP control over to (Windows) > > + userspace software and the Turbo button turns into a keyboard > > + shortcut over the AT keyboard of the device. > > > In addition, > > + using this setting is a prerequisite for PWM control for most > > + devices (otherwise it NOOPs). > > + > > Is this accurate? This wasn't the case for the mini pro/A1/A1 pro when > we added them. If it is accurate, we should check for this in the pwm > _store functions for affected devices so we can inform the user it > failed (-EOPNOTSUP or similar). Fan curve still applies, but does not work until the turbo takeover is engaged. As it would break current fan curve control apps due to the race condition between the turbo takeover and them activating, I do not think this is a good idea. Documentation states most devices so it is accurate. > > + This attribute was originally introduced in 6.5, without a > > + corresponding documentation entry. > > + > > This last line doesn't provide anything useful to someone reading the > ABI docs for implementation. Please drop it. If there is a V3 I will remove that hunk. Otherwise hopefully the merger can yank those 3 lines. > > +What: /sys/devices/platform/<platform>/tt_led > > +Date: Feb 2025 > > +KernelVersion: 6.15 > > +Contact: "Antheas Kapenekakis" <lkml@antheas.dev> > > +Description: > > + Some OneXPlayer devices (e.g., X1 series) feature a little LED > > + nested in the Turbo button. This LED is illuminated when the > > + device is in the higher TDP mode (e.g., 25W). Once tt_toggle > > + is engaged, this LED is left dangling to its last state. This > > + attribute allows userspace to control the LED state manually > > + (either with 1 or 0). Only a subset of devices contain this LED. > > + > > diff --git a/Documentation/hwmon/oxpec.rst b/Documentation/hwmon/oxpec.rst > > index 581c4dafbfa1..0a0a7c5d0263 100644 > > --- a/Documentation/hwmon/oxpec.rst > > +++ b/Documentation/hwmon/oxpec.rst > > @@ -1,35 +1,41 @@ > > .. SPDX-License-Identifier: GPL-2.0-or-later > > > > -Kernel driver oxp-sensors > > +Kernel driver oxpec > > ========================= > > > > Authors: > > - Derek John Clark <derekjohn.clark@gmail.com> > > - Joaquín Ignacio Aramendía <samsagax@gmail.com> > > + - Antheas Kapenekakis <lkml@antheas.dev> > > > > Description: > > ------------ > > > > -Handheld devices from OneNetbook, AOKZOE, AYANEO, And OrangePi provide fan > > -readings and fan control through their embedded controllers. > > +Handheld devices from OneXPlayer and AOKZOE provide fan readings and fan > > +control through their embedded controllers, which can be accessed via this > > +module. If the device has the platform `tt_toggle` attribute (see > > +Documentation/ABI/testing/sysfs-platform-oxp), controlling these attributes > > +without having it engaged is undefined behavior. > > > > -Currently supports OneXPlayer devices, AOKZOE, AYANEO, and OrangePi > > -handheld devices. AYANEO devices preceding the AIR and OneXPlayer devices > > -preceding the Mini A07 are not supportable as the EC model is different > > -and do not have manual control capabilities. > > - > > -Some OneXPlayer and AOKZOE models have a toggle for changing the behaviour > > -of the "Turbo/Silent" button of the device. It will change the key event > > -that it triggers with a flip of the `tt_toggle` attribute. See below for > > -boards that support this function. > > +In addition, for legacy reasons, this driver provides hwmon functionality > > +to Ayaneo devices, and the OrangePi Neo (AOKZOE is a sister company of > > +OneXPlayer and uses the same EC). > > > > Supported devices > > ----------------- > > > > Currently the driver supports the following handhelds: > > - > > - AOKZOE A1 > > - AOKZOE A1 PRO > > + - OneXPlayer 2/2 Pro > > + - OneXPlayer AMD > > + - OneXPlayer mini AMD > > + - OneXPlayer mini AMD PRO > > + - OneXPlayer OneXFly variants > > + - OneXPlayer X1 variants > > + > > +In addition, until a driver is upstreamed for the following, the driver > > +also supports controlling them: > > - AYANEO 2 > > - AYANEO 2S > > - AYANEO AIR > > @@ -41,29 +47,8 @@ Currently the driver supports the following handhelds: > > - AYANEO Geek > > - AYANEO Geek 1S > > - AYANEO KUN > > - - OneXPlayer 2 > > - - OneXPlayer 2 Pro > > - - OneXPlayer AMD > > - - OneXPlayer mini AMD > > - - OneXPlayer mini AMD PRO > > - - OneXPlayer OneXFly > > - - OneXPlayer X1 A > > - - OneXPlayer X1 i > > - - OneXPlayer X1 mini > > - OrangePi NEO-01 > > > > -"Turbo/Silent" button behaviour toggle is only supported on: > > - - AOK ZOE A1 > > - - AOK ZOE A1 PRO > > - - OneXPlayer 2 > > - - OneXPlayer 2 Pro > > - - OneXPlayer mini AMD (only with updated alpha BIOS) > > - - OneXPlayer mini AMD PRO > > - - OneXPlayer OneXFly > > - - OneXPlayer X1 A > > - - OneXPlayer X1 i > > - - OneXPlayer X1 mini > > - > > As in the previous patch, I don't think we need to pre-stage the move > of those devices until the other driver is ready to be submitted. AFAIK this is the onexplayer platform driver moving forward so I do not see an issue with saying Ayaneo support is provided for legacy reasons. You can discuss that in my email on a parallel patch. > Cheers, > - Derek > > > Sysfs entries > > ------------- > > > > @@ -79,11 +64,4 @@ pwm1_enable > > pwm1 > > Read Write. Read this attribute to see current duty cycle in the range [0-255]. > > When pwm1_enable is set to "1" (manual) write any value in the range [0-255] > > - to set fan speed. > > - > > -tt_toggle > > - Read Write. Read this attribute to check the status of the turbo/silent > > - button behaviour function. Write "1" to activate the switch and "0" to > > - deactivate it. The specific keycodes and behaviour is specific to the device > > - both with this function on and off. This attribute is attached to the platform > > - driver and not to the hwmon driver (/sys/devices/platform/oxp-platform/tt_toggle) > > + to set fan speed. > > \ No newline at end of file > > -- > > 2.48.1 > >
diff --git a/Documentation/ABI/testing/sysfs-platform-oxp b/Documentation/ABI/testing/sysfs-platform-oxp new file mode 100644 index 000000000000..8727d5ecaab5 --- /dev/null +++ b/Documentation/ABI/testing/sysfs-platform-oxp @@ -0,0 +1,29 @@ +What: /sys/devices/platform/<platform>/tt_toggle +Date: Jun 2023 +KernelVersion: 6.5 +Contact: "Antheas Kapenekakis" <lkml@antheas.dev> +Description: + Takeover TDP controls from the device. OneXPlayer devices have a + turbo button that can be used to switch between two TDP modes + (usually 15W and 25W). By setting this attribute to 1, this + functionality is disabled, handing TDP control over to (Windows) + userspace software and the Turbo button turns into a keyboard + shortcut over the AT keyboard of the device. In addition, + using this setting is a prerequisite for PWM control for most + devices (otherwise it NOOPs). + + This attribute was originally introduced in 6.5, without a + corresponding documentation entry. + +What: /sys/devices/platform/<platform>/tt_led +Date: Feb 2025 +KernelVersion: 6.15 +Contact: "Antheas Kapenekakis" <lkml@antheas.dev> +Description: + Some OneXPlayer devices (e.g., X1 series) feature a little LED + nested in the Turbo button. This LED is illuminated when the + device is in the higher TDP mode (e.g., 25W). Once tt_toggle + is engaged, this LED is left dangling to its last state. This + attribute allows userspace to control the LED state manually + (either with 1 or 0). Only a subset of devices contain this LED. + diff --git a/Documentation/hwmon/oxpec.rst b/Documentation/hwmon/oxpec.rst index 581c4dafbfa1..0a0a7c5d0263 100644 --- a/Documentation/hwmon/oxpec.rst +++ b/Documentation/hwmon/oxpec.rst @@ -1,35 +1,41 @@ .. SPDX-License-Identifier: GPL-2.0-or-later -Kernel driver oxp-sensors +Kernel driver oxpec ========================= Authors: - Derek John Clark <derekjohn.clark@gmail.com> - Joaquín Ignacio Aramendía <samsagax@gmail.com> + - Antheas Kapenekakis <lkml@antheas.dev> Description: ------------ -Handheld devices from OneNetbook, AOKZOE, AYANEO, And OrangePi provide fan -readings and fan control through their embedded controllers. +Handheld devices from OneXPlayer and AOKZOE provide fan readings and fan +control through their embedded controllers, which can be accessed via this +module. If the device has the platform `tt_toggle` attribute (see +Documentation/ABI/testing/sysfs-platform-oxp), controlling these attributes +without having it engaged is undefined behavior. -Currently supports OneXPlayer devices, AOKZOE, AYANEO, and OrangePi -handheld devices. AYANEO devices preceding the AIR and OneXPlayer devices -preceding the Mini A07 are not supportable as the EC model is different -and do not have manual control capabilities. - -Some OneXPlayer and AOKZOE models have a toggle for changing the behaviour -of the "Turbo/Silent" button of the device. It will change the key event -that it triggers with a flip of the `tt_toggle` attribute. See below for -boards that support this function. +In addition, for legacy reasons, this driver provides hwmon functionality +to Ayaneo devices, and the OrangePi Neo (AOKZOE is a sister company of +OneXPlayer and uses the same EC). Supported devices ----------------- Currently the driver supports the following handhelds: - - AOKZOE A1 - AOKZOE A1 PRO + - OneXPlayer 2/2 Pro + - OneXPlayer AMD + - OneXPlayer mini AMD + - OneXPlayer mini AMD PRO + - OneXPlayer OneXFly variants + - OneXPlayer X1 variants + +In addition, until a driver is upstreamed for the following, the driver +also supports controlling them: - AYANEO 2 - AYANEO 2S - AYANEO AIR @@ -41,29 +47,8 @@ Currently the driver supports the following handhelds: - AYANEO Geek - AYANEO Geek 1S - AYANEO KUN - - OneXPlayer 2 - - OneXPlayer 2 Pro - - OneXPlayer AMD - - OneXPlayer mini AMD - - OneXPlayer mini AMD PRO - - OneXPlayer OneXFly - - OneXPlayer X1 A - - OneXPlayer X1 i - - OneXPlayer X1 mini - OrangePi NEO-01 -"Turbo/Silent" button behaviour toggle is only supported on: - - AOK ZOE A1 - - AOK ZOE A1 PRO - - OneXPlayer 2 - - OneXPlayer 2 Pro - - OneXPlayer mini AMD (only with updated alpha BIOS) - - OneXPlayer mini AMD PRO - - OneXPlayer OneXFly - - OneXPlayer X1 A - - OneXPlayer X1 i - - OneXPlayer X1 mini - Sysfs entries ------------- @@ -79,11 +64,4 @@ pwm1_enable pwm1 Read Write. Read this attribute to see current duty cycle in the range [0-255]. When pwm1_enable is set to "1" (manual) write any value in the range [0-255] - to set fan speed. - -tt_toggle - Read Write. Read this attribute to check the status of the turbo/silent - button behaviour function. Write "1" to activate the switch and "0" to - deactivate it. The specific keycodes and behaviour is specific to the device - both with this function on and off. This attribute is attached to the platform - driver and not to the hwmon driver (/sys/devices/platform/oxp-platform/tt_toggle) + to set fan speed. \ No newline at end of file
When tt_toggle was introduced, it was not added to the platform sysfs. Add it, then add documentation for tt_led. Remove the documentation from the hwmon entry, then update its readme to be current. Signed-off-by: Antheas Kapenekakis <lkml@antheas.dev> --- Documentation/ABI/testing/sysfs-platform-oxp | 29 +++++++++ Documentation/hwmon/oxpec.rst | 62 +++++++------------- 2 files changed, 49 insertions(+), 42 deletions(-) create mode 100644 Documentation/ABI/testing/sysfs-platform-oxp