|
@@ -285,3 +285,84 @@ static struct clockdomain sgx_am35x_clkdm = {
|
|
|
* then that information was removed from the 34xx ES2+ TRM. It is
|
|
|
* unclear whether the core is still there, but the clockdomain logic
|
|
|
* is there, and must be programmed to an appropriate state if the
|
|
|
+ * CORE clockdomain is to become inactive.
|
|
|
+ */
|
|
|
+static struct clockdomain d2d_clkdm = {
|
|
|
+ .name = "d2d_clkdm",
|
|
|
+ .pwrdm = { .name = "core_pwrdm" },
|
|
|
+ .flags = CLKDM_CAN_HWSUP_SWSUP,
|
|
|
+ .clktrctrl_mask = OMAP3430ES1_CLKTRCTRL_D2D_MASK,
|
|
|
+};
|
|
|
+
|
|
|
+/*
|
|
|
+ * XXX add usecounting for clkdm dependencies, otherwise the presence
|
|
|
+ * of a single dep bit for core_l3_3xxx_clkdm and core_l4_3xxx_clkdm
|
|
|
+ * could cause trouble
|
|
|
+ */
|
|
|
+static struct clockdomain core_l3_3xxx_clkdm = {
|
|
|
+ .name = "core_l3_clkdm",
|
|
|
+ .pwrdm = { .name = "core_pwrdm" },
|
|
|
+ .flags = CLKDM_CAN_HWSUP,
|
|
|
+ .dep_bit = OMAP3430_EN_CORE_SHIFT,
|
|
|
+ .clktrctrl_mask = OMAP3430_CLKTRCTRL_L3_MASK,
|
|
|
+};
|
|
|
+
|
|
|
+/*
|
|
|
+ * XXX add usecounting for clkdm dependencies, otherwise the presence
|
|
|
+ * of a single dep bit for core_l3_3xxx_clkdm and core_l4_3xxx_clkdm
|
|
|
+ * could cause trouble
|
|
|
+ */
|
|
|
+static struct clockdomain core_l4_3xxx_clkdm = {
|
|
|
+ .name = "core_l4_clkdm",
|
|
|
+ .pwrdm = { .name = "core_pwrdm" },
|
|
|
+ .flags = CLKDM_CAN_HWSUP,
|
|
|
+ .dep_bit = OMAP3430_EN_CORE_SHIFT,
|
|
|
+ .clktrctrl_mask = OMAP3430_CLKTRCTRL_L4_MASK,
|
|
|
+};
|
|
|
+
|
|
|
+/* Another case of bit name collisions between several registers: EN_DSS */
|
|
|
+static struct clockdomain dss_3xxx_clkdm = {
|
|
|
+ .name = "dss_clkdm",
|
|
|
+ .pwrdm = { .name = "dss_pwrdm" },
|
|
|
+ .flags = CLKDM_CAN_HWSUP_SWSUP,
|
|
|
+ .dep_bit = OMAP3430_PM_WKDEP_MPU_EN_DSS_SHIFT,
|
|
|
+ .wkdep_srcs = dss_wkdeps,
|
|
|
+ .sleepdep_srcs = dss_sleepdeps,
|
|
|
+ .clktrctrl_mask = OMAP3430_CLKTRCTRL_DSS_MASK,
|
|
|
+};
|
|
|
+
|
|
|
+static struct clockdomain dss_am35x_clkdm = {
|
|
|
+ .name = "dss_clkdm",
|
|
|
+ .pwrdm = { .name = "dss_pwrdm" },
|
|
|
+ .flags = CLKDM_CAN_HWSUP_SWSUP,
|
|
|
+ .dep_bit = OMAP3430_PM_WKDEP_MPU_EN_DSS_SHIFT,
|
|
|
+ .wkdep_srcs = dss_am35x_wkdeps,
|
|
|
+ .sleepdep_srcs = dss_am35x_sleepdeps,
|
|
|
+ .clktrctrl_mask = OMAP3430_CLKTRCTRL_DSS_MASK,
|
|
|
+};
|
|
|
+
|
|
|
+static struct clockdomain cam_clkdm = {
|
|
|
+ .name = "cam_clkdm",
|
|
|
+ .pwrdm = { .name = "cam_pwrdm" },
|
|
|
+ .flags = CLKDM_CAN_HWSUP_SWSUP,
|
|
|
+ .wkdep_srcs = cam_wkdeps,
|
|
|
+ .sleepdep_srcs = cam_sleepdeps,
|
|
|
+ .clktrctrl_mask = OMAP3430_CLKTRCTRL_CAM_MASK,
|
|
|
+};
|
|
|
+
|
|
|
+static struct clockdomain usbhost_clkdm = {
|
|
|
+ .name = "usbhost_clkdm",
|
|
|
+ .pwrdm = { .name = "usbhost_pwrdm" },
|
|
|
+ .flags = CLKDM_CAN_HWSUP_SWSUP,
|
|
|
+ .wkdep_srcs = usbhost_wkdeps,
|
|
|
+ .sleepdep_srcs = usbhost_sleepdeps,
|
|
|
+ .clktrctrl_mask = OMAP3430ES2_CLKTRCTRL_USBHOST_MASK,
|
|
|
+};
|
|
|
+
|
|
|
+static struct clockdomain usbhost_am35x_clkdm = {
|
|
|
+ .name = "usbhost_clkdm",
|
|
|
+ .pwrdm = { .name = "core_pwrdm" },
|
|
|
+ .flags = CLKDM_CAN_HWSUP_SWSUP,
|
|
|
+ .wkdep_srcs = usbhost_am35x_wkdeps,
|
|
|
+ .sleepdep_srcs = usbhost_am35x_sleepdeps,
|
|
|
+ .clktrctrl_mask = OMAP3430ES2_CLKTRCTRL_USBHOST_MASK,
|