ipq40xx: chromium: Support Chromium "crossystem" GPIO tooling
authorBrian Norris <computersforpeace@gmail.com>
Sat, 19 Aug 2023 01:53:58 +0000 (18:53 -0700)
committerRobert Marko <robimarko@gmail.com>
Fri, 10 Jan 2025 10:50:44 +0000 (11:50 +0100)
ChromiumOS's vboot_reference tooling [1] provides convenient access to
various firmware and hardware details via its `crossystem` tool.
crossystem currently:
(1) relies on the v1 GPIO cdev API to read GPIOs; and
(2) expects gpio-line-names properties.

Enable the kernel config, and document a few pins for Google WiFi
devices.

I only go so far as to pull two relevant names out of the vendor device
tree. Others could perhaps be backfilled if the info is available and
useful.

[1] https://chromium.googlesource.com/chromiumos/platform/vboot_reference/+/HEAD/README

Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16014
Signed-off-by: Robert Marko <robimarko@gmail.com>
target/linux/ipq40xx/chromium/config-default
target/linux/ipq40xx/files-6.6/arch/arm/boot/dts/qcom/qcom-ipq4019-wifi.dts

index d78ca0ab2806e2ddf047ab363e83a070c5503d84..29214b69155dc71a890d3b3d9a9fef5323185527 100644 (file)
@@ -1,4 +1,5 @@
 CONFIG_BLK_DEV_SD=y
+CONFIG_GPIO_CDEV_V1=y
 CONFIG_SCSI=y
 CONFIG_SCSI_COMMON=y
 CONFIG_SG_POOL=y
index c6113e7aab0fabb571a6409b0f7237da0f4ed215..491a497af0e3e19e4cad8ad660a2b04c612a9d91 100644 (file)
 };
 
 &tlmm {
+       gpio-line-names = "",
+                         "",
+                         "",
+                         "",
+                         "",
+                         "",
+                         "",
+                         "",
+                         "",
+                         "",
+                         "",
+                         "",
+                         "",
+                         "",
+                         "",
+                         "",
+                         "",
+                         "",
+                         "",
+                         "",
+                         "",
+                         "",
+                         "",
+                         "",
+                         "",
+                         "",
+                         "",
+                         "",
+                         "",
+                         "",
+                         "",
+                         "",
+                         "",
+                         "",
+                         "",
+                         "",
+                         "",
+                         "",
+                         "",
+                         "",
+                         "",
+                         "",
+                         "",
+                         "",
+                         "",
+                         "",
+                         "",
+                         "",
+                         "",
+                         "",
+                         "",
+                         "",
+                         "",
+                         /* AP_FLASH_WP_L is crossystem ABI. */
+                         "AP_FLASH_WP_L" /* 53 */,
+                         "",
+                         "",
+                         "",
+                         /* RECOVERY_SW_L is crossystem ABI. */
+                         "RECOVERY_SW_L" /* 57 */;
+
        fw_pinmux: fw_pinmux {
                wp {
                        pins = "gpio53";