Android: 4.4
Kernel:3.0.35
iMX6Q
透過標準led介面leds-gpio.c這個檔案,就能把GPIO端的訊息,註冊為led_classdev
CONFIG_LEDS_GPIO=y
CONFIG_LEDS_GPIO_PLATFORM=y
CONFIG_LEDS_TRIGGER=y
board-mx6q_sabresd.c
#define GPIO_LED(gpio_led, name_led, act_low, state_suspend, trigger) \ { \ .gpio = gpio_led, \ .name = name_led, \ .active_low = act_low, \ .retain_state_suspended = state_suspend, \ .default_state = 0, \ .default_trigger = "max8903-"trigger, \ } /* use to show a external power source is connected * GPIO_LED(SABRESD_CHARGE_DONE, "chg_detect", 0, 1, "ac-online"), */ static struct gpio_led imx6q_gpio_leds[] = { GPIO_LED(SABRESD_CHARGE_NOW, "chg_now_led", 0, 1, "charger-charging"), //add for LED light GPIO_LED(SABRESD_CAP_TCH_INT1, "led-gpio8", 0, 1, "led-gpio8"), GPIO_LED(SABRESD_CAN1_STBY, "led-gpio4", 0, 1, "led-gpio4"), GPIO_LED(LED_GPIO3, "led-gpio3", 0, 1, "led-gpio4"), };
然後在android系統下:
echo 1 > /sys/class/leds/yourname/backlights
就能控制led on or off
但用這個方法註冊,就不能用sysfs (原先以為可以,後來試了一下是不行的)
沒有留言:
張貼留言