From: Armin Wolf <W_Armin@gmx.de>
To: "Kurt Borja" <kuurtb@gmail.com>,
"Hans de Goede" <hdegoede@redhat.com>,
"Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>
Cc: Gabriel Marcano <gabemarcano@yahoo.com>,
platform-driver-x86@vger.kernel.org, Dell.Client.Kernel@dell.com,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 2/2] Documentation: wmi: alienware-wmi: Add GPIO control documentation
Date: Sun, 27 Apr 2025 03:01:17 +0200 [thread overview]
Message-ID: <4e18573b-c07d-47c5-a601-cda4b28482f6@gmx.de> (raw)
In-Reply-To: <20250423-awcc-gpio-v1-2-160a11bc3f9a@gmail.com>
Am 23.04.25 um 09:49 schrieb Kurt Borja:
> Add documentation for the GPIO control methods.
>
> Signed-off-by: Kurt Borja <kuurtb@gmail.com>
> ---
> Documentation/wmi/devices/alienware-wmi.rst | 85 +++++++++++++++++++++++++++--
> 1 file changed, 81 insertions(+), 4 deletions(-)
>
> diff --git a/Documentation/wmi/devices/alienware-wmi.rst b/Documentation/wmi/devices/alienware-wmi.rst
> index 79238051b18bc5de9b502325017cd5c5fcf41748..8751199834b8e2a3a4abf2b735e4ac6067d93c6d 100644
> --- a/Documentation/wmi/devices/alienware-wmi.rst
> +++ b/Documentation/wmi/devices/alienware-wmi.rst
> @@ -231,6 +231,77 @@ WMI method MemoryOCControl([in] uint32 arg2, [out] uint32 argr)
> AWCC supports memory overclocking, but this method is very intricate and has
> not been deciphered yet.
>
> +GPIO control Methods
> +====================
> +
> +Alienware and Dell G Series devices with the AWCC interface, usually have an
Hi,
please remove the comma.
> +embedded STM32 RGB lighting controller with USB/HID capabilities. It's vendor ID
> +is `187c` while it's product ID may vary from model to model.
> +
> +The control of two GPIO pins of this MCU is exposed as WMI methods for debugging
> +purposes.
> +
> ++--------------+--------------------------------------------------------------+
> +| Pin | Description |
> ++==============+==============================================================+
> +| 0 | Device Firmware Update (DFU) mode pin. |
> +| | |
> +| | **HIGH**: Enables DFU mode on next MCU boot. |
> +| | |
> +| | **LOW**: Disables DFU mode on next MCU boot. (default) |
> ++--------------+--------------------------------------------------------------+
> +| 1 | Negative Reset (NRST) pin. |
> +| | |
> +| | **HIGH**: Turn on MCU. (default) |
> +| | |
> +| | **LOW**: Turn off MCU. |
> ++--------------+--------------------------------------------------------------+
> +
> +See :ref:`acknowledgements` for more information on this MCU.
> +
> +.. warning::
> + The following methods are only exposed to DebugFS if the ``gpio_debug``
> + unsafe module parameter is set, as you could end up bricking the MCU.
> +
> +WMI method FWUpdateGPIOtoggle([in] uint32 arg2, [out] uint32 argr)
> +------------------------------------------------------------------
> +
> ++--------------------+------------------------------------+--------------------+
> +| Operation (Byte 0) | Description | Arguments |
> ++====================+====================================+====================+
> +| 0x00 | Set the Device Firmware Update | - Byte 1: Pin |
> +| | (DFU) pin status. | status |
> ++--------------------+------------------------------------+--------------------+
> +| 0x01 | Set the Negative Reset (NRST) pin | - Byte 1: Pin |
> +| | status. | status |
> ++--------------------+------------------------------------+--------------------+
Maybe it would be better if you just explain that the operation byte selects the GPIO pin to toggle.
> +
> +WMI method ReadTotalofGPIOs([out] uint32 argr)
> +----------------------------------------------
> +
> ++--------------------+------------------------------------+--------------------+
> +| Operation (Byte 0) | Description | Arguments |
> ++====================+====================================+====================+
> +| 0x00 | Get the total number of GPIOs. | - None |
> ++--------------------+------------------------------------+--------------------+
> +
> +WMI method ReadGPIOpPinStatus([in] uint32 arg2, [out] uint32 argr)
> +------------------------------------------------------------------
> +
> ++--------------------+------------------------------------+--------------------+
> +| Operation (Byte 0) | Description | Arguments |
> ++====================+====================================+====================+
> +| 0x00 | Get the Device Firmware Update | - None |
> +| | (DFU) pin status. | |
> ++--------------------+------------------------------------+--------------------+
> +| 0x01 | Get the Negative Reset (NRST) pin | - None |
> +| | status. | |
> ++--------------------+------------------------------------+--------------------+
Same as above.
Thanks,
Armin Wolf
> +
> +.. warning::
> + There known firmware bug in some laptops where reading the status of a pin
> + also flips it.
> +
> Other information Methods
> =========================
>
> @@ -239,10 +310,16 @@ WMI method ReadChassisColor([out] uint32 argr)
>
> Returns the chassis color internal ID.
>
> +.. _acknowledgements:
> +
> Acknowledgements
> ================
>
> -Kudos to `AlexIII <https://github.com/AlexIII/tcc-g15>`_ and
> -`T-Troll <https://github.com/T-Troll/alienfx-tools/>`_ for documenting and
> -testing some of this device's functionality, making it possible to generalize
> -this driver.
> +Kudos to
> +
> +* `AlexIII <https://github.com/AlexIII/tcc-g15>`_
> +* `T-Troll <https://github.com/T-Troll/alienfx-tools/>`_
> +* `Gabriel Marcano <https://gabriel.marcanobrady.family/blog/2024/12/16/dell-g5-5505-se-acpi-or-figuring-out-how-to-reset-the-rgb-controller/>`_
> +
> +for documenting and testing some of this device's functionality, making it
> +possible to generalize this driver.
>
prev parent reply other threads:[~2025-04-27 1:01 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-23 7:49 [PATCH 0/2] platform/x86: alienware-wmi-wmax: Add support for GPIO methods Kurt Borja
2025-04-23 7:49 ` [PATCH 1/2] platform/x86: alienware-wmi-wmax: Expose GPIO debug methods Kurt Borja
2025-04-27 1:07 ` Armin Wolf
2025-04-27 6:21 ` Kurt Borja
2025-04-23 7:49 ` [PATCH 2/2] Documentation: wmi: alienware-wmi: Add GPIO control documentation Kurt Borja
2025-04-27 1:01 ` Armin Wolf [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4e18573b-c07d-47c5-a601-cda4b28482f6@gmx.de \
--to=w_armin@gmx.de \
--cc=Dell.Client.Kernel@dell.com \
--cc=gabemarcano@yahoo.com \
--cc=hdegoede@redhat.com \
--cc=ilpo.jarvinen@linux.intel.com \
--cc=kuurtb@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=platform-driver-x86@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®