转载时请注明出处和作者文章出处:http://blog.csdn.net/lbmygf 

1、在板级初始化文件mx53_smd_c中将gpio1-1配置为pwm模式:           /* GPIO1 FOR pwm */
      MX53_PAD_GPIO_1__PWM2_PWMO,   2、kernel_imx/arch/arm/plat-mxc/pwm.c 在pwm驱动中看到       EXPORT_SYMBOL(pwm_request);     EXPORT_SYMBOL(pwm_enable);     EXPORT_SYMBOL(pwm_config);       它把那些函数都导出,是全局的了,所以呢,在背光的驱动中是可以直接用的。   3、下面看看背光的驱动:kernel_imx/drivers/video/backlight/da9052_bl.c          在这 da9052_bl.c 中他原来的背光调节,也可以留着,自己处理,关键看你硬件怎么搭。其中的brightness这个参数你是要用到   的,根据这个值来调节你pwm的占空比。       在da9052_bl.c的靠前部分定义一个全局pwm_device指针:         struct pwm_device *pwm;           在 da9052_backlight_probe probe函数中添加如下信息:            int ret;
      pwm = pwm_request(1, "backlight");       if (IS_ERR(pwm)) {
      dev_err(&pdev->dev, "unable to request PWM for backlight\n");
      ret = PTR_ERR(pwm);
      goto err_bl;
     } else
      dev_dbg(&pdev->dev, "got pwm for backlight\n");       pwm_request 第一个参数是 pwm 设备 的ID号,这个你的去确认你所用的pwm是那个   了,我这系统有2个,我用的是pwm2,pwm_request()调用时,会遍历pwm设备,去查找id为   1的那个。       在kernel/arch/arm/mach-mx5/devices.c 中有mxc_pwm2_device 定义,id = 1            struct platform_device mxc_pwm2_device = {
         .name = "mxc_pwm",
          .id = 1,
         .num_resources = ARRAY_SIZE(pwm2_resources),
         .resource = pwm2_resources,
        };   4、最后你就找个带 brightness 参数的函数,去在里面做你自己的控制了,我的控制如下:        unsigned int period = 50000;//78770;
     unsigned int max = 255;         if (brightness == 0)     {
      pwm_config(pwm, 0, period);
      pwm_disable(pwm);
     } else
    {
      pwm_config(pwm, brightness * period / max, period);
      pwm_enable(pwm);
     }

基本上到这就差不多了。

更多相关文章

  1. android系统学习笔记七
  2. cocos2d-js如何在android平台上使用js直接调用Java方法
  3. Android(安卓)编译重要参数 LOCAL_MODULE_TAGS
  4. android JNI_OnLoad()函数
  5. Android调用自带TTS文本转语音引擎实现离线语音合成
  6. 用NDK调用Android手机自带的openssl库函数
  7. Android(安卓)浅析 ContentProvider (四) 启动原理
  8. Android(安卓)Camera 三 CameraService 和 Client 链接到 HAL
  9. 优化小技巧

随机推荐

  1. android 返回桌面的方法
  2. Android 震动功能
  3. android 自定义View 滚动选择器PickerVie
  4. 《Android系统学习》第三章:Android SDK之
  5. android custom viewgroups 性能分析
  6. Android su研究
  7. Android涂鸦
  8. Android Gallery3D
  9. Android studio 点击跳转WedView
  10. android 单个模块编译