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