Date:2010-05-31 23:23:58 (13 years 6 months ago)
Author:Lars C.
Commit:9a5fad34fa75aeeb9d916bfce9f0719a51f21e00
Message:jz4740: PWM: Use external clock as pwm source and set abrupbt shutdown bit

Files: arch/mips/jz4740/pwm.c (2 diffs)
arch/mips/jz4740/timer.h (1 diff)

Change Details

arch/mips/jz4740/pwm.c
4949    struct pwm_device *pwm;
5050
5151    if (!jz4740_pwm_clk) {
52        jz4740_pwm_clk = clk_get(NULL, "pclk");
52        jz4740_pwm_clk = clk_get(NULL, "ext");
5353
5454        if (IS_ERR(jz4740_pwm_clk))
5555            return ERR_PTR(PTR_ERR(jz4740_pwm_clk));
...... 
144144    jz4740_timer_set_duty(id, duty);
145145    jz4740_timer_set_period(id, period);
146146
147    ctrl = JZ_TIMER_CTRL_PRESCALER(prescaler) | JZ_TIMER_CTRL_SRC_PCLK;
147    ctrl = JZ_TIMER_CTRL_PRESCALER(prescaler) | JZ_TIMER_CTRL_SRC_EXT |
148        JZ_TIMER_CTRL_PWM_ABBRUPT_SHUTDOWN;
148149
149150    jz4740_timer_set_ctrl(id, ctrl);
150151
arch/mips/jz4740/timer.h
4040#define JZ_TIMER_IRQ_HALF(x) BIT((x) + 0x10)
4141#define JZ_TIMER_IRQ_FULL(x) BIT(x)
4242
43#define JZ_TIMER_CTRL_PWM_ACTIVE_LOW BIT(8)
44#define JZ_TIMER_CTRL_PWM_ENABLE BIT(7)
45#define JZ_TIMER_CTRL_PRESCALE_MASK 0x1c
46#define JZ_TIMER_CTRL_PRESCALE_OFFSET 0x3
47#define JZ_TIMER_CTRL_PRESCALE_1 (0 << 3)
48#define JZ_TIMER_CTRL_PRESCALE_4 (1 << 3)
49#define JZ_TIMER_CTRL_PRESCALE_16 (2 << 3)
50#define JZ_TIMER_CTRL_PRESCALE_64 (3 << 3)
51#define JZ_TIMER_CTRL_PRESCALE_256 (4 << 3)
52#define JZ_TIMER_CTRL_PRESCALE_1024 (5 << 3)
43#define JZ_TIMER_CTRL_PWM_ABBRUPT_SHUTDOWN BIT(9)
44#define JZ_TIMER_CTRL_PWM_ACTIVE_LOW BIT(8)
45#define JZ_TIMER_CTRL_PWM_ENABLE BIT(7)
46#define JZ_TIMER_CTRL_PRESCALE_MASK 0x1c
47#define JZ_TIMER_CTRL_PRESCALE_OFFSET 0x3
48#define JZ_TIMER_CTRL_PRESCALE_1 (0 << 3)
49#define JZ_TIMER_CTRL_PRESCALE_4 (1 << 3)
50#define JZ_TIMER_CTRL_PRESCALE_16 (2 << 3)
51#define JZ_TIMER_CTRL_PRESCALE_64 (3 << 3)
52#define JZ_TIMER_CTRL_PRESCALE_256 (4 << 3)
53#define JZ_TIMER_CTRL_PRESCALE_1024 (5 << 3)
5354
5455#define JZ_TIMER_CTRL_PRESCALER(x) ((x) << JZ_TIMER_CTRL_PRESCALE_OFFSET)
5556

Archive Download the corresponding diff file



interactive