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