mirror of
https://github.com/torvalds/linux.git
synced 2024-12-23 11:21:33 +00:00
ARM: shmobile: r8a7740: add USB24 clock explain
USBCKCR is controlling USB parent clock and divide rate. This parent clock is used as a "usb24s" from other devices, but the "divide rate" is not used. Further, this clock itself is known as "usb24". So, to set this clock is a little confusable. This patch adds quick explain and sample settings for this clock. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Simon Horman <horms@verge.net.au>
This commit is contained in:
parent
167443b16e
commit
0a38429004
@ -188,6 +188,22 @@ static struct clk pllc1_div2_clk = {
|
||||
};
|
||||
|
||||
/* USB clock */
|
||||
/*
|
||||
* USBCKCR is controlling usb24 clock
|
||||
* bit[7] : parent clock
|
||||
* bit[6] : clock divide rate
|
||||
* And this bit[7] is used as a "usb24s" from other devices.
|
||||
* (Video clock / Sub clock / SPU clock)
|
||||
* You can controll this clock as a below.
|
||||
*
|
||||
* struct clk *usb24 = clk_get(dev, "usb24");
|
||||
* struct clk *usb24s = clk_get(NULL, "usb24s");
|
||||
* struct clk *system = clk_get(NULL, "system_clk");
|
||||
* int rate = clk_get_rate(system);
|
||||
*
|
||||
* clk_set_parent(usb24s, system); // for bit[7]
|
||||
* clk_set_rate(usb24, rate / 2); // for bit[6]
|
||||
*/
|
||||
static struct clk *usb24s_parents[] = {
|
||||
[0] = &system_clk,
|
||||
[1] = &extal2_clk
|
||||
|
Loading…
Reference in New Issue
Block a user