
Hello Stefano,
Am 15.07.2014 10:12, schrieb Stefano Babic:
Hi Heiko,
On 12/07/2014 06:10, Heiko Schocher wrote:
add defines for pwm modul found on imx6.
Signed-off-by: Heiko Schocherhs@denx.de Cc: Stefano Babicsbabic@denx.de
changes for v2:
- new
arch/arm/include/asm/arch-mx6/imx-regs.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+)
diff --git a/arch/arm/include/asm/arch-mx6/imx-regs.h b/arch/arm/include/asm/arch-mx6/imx-regs.h index 7193118..2135051 100644 --- a/arch/arm/include/asm/arch-mx6/imx-regs.h +++ b/arch/arm/include/asm/arch-mx6/imx-regs.h @@ -669,5 +669,21 @@ struct wdog_regs { u16 wmcr; /* Miscellaneous Control */ };
+#define PWMCR_PRESCALER(x) (((x - 1)& 0xFFF)<< 4) +#define PWMCR_DOZEEN (1<< 24) +#define PWMCR_WAITEN (1<< 23) +#define PWMCR_DBGEN (1<< 22) +#define PWMCR_CLKSRC_IPG_HIGH (2<< 16) +#define PWMCR_CLKSRC_IPG (1<< 16) +#define PWMCR_EN (1<< 0)
+struct pwm_regs {
- u32 cr;
- u32 sr;
- u32 ir;
- u32 sar;
- u32 pr;
- u32 cnr;
+}; #endif /* __ASSEMBLER__*/ #endif /* __ASM_ARCH_MX6_IMX_REGS_H__ */
I see. What do you mind to add a little effort and move the setup of the PWM from the aristaneos board to a PWM driver ? I see there is not (yet) such a driver, but why not ?
Yes, I can do that ... Hmm, where do you think is a good place for this driver?
What we need are only three simple functions exactly as in Linux kernel: pwm_enable() pwm_disable(), pwm_config(duty, period)
This becomes more general and can be reused by other i.MX boards.
bye, Heiko