diff options
author | Vaibhav Hiremath <hvaibhav@ti.com> | 2012-06-18 02:47:25 -0400 |
---|---|---|
committer | Paul Walmsley <paul@pwsan.com> | 2012-06-18 02:47:25 -0400 |
commit | 2e113c648dc29c3d8418fe277917b04397375939 (patch) | |
tree | d3b7f3d9fd5d15806f412c2fc3cee78b1a54b319 /arch/arm | |
parent | 08f3098928c991560408e8c71d4af8b1a3ff2d67 (diff) |
ARM: OMAP2+: control: Add AM33XX control reg & sec clkctrl offset
Define AM33XX control register, in order to allow access to
control register address space, also add CONTROL_SEC_CLK_CTRL
register offset; both are required in clock tree data,
for wdt0 and timer0 clock source select configuration.
CONTROL.SEC_CLK_CTRL register is provided to select/configure
clock input for WDT0 and TIMER0.
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Tony Lindgren <tony@atomide.com>
[paul@pwsan.com: added include of plat/am33xx.h to fix build break;
added AM33XX_CONTROL_STATUS bitfields that will be needed for the clock
tree; fixed some control.h whitespace problems while here]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/mach-omap2/control.h | 39 |
1 files changed, 23 insertions, 16 deletions
diff --git a/arch/arm/mach-omap2/control.h b/arch/arm/mach-omap2/control.h index a406fd045ce1..c43f03cbefc5 100644 --- a/arch/arm/mach-omap2/control.h +++ b/arch/arm/mach-omap2/control.h | |||
@@ -21,6 +21,8 @@ | |||
21 | #include <mach/ctrl_module_pad_core_44xx.h> | 21 | #include <mach/ctrl_module_pad_core_44xx.h> |
22 | #include <mach/ctrl_module_pad_wkup_44xx.h> | 22 | #include <mach/ctrl_module_pad_wkup_44xx.h> |
23 | 23 | ||
24 | #include <plat/am33xx.h> | ||
25 | |||
24 | #ifndef __ASSEMBLY__ | 26 | #ifndef __ASSEMBLY__ |
25 | #define OMAP242X_CTRL_REGADDR(reg) \ | 27 | #define OMAP242X_CTRL_REGADDR(reg) \ |
26 | OMAP2_L4_IO_ADDRESS(OMAP242X_CTRL_BASE + (reg)) | 28 | OMAP2_L4_IO_ADDRESS(OMAP242X_CTRL_BASE + (reg)) |
@@ -28,6 +30,8 @@ | |||
28 | OMAP2_L4_IO_ADDRESS(OMAP243X_CTRL_BASE + (reg)) | 30 | OMAP2_L4_IO_ADDRESS(OMAP243X_CTRL_BASE + (reg)) |
29 | #define OMAP343X_CTRL_REGADDR(reg) \ | 31 | #define OMAP343X_CTRL_REGADDR(reg) \ |
30 | OMAP2_L4_IO_ADDRESS(OMAP343X_CTRL_BASE + (reg)) | 32 | OMAP2_L4_IO_ADDRESS(OMAP343X_CTRL_BASE + (reg)) |
33 | #define AM33XX_CTRL_REGADDR(reg) \ | ||
34 | AM33XX_L4_WK_IO_ADDRESS(AM33XX_SCM_BASE + (reg)) | ||
31 | #else | 35 | #else |
32 | #define OMAP242X_CTRL_REGADDR(reg) \ | 36 | #define OMAP242X_CTRL_REGADDR(reg) \ |
33 | OMAP2_L4_IO_ADDRESS(OMAP242X_CTRL_BASE + (reg)) | 37 | OMAP2_L4_IO_ADDRESS(OMAP242X_CTRL_BASE + (reg)) |
@@ -35,6 +39,8 @@ | |||
35 | OMAP2_L4_IO_ADDRESS(OMAP243X_CTRL_BASE + (reg)) | 39 | OMAP2_L4_IO_ADDRESS(OMAP243X_CTRL_BASE + (reg)) |
36 | #define OMAP343X_CTRL_REGADDR(reg) \ | 40 | #define OMAP343X_CTRL_REGADDR(reg) \ |
37 | OMAP2_L4_IO_ADDRESS(OMAP343X_CTRL_BASE + (reg)) | 41 | OMAP2_L4_IO_ADDRESS(OMAP343X_CTRL_BASE + (reg)) |
42 | #define AM33XX_CTRL_REGADDR(reg) \ | ||
43 | AM33XX_L4_WK_IO_ADDRESS(AM33XX_SCM_BASE + (reg)) | ||
38 | #endif /* __ASSEMBLY__ */ | 44 | #endif /* __ASSEMBLY__ */ |
39 | 45 | ||
40 | /* | 46 | /* |
@@ -312,15 +318,15 @@ | |||
312 | OMAP343X_SCRATCHPAD + reg) | 318 | OMAP343X_SCRATCHPAD + reg) |
313 | 319 | ||
314 | /* AM35XX_CONTROL_IPSS_CLK_CTRL bits */ | 320 | /* AM35XX_CONTROL_IPSS_CLK_CTRL bits */ |
315 | #define AM35XX_USBOTG_VBUSP_CLK_SHIFT 0 | 321 | #define AM35XX_USBOTG_VBUSP_CLK_SHIFT 0 |
316 | #define AM35XX_CPGMAC_VBUSP_CLK_SHIFT 1 | 322 | #define AM35XX_CPGMAC_VBUSP_CLK_SHIFT 1 |
317 | #define AM35XX_VPFE_VBUSP_CLK_SHIFT 2 | 323 | #define AM35XX_VPFE_VBUSP_CLK_SHIFT 2 |
318 | #define AM35XX_HECC_VBUSP_CLK_SHIFT 3 | 324 | #define AM35XX_HECC_VBUSP_CLK_SHIFT 3 |
319 | #define AM35XX_USBOTG_FCLK_SHIFT 8 | 325 | #define AM35XX_USBOTG_FCLK_SHIFT 8 |
320 | #define AM35XX_CPGMAC_FCLK_SHIFT 9 | 326 | #define AM35XX_CPGMAC_FCLK_SHIFT 9 |
321 | #define AM35XX_VPFE_FCLK_SHIFT 10 | 327 | #define AM35XX_VPFE_FCLK_SHIFT 10 |
322 | 328 | ||
323 | /*AM35XX CONTROL_LVL_INTR_CLEAR bits*/ | 329 | /* AM35XX CONTROL_LVL_INTR_CLEAR bits */ |
324 | #define AM35XX_CPGMAC_C0_MISC_PULSE_CLR BIT(0) | 330 | #define AM35XX_CPGMAC_C0_MISC_PULSE_CLR BIT(0) |
325 | #define AM35XX_CPGMAC_C0_RX_PULSE_CLR BIT(1) | 331 | #define AM35XX_CPGMAC_C0_RX_PULSE_CLR BIT(1) |
326 | #define AM35XX_CPGMAC_C0_RX_THRESH_CLR BIT(2) | 332 | #define AM35XX_CPGMAC_C0_RX_THRESH_CLR BIT(2) |
@@ -330,21 +336,22 @@ | |||
330 | #define AM35XX_VPFE_CCDC_VD1_INT_CLR BIT(6) | 336 | #define AM35XX_VPFE_CCDC_VD1_INT_CLR BIT(6) |
331 | #define AM35XX_VPFE_CCDC_VD2_INT_CLR BIT(7) | 337 | #define AM35XX_VPFE_CCDC_VD2_INT_CLR BIT(7) |
332 | 338 | ||
333 | /*AM35XX CONTROL_IP_SW_RESET bits*/ | 339 | /* AM35XX CONTROL_IP_SW_RESET bits */ |
334 | #define AM35XX_USBOTGSS_SW_RST BIT(0) | 340 | #define AM35XX_USBOTGSS_SW_RST BIT(0) |
335 | #define AM35XX_CPGMACSS_SW_RST BIT(1) | 341 | #define AM35XX_CPGMACSS_SW_RST BIT(1) |
336 | #define AM35XX_VPFE_VBUSP_SW_RST BIT(2) | 342 | #define AM35XX_VPFE_VBUSP_SW_RST BIT(2) |
337 | #define AM35XX_HECC_SW_RST BIT(3) | 343 | #define AM35XX_HECC_SW_RST BIT(3) |
338 | #define AM35XX_VPFE_PCLK_SW_RST BIT(4) | 344 | #define AM35XX_VPFE_PCLK_SW_RST BIT(4) |
339 | 345 | ||
340 | /* | 346 | /* AM33XX CONTROL_STATUS register */ |
341 | * CONTROL AM33XX STATUS register | ||
342 | */ | ||
343 | #define AM33XX_CONTROL_STATUS 0x040 | 347 | #define AM33XX_CONTROL_STATUS 0x040 |
348 | #define AM33XX_CONTROL_SEC_CLK_CTRL 0x1bc | ||
344 | 349 | ||
345 | /* | 350 | /* AM33XX CONTROL_STATUS bitfields (partial) */ |
346 | * CONTROL OMAP STATUS register to identify OMAP3 features | 351 | #define AM33XX_CONTROL_STATUS_SYSBOOT1_SHIFT 22 |
347 | */ | 352 | #define AM33XX_CONTROL_STATUS_SYSBOOT1_MASK (0x3 << 22) |
353 | |||
354 | /* CONTROL OMAP STATUS register to identify OMAP3 features */ | ||
348 | #define OMAP3_CONTROL_OMAP_STATUS 0x044c | 355 | #define OMAP3_CONTROL_OMAP_STATUS 0x044c |
349 | 356 | ||
350 | #define OMAP3_SGX_SHIFT 13 | 357 | #define OMAP3_SGX_SHIFT 13 |