|
@@ -145,3 +145,123 @@ struct prcm_config {
|
|
|
#define RII_CLKSEL_L4 (2 << 5) /* 50MHz */
|
|
|
#define RII_CLKSEL_USB (2 << 25) /* 50MHz */
|
|
|
#define RII_CM_CLKSEL1_CORE_VAL (RII_CLKSEL_USB | RXX_CLKSEL_SSI | \
|
|
|
+ RXX_CLKSEL_VLYNQ | RX_CLKSEL_DSS2 | \
|
|
|
+ RX_CLKSEL_DSS1 | RII_CLKSEL_L4 | \
|
|
|
+ RII_CLKSEL_L3)
|
|
|
+#define RII_CLKSEL_MPU (2 << 0) /* 300MHz */
|
|
|
+#define RII_CM_CLKSEL_MPU_VAL RII_CLKSEL_MPU
|
|
|
+#define RII_CLKSEL_DSP (3 << 0) /* c5x - 200MHz */
|
|
|
+#define RII_CLKSEL_DSP_IF (2 << 5) /* c5x - 100MHz */
|
|
|
+#define RII_SYNC_DSP (0 << 7) /* Bypass sync */
|
|
|
+#define RII_CLKSEL_IVA (3 << 8) /* iva1 - 200MHz */
|
|
|
+#define RII_SYNC_IVA (0 << 13) /* Bypass sync */
|
|
|
+#define RII_CM_CLKSEL_DSP_VAL (RII_SYNC_IVA | RII_CLKSEL_IVA | \
|
|
|
+ RII_SYNC_DSP | RII_CLKSEL_DSP_IF | \
|
|
|
+ RII_CLKSEL_DSP)
|
|
|
+#define RII_CLKSEL_GFX (2 << 0) /* 50MHz */
|
|
|
+#define RII_CM_CLKSEL_GFX_VAL RII_CLKSEL_GFX
|
|
|
+
|
|
|
+/* 2420-PRCM I 660MHz core */
|
|
|
+#define RI_CLKSEL_L3 (4 << 0) /* 165MHz */
|
|
|
+#define RI_CLKSEL_L4 (2 << 5) /* 82.5MHz */
|
|
|
+#define RI_CLKSEL_USB (4 << 25) /* 41.25MHz */
|
|
|
+#define RI_CM_CLKSEL1_CORE_VAL (RI_CLKSEL_USB | \
|
|
|
+ RXX_CLKSEL_SSI | RXX_CLKSEL_VLYNQ | \
|
|
|
+ RX_CLKSEL_DSS2 | RX_CLKSEL_DSS1 | \
|
|
|
+ RI_CLKSEL_L4 | RI_CLKSEL_L3)
|
|
|
+#define RI_CLKSEL_MPU (2 << 0) /* 330MHz */
|
|
|
+#define RI_CM_CLKSEL_MPU_VAL RI_CLKSEL_MPU
|
|
|
+#define RI_CLKSEL_DSP (3 << 0) /* c5x - 220MHz */
|
|
|
+#define RI_CLKSEL_DSP_IF (2 << 5) /* c5x - 110MHz */
|
|
|
+#define RI_SYNC_DSP (1 << 7) /* Activate sync */
|
|
|
+#define RI_CLKSEL_IVA (4 << 8) /* iva1 - 165MHz */
|
|
|
+#define RI_SYNC_IVA (0 << 13) /* Bypass sync */
|
|
|
+#define RI_CM_CLKSEL_DSP_VAL (RI_SYNC_IVA | RI_CLKSEL_IVA | \
|
|
|
+ RI_SYNC_DSP | RI_CLKSEL_DSP_IF | \
|
|
|
+ RI_CLKSEL_DSP)
|
|
|
+#define RI_CLKSEL_GFX (1 << 0) /* 165MHz */
|
|
|
+#define RI_CM_CLKSEL_GFX_VAL RI_CLKSEL_GFX
|
|
|
+
|
|
|
+/* 2420-PRCM VII (boot) */
|
|
|
+#define RVII_CLKSEL_L3 (1 << 0)
|
|
|
+#define RVII_CLKSEL_L4 (1 << 5)
|
|
|
+#define RVII_CLKSEL_DSS1 (1 << 8)
|
|
|
+#define RVII_CLKSEL_DSS2 (0 << 13)
|
|
|
+#define RVII_CLKSEL_VLYNQ (1 << 15)
|
|
|
+#define RVII_CLKSEL_SSI (1 << 20)
|
|
|
+#define RVII_CLKSEL_USB (1 << 25)
|
|
|
+
|
|
|
+#define RVII_CM_CLKSEL1_CORE_VAL (RVII_CLKSEL_USB | RVII_CLKSEL_SSI | \
|
|
|
+ RVII_CLKSEL_VLYNQ | \
|
|
|
+ RVII_CLKSEL_DSS2 | RVII_CLKSEL_DSS1 | \
|
|
|
+ RVII_CLKSEL_L4 | RVII_CLKSEL_L3)
|
|
|
+
|
|
|
+#define RVII_CLKSEL_MPU (1 << 0) /* all divide by 1 */
|
|
|
+#define RVII_CM_CLKSEL_MPU_VAL RVII_CLKSEL_MPU
|
|
|
+
|
|
|
+#define RVII_CLKSEL_DSP (1 << 0)
|
|
|
+#define RVII_CLKSEL_DSP_IF (1 << 5)
|
|
|
+#define RVII_SYNC_DSP (0 << 7)
|
|
|
+#define RVII_CLKSEL_IVA (1 << 8)
|
|
|
+#define RVII_SYNC_IVA (0 << 13)
|
|
|
+#define RVII_CM_CLKSEL_DSP_VAL (RVII_SYNC_IVA | RVII_CLKSEL_IVA | \
|
|
|
+ RVII_SYNC_DSP | RVII_CLKSEL_DSP_IF | \
|
|
|
+ RVII_CLKSEL_DSP)
|
|
|
+
|
|
|
+#define RVII_CLKSEL_GFX (1 << 0)
|
|
|
+#define RVII_CM_CLKSEL_GFX_VAL RVII_CLKSEL_GFX
|
|
|
+
|
|
|
+/*-------------------------------------------------------------------------
|
|
|
+ * 2430 Target modes: Along with each configuration the CPU has several
|
|
|
+ * modes which goes along with them. Modes mainly are the addition of
|
|
|
+ * describe DPLL combinations to go along with a ratio.
|
|
|
+ *-------------------------------------------------------------------------*/
|
|
|
+
|
|
|
+/* Hardware governed */
|
|
|
+#define MX_48M_SRC (0 << 3)
|
|
|
+#define MX_54M_SRC (0 << 5)
|
|
|
+#define MX_APLLS_CLIKIN_12 (3 << 23)
|
|
|
+#define MX_APLLS_CLIKIN_13 (2 << 23)
|
|
|
+#define MX_APLLS_CLIKIN_19_2 (0 << 23)
|
|
|
+
|
|
|
+/*
|
|
|
+ * 2430 - standalone, 2*ref*M/(n+1), M/N is for exactness not relock speed
|
|
|
+ * #5a (ratio1) baseport-target, target DPLL = 266*2 = 532MHz
|
|
|
+ */
|
|
|
+#define M5A_DPLL_MULT_12 (133 << 12)
|
|
|
+#define M5A_DPLL_DIV_12 (5 << 8)
|
|
|
+#define M5A_CM_CLKSEL1_PLL_12_VAL (MX_48M_SRC | MX_54M_SRC | \
|
|
|
+ M5A_DPLL_DIV_12 | M5A_DPLL_MULT_12 | \
|
|
|
+ MX_APLLS_CLIKIN_12)
|
|
|
+#define M5A_DPLL_MULT_13 (61 << 12)
|
|
|
+#define M5A_DPLL_DIV_13 (2 << 8)
|
|
|
+#define M5A_CM_CLKSEL1_PLL_13_VAL (MX_48M_SRC | MX_54M_SRC | \
|
|
|
+ M5A_DPLL_DIV_13 | M5A_DPLL_MULT_13 | \
|
|
|
+ MX_APLLS_CLIKIN_13)
|
|
|
+#define M5A_DPLL_MULT_19 (55 << 12)
|
|
|
+#define M5A_DPLL_DIV_19 (3 << 8)
|
|
|
+#define M5A_CM_CLKSEL1_PLL_19_VAL (MX_48M_SRC | MX_54M_SRC | \
|
|
|
+ M5A_DPLL_DIV_19 | M5A_DPLL_MULT_19 | \
|
|
|
+ MX_APLLS_CLIKIN_19_2)
|
|
|
+/* #5b (ratio1) target DPLL = 200*2 = 400MHz */
|
|
|
+#define M5B_DPLL_MULT_12 (50 << 12)
|
|
|
+#define M5B_DPLL_DIV_12 (2 << 8)
|
|
|
+#define M5B_CM_CLKSEL1_PLL_12_VAL (MX_48M_SRC | MX_54M_SRC | \
|
|
|
+ M5B_DPLL_DIV_12 | M5B_DPLL_MULT_12 | \
|
|
|
+ MX_APLLS_CLIKIN_12)
|
|
|
+#define M5B_DPLL_MULT_13 (200 << 12)
|
|
|
+#define M5B_DPLL_DIV_13 (12 << 8)
|
|
|
+
|
|
|
+#define M5B_CM_CLKSEL1_PLL_13_VAL (MX_48M_SRC | MX_54M_SRC | \
|
|
|
+ M5B_DPLL_DIV_13 | M5B_DPLL_MULT_13 | \
|
|
|
+ MX_APLLS_CLIKIN_13)
|
|
|
+#define M5B_DPLL_MULT_19 (125 << 12)
|
|
|
+#define M5B_DPLL_DIV_19 (31 << 8)
|
|
|
+#define M5B_CM_CLKSEL1_PLL_19_VAL (MX_48M_SRC | MX_54M_SRC | \
|
|
|
+ M5B_DPLL_DIV_19 | M5B_DPLL_MULT_19 | \
|
|
|
+ MX_APLLS_CLIKIN_19_2)
|
|
|
+/*
|
|
|
+ * #4 (ratio2), DPLL = 399*2 = 798MHz, L3=133MHz
|
|
|
+ */
|
|
|
+#define M4_DPLL_MULT_12 (133 << 12)
|
|
|
+#define M4_DPLL_DIV_12 (3 << 8)
|