summaryrefslogtreecommitdiff
path: root/firmware/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/drivers')
-rw-r--r--firmware/drivers/pcf50606.c21
1 files changed, 20 insertions, 1 deletions
diff --git a/firmware/drivers/pcf50606.c b/firmware/drivers/pcf50606.c
index b99b2e9..cb05d25 100644
--- a/firmware/drivers/pcf50606.c
+++ b/firmware/drivers/pcf50606.c
@@ -44,6 +44,7 @@
/* delay loop to achieve 400kHz at 120MHz CPU frequency */
#define DELAY do { int _x; for(_x=0;_x<22;_x++);} while(0)
+void pcf50606_set_bl_pwm(unsigned char ucVal);
static void pcf50606_i2c_start(void)
{
@@ -281,5 +282,23 @@ void pcf50606_init(void)
set_voltages();
/* Backlight PWM = 512Hz 50/50 */
- pcf50606_write(0x35, 0x13);
+ /*pcf50606_write(0x35, 0x13);*/
+ pcf50606_set_bl_pwm(9);
+}
+
+void pcf50606_set_bl_pwm(unsigned char ucVal)
+{
+ /* set the backlight PWM */
+ /* range is 0 - 15 */
+
+ /* limit incoming value */
+ ucVal = ucVal & 0x0F;
+
+ /* shift one bit left */
+ ucVal = ucVal << 1;
+ ucVal = ucVal | 0x01;
+
+ /* 0x00 = 512Hz */
+ ucVal = ucVal | 0x00;
+ pcf50606_write(0x35, ucVal);
}