On Tue, May 20, 2014 at 11:09 PM, Rob Herring <robherring2@xxxxxxxxx> wrote: > From: Rob Herring <robh@xxxxxxxxxx> > > The versatile dts is missing any clock data. Add the clocks. > > It is not clear from the documentation where pclk comes from, so for > now it is a dummy clock which is sufficient for things to work. AFAICT (from experiments and measurements on some boards, during which I destroyed some boards) that is actually just the 24MHz clock right off. > Signed-off-by: Rob Herring <robh@xxxxxxxxxx> > + core-module@10000000 { > + compatible = "arm,core-module-versatile"; > + reg = <0x10000000 0x200>; > + > + osc24M: oscillator@24M { > + #clock-cells = <0>; > + compatible = "fixed-clock"; > + clock-frequency = <24000000>; > + }; Please follow the naming convention from the Integrator DTS, I am pretty sure this is a chrystal: /* 24 MHz chrystal on the core module */ xtal24mhz: xtal24mhz@24M { #clock-cells = <0>; compatible = "fixed-clock"; clock-frequency = <24000000>; }; > + /* OSC1 on AB, OSC4 on PB */ > + osc1: cm_aux_osc@24M { > + #clock-cells = <0>; > + compatible = "arm,versatile-cm-auxosc"; > + clocks = <&osc24M>; > + }; Name xtal, also: why is this inside the core module node? You're explicitly saying it is on the PB (platform baseboard) and *not* on the core module! > + /* The timer clock is the 24 MHz oscillator divided to 1MHz */ > + timclk: timclk@1M { > + #clock-cells = <0>; > + compatible = "fixed-factor-clock"; > + clock-div = <24>; > + clock-mult = <1>; > + clocks = <&osc24M>; > + }; > + > + /* Actually hclk ? */ > + pclk: pclk@0 { > + #clock-cells = <0>; > + compatible = "fixed-clock"; > + clock-frequency = <0>; > + }; I strongly suspect it's like this: pclk: pclk@0 { #clock-cells = <0>; compatible = "fixed-factor-clock"; clock-div = <1>; clock-mult = <1>; clocks = <&xtal24mhz>; }; > timer@101e2000 { > compatible = "arm,sp804", "arm,primecell"; > reg = <0x101e2000 0x1000>; > interrupts = <4>; > + clocks = <&timclk>, <&pclk>; > + clock-names = "tmrclk", "apb_pclk"; > }; We recently had some fight over the names of these clocks. The DT bindings say they should be named "timer0" "timer1" etc, see Documentation/devicetree/bindings/timer/arm,sp804.txt > timer@101e3000 { > compatible = "arm,sp804", "arm,primecell"; > reg = <0x101e3000 0x1000>; > interrupts = <5>; > + clocks = <&timclk>, <&pclk>; > + clock-names = "tmrclk", "apb_pclk"; Dito. > ssp@101f4000 { > compatible = "arm,pl022", "arm,primecell"; > reg = <0x101f4000 0x1000>; > interrupts = <11>; > + clocks = <&osc24M>, <&pclk>; > + clock-names = "sspclk", "apb_pclk"; Should be SSPCLK all capitals. Yours, Linus Walleij -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html