MTK平台pwm模式闪光灯驱动配置

本文详细介绍了Android设备中闪光灯的PWM控制机制,包括flash和torch两种模式的切换逻辑及电流控制。在dtsi中配置PWM引脚,驱动文件中通过mt_flashlight_led_set_pwm函数设置PWM占空比来调整电流大小。同时,展示了如何通过g_duty_array数组实现不同亮度级别的控制。
  1. 供电引脚配置:
    除flash torch两个供电引脚按照常规配置gpio模式外,需另外将ENM pin配置成pwm模式。在dtsi中添加如下代码:
flash_light_pwm_pin: flash_light_pwm_pin {
   
   
    pins_cmd_dat {
   
   
        pinmux = <PINMUX_GPIOxxx__FUNC_PWMx>;
        slew-rate = <1>;
        output-high;
    };
};
  1. 驱动文件:
    包含pwm头文件:
    #include <mt-plat/mtk_pwm.h>

  2. 闪光灯flash/torch模式下的电流控制:
    (1) flash mode:
    No matter the status of ENM, only when ENF = “1”, Flash mode is in active and the flashing current is equal to IRF * D, D is the duty cycle of PWM signal at ENM pin, the frequency of PWM is largerthan 15KHz
    对应代码:

flashlight_pinctrl_set(FLASHLIGHT_PINCTRL_PIN_FLASH, 0);
flashlight_pinctrl_set(FLASHLIGHT_PINCTRL_PIN_PWM_EN, 1);
mt_flashlight_led_set_pwm(0, tempPWM
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值