|
@@ -41,6 +41,7 @@ struct omap_device;
|
|
|
|
|
|
extern struct omap_hwmod_sysc_fields omap_hwmod_sysc_type1;
|
|
extern struct omap_hwmod_sysc_fields omap_hwmod_sysc_type1;
|
|
extern struct omap_hwmod_sysc_fields omap_hwmod_sysc_type2;
|
|
extern struct omap_hwmod_sysc_fields omap_hwmod_sysc_type2;
|
|
|
|
+extern struct omap_hwmod_sysc_fields omap_hwmod_sysc_type3;
|
|
|
|
|
|
/*
|
|
/*
|
|
* OCP SYSCONFIG bit shifts/masks TYPE1. These are for IPs compliant
|
|
* OCP SYSCONFIG bit shifts/masks TYPE1. These are for IPs compliant
|
|
@@ -69,6 +70,17 @@ extern struct omap_hwmod_sysc_fields omap_hwmod_sysc_type2;
|
|
#define SYSC_TYPE2_SIDLEMODE_MASK (0x3 << SYSC_TYPE2_SIDLEMODE_SHIFT)
|
|
#define SYSC_TYPE2_SIDLEMODE_MASK (0x3 << SYSC_TYPE2_SIDLEMODE_SHIFT)
|
|
#define SYSC_TYPE2_MIDLEMODE_SHIFT 4
|
|
#define SYSC_TYPE2_MIDLEMODE_SHIFT 4
|
|
#define SYSC_TYPE2_MIDLEMODE_MASK (0x3 << SYSC_TYPE2_MIDLEMODE_SHIFT)
|
|
#define SYSC_TYPE2_MIDLEMODE_MASK (0x3 << SYSC_TYPE2_MIDLEMODE_SHIFT)
|
|
|
|
+#define SYSC_TYPE2_DMADISABLE_SHIFT 16
|
|
|
|
+#define SYSC_TYPE2_DMADISABLE_MASK (0x1 << SYSC_TYPE2_DMADISABLE_SHIFT)
|
|
|
|
+
|
|
|
|
+/*
|
|
|
|
+ * OCP SYSCONFIG bit shifts/masks TYPE3.
|
|
|
|
+ * This is applicable for some IPs present in AM33XX
|
|
|
|
+ */
|
|
|
|
+#define SYSC_TYPE3_SIDLEMODE_SHIFT 0
|
|
|
|
+#define SYSC_TYPE3_SIDLEMODE_MASK (0x3 << SYSC_TYPE3_SIDLEMODE_SHIFT)
|
|
|
|
+#define SYSC_TYPE3_MIDLEMODE_SHIFT 2
|
|
|
|
+#define SYSC_TYPE3_MIDLEMODE_MASK (0x3 << SYSC_TYPE3_MIDLEMODE_SHIFT)
|
|
|
|
|
|
/* OCP SYSSTATUS bit shifts/masks */
|
|
/* OCP SYSSTATUS bit shifts/masks */
|
|
#define SYSS_RESETDONE_SHIFT 0
|
|
#define SYSS_RESETDONE_SHIFT 0
|
|
@@ -283,6 +295,7 @@ struct omap_hwmod_ocp_if {
|
|
#define SYSS_HAS_RESET_STATUS (1 << 7)
|
|
#define SYSS_HAS_RESET_STATUS (1 << 7)
|
|
#define SYSC_NO_CACHE (1 << 8) /* XXX SW flag, belongs elsewhere */
|
|
#define SYSC_NO_CACHE (1 << 8) /* XXX SW flag, belongs elsewhere */
|
|
#define SYSC_HAS_RESET_STATUS (1 << 9)
|
|
#define SYSC_HAS_RESET_STATUS (1 << 9)
|
|
|
|
+#define SYSC_HAS_DMADISABLE (1 << 10)
|
|
|
|
|
|
/* omap_hwmod_sysconfig.clockact flags */
|
|
/* omap_hwmod_sysconfig.clockact flags */
|
|
#define CLOCKACT_TEST_BOTH 0x0
|
|
#define CLOCKACT_TEST_BOTH 0x0
|
|
@@ -298,6 +311,7 @@ struct omap_hwmod_ocp_if {
|
|
* @enwkup_shift: Offset of the enawakeup bit
|
|
* @enwkup_shift: Offset of the enawakeup bit
|
|
* @srst_shift: Offset of the softreset bit
|
|
* @srst_shift: Offset of the softreset bit
|
|
* @autoidle_shift: Offset of the autoidle bit
|
|
* @autoidle_shift: Offset of the autoidle bit
|
|
|
|
+ * @dmadisable_shift: Offset of the dmadisable bit
|
|
*/
|
|
*/
|
|
struct omap_hwmod_sysc_fields {
|
|
struct omap_hwmod_sysc_fields {
|
|
u8 midle_shift;
|
|
u8 midle_shift;
|
|
@@ -306,6 +320,7 @@ struct omap_hwmod_sysc_fields {
|
|
u8 enwkup_shift;
|
|
u8 enwkup_shift;
|
|
u8 srst_shift;
|
|
u8 srst_shift;
|
|
u8 autoidle_shift;
|
|
u8 autoidle_shift;
|
|
|
|
+ u8 dmadisable_shift;
|
|
};
|
|
};
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -374,11 +389,13 @@ struct omap_hwmod_omap2_prcm {
|
|
* struct omap_hwmod_omap4_prcm - OMAP4-specific PRCM data
|
|
* struct omap_hwmod_omap4_prcm - OMAP4-specific PRCM data
|
|
* @clkctrl_reg: PRCM address of the clock control register
|
|
* @clkctrl_reg: PRCM address of the clock control register
|
|
* @rstctrl_reg: address of the XXX_RSTCTRL register located in the PRM
|
|
* @rstctrl_reg: address of the XXX_RSTCTRL register located in the PRM
|
|
|
|
+ * @rstst_reg: (AM33XX only) address of the XXX_RSTST register in the PRM
|
|
* @submodule_wkdep_bit: bit shift of the WKDEP range
|
|
* @submodule_wkdep_bit: bit shift of the WKDEP range
|
|
*/
|
|
*/
|
|
struct omap_hwmod_omap4_prcm {
|
|
struct omap_hwmod_omap4_prcm {
|
|
u16 clkctrl_offs;
|
|
u16 clkctrl_offs;
|
|
u16 rstctrl_offs;
|
|
u16 rstctrl_offs;
|
|
|
|
+ u16 rstst_offs;
|
|
u16 context_offs;
|
|
u16 context_offs;
|
|
u8 submodule_wkdep_bit;
|
|
u8 submodule_wkdep_bit;
|
|
u8 modulemode;
|
|
u8 modulemode;
|