|
@@ -64,3 +64,65 @@
|
|
|
#define SOFT_USB_OTG_DPLL_REQ_SHIFT 8
|
|
|
#define SOFT_CAM_DPLL_REQ_SHIFT 7
|
|
|
#define SOFT_COM_MCKO_REQ_SHIFT 6
|
|
|
+#define SOFT_PERIPH_REQ_SHIFT 5 /* sys_ck gate for UART2 ? */
|
|
|
+#define USB_REQ_EN_SHIFT 4
|
|
|
+#define SOFT_USB_REQ_SHIFT 3 /* sys_ck gate for USB host? */
|
|
|
+#define SOFT_SDW_REQ_SHIFT 2 /* sys_ck gate for Bluetooth? */
|
|
|
+#define SOFT_COM_REQ_SHIFT 1 /* sys_ck gate for com proc? */
|
|
|
+#define SOFT_DPLL_REQ_SHIFT 0
|
|
|
+
|
|
|
+/*
|
|
|
+ * Omap1 clocks
|
|
|
+ */
|
|
|
+
|
|
|
+static struct clk ck_ref = {
|
|
|
+ .name = "ck_ref",
|
|
|
+ .ops = &clkops_null,
|
|
|
+ .rate = 12000000,
|
|
|
+};
|
|
|
+
|
|
|
+static struct clk ck_dpll1 = {
|
|
|
+ .name = "ck_dpll1",
|
|
|
+ .ops = &clkops_null,
|
|
|
+ .parent = &ck_ref,
|
|
|
+};
|
|
|
+
|
|
|
+/*
|
|
|
+ * FIXME: This clock seems to be necessary but no-one has asked for its
|
|
|
+ * activation. [ FIX: SoSSI, SSR ]
|
|
|
+ */
|
|
|
+static struct arm_idlect1_clk ck_dpll1out = {
|
|
|
+ .clk = {
|
|
|
+ .name = "ck_dpll1out",
|
|
|
+ .ops = &clkops_generic,
|
|
|
+ .parent = &ck_dpll1,
|
|
|
+ .flags = CLOCK_IDLE_CONTROL | ENABLE_REG_32BIT |
|
|
|
+ ENABLE_ON_INIT,
|
|
|
+ .enable_reg = OMAP1_IO_ADDRESS(ARM_IDLECT2),
|
|
|
+ .enable_bit = EN_CKOUT_ARM,
|
|
|
+ .recalc = &followparent_recalc,
|
|
|
+ },
|
|
|
+ .idlect_shift = IDL_CLKOUT_ARM_SHIFT,
|
|
|
+};
|
|
|
+
|
|
|
+static struct clk sossi_ck = {
|
|
|
+ .name = "ck_sossi",
|
|
|
+ .ops = &clkops_generic,
|
|
|
+ .parent = &ck_dpll1out.clk,
|
|
|
+ .flags = CLOCK_NO_IDLE_PARENT | ENABLE_REG_32BIT,
|
|
|
+ .enable_reg = OMAP1_IO_ADDRESS(MOD_CONF_CTRL_1),
|
|
|
+ .enable_bit = CONF_MOD_SOSSI_CLK_EN_R,
|
|
|
+ .recalc = &omap1_sossi_recalc,
|
|
|
+ .set_rate = &omap1_set_sossi_rate,
|
|
|
+};
|
|
|
+
|
|
|
+static struct clk arm_ck = {
|
|
|
+ .name = "arm_ck",
|
|
|
+ .ops = &clkops_null,
|
|
|
+ .parent = &ck_dpll1,
|
|
|
+ .rate_offset = CKCTL_ARMDIV_OFFSET,
|
|
|
+ .recalc = &omap1_ckctl_recalc,
|
|
|
+ .round_rate = omap1_clk_round_rate_ckctl_arm,
|
|
|
+ .set_rate = omap1_clk_set_rate_ckctl_arm,
|
|
|
+};
|
|
|
+
|