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

Benjamin Tietz uboot at dresden.micronet24.de
Mon Jun 20 20:42:43 CEST 2016


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.

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


More information about the U-Boot mailing list