
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@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.
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?
best regards Benjamin Tietz