LED灯配置

作者: 小磊长江大 | 来源:发表于2018-09-04 11:05 被阅读0次

    前置工作

    在开始之前你要确定你的软件所走的dts配置,在uboot打印中:

          Support 6 dtbs.
            aml_dt soc: gxlx platform: p261 variant: 1g
            dtb 0 soc: gxl   plat: p211   vari: 1g
            dtb 1 soc: gxl   plat: p215   vari: 1g
            dtb 2 soc: gxlx   plat: p261   vari: 1g
            dtb 3 soc: gxlx   plat: p265   vari: 1g
            dtb 4 soc: gxlx2   plat: p291   vari: 1g
            dtb 5 soc: gxlx2   plat: p295   vari: 1g
          Find match dtb: 2
    

    如上:

    aml_dt soc: gxlx platform: p261 variant: 1g
    

    表明你板子所依赖的dts的amlogic-dt-id="gxlx_p261_1g"
    查找此amlogic-dt-id,我们得到:gxlx_p261.dts
    因此所有的修改应该基于此dts文件修改。Aml IPTV SDK的所有dts路径位于:
    common/arch/arm64/boot/dts/amlogic/

    1.电源灯与网络灯

    查找light节点,修改:

      ledlight{
        compatible = "amlogic, ledlight";
        dev_name = "ledlight";
        status = "okay";
        power_gpio_0 = <&net_gpio_0>;
        power_gpio_1 = <&power_gpio_1>;
    //别名
       net_gpio_0: gpio_rg{
    //灯的名称
          led_name = "net_led";
    //gpio管脚配置
          led_gpio = <&gpio  GPIODV_27  GPIO_ACTIVE_HIGH>;
    //设定高低电平电量,1代表拉高点亮,0代表拉低点亮
          led_active = <1>;
    //灯管颜色类型,R/G/R&G
          led_type = "R&G";
        };
        power_gpio_1: gpio_1{
          led_name = "power_led";
          led_gpio = <&gpio  GPIODV_26  GPIO_ACTIVE_HIGH>;
          led_active = <1>;
          led_type = "R&G";
        };
      };
    

    各节点配置说明如下:

    变量名 含义 可选配置 备注
    led_name 设定灯的名称 powerled/netled NA
    led_gpio 设定灯的管脚 视原理图而定 NA
    led_active 设定灯点亮需要的电平,对于双色灯是设定其默认颜色 0/1 可在uboot里面执行gpio s/c命令来确认所需状态,如gpio s GPIODV_26来拉高GPIODV_26 管脚
    led_type 设定灯管颜色类型 R/G/R&G 可随意配置

    2.遥控灯的配置

    在dts根节点添加或修改下述配置:

    &meson_remote {
            led-gpios  = <&gpio GPIODV_26 GPIO_ACTIVE_HIGH>;
            led_status_on = <1>;
            status = "okay";
    };
    

    各节点配置说明如下:

    变量名 含义 可选配置 备注
    led-gpios 遥控灯所需的gpio 视原理图而定 NA
    led_status_on 设定点亮遥控灯的电平 0/1 可在uboot里面执行gpio s/c命令来确认所需状态,如gpio s GPIODV_26来拉高GPIODV_26 管脚
    status 驱动是否开启,okay代表开启,disable代表关闭 okay/disable 视需求而定

    3.上层调用

    import android.os.FileUtils;
    ... ...
    String prefix1 = "/proc/ledlight/powerled/state";
    String prefix2 = "/proc/ledlight/netled/state";
    FileUtils.stringToFile(prefix1, "on");
    FileUtils.stringToFile(prefix2, "off");
    

    相关文章

      网友评论

        本文标题:LED灯配置

        本文链接:https://www.haomeiwen.com/subject/vqzwwftx.html