如何在lk中修改gpio的值

来源:互联网 发布:经常性失眠的原因 知乎 编辑:程序博客网 时间:2024/06/08 17:33
diff --git a/target/msm8952/target_display.c b/target/msm8952/target_display.c
index e91759a..a5025c5 100644
--- a/target/msm8952/target_display.c
+++ b/target/msm8952/target_display.c
@@ -57,6 +57,9 @@
 static struct gpio_pin reset_gpio = {
   "msmgpio", 60, 3, 1, 0, 1
 };
+static struct gpio_pin reset_gpio_touch = {
+  "msmgpio", 64, 3, 1, 0, 1
+};
 
 static struct gpio_pin enable_gpio = {
   "msmgpio", 90, 3, 1, 0, 1
@@ -370,6 +373,7 @@ int target_panel_reset(uint8_t enable, struct panel_reset_sequence *resetseq,
  bkl_gpio.pin_id = 66;
  } else if (platform_is_msm8937()) {
  reset_gpio.pin_id = 60;
+ reset_gpio_touch.pin_id = 64;
  bkl_gpio.pin_id = 98;
  enable_gpio.pin_id = 99;
  } else if (platform_is_msmgold()) {
@@ -400,8 +404,14 @@ int target_panel_reset(uint8_t enable, struct panel_reset_sequence *resetseq,
  gpio_tlmm_config(reset_gpio.pin_id, 0,
  reset_gpio.pin_direction, reset_gpio.pin_pull,
  reset_gpio.pin_strength, reset_gpio.pin_state);
-
+              gpio_tlmm_config(reset_gpio_touch.pin_id, 0,
+ reset_gpio.pin_direction, reset_gpio.pin_pull,
+ reset_gpio.pin_strength, reset_gpio.pin_state);
  gpio_set_dir(reset_gpio.pin_id, 2);
+ gpio_set_dir(reset_gpio_touch.pin_id, 2);
+
+
+ gpio_set_dir(reset_gpio_touch.pin_id, GPIO_STATE_LOW);
 
  /* reset */
  for (int i = 0; i < RESET_GPIO_SEQ_LEN; i++) {
0 0