arm, am335x: add some missing registers and defines for lcd and epwm support
authorHeiko Schocher <hs@denx.de>
Mon, 19 Aug 2013 14:38:57 +0000 (16:38 +0200)
committerTom Rini <trini@ti.com>
Wed, 28 Aug 2013 15:44:59 +0000 (11:44 -0400)
- add missing register defines in struct cm_perpl
  epwmss0clkctrl
  epwmss2clkctrl
  lcdcclkstctrl
- add missing register defines in struct cm_dpll
  clklcdcpixelclk
- add struct pwmss_regs
- add struct pwmss_ecap_regs
- add LCD Controller base LCD_CNTL_BASE
- add PWM0 controller base PWMSS0_BASE

Signed-off-by: Heiko Schocher <hs@denx.de>
Cc: Tom Rini <trini@ti.com>
arch/arm/include/asm/arch-am33xx/cpu.h
arch/arm/include/asm/arch-am33xx/hardware_am33xx.h

index f77ac1e844d49191ac53d7ae54ac8e8b95be2479..1835c8939b982c564595c45a0dd5628e07db396f 100644 (file)
@@ -193,7 +193,8 @@ struct cm_perpll {
        unsigned int dcan1clkctrl;      /* offset 0xC4 */
        unsigned int resv6[2];
        unsigned int emiffwclkctrl;     /* offset 0xD0 */
-       unsigned int resv7[2];
+       unsigned int epwmss0clkctrl;    /* offset 0xD4 */
+       unsigned int epwmss2clkctrl;    /* offset 0xD8 */
        unsigned int l3instrclkctrl;    /* offset 0xDC */
        unsigned int l3clkctrl;         /* Offset 0xE0 */
        unsigned int resv8[4];
@@ -204,6 +205,7 @@ struct cm_perpll {
        unsigned int l4hsclkctrl;       /* offset 0x120 */
        unsigned int resv10[8];
        unsigned int cpswclkstctrl;     /* offset 0x144 */
+       unsigned int lcdcclkstctrl;     /* offset 0x148 */
 };
 #else
 /* Encapsulating core pll registers */
@@ -366,6 +368,8 @@ struct cm_perpll {
 struct cm_dpll {
        unsigned int resv1[2];
        unsigned int clktimer2clk;      /* offset 0x08 */
+       unsigned int resv2[10];
+       unsigned int clklcdcpixelclk;   /* offset 0x34 */
 };
 
 /* Control Module RTC registers */
@@ -505,6 +509,35 @@ struct ctrl_dev {
 #define RGMII_INT_DELAY                (RGMII1_IDMODE | RGMII2_IDMODE)
 #define RMII_CHIPCKL_ENABLE     (RMII1_IO_CLK_EN | RMII2_IO_CLK_EN)
 
+/* PWMSS */
+struct pwmss_regs {
+       unsigned int idver;
+       unsigned int sysconfig;
+       unsigned int clkconfig;
+       unsigned int clkstatus;
+};
+#define ECAP_CLK_EN            BIT(0)
+#define ECAP_CLK_STOP_REQ      BIT(1)
+
+struct pwmss_ecap_regs {
+       unsigned int tsctr;
+       unsigned int ctrphs;
+       unsigned int cap1;
+       unsigned int cap2;
+       unsigned int cap3;
+       unsigned int cap4;
+       unsigned int resv1[4];
+       unsigned short ecctl1;
+       unsigned short ecctl2;
+};
+
+/* Capture Control register 2 */
+#define ECTRL2_SYNCOSEL_MASK   (0x03 << 6)
+#define ECTRL2_MDSL_ECAP       BIT(9)
+#define ECTRL2_CTRSTP_FREERUN  BIT(4)
+#define ECTRL2_PLSL_LOW                BIT(10)
+#define ECTRL2_SYNC_EN         BIT(5)
+
 #endif /* __ASSEMBLY__ */
 #endif /* __KERNEL_STRICT_NAMES */
 
index 8973fd884f96ae0986f11d5ca16b39280a9f79ef..e4231c81ad907ade4c27c1ad8fea5b9377c90f60 100644 (file)
 #define USB0_OTG_BASE                  0x47401000
 #define USB1_OTG_BASE                  0x47401800
 
+/* LCD Controller */
+#define LCD_CNTL_BASE                  0x4830E000
+
+/* PWMSS */
+#define PWMSS0_BASE                    0x48300000
+#define AM33XX_ECAP0_BASE              0x48300100
+
 #endif /* __AM33XX_HARDWARE_AM33XX_H */