Re: [U-Boot] [PATCH] 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 On 2015-06-11 22:07, Simon Glass wrote: Hi, On 11 June 2015 at 04:25, Hannes Schmelzer oe5...@oevsv.at wrote: in future we support yet another br 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 oe5...@oevsv.at Reviewed-by: Simon Glass s...@chromium.org You might consider using an enum for the board type. --- board/BuR/common/common.c | 14 +++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/board/BuR/common/common.c b/board/BuR/common/common.c index 7830d1a..441465c 100644 --- a/board/BuR/common/common.c +++ b/board/BuR/common/common.c @@ -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); -- 2.1.4 Regards, Simon ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH] board/BuR/common: support timer5 for pwm-backlight
in future we support yet another br 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 oe5...@oevsv.at --- board/BuR/common/common.c | 14 +++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/board/BuR/common/common.c b/board/BuR/common/common.c index 7830d1a..441465c 100644 --- a/board/BuR/common/common.c +++ b/board/BuR/common/common.c @@ -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); -- 2.1.4 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] board/BuR/common: support timer5 for pwm-backlight
Hi, On 11 June 2015 at 04:25, Hannes Schmelzer oe5...@oevsv.at wrote: in future we support yet another br 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 oe5...@oevsv.at Reviewed-by: Simon Glass s...@chromium.org You might consider using an enum for the board type. --- board/BuR/common/common.c | 14 +++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/board/BuR/common/common.c b/board/BuR/common/common.c index 7830d1a..441465c 100644 --- a/board/BuR/common/common.c +++ b/board/BuR/common/common.c @@ -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); -- 2.1.4 Regards, Simon ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot