|
@@ -1118,3 +1118,98 @@ static struct omap_hwmod_class i2c_class = {
|
|
};
|
|
};
|
|
|
|
|
|
static struct omap_i2c_dev_attr i2c_dev_attr = {
|
|
static struct omap_i2c_dev_attr i2c_dev_attr = {
|
|
|
|
+ .flags = OMAP_I2C_FLAG_BUS_SHIFT_NONE,
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+/* i2c1 */
|
|
|
|
+static struct omap_hwmod_irq_info i2c1_mpu_irqs[] = {
|
|
|
|
+ { .irq = 70 + OMAP_INTC_START, },
|
|
|
|
+ { .irq = -1 },
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+static struct omap_hwmod_dma_info i2c1_edma_reqs[] = {
|
|
|
|
+ { .name = "tx", .dma_req = 0, },
|
|
|
|
+ { .name = "rx", .dma_req = 0, },
|
|
|
|
+ { .dma_req = -1 }
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+static struct omap_hwmod am33xx_i2c1_hwmod = {
|
|
|
|
+ .name = "i2c1",
|
|
|
|
+ .class = &i2c_class,
|
|
|
|
+ .clkdm_name = "l4_wkup_clkdm",
|
|
|
|
+ .mpu_irqs = i2c1_mpu_irqs,
|
|
|
|
+ .sdma_reqs = i2c1_edma_reqs,
|
|
|
|
+ .flags = HWMOD_16BIT_REG | HWMOD_SET_DEFAULT_CLOCKACT,
|
|
|
|
+ .main_clk = "dpll_per_m2_div4_wkupdm_ck",
|
|
|
|
+ .prcm = {
|
|
|
|
+ .omap4 = {
|
|
|
|
+ .clkctrl_offs = AM33XX_CM_WKUP_I2C0_CLKCTRL_OFFSET,
|
|
|
|
+ .modulemode = MODULEMODE_SWCTRL,
|
|
|
|
+ },
|
|
|
|
+ },
|
|
|
|
+ .dev_attr = &i2c_dev_attr,
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+/* i2c1 */
|
|
|
|
+static struct omap_hwmod_irq_info i2c2_mpu_irqs[] = {
|
|
|
|
+ { .irq = 71 + OMAP_INTC_START, },
|
|
|
|
+ { .irq = -1 },
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+static struct omap_hwmod_dma_info i2c2_edma_reqs[] = {
|
|
|
|
+ { .name = "tx", .dma_req = 0, },
|
|
|
|
+ { .name = "rx", .dma_req = 0, },
|
|
|
|
+ { .dma_req = -1 }
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+static struct omap_hwmod am33xx_i2c2_hwmod = {
|
|
|
|
+ .name = "i2c2",
|
|
|
|
+ .class = &i2c_class,
|
|
|
|
+ .clkdm_name = "l4ls_clkdm",
|
|
|
|
+ .mpu_irqs = i2c2_mpu_irqs,
|
|
|
|
+ .sdma_reqs = i2c2_edma_reqs,
|
|
|
|
+ .flags = HWMOD_16BIT_REG | HWMOD_SET_DEFAULT_CLOCKACT,
|
|
|
|
+ .main_clk = "dpll_per_m2_div4_ck",
|
|
|
|
+ .prcm = {
|
|
|
|
+ .omap4 = {
|
|
|
|
+ .clkctrl_offs = AM33XX_CM_PER_I2C1_CLKCTRL_OFFSET,
|
|
|
|
+ .modulemode = MODULEMODE_SWCTRL,
|
|
|
|
+ },
|
|
|
|
+ },
|
|
|
|
+ .dev_attr = &i2c_dev_attr,
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+/* i2c3 */
|
|
|
|
+static struct omap_hwmod_dma_info i2c3_edma_reqs[] = {
|
|
|
|
+ { .name = "tx", .dma_req = 0, },
|
|
|
|
+ { .name = "rx", .dma_req = 0, },
|
|
|
|
+ { .dma_req = -1 }
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+static struct omap_hwmod_irq_info i2c3_mpu_irqs[] = {
|
|
|
|
+ { .irq = 30 + OMAP_INTC_START, },
|
|
|
|
+ { .irq = -1 },
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+static struct omap_hwmod am33xx_i2c3_hwmod = {
|
|
|
|
+ .name = "i2c3",
|
|
|
|
+ .class = &i2c_class,
|
|
|
|
+ .clkdm_name = "l4ls_clkdm",
|
|
|
|
+ .mpu_irqs = i2c3_mpu_irqs,
|
|
|
|
+ .sdma_reqs = i2c3_edma_reqs,
|
|
|
|
+ .flags = HWMOD_16BIT_REG | HWMOD_SET_DEFAULT_CLOCKACT,
|
|
|
|
+ .main_clk = "dpll_per_m2_div4_ck",
|
|
|
|
+ .prcm = {
|
|
|
|
+ .omap4 = {
|
|
|
|
+ .clkctrl_offs = AM33XX_CM_PER_I2C2_CLKCTRL_OFFSET,
|
|
|
|
+ .modulemode = MODULEMODE_SWCTRL,
|
|
|
|
+ },
|
|
|
|
+ },
|
|
|
|
+ .dev_attr = &i2c_dev_attr,
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+/* lcdc */
|
|
|
|
+static struct omap_hwmod_class_sysconfig lcdc_sysc = {
|
|
|
|
+ .rev_offs = 0x0,
|
|
|
|
+ .sysc_offs = 0x54,
|