diff options
author | Max Filippov <jcmvbkbc@gmail.com> | 2014-01-29 07:42:46 +0400 |
---|---|---|
committer | Max Filippov <jcmvbkbc@gmail.com> | 2014-02-21 21:33:43 +0400 |
commit | cdc9af7ccfc26d35ff8a29dded2cc2c096c0fc1e (patch) | |
tree | d3633387e676dbe736cd7582985c5e0dc4dae735 | |
parent | bda8932d234aeaee870ac666e776a5ba03bb13a4 (diff) | |
download | kernel-common-cdc9af7ccfc26d35ff8a29dded2cc2c096c0fc1e.tar.gz kernel-common-cdc9af7ccfc26d35ff8a29dded2cc2c096c0fc1e.tar.bz2 kernel-common-cdc9af7ccfc26d35ff8a29dded2cc2c096c0fc1e.zip |
xtensa: xtfpga: use common clock framework
With this change the board needs to set up single clock object, users of
this clock will get correct frequency automatically.
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
-rw-r--r-- | arch/xtensa/boot/dts/xtfpga.dtsi | 11 | ||||
-rw-r--r-- | arch/xtensa/platforms/xtfpga/setup.c | 6 |
2 files changed, 11 insertions, 6 deletions
diff --git a/arch/xtensa/boot/dts/xtfpga.dtsi b/arch/xtensa/boot/dts/xtfpga.dtsi index 46b4f5eab421..d5ccbbb7eec1 100644 --- a/arch/xtensa/boot/dts/xtfpga.dtsi +++ b/arch/xtensa/boot/dts/xtfpga.dtsi @@ -35,6 +35,13 @@ interrupt-controller; }; + clocks { + osc: main-oscillator { + #clock-cells = <0>; + compatible = "fixed-clock"; + }; + }; + serial0: serial@fd050020 { device_type = "serial"; compatible = "ns16550a"; @@ -42,9 +49,7 @@ reg = <0xfd050020 0x20>; reg-shift = <2>; interrupts = <0 1>; /* external irq 0 */ - /* Filled in by platform_setup from FPGA register - * clock-frequency = <100000000>; - */ + clocks = <&osc>; }; enet0: ethoc@fd030000 { diff --git a/arch/xtensa/platforms/xtfpga/setup.c b/arch/xtensa/platforms/xtfpga/setup.c index 800227862fe8..03729132ae44 100644 --- a/arch/xtensa/platforms/xtfpga/setup.c +++ b/arch/xtensa/platforms/xtfpga/setup.c @@ -135,11 +135,11 @@ static void __init update_local_mac(struct device_node *node) static int __init machine_setup(void) { - struct device_node *serial; + struct device_node *clock; struct device_node *eth = NULL; - for_each_compatible_node(serial, NULL, "ns16550a") - update_clock_frequency(serial); + for_each_node_by_name(clock, "main-oscillator") + update_clock_frequency(clock); if ((eth = of_find_compatible_node(eth, NULL, "opencores,ethoc"))) update_local_mac(eth); |