
Hi Heiko,
On 12/07/2014 06:10, Heiko Schocher wrote:
add defines for pwm modul found on imx6.
Signed-off-by: Heiko Schocher hs@denx.de Cc: Stefano Babic sbabic@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 ?
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.
Best regards, Stefano