[RFC 4/7] ARM: dts: add support for Vybrid running on Cortex-M4
Mark Rutland
mark.rutland at arm.com
Mon Oct 13 03:32:20 PDT 2014
On Sun, Oct 12, 2014 at 07:13:58PM +0100, Stefan Agner wrote:
> This adds an initial device tree to run Linux on the Cortex-M4 on
> Vybrid.
>
> HACK: Because we include armv7-m.dtsi, the soc node happens to
> be before the clock node. This is a problem for vf610-clk.c, which
> tries to optain the fixed clocks defined in the clock nodes. But
> because clock drivers are initialized sequencially, and we do not
> have support for deferred probing, the clock initialization fails
> horrible.
> Move the armv7-m.dtsi include to the bottom to temporarily work
> work around this...
>
> Signed-off-by: Stefan Agner <stefan at agner.ch>
> ---
> Maybe a dummy soc entry in armv7-m.dtsi also helps here. But a
> hack as well. Is it common acceptable that the kernel depends
> on DTS order?
The kernel should not depend on DTS ordering. We should sort out
deferred probing if there is an issue with it.
[...]
> + clocks {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + sxosc {
> + compatible = "fixed-clock";
> + #clock-cells = <0>;
> + clock-frequency = <32768>;
> + };
> +
> + fxosc {
> + compatible = "fixed-clock";
> + #clock-cells = <0>;
> + clock-frequency = <24000000>;
> + };
> + };
Please get rid of the clocks node and put these under the root node.
There is nothing special about clocks, and the kernel in no way handles
a clocks node specially.
> +
> + soc {
> + aips0: aips-bus at 40000000 {
> + compatible = "fsl,aips-bus", "simple-bus";
> + #address-cells = <1>;
> + #size-cells = <1>;
> + reg = <0x40000000 0x70000>;
Out of curiosity, given that this can be driven as a simple-bus, what do
the aips bus registers allow to be configured?
Thanks,
Mark.
More information about the linux-arm-kernel
mailing list