|
@@ -511,3 +511,75 @@ static struct clk mstp_clks[MSTP_NR] = {
|
|
[MSTP111] = SH_CLK_MSTP32(&div6_clks[DIV6_SUB], SMSTPCR1, 11, 0), /* TMU1 */
|
|
[MSTP111] = SH_CLK_MSTP32(&div6_clks[DIV6_SUB], SMSTPCR1, 11, 0), /* TMU1 */
|
|
[MSTP100] = SH_CLK_MSTP32(&div4_clks[DIV4_B], SMSTPCR1, 0, 0), /* LCDC0 */
|
|
[MSTP100] = SH_CLK_MSTP32(&div4_clks[DIV4_B], SMSTPCR1, 0, 0), /* LCDC0 */
|
|
|
|
|
|
|
|
+ [MSTP230] = SH_CLK_MSTP32(&div6_clks[DIV6_SUB], SMSTPCR2, 30, 0), /* SCIFA6 */
|
|
|
|
+ [MSTP222] = SH_CLK_MSTP32(&div6_clks[DIV6_SUB], SMSTPCR2, 22, 0), /* SCIFA7 */
|
|
|
|
+ [MSTP218] = SH_CLK_MSTP32(&div4_clks[DIV4_HP], SMSTPCR2, 18, 0), /* DMAC1 */
|
|
|
|
+ [MSTP217] = SH_CLK_MSTP32(&div4_clks[DIV4_HP], SMSTPCR2, 17, 0), /* DMAC2 */
|
|
|
|
+ [MSTP216] = SH_CLK_MSTP32(&div4_clks[DIV4_HP], SMSTPCR2, 16, 0), /* DMAC3 */
|
|
|
|
+ [MSTP214] = SH_CLK_MSTP32(&div4_clks[DIV4_HP], SMSTPCR2, 14, 0), /* USBDMAC */
|
|
|
|
+ [MSTP207] = SH_CLK_MSTP32(&div6_clks[DIV6_SUB], SMSTPCR2, 7, 0), /* SCIFA5 */
|
|
|
|
+ [MSTP206] = SH_CLK_MSTP32(&div6_clks[DIV6_SUB], SMSTPCR2, 6, 0), /* SCIFB */
|
|
|
|
+ [MSTP204] = SH_CLK_MSTP32(&div6_clks[DIV6_SUB], SMSTPCR2, 4, 0), /* SCIFA0 */
|
|
|
|
+ [MSTP203] = SH_CLK_MSTP32(&div6_clks[DIV6_SUB], SMSTPCR2, 3, 0), /* SCIFA1 */
|
|
|
|
+ [MSTP202] = SH_CLK_MSTP32(&div6_clks[DIV6_SUB], SMSTPCR2, 2, 0), /* SCIFA2 */
|
|
|
|
+ [MSTP201] = SH_CLK_MSTP32(&div6_clks[DIV6_SUB], SMSTPCR2, 1, 0), /* SCIFA3 */
|
|
|
|
+ [MSTP200] = SH_CLK_MSTP32(&div6_clks[DIV6_SUB], SMSTPCR2, 0, 0), /* SCIFA4 */
|
|
|
|
+
|
|
|
|
+ [MSTP329] = SH_CLK_MSTP32(&r_clk, SMSTPCR3, 29, 0), /* CMT10 */
|
|
|
|
+ [MSTP328] = SH_CLK_MSTP32(&div4_clks[DIV4_HP], SMSTPCR3, 28, 0), /* FSI */
|
|
|
|
+ [MSTP323] = SH_CLK_MSTP32(&div6_clks[DIV6_SUB], SMSTPCR3, 23, 0), /* IIC1 */
|
|
|
|
+ [MSTP320] = SH_CLK_MSTP32(&div4_clks[DIV4_HP], SMSTPCR3, 20, 0), /* USBF */
|
|
|
|
+ [MSTP314] = SH_CLK_MSTP32(&div4_clks[DIV4_HP], SMSTPCR3, 14, 0), /* SDHI0 */
|
|
|
|
+ [MSTP313] = SH_CLK_MSTP32(&div4_clks[DIV4_HP], SMSTPCR3, 13, 0), /* SDHI1 */
|
|
|
|
+ [MSTP312] = SH_CLK_MSTP32(&div4_clks[DIV4_HP], SMSTPCR3, 12, 0), /* MMC */
|
|
|
|
+ [MSTP309] = SH_CLK_MSTP32(&div4_clks[DIV4_HP], SMSTPCR3, 9, 0), /* GEther */
|
|
|
|
+
|
|
|
|
+ [MSTP416] = SH_CLK_MSTP32(&div4_clks[DIV4_HP], SMSTPCR4, 16, 0), /* USBHOST */
|
|
|
|
+ [MSTP415] = SH_CLK_MSTP32(&div4_clks[DIV4_HP], SMSTPCR4, 15, 0), /* SDHI2 */
|
|
|
|
+ [MSTP407] = SH_CLK_MSTP32(&div4_clks[DIV4_HP], SMSTPCR4, 7, 0), /* USB-Func */
|
|
|
|
+ [MSTP406] = SH_CLK_MSTP32(&div4_clks[DIV4_HP], SMSTPCR4, 6, 0), /* USB Phy */
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+static struct clk_lookup lookups[] = {
|
|
|
|
+ /* main clocks */
|
|
|
|
+ CLKDEV_CON_ID("extalr", &extalr_clk),
|
|
|
|
+ CLKDEV_CON_ID("extal1", &extal1_clk),
|
|
|
|
+ CLKDEV_CON_ID("extal2", &extal2_clk),
|
|
|
|
+ CLKDEV_CON_ID("extal1_div2", &extal1_div2_clk),
|
|
|
|
+ CLKDEV_CON_ID("extal1_div1024", &extal1_div1024_clk),
|
|
|
|
+ CLKDEV_CON_ID("extal1_div2048", &extal1_div2048_clk),
|
|
|
|
+ CLKDEV_CON_ID("extal2_div2", &extal2_div2_clk),
|
|
|
|
+ CLKDEV_CON_ID("dv_clk", &dv_clk),
|
|
|
|
+ CLKDEV_CON_ID("system_clk", &system_clk),
|
|
|
|
+ CLKDEV_CON_ID("system_div2_clk", &system_div2_clk),
|
|
|
|
+ CLKDEV_CON_ID("r_clk", &r_clk),
|
|
|
|
+ CLKDEV_CON_ID("pllc0_clk", &pllc0_clk),
|
|
|
|
+ CLKDEV_CON_ID("pllc1_clk", &pllc1_clk),
|
|
|
|
+ CLKDEV_CON_ID("pllc1_div2_clk", &pllc1_div2_clk),
|
|
|
|
+ CLKDEV_CON_ID("usb24s", &usb24s_clk),
|
|
|
|
+ CLKDEV_CON_ID("hdmi1", &hdmi1_clk),
|
|
|
|
+ CLKDEV_CON_ID("hdmi2", &hdmi2_clk),
|
|
|
|
+ CLKDEV_CON_ID("video1", &div6_reparent_clks[DIV6_VCLK1]),
|
|
|
|
+ CLKDEV_CON_ID("video2", &div6_reparent_clks[DIV6_VCLK2]),
|
|
|
|
+ CLKDEV_CON_ID("fsiack", &fsiack_clk),
|
|
|
|
+ CLKDEV_CON_ID("fsibck", &fsibck_clk),
|
|
|
|
+
|
|
|
|
+ /* DIV4 clocks */
|
|
|
|
+ CLKDEV_CON_ID("i_clk", &div4_clks[DIV4_I]),
|
|
|
|
+ CLKDEV_CON_ID("zg_clk", &div4_clks[DIV4_ZG]),
|
|
|
|
+ CLKDEV_CON_ID("b_clk", &div4_clks[DIV4_B]),
|
|
|
|
+ CLKDEV_CON_ID("m1_clk", &div4_clks[DIV4_M1]),
|
|
|
|
+ CLKDEV_CON_ID("hp_clk", &div4_clks[DIV4_HP]),
|
|
|
|
+ CLKDEV_CON_ID("hpp_clk", &div4_clks[DIV4_HPP]),
|
|
|
|
+ CLKDEV_CON_ID("s_clk", &div4_clks[DIV4_S]),
|
|
|
|
+ CLKDEV_CON_ID("zb_clk", &div4_clks[DIV4_ZB]),
|
|
|
|
+ CLKDEV_CON_ID("m3_clk", &div4_clks[DIV4_M3]),
|
|
|
|
+ CLKDEV_CON_ID("cp_clk", &div4_clks[DIV4_CP]),
|
|
|
|
+
|
|
|
|
+ /* DIV6 clocks */
|
|
|
|
+ CLKDEV_CON_ID("sub_clk", &div6_clks[DIV6_SUB]),
|
|
|
|
+
|
|
|
|
+ /* MSTP32 clocks */
|
|
|
|
+ CLKDEV_DEV_ID("sh_mobile_lcdc_fb.0", &mstp_clks[MSTP100]),
|
|
|
|
+ CLKDEV_DEV_ID("sh_tmu.1", &mstp_clks[MSTP111]),
|
|
|
|
+ CLKDEV_DEV_ID("i2c-sh_mobile.0", &mstp_clks[MSTP116]),
|