[U-Boot] soc vs. clocks in device-tree

Simon Glass sjg at chromium.org
Wed Jun 22 04:50:11 CEST 2016


Hi Benjamin,

On 20 June 2016 at 12:42, Benjamin Tietz <uboot at dresden.micronet24.de> wrote:
>
> Hello,
>
> in my device-tree (for stm32f429 - as found in the linux kernel) exist
> two branches /soc and /clocks. While /soc contains all embedded
> functionality of the SOC, /clocks contain the external crystal, like in
> the following snippet.
>
> / {
>         clocks {
>                 clk_hse: clk-hse {
>                         #clock-cells = <0>;
>                         compatible = "fixed-clock";
>                         clock-frequency = <0>;
>                 };
>         };
>
>         soc {
>                 rcc: rcc at 40023810 {
>                         #clock-cells = <2>;
>                         compatible = "st,stm32f42xx-rcc", "st,stm32-rcc";
>                         reg = <0x40023800 0x400>;
>                         clocks = <&clk_hse>;
>                 };
>                 ...
>         };
> };
>
> While /soc is detected in u-boot using the simple-bus class, /clocks is
> ignored completely, Because of that, the crystal isn't detected, too.
> If I move the crystal into the /soc branch, it is found and can be
> referenced.

Can you add this:

compatible = "simple-bus";

>
> Poking through the code I haven't yet found the reason, why soc is
> initialized as simple-bus and clocks is not. Could someone please
> enlighten me?

No, I don't understand that either. From what I know of it, there is
no special case logic for "soc".

> best regards
> Benjamin Tietz

Regards,
Simon


More information about the U-Boot mailing list