board/BuR/common: support timer5 for pwm-backlight
PATCH 1/1 board/BuR/common: support timer5 for pwm-backlight
in future we support yet another b&r am335x based board, where Timer 5 is wired to backlight-driver.
So we introduce a new driver-type '2' to setup timer5 instead timer6.
---
board/BuR/common/common.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-)
board/BuR/common/common.c +11 -3
@@ -64,8 +64,7 @@ void lcdbacklight(int on)unsigned int pwmfrq =getenv_ulong ("ds1_pwmfreq" ,10 , ~0UL );#endif unsigned int tmp; - -struct gptimer *const timerhw = (struct gptimer *)DM_TIMER6_BASE ; +struct gptimer *timerhw;if (on) bright = bright != ~0UL ? bright :50 ;
@@ -73,6 +72,14 @@ void lcdbacklight(int on) bright =0 ;switch (driver) { +case 2 : + timerhw = (struct gptimer *)DM_TIMER5_BASE ; +break ; +default : + timerhw = (struct gptimer *)DM_TIMER6_BASE ; + } + +switch (driver) {case 0 :/* PMIC LED-Driver */ /* brightness level */ tps65217_reg_write(TPS65217_PROT_LEVEL_NONE,
@@ -83,7 +90,8 @@ void lcdbacklight(int on) bright !=0 ?0x0A :0x02 , 0xFF);break ; -case 1 :/* PWM using timer6 */ +case 1 : +case 2 :/* PWM using timer */ if (pwmfrq != ~0UL ) { timerhw->tiocp_cfg =TCFG_RESET ;udelay (10 );
Signature · 1 line
2.1.4
PATCH 1/1 board/BuR/common: support timer5 for pwm-backlight
Hi,
Quoted 8 lines · Hannes Schmelzer
in future we support yet another b&r am335x based board, where Timer 5 is wired to backlight-driver.
So we introduce a new driver-type '2' to setup timer5 instead timer6.
Signed-off-by Hannes Schmelzer <[email protected]>
You might consider using an enum for the board type.
Quoted 45 lines
---
board/BuR/common/common.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-)board/BuR/common/common.c +11
-4@@ -64,8 +64,7 @@ void lcdbacklight(int on)unsigned int pwmfrq =getenv_ulong ("ds1_pwmfreq" ,10 , ~0UL );#endif unsigned int tmp; - -struct gptimer *const timerhw = (struct gptimer *)DM_TIMER6_BASE ; +struct gptimer *timerhw;if (on) bright = bright != ~0UL ? bright :50 ;@@ -73,6 +72,14 @@ void lcdbacklight(int on) bright =0 ;switch (driver) { +case 2 : + timerhw = (struct gptimer *)DM_TIMER5_BASE ; +break ; +default : + timerhw = (struct gptimer *)DM_TIMER6_BASE ; + } + +switch (driver) {case 0 :/* PMIC LED-Driver */ /* brightness level */ tps65217_reg_write(TPS65217_PROT_LEVEL_NONE,@@ -83,7 +90,8 @@ void lcdbacklight(int on) bright !=0 ?0x0A :0x02 , 0xFF);break ; -case 1 :/* PWM using timer6 */ +case 1 : +case 2 :/* PWM using timer */ if (pwmfrq != ~0UL ) { timerhw->tiocp_cfg =TCFG_RESET ;udelay (10 ); --
Quoted 2 lines
2.1.4
Regards,
Simon
PATCH 1/1 board/BuR/common: support timer5 for pwm-backlight
Hi Simon,
board_type doesn't apply here.
The board can be used in
Device-Type A
Device-Type B
Device-Type C
all of them may have different backlights.
So it comes, that device-type A has different variants where one has backlight using PMIC, the other one has backlight using PWM.
For this we have an entry within the device-tree (brightdrv) on linux devices, and on vxworks-devices (where we don't have a device-tree) we have same as variable in environment.
The board_type variable is used to separate "Device-Type A, Device-Type B, ..."
At this time only one of my boards (brxre2, not committed yet) has this variable in use.
best regards,
Hannes
Quoted 65 lines · Simon Glass
Hi,
Quoted 7 lines · Hannes Schmelzer
in future we support yet another b&r am335x based board, where Timer 5 is wired to backlight-driver.
So we introduce a new driver-type '2' to setup timer5 instead timer6.
Signed-off-by Hannes Schmelzer <[email protected]>Reviewed-by Simon Glass <[email protected]>You might consider using an enum for the board type.
Quoted 45 lines
---
board/BuR/common/common.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-)board/BuR/common/common.c +11
-4@@ -64,8 +64,7 @@ void lcdbacklight(int on)unsigned int pwmfrq =getenv_ulong ("ds1_pwmfreq" ,10 , ~0UL );#endif unsigned int tmp; - -struct gptimer *const timerhw = (struct gptimer *)DM_TIMER6_BASE ; +struct gptimer *timerhw;if (on) bright = bright != ~0UL ? bright :50 ;@@ -73,6 +72,14 @@ void lcdbacklight(int on) bright =0 ;switch (driver) { +case 2 : + timerhw = (struct gptimer *)DM_TIMER5_BASE ; +break ; +default : + timerhw = (struct gptimer *)DM_TIMER6_BASE ; + } + +switch (driver) {case 0 :/* PMIC LED-Driver */ /* brightness level */ tps65217_reg_write(TPS65217_PROT_LEVEL_NONE,@@ -83,7 +90,8 @@ void lcdbacklight(int on) bright !=0 ?0x0A :0x02 , 0xFF);break ; -case 1 :/* PWM using timer6 */ +case 1 : +case 2 :/* PWM using timer */ if (pwmfrq != ~0UL ) { timerhw->tiocp_cfg =TCFG_RESET ;udelay (10 ); --Quoted 2 lines
2.1.4
Regards,
Simon
Quoted 7 lines · Hannes Petermaier
in future we support yet another b&r am335x based board, where Timer 5 is wired to backlight-driver.
So we introduce a new driver-type '2' to setup timer5 instead timer6.
Signed-off-by Hannes Schmelzer <[email protected]>Reviewed-by Simon Glass <[email protected]>
Applied to u-boot/master, thanks!
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150618/55700bad/attachment.sig>