* [PATCH 0/5] da8xx USB clocks
@ 2016-03-15 22:35 David Lechner
2016-03-16 12:36 ` Sergei Shtylyov
0 siblings, 1 reply; 2+ messages in thread
From: David Lechner @ 2016-03-15 22:35 UTC (permalink / raw)
To: linux-arm-kernel
I've implemented some proper clocks for the USB PHY clocks on da8xx. For those
not familiar with the architecture, the SoC has one USB 1.1 OHCI port and one
USB 2.O OTG port. The USB 1.1 PHY clock can optionally be supplied by the PLL
in the USB 2.0 PHY.
I have seen some comments in the past that these clock details don't belong in
the USB drivers and I agree with that. So, I have moved the handling of the
clocks out of the USB drivers to the mach code with the rest of the SoC clocks.
This code has been tested on LEGO MINDSTORMS EV3 (AM1808/da850 family). Here is
an output of the davinci clock debug to give you a better idea of how clocks
are related.
root at ev3dev:~# cat /sys/kernel/debug/davinci_clocks
ref_clk users=23 24000000 Hz
pll0 users=20 pll 300000000 Hz
pll0_aux_clk users= 4 pll 24000000 Hz
...
usb20_phy users= 2 24000000 Hz
usb11_phy users= 1 24000000 Hz
...
usb_ref_clk users= 0 48000000 Hz
usb20_phy and usb11_phy can optionally be children of usb_ref_clk instead.
I'm planning on adding device tree bindings for the ohci driver, but I need to
get some things sorted out with the regulator subsystem first. I see that Petr
has been working on device tree support for the musb driver. This should take
care of some of the concerns related to his changes too, for example, the
ti,usb2-phy-refclock-hz device tree property is no longer needed because it
is now taken care of in the clock code. I've actually included one of Petr's
patchs here since one of my patches depends on it.
I'm also working on device tree bindings for davinci clocks, but it will take
me a while to get there. But that should not hold up the device tree bindings
for da8xx ohci and musb.
David Lechner (4):
ARM: davinci: da8xx: add usb phy clocks
ARM: davinci: da8xx: add cfgchip2 to resources
usb: ohci-da8xx: Remove clock code that references mach
usb: musb-da8xx: remove board-specific clock handling
Petr Kulhavy (1):
ARM: davinci: defined missing CFGCHIP2_REFFREQ_* macros for MUSB PHY
arch/arm/mach-davinci/board-da830-evm.c | 12 ---
arch/arm/mach-davinci/board-omapl138-hawk.c | 7 --
arch/arm/mach-davinci/da830.c | 128 ++++++++++++++++++++++++++--
arch/arm/mach-davinci/da850.c | 113 ++++++++++++++++++++++++
arch/arm/mach-davinci/usb.c | 5 ++
drivers/usb/host/ohci-da8xx.c | 81 +++++++++---------
drivers/usb/musb/da8xx.c | 93 ++++++++------------
include/linux/platform_data/usb-davinci.h | 6 ++
8 files changed, 318 insertions(+), 127 deletions(-)
--
1.9.1
^ permalink raw reply [flat|nested] 2+ messages in thread
* [PATCH 0/5] da8xx USB clocks
2016-03-15 22:35 [PATCH 0/5] da8xx USB clocks David Lechner
@ 2016-03-16 12:36 ` Sergei Shtylyov
0 siblings, 0 replies; 2+ messages in thread
From: Sergei Shtylyov @ 2016-03-16 12:36 UTC (permalink / raw)
To: linux-arm-kernel
On 3/16/2016 1:35 AM, David Lechner wrote:
> I've implemented some proper clocks for the USB PHY clocks on da8xx. For those
> not familiar with the architecture, the SoC has one USB 1.1 OHCI port and one
> USB 2.O OTG port. The USB 1.1 PHY clock can optionally be supplied by the PLL
> in the USB 2.0 PHY.
>
> I have seen some comments in the past that these clock details don't belong in
> the USB drivers and I agree with that. So, I have moved the handling of the
> clocks out of the USB drivers to the mach code with the rest of the SoC clocks.
>
> This code has been tested on LEGO MINDSTORMS EV3 (AM1808/da850 family). Here is
> an output of the davinci clock debug to give you a better idea of how clocks
> are related.
>
> root at ev3dev:~# cat /sys/kernel/debug/davinci_clocks
> ref_clk users=23 24000000 Hz
> pll0 users=20 pll 300000000 Hz
> pll0_aux_clk users= 4 pll 24000000 Hz
> ...
> usb20_phy users= 2 24000000 Hz
> usb11_phy users= 1 24000000 Hz
> ...
> usb_ref_clk users= 0 48000000 Hz
>
> usb20_phy and usb11_phy can optionally be children of usb_ref_clk instead.
>
>
> I'm planning on adding device tree bindings for the ohci driver, but I need to
> get some things sorted out with the regulator subsystem first. I see that Petr
> has been working on device tree support for the musb driver. This should take
> care of some of the concerns related to his changes too, for example, the
> ti,usb2-phy-refclock-hz device tree property is no longer needed because it
> is now taken care of in the clock code. I've actually included one of Petr's
> patchs here since one of my patches depends on it.
>
> I'm also working on device tree bindings for davinci clocks, but it will take
> me a while to get there. But that should not hold up the device tree bindings
> for da8xx ohci and musb.
Nice to see that someone still cares about this code. With the ending of
the MontaVista's efforts, it largely seemed like abandonware...
MBR, Sergei
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2016-03-16 12:36 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-03-15 22:35 [PATCH 0/5] da8xx USB clocks David Lechner
2016-03-16 12:36 ` Sergei Shtylyov
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).