From 7c61e17449bd624bb42b720754397f40135d49bf Mon Sep 17 00:00:00 2001 From: Brian Norris Date: Fri, 18 Aug 2023 18:58:48 -0700 Subject: [PATCH] ipq806x: chromium: Support Chromium "crossystem" GPIO tooling 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 OnHub 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 --- target/linux/ipq806x/chromium/config-default | 1 + .../dts/qcom/qcom-ipq8064-tplink-onhub.dts | 21 +++++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/target/linux/ipq806x/chromium/config-default b/target/linux/ipq806x/chromium/config-default index 927aba360f4a27..644c6a6c69a4d9 100644 --- a/target/linux/ipq806x/chromium/config-default +++ b/target/linux/ipq806x/chromium/config-default @@ -1,5 +1,6 @@ # CONFIG_ARM_QCOM_SPM_CPUIDLE is not set CONFIG_BLK_DEV_SD=y +CONFIG_GPIO_CDEV_V1=y CONFIG_LEDS_LP5523=y CONFIG_LEDS_LP55XX_COMMON=y CONFIG_PHY_QCOM_IPQ806X_USB=y diff --git a/target/linux/ipq806x/files-6.6/arch/arm/boot/dts/qcom/qcom-ipq8064-tplink-onhub.dts b/target/linux/ipq806x/files-6.6/arch/arm/boot/dts/qcom/qcom-ipq8064-tplink-onhub.dts index 6adc6be4aec61b..9fa0ff18583d28 100644 --- a/target/linux/ipq806x/files-6.6/arch/arm/boot/dts/qcom/qcom-ipq8064-tplink-onhub.dts +++ b/target/linux/ipq806x/files-6.6/arch/arm/boot/dts/qcom/qcom-ipq8064-tplink-onhub.dts @@ -14,6 +14,27 @@ }; &qcom_pinmux { + gpio-line-names = "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + /* RECOVERY_SW_L is crossystem ABI. */ + "RECOVERY_SW_L", /* 16 */ + /* AP_FLASH_WP_L is crossystem ABI. */ + "AP_FLASH_WP_L" /* 17 */; + i2c7_pins: i2c7_pinmux { mux { pins = "gpio8", "gpio9";