Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

clk: imx: clk-imx6q: Let OSC to be routed to anaclk2/2b

OSC can be used as USB hub source clock. An example we can route to
CLK2_P imx6 pin.

This show a usage example:

[...]
usb_hub: usb-hub {
compatible = "smsc,usb3503a";
clocks = <&clks IMX6QDL_CLK_LVDS2_GATE>;
clock-names = "refclk";
};
};

[...]
&clks {
assigned-clocks = <&clks IMX6QDL_CLK_LVDS2_SEL>;
assigned-clock-parents = <&clks IMX6QDL_CLK_OSC>;
};

/sys/kernel/debug/clk/clk_summary

osc 5 5 24000000 0 0
[...]
lvds2_sel 1 1 24000000 0 0
lvds2_gate 1 1 24000000 0 0
[...]

Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
Reviewed-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>

authored by

Michael Trimarchi and committed by
Shawn Guo
2e133f61 4824b61c

+2 -1
+2 -1
drivers/clk/imx/clk-imx6q.c
··· 70 70 static const char *lvds_sels[] = { 71 71 "dummy", "dummy", "dummy", "dummy", "dummy", "dummy", 72 72 "pll4_audio", "pll5_video", "pll8_mlb", "enet_ref", 73 - "pcie_ref_125m", "sata_ref_100m", 73 + "pcie_ref_125m", "sata_ref_100m", "usbphy1", "usbphy2", 74 + "dummy", "dummy", "dummy", "dummy", "osc", 74 75 }; 75 76 static const char *pll_bypass_src_sels[] = { "osc", "lvds1_in", "lvds2_in", "dummy", }; 76 77 static const char *pll1_bypass_sels[] = { "pll1", "pll1_bypass_src", };