展锐智能机平台sc9820e调试pwm背光所遇问题小结

       在展锐sc9820e的代码包中,有些没有在用的代码模块功能是不确定是否OK的,比如这里的PWM模块,在默认的代码里的配置是有问题的,需要花不少时间来调试,才能把功能调正常。

        默认的背光是使用PMIC sc2721g的IB0~IB2,最大能输出83mA的总电流,但有些要求更大电流的话,内部PMIC就无能为力了,需要借用外部背光IC了,这里是讲由内部PMIC的改为PWM方式的背光方式。本文讲述的PWM使能引脚选用的是GPIO131/PWMBG1,可以看到该GPIO口的PWM模式为模式1

首先要注意的是,背光的修改是包含uboot和kernel部分的,所以首选修改uboot

u-boot15\include\configs\sp9820e_1h10.h注释掉背光相关宏,如下:

//#define CONFIG_BACKLIGHT_WHTLED

在u-boot15\board\spreadtrum\sp9820e_1h10\sprd_bl.c

中修改#define PWM_INDEX 的值,如果PWM使能引脚使用的是PWMGB0或PWMBG1,则表明使用的是第0 1 2 这几级PWM中的第1组,则上述这个应定义为1

#define PWM_INDEX 1

pinmap文件注意修改,u-boot15\board\spreadtrum\sp9820e_1h10\pinmap-sp9820e.c

{REG_PIN_GPIO33,                        BITS_PIN_AF(1)},
{REG_MISC_PIN_GPIO33,                   BITS_PIN_DS(1)|BIT_PIN_NULL|BIT_PIN_NUL|BIT_PIN_SLP_AP|BIT_PIN_SLP_NUL|BIT_PIN_SLP_OE},

下面讲在kernel部分的修改方法及修改过程中遇到问题的分析解决过程

先是在kernel\arch\arm\configs\sprd_sharkle_fp_defconfig中打开pwm的背光,然后再关闭原来的sc2721_bltcled方式的背光,并手动删除out目录下面的out\target\product\sp9820e_1h10ll\obj\KERNEL\drivers\video\backlight文件夹,让生成的目录更干净。

CONFIG_BACKLIGHT_PWM=y
# CONFIG_BACKLIGHT_SC2721_BLTCLED is not set

然后在sp9820e-common.dtsi中添加pwm部分的sprd_backlight内容:

	adf: sprd-adf {
		compatible = "sprd-adf";
		status = "okay";
		sprd,display-mode = <3>;
		sprd,dispc = <&swdispc>;
	};
    
  sprd_backlight {
		compatible = "pwm-backlight";
		pwms = <&pwms 0 20000>;
		pwm-names = "backlight";
		brightness_max = <256>;
		brightness-levels = <
						6   6   6   6
			6   6   6   6   6   6   6   7   8   9
			10  11  12  13  14  15  16  17  18  19
			20  21  22  23  24  25  26  27  28  29
			30 
  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值