[U-Boot] placement for new clock drivers
Dinh Nguyen
dinguyen at opensource.altera.com
Mon Feb 29 17:56:48 CET 2016
Hi,
I have a few questions regarding the UCLASS_CLK driver. I need to
implement a clock driver for a new-ish platform, an ARMv7 based SoCFPGA
Arria10.
I think going forward, it would make sense to place the driver to be of
UCLASS_CLK and would go into drivers/clk/, instead of under
arch/arm/mach-socfpga directory, Am I correct in assuming that?
My 2nd question is regarding the usage of uclass_get_device(UCLASS_CLK).
If I have a DTS that is from:
arch/arm/dts/socfpga.dtsi
Fragment of the clock portion from the DTS here:
clkmgr at ffd04000 {
compatible = "altr,clk-mgr";
reg = <0xffd04000 0x1000>;
clocks {
#address-cells = <1>;
#size-cells = <0>;
osc1: osc1 {
#clock-cells = <0>;
compatible = "fixed-clock";
clock-frequency = <25000000>;
};
osc2: osc2 {
#clock-cells = <0>;
compatible = "fixed-clock";
};
f2s_periph_ref_clk: f2s_periph_ref_clk {
#clock-cells = <0>;
compatible = "fixed-clock";
};
f2s_sdram_ref_clk: f2s_sdram_ref_clk {
#clock-cells = <0>;
compatible = "fixed-clock";
};
};
I tried calling uclass_get_device(UCLASS_CLK, 0, dev), thinking that it
would return the "fixed-clock" clocks, then I can get the frequencies
and move forward with calculating the rest of the clocks. But
uclass_get_device() is returning an error for me. I'm sure I might have
missed understood how the clock framework is supposed to work somewhere.
Can you please point me in the right direction?
Thanks,
Dinh
More information about the U-Boot
mailing list