summaryrefslogtreecommitdiff
path: root/sys/arch/armv7/omap/omap3_prcmreg.h
diff options
context:
space:
mode:
authorPatrick Wildt <patrick@cvs.openbsd.org>2013-09-04 14:38:50 +0000
committerPatrick Wildt <patrick@cvs.openbsd.org>2013-09-04 14:38:50 +0000
commit6bbb01e146782eed471c94cbe2563ae8b59d1b8b (patch)
tree367a031eac776c18fc2f1d73bf86cb60576272b1 /sys/arch/armv7/omap/omap3_prcmreg.h
parentd33bef10c2430729f5df07f3a6eca73a8f3f5d1f (diff)
In the future, we shouldn't have one port port ARM SoC, that's just
ridiculous. This is the first step for a common and generic ARM port for ARMv7 SoCs.
Diffstat (limited to 'sys/arch/armv7/omap/omap3_prcmreg.h')
-rw-r--r--sys/arch/armv7/omap/omap3_prcmreg.h197
1 files changed, 197 insertions, 0 deletions
diff --git a/sys/arch/armv7/omap/omap3_prcmreg.h b/sys/arch/armv7/omap/omap3_prcmreg.h
new file mode 100644
index 00000000000..3d41d170655
--- /dev/null
+++ b/sys/arch/armv7/omap/omap3_prcmreg.h
@@ -0,0 +1,197 @@
+/* $OpenBSD: omap3_prcmreg.h,v 1.1 2013/09/04 14:38:30 patrick Exp $ */
+/*
+ * Copyright (c) 2007, 2009, 2012 Dale Rahn <drahn@dalerahn.com>
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+/* XXX - verify these definitions and correctly merge them with omap4 */
+#define CM_FCLKEN_IVA2 0x0000
+#define CM_CLKEN_PLL_IVA2 0x0004
+#define CM_IDLEST_IVA2 0x0020
+#define CM_IDLEST_PLL_IVA2 0x0024
+#define CM_AUTOIDLE_PLL_IVA2 0x0034
+#define CM_CLKSEL1_PLL_IVA2 0x0040
+#define CM_CLKSEL2_PLL_IVA2 0x0044
+#define CM_CLKSTCTRL_IVA2 0x0048
+#define CM_CLKSTST_IVA2 0x004c
+
+#define CM_CLKSEL_MPU 0x0940
+#define CM_CLKSTCTRL_MPU 0x0948
+#define RM_RSTST_MPU 0x0958
+#define PM_WKDEP_MPU 0x09C8
+#define PM_EVGENCTRL_MPU 0x09D4
+#define PM_EVEGENONTIM_MPU 0x09D8
+#define PM_EVEGENOFFTIM_MPU 0x09DC
+#define PM_PWSTCTRL_MPU 0x09E0
+#define PM_PWSTST_MPU 0x09E4
+
+#define CM_ICLKEN1_CORE 0x0a10
+#define CM_ICLKEN1_CORE_MSK 0x7ffffed2
+#define CM_ICLKEN2_CORE 0x0a14
+#define CM_ICLKEN2_CORE_MSK 0x0000001f
+#define CM_ICLKEN3_CORE 0x0a18
+#define CM_ICLKEN3_CORE_MSK 0x00000004
+#define CM_ICLKEN4_CORE 0x0a1C
+#define CM_IDLEST1_CORE 0x0a20
+#define CM_IDLEST2_CORE 0x0a24
+#define CM_IDLEST4_CORE 0x0a2C
+#define CM_AUTOIDLE1_CORE 0x0a30
+#define CM_AUTOIDLE2_CORE 0x0a34
+#define CM_AUTOIDLE3_CORE 0x0a38
+#define CM_AUTOIDLE4_CORE 0x0a3C
+#define CM_CLKSEL1_CORE 0x0a40
+#define CM_CLKSEL2_CORE 0x0a44
+#define CM_CLKSTCTRL_CORE 0x0a48
+#define PM_WKEN1_CORE 0x0aA0
+#define PM_WKEN2_CORE 0x0aA4
+#define PM_WKST1_CORE 0x0aB0
+#define PM_WKST2_CORE 0x0aB4
+#define PM_WKDEP_CORE 0x0aC8
+#define PM_PWSTCTRL_CORE 0x0aE0
+#define PM_PWSTST_CORE 0x0aE4
+#define CM_FCLKEN_GFX 0x0b00
+#define CM_ICLKEN_GFX 0x0b10
+
+#define CM_IDLEST_GFX 0x0b20
+#define CM_CLKSEL_GFX 0x0b40
+#define CM_CLKSTCTRL_GFX 0x0b48
+#define RM_RSTCTRL_GFX 0x0b50
+#define RM_RSTST_GFX 0x0b58
+#define PM_WKDEP_GFX 0x0bC8
+#define PM_PWSTCTRL_GFX 0x0bE0
+#define PM_PWSTST_GFX 0x0bE4
+#define CM_FCLKEN_WKUP 0x0c00
+#define CM_FCLKEN_WKUP_GPT1 1
+#define CM_FCLKEN_WKUP_GPIOS 4
+#define CM_FCLKEN_WKUP_MPU_WDT 8
+#define CM_ICLKEN_WKUP 0xc10
+#define CM_ICLKEN_WKUP_GPT1 0x01
+#define CM_ICLKEN_WKUP_32KSYNC 0x02
+#define CM_ICLKEN_WKUP_GPIOS 0x04
+#define CM_ICLKEN_WKUP_MPU_WDT 0x08
+#define CM_ICLKEN_WKUP_WDT1 0x10
+#define CM_ICLKEN_WKUP_OMAPCTRL 0x20
+#define CM_IDLEST_WKUP 0x0c20
+#define CM_AUTOIDLE_WKUP 0x0c30
+#define CM_CLKSEL_WKUP 0x0c40
+#define RM_RSTCTRL_WKUP 0x0c50
+#define RM_RSTTIME_WKUP 0x0c54
+#define RM_RSTST_WKUP 0x0c58
+#define PM_WKEN_WKUP 0x0cA0
+#define PM_WKST_WKUP 0x0cB0
+#define CM_CLKEN_PLL 0x0d00
+#define CM_CLKEN2_PLL 0x0d04
+#define CM_IDLEST_CKGEN 0x0d20
+#define CM_AUTOIDLE_PLL 0x0d30
+#define CM_AUTOIDLE2_PLL 0x0d34
+#define CM_CLKSEL1_PLL 0x0d40
+#define CM_CLKSEL2_PLL 0x0d44
+#define CM_CLKSEL3_PLL 0x0d48
+#define CM_CLKSEL4_PLL 0x0d4C
+#define CM_CLKSEL5_PLL 0x0d50
+#define CM_FCLKEN_PER 0x1000
+#define CM_ICLKEN_PER 0x1010
+#define CM_IDLEST_PER 0x1020
+#define CM_AUTOIDLE_PER 0x1030
+#define CM_CLKSEL_PER 0x1040
+#define CM_SLEEPDEP_PER 0x1044
+#define CM_CLKSTCTRL_PER 0x1048
+#define CM_CLKSTST_PER 0x104C
+
+#define CM_CLKSEL1_EMU 0x5140
+#define CM_CLKSTCTRL_EMU 0x5148
+#define CM_CLKSTST_EMU 0x514C
+#define CM_CLKSEL2_EMU 0x5150
+#define CM_CLKSEL3_EMU 0x5154
+
+#define CM_POLCTRL 0x529C
+
+#define CM_IDLEST_NEON 0x5320
+#define CM_CLKSTCTRL_NEON 0x5348
+
+#define CM_FCLKEN_USBHOST 0x5400
+#define CM_ICLKEN_USBHOST 0x5410
+#define CM_IDLEST_USBHOST 0x5420
+#define CM_AUTOIDLE_USBHOST 0x5430
+#define CM_SLEEPDEP_USBHOST 0x5444
+#define CM_CLKSTCTRL_USBHOST 0x5448
+#define CM_CLKSTST_USBHOST 0x544C
+
+/* from prcmvar.h */
+#define CM_FCLKEN1_CORE 0x0a00
+#define CM_FCLKEN1_CORE_MSK 0x41fffe00
+#define CM_FCLKEN2_CORE 0x0a04
+#define CM_FCLKEN2_CORE_MSK 0x00000000
+#define CM_FCLKEN3_CORE 0x0a08
+#define CM_FCLKEN3_CORE_MSK 0x00000007
+
+#define PRCM_REG_CORE_CLK1 0
+#define PRCM_REG_CORE_CLK1_FADDR CM_FCLKEN1_CORE
+#define PRCM_REG_CORE_CLK1_IADDR CM_ICLKEN1_CORE
+#define PRCM_REG_CORE_CLK1_FMASK CM_FCLKEN1_CORE_MSK
+#define PRCM_REG_CORE_CLK1_IMASK CM_ICLKEN1_CORE_MSK
+#define PRCM_REG_CORE_CLK1_BASE (PRCM_REG_CORE_CLK1*32)
+#define PRCM_CLK_EN_MMC3 (PRCM_REG_CORE_CLK1_BASE + 30)
+#define PRCM_CLK_EN_ICR (PRCM_REG_CORE_CLK1_BASE + 29)
+#define PRCM_CLK_EN_AES2 (PRCM_REG_CORE_CLK1_BASE + 28)
+#define PRCM_CLK_EN_SHA12 (PRCM_REG_CORE_CLK1_BASE + 27)
+#define PRCM_CLK_EN_DES2 (PRCM_REG_CORE_CLK1_BASE + 26)
+#define PRCM_CLK_EN_MMC2 (PRCM_REG_CORE_CLK1_BASE + 25)
+#define PRCM_CLK_EN_MMC1 (PRCM_REG_CORE_CLK1_BASE + 24)
+#define PRCM_CLK_EN_MSPRO (PRCM_REG_CORE_CLK1_BASE + 23)
+#define PRCM_CLK_EN_HDQ (PRCM_REG_CORE_CLK1_BASE + 22)
+#define PRCM_CLK_EN_MCSPI4 (PRCM_REG_CORE_CLK1_BASE + 21)
+#define PRCM_CLK_EN_MCSPI3 (PRCM_REG_CORE_CLK1_BASE + 20)
+#define PRCM_CLK_EN_MCSPI2 (PRCM_REG_CORE_CLK1_BASE + 19)
+#define PRCM_CLK_EN_MCSPI1 (PRCM_REG_CORE_CLK1_BASE + 18)
+#define PRCM_CLK_EN_I2C3 (PRCM_REG_CORE_CLK1_BASE + 17)
+#define PRCM_CLK_EN_I2C2 (PRCM_REG_CORE_CLK1_BASE + 16)
+#define PRCM_CLK_EN_I2C1 (PRCM_REG_CORE_CLK1_BASE + 15)
+#define PRCM_CLK_EN_UART2 (PRCM_REG_CORE_CLK1_BASE + 14)
+#define PRCM_CLK_EN_UART1 (PRCM_REG_CORE_CLK1_BASE + 13)
+#define PRCM_CLK_EN_GPT11 (PRCM_REG_CORE_CLK1_BASE + 12)
+#define PRCM_CLK_EN_GPT10 (PRCM_REG_CORE_CLK1_BASE + 11)
+#define PRCM_CLK_EN_MCBSP5 (PRCM_REG_CORE_CLK1_BASE + 10)
+#define PRCM_CLK_EN_MCBSP1 (PRCM_REG_CORE_CLK1_BASE + 9)
+#define PRCM_CLK_EN_MAILBOXES (PRCM_REG_CORE_CLK1_BASE + 7)
+#define PRCM_CLK_EN_OMAPCTRL (PRCM_REG_CORE_CLK1_BASE + 6)
+#define PRCM_CLK_EN_HSOTGUSB (PRCM_REG_CORE_CLK1_BASE + 4)
+#define PRCM_CLK_EN_SDRC (PRCM_REG_CORE_CLK1_BASE + 1)
+
+#define PRCM_REG_CORE_CLK2 1
+#define PRCM_REG_CORE_CLK2_FADDR CM_FCLKEN2_CORE
+#define PRCM_REG_CORE_CLK2_IADDR CM_ICLKEN2_CORE
+#define PRCM_REG_CORE_CLK2_FMASK CM_FCLKEN2_CORE_MSK
+#define PRCM_REG_CORE_CLK2_IMASK CM_ICLKEN2_CORE_MSK
+#define PRCM_REG_CORE_CLK2_BASE (PRCM_REG_CORE_CLK2*32)
+
+#define PRCM_REG_CORE_CLK3 2
+#define PRCM_REG_CORE_CLK3_FADDR CM_FCLKEN3_CORE
+#define PRCM_REG_CORE_CLK3_IADDR CM_ICLKEN3_CORE
+#define PRCM_REG_CORE_CLK3_FMASK CM_FCLKEN3_CORE_MSK
+#define PRCM_REG_CORE_CLK3_IMASK CM_ICLKEN3_CORE_MSK
+#define PRCM_REG_CORE_CLK3_BASE (PRCM_REG_CORE_CLK3*32)
+
+#define CM_CORE_EN_USBTLL (PRCM_REG_CORE_CLK3_BASE + 2)
+#define CM_CORE_EN_TS (PRCM_REG_CORE_CLK3_BASE + 1)
+#define CM_CORE_EN_CPEFUSE (PRCM_REG_CORE_CLK3_BASE + 0)
+
+#define PRCM_REG_USBHOST 3
+#define PRCM_REG_USBHOST_FADDR 0x1400
+#define PRCM_REG_USBHOST_IADDR 0x1410
+#define PRCM_REG_USBHOST_FMASK 0x3
+#define PRCM_REG_USBHOST_IMASK 0x1
+#define PRCM_REG_USBHOST_BASE (PRCM_REG_USBHOST*32)
+
+#define PRCM_CLK_EN_USB (PRCM_REG_USBHOST_BASE + 0)