From def2367077573b56f9fc4f824e5c0377a3a4175a Mon Sep 17 00:00:00 2001
From: hc <hc@nodka.com>
Date: Mon, 16 Oct 2023 02:45:46 +0000
Subject: [PATCH] 修改DO2-DO4初始为低
---
kernel/drivers/gpio/gpiolib-sysfs.c | 7 ++++++-
kernel/arch/arm64/boot/dts/rockchip/NK-R36S0.dtsi | 3 ++-
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/kernel/arch/arm64/boot/dts/rockchip/NK-R36S0.dtsi b/kernel/arch/arm64/boot/dts/rockchip/NK-R36S0.dtsi
index aa4b792..7e23798 100755
--- a/kernel/arch/arm64/boot/dts/rockchip/NK-R36S0.dtsi
+++ b/kernel/arch/arm64/boot/dts/rockchip/NK-R36S0.dtsi
@@ -145,7 +145,7 @@
gpio_num = <&gpio3 RK_PC6 GPIO_ACTIVE_HIGH>; //WIFI_PWREN_GPIO3_C6_1V8
gpio_function = <0>;
};
-
+ #if 0
do1 {
gpio_num = <&gpio1 RK_PD0 GPIO_ACTIVE_LOW>;
gpio_function = <0>;
@@ -185,6 +185,7 @@
gpio_num = <&gpio2 RK_PD5 GPIO_ACTIVE_HIGH>;
gpio_function = <1>;
};
+ #endif
};
#if 0
nk_io_init {
diff --git a/kernel/drivers/gpio/gpiolib-sysfs.c b/kernel/drivers/gpio/gpiolib-sysfs.c
index e0ccc79..1c2a983 100644
--- a/kernel/drivers/gpio/gpiolib-sysfs.c
+++ b/kernel/drivers/gpio/gpiolib-sysfs.c
@@ -80,13 +80,18 @@
struct gpiod_data *data = dev_get_drvdata(dev);
struct gpio_desc *desc = data->desc;
ssize_t status;
+ int offset;
mutex_lock(&data->mutex);
+ offset = gpio_chip_hwgpio(desc);
if (sysfs_streq(buf, "high"))
status = gpiod_direction_output_raw(desc, 1);
else if (sysfs_streq(buf, "out") || sysfs_streq(buf, "low"))
- status = gpiod_direction_output_raw(desc, 0);
+ if (( offset == 26 ) || ( offset == 25 ) || ( offset == 27 ))
+ status = gpiod_direction_output_raw(desc, 1);
+ else
+ status = gpiod_direction_output_raw(desc, 0);
else if (sysfs_streq(buf, "in"))
status = gpiod_direction_input(desc);
else
--
Gitblit v1.6.2