|
@@ -15,3 +15,90 @@
|
|
|
#include <linux/platform_data/spi-omap2-mcspi.h>
|
|
|
|
|
|
#include "omap_hwmod.h"
|
|
|
+#include "omap_hwmod_common_data.h"
|
|
|
+#include "cm-regbits-24xx.h"
|
|
|
+#include "prm-regbits-24xx.h"
|
|
|
+#include "wd_timer.h"
|
|
|
+
|
|
|
+struct omap_hwmod_irq_info omap2xxx_timer12_mpu_irqs[] = {
|
|
|
+ { .irq = 48 + OMAP_INTC_START, },
|
|
|
+ { .irq = -1 },
|
|
|
+};
|
|
|
+
|
|
|
+struct omap_hwmod_dma_info omap2xxx_dss_sdma_chs[] = {
|
|
|
+ { .name = "dispc", .dma_req = 5 },
|
|
|
+ { .dma_req = -1 }
|
|
|
+};
|
|
|
+
|
|
|
+/*
|
|
|
+ * 'dispc' class
|
|
|
+ * display controller
|
|
|
+ */
|
|
|
+
|
|
|
+static struct omap_hwmod_class_sysconfig omap2_dispc_sysc = {
|
|
|
+ .rev_offs = 0x0000,
|
|
|
+ .sysc_offs = 0x0010,
|
|
|
+ .syss_offs = 0x0014,
|
|
|
+ .sysc_flags = (SYSC_HAS_SIDLEMODE | SYSC_HAS_MIDLEMODE |
|
|
|
+ SYSC_HAS_SOFTRESET | SYSC_HAS_AUTOIDLE),
|
|
|
+ .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART |
|
|
|
+ MSTANDBY_FORCE | MSTANDBY_NO | MSTANDBY_SMART),
|
|
|
+ .sysc_fields = &omap_hwmod_sysc_type1,
|
|
|
+};
|
|
|
+
|
|
|
+struct omap_hwmod_class omap2_dispc_hwmod_class = {
|
|
|
+ .name = "dispc",
|
|
|
+ .sysc = &omap2_dispc_sysc,
|
|
|
+};
|
|
|
+
|
|
|
+/* OMAP2xxx Timer Common */
|
|
|
+static struct omap_hwmod_class_sysconfig omap2xxx_timer_sysc = {
|
|
|
+ .rev_offs = 0x0000,
|
|
|
+ .sysc_offs = 0x0010,
|
|
|
+ .syss_offs = 0x0014,
|
|
|
+ .sysc_flags = (SYSC_HAS_SIDLEMODE | SYSC_HAS_CLOCKACTIVITY |
|
|
|
+ SYSC_HAS_ENAWAKEUP | SYSC_HAS_SOFTRESET |
|
|
|
+ SYSC_HAS_AUTOIDLE | SYSS_HAS_RESET_STATUS),
|
|
|
+ .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
|
|
|
+ .clockact = CLOCKACT_TEST_ICLK,
|
|
|
+ .sysc_fields = &omap_hwmod_sysc_type1,
|
|
|
+};
|
|
|
+
|
|
|
+struct omap_hwmod_class omap2xxx_timer_hwmod_class = {
|
|
|
+ .name = "timer",
|
|
|
+ .sysc = &omap2xxx_timer_sysc,
|
|
|
+};
|
|
|
+
|
|
|
+/*
|
|
|
+ * 'wd_timer' class
|
|
|
+ * 32-bit watchdog upward counter that generates a pulse on the reset pin on
|
|
|
+ * overflow condition
|
|
|
+ */
|
|
|
+
|
|
|
+static struct omap_hwmod_class_sysconfig omap2xxx_wd_timer_sysc = {
|
|
|
+ .rev_offs = 0x0000,
|
|
|
+ .sysc_offs = 0x0010,
|
|
|
+ .syss_offs = 0x0014,
|
|
|
+ .sysc_flags = (SYSC_HAS_EMUFREE | SYSC_HAS_SOFTRESET |
|
|
|
+ SYSC_HAS_AUTOIDLE | SYSS_HAS_RESET_STATUS),
|
|
|
+ .sysc_fields = &omap_hwmod_sysc_type1,
|
|
|
+};
|
|
|
+
|
|
|
+struct omap_hwmod_class omap2xxx_wd_timer_hwmod_class = {
|
|
|
+ .name = "wd_timer",
|
|
|
+ .sysc = &omap2xxx_wd_timer_sysc,
|
|
|
+ .pre_shutdown = &omap2_wd_timer_disable,
|
|
|
+ .reset = &omap2_wd_timer_reset,
|
|
|
+};
|
|
|
+
|
|
|
+/*
|
|
|
+ * 'gpio' class
|
|
|
+ * general purpose io module
|
|
|
+ */
|
|
|
+static struct omap_hwmod_class_sysconfig omap2xxx_gpio_sysc = {
|
|
|
+ .rev_offs = 0x0000,
|
|
|
+ .sysc_offs = 0x0010,
|
|
|
+ .syss_offs = 0x0014,
|
|
|
+ .sysc_flags = (SYSC_HAS_ENAWAKEUP | SYSC_HAS_SIDLEMODE |
|
|
|
+ SYSC_HAS_SOFTRESET | SYSC_HAS_AUTOIDLE |
|
|
|
+ SYSS_HAS_RESET_STATUS),
|