|
@@ -48,6 +48,7 @@
|
|
|
#define CPG_BASE 0xe6150000
|
|
|
#define CPG_LEN 0x1000
|
|
|
|
|
|
+#define SMSTPCR0 0xE6150130
|
|
|
#define SMSTPCR1 0xE6150134
|
|
|
#define SMSTPCR2 0xe6150138
|
|
|
#define SMSTPCR3 0xE615013C
|
|
@@ -56,6 +57,7 @@
|
|
|
#define SMSTPCR8 0xE6150990
|
|
|
#define SMSTPCR9 0xE6150994
|
|
|
#define SMSTPCR10 0xE6150998
|
|
|
+#define SMSTPCR11 0xE615099C
|
|
|
|
|
|
#define MODEMR 0xE6160060
|
|
|
#define SDCKCR 0xE6150074
|
|
@@ -118,13 +120,28 @@ static struct clk *main_clks[] = {
|
|
|
/* MSTP */
|
|
|
enum {
|
|
|
MSTP721, MSTP720,
|
|
|
-/* MSTP216, MSTP207, MSTP206, MSTP204, MSTP203, MSTP202,*/
|
|
|
+ MSTP719, MSTP718, MSTP715, MSTP714,
|
|
|
+ MSTP216, MSTP207, MSTP206,
|
|
|
+ MSTP204, MSTP203, MSTP202, MSTP1105, MSTP1106, MSTP1107,
|
|
|
MSTP_NR
|
|
|
};
|
|
|
|
|
|
static struct clk mstp_clks[MSTP_NR] = {
|
|
|
[MSTP721] = SH_CLK_MSTP32(&p_clk, SMSTPCR7, 21, 0), /* SCIF0 */
|
|
|
[MSTP720] = SH_CLK_MSTP32(&p_clk, SMSTPCR7, 20, 0), /* SCIF1 */
|
|
|
+ [MSTP719] = SH_CLK_MSTP32(&p_clk, SMSTPCR7, 19, 0), /* SCIF2 */
|
|
|
+ [MSTP718] = SH_CLK_MSTP32(&p_clk, SMSTPCR7, 18, 0), /* SCIF3 */
|
|
|
+ [MSTP715] = SH_CLK_MSTP32(&p_clk, SMSTPCR7, 15, 0), /* SCIF4 */
|
|
|
+ [MSTP714] = SH_CLK_MSTP32(&p_clk, SMSTPCR7, 14, 0), /* SCIF5 */
|
|
|
+ [MSTP216] = SH_CLK_MSTP32(&mp_clk, SMSTPCR2, 16, 0), /* SCIFB2 */
|
|
|
+ [MSTP207] = SH_CLK_MSTP32(&mp_clk, SMSTPCR2, 7, 0), /* SCIFB1 */
|
|
|
+ [MSTP206] = SH_CLK_MSTP32(&mp_clk, SMSTPCR2, 6, 0), /* SCIFB0 */
|
|
|
+ [MSTP204] = SH_CLK_MSTP32(&mp_clk, SMSTPCR2, 4, 0), /* SCIFA0 */
|
|
|
+ [MSTP203] = SH_CLK_MSTP32(&mp_clk, SMSTPCR2, 3, 0), /* SCIFA1 */
|
|
|
+ [MSTP202] = SH_CLK_MSTP32(&mp_clk, SMSTPCR2, 2, 0), /* SCIFA2 */
|
|
|
+ [MSTP1105] = SH_CLK_MSTP32(&mp_clk, SMSTPCR11, 5, 0), /* SCIFA3 */
|
|
|
+ [MSTP1106] = SH_CLK_MSTP32(&mp_clk, SMSTPCR11, 6, 0), /* SCIFA4 */
|
|
|
+ [MSTP1107] = SH_CLK_MSTP32(&mp_clk, SMSTPCR11, 7, 0), /* SCIFA5 */
|
|
|
};
|
|
|
|
|
|
static struct clk_lookup lookups[] = {
|
|
@@ -141,6 +158,23 @@ static struct clk_lookup lookups[] = {
|
|
|
CLKDEV_CON_ID("mp", &mp_clk),
|
|
|
CLKDEV_CON_ID("cp", &cp_clk),
|
|
|
CLKDEV_CON_ID("peripheral_clk", &hp_clk),
|
|
|
+
|
|
|
+ /* MSTP */
|
|
|
+ CLKDEV_DEV_ID("sh-sci.0", &mstp_clks[MSTP204]), /* SCIFA0 */
|
|
|
+ CLKDEV_DEV_ID("sh-sci.1", &mstp_clks[MSTP203]), /* SCIFA1 */
|
|
|
+ CLKDEV_DEV_ID("sh-sci.2", &mstp_clks[MSTP206]), /* SCIFB0 */
|
|
|
+ CLKDEV_DEV_ID("sh-sci.3", &mstp_clks[MSTP207]), /* SCIFB1 */
|
|
|
+ CLKDEV_DEV_ID("sh-sci.4", &mstp_clks[MSTP216]), /* SCIFB2 */
|
|
|
+ CLKDEV_DEV_ID("sh-sci.5", &mstp_clks[MSTP202]), /* SCIFA2 */
|
|
|
+ CLKDEV_DEV_ID("sh-sci.6", &mstp_clks[MSTP721]), /* SCIF0 */
|
|
|
+ CLKDEV_DEV_ID("sh-sci.7", &mstp_clks[MSTP720]), /* SCIF1 */
|
|
|
+ CLKDEV_DEV_ID("sh-sci.8", &mstp_clks[MSTP719]), /* SCIF2 */
|
|
|
+ CLKDEV_DEV_ID("sh-sci.9", &mstp_clks[MSTP718]), /* SCIF3 */
|
|
|
+ CLKDEV_DEV_ID("sh-sci.10", &mstp_clks[MSTP715]), /* SCIF4 */
|
|
|
+ CLKDEV_DEV_ID("sh-sci.11", &mstp_clks[MSTP714]), /* SCIF5 */
|
|
|
+ CLKDEV_DEV_ID("sh-sci.12", &mstp_clks[MSTP1105]), /* SCIFA3 */
|
|
|
+ CLKDEV_DEV_ID("sh-sci.13", &mstp_clks[MSTP1106]), /* SCIFA4 */
|
|
|
+ CLKDEV_DEV_ID("sh-sci.14", &mstp_clks[MSTP1107]), /* SCIFA5 */
|
|
|
};
|
|
|
|
|
|
#define R8A7791_CLOCK_ROOT(e, m, p0, p1, p30, p31) \
|