summaryrefslogtreecommitdiffstats
path: root/arch/arm/boot/dts/am43xx-clocks.dtsi
diff options
context:
space:
mode:
authorAfzal Mohammed <afzal@ti.com>2014-05-14 13:36:37 +0200
committerTero Kristo <t-kristo@ti.com>2014-05-23 11:29:38 +0200
commitf7c66b7110227327cfddf22fe66c7ec1fe1d39e7 (patch)
tree84756b044bf9eb338115ded297b77327ec129269 /arch/arm/boot/dts/am43xx-clocks.dtsi
parentARM: dts: am43xx-clocks.dtsi: add ti, set-rate-parent to display clock path (diff)
downloadlinux-f7c66b7110227327cfddf22fe66c7ec1fe1d39e7.tar.xz
linux-f7c66b7110227327cfddf22fe66c7ec1fe1d39e7.zip
ARM: dts: AM4372: clk: efuse based crystal frequency detect
Currently oscillator frequency is determined based on sysboot settings, it may not be the case always. To determine it properly, efuse settings also has to be read. CONTROL_STATUS register holds this information. Bit 31: if 0, frequency to be determined based on sysboot if 1, frequency to be determined based on efuse Bit 29,30 - for efuse detection of frequency Bit 22,23 - for sysboot detection of frequency Add clock nodes (mux) to determine oscillator frequency as above. Signed-off-by: Afzal Mohammed <afzal@ti.com> Acked-by: Tero Kristo <t-kristo@ti.com> Signed-off-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Tero Kristo <t-kristo@ti.com>
Diffstat (limited to 'arch/arm/boot/dts/am43xx-clocks.dtsi')
-rw-r--r--arch/arm/boot/dts/am43xx-clocks.dtsi16
1 files changed, 16 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/am43xx-clocks.dtsi b/arch/arm/boot/dts/am43xx-clocks.dtsi
index 579c82336400..955cac8a2f6d 100644
--- a/arch/arm/boot/dts/am43xx-clocks.dtsi
+++ b/arch/arm/boot/dts/am43xx-clocks.dtsi
@@ -11,6 +11,22 @@
sys_clkin_ck: sys_clkin_ck {
#clock-cells = <0>;
compatible = "ti,mux-clock";
+ clocks = <&sysboot_freq_sel_ck>, <&crystal_freq_sel_ck>;
+ ti,bit-shift = <31>;
+ reg = <0x0040>;
+ };
+
+ crystal_freq_sel_ck: crystal_freq_sel_ck {
+ #clock-cells = <0>;
+ compatible = "ti,mux-clock";
+ clocks = <&virt_19200000_ck>, <&virt_24000000_ck>, <&virt_25000000_ck>, <&virt_26000000_ck>;
+ ti,bit-shift = <29>;
+ reg = <0x0040>;
+ };
+
+ sysboot_freq_sel_ck: sysboot_freq_sel_ck@44e10040 {
+ #clock-cells = <0>;
+ compatible = "ti,mux-clock";
clocks = <&virt_19200000_ck>, <&virt_24000000_ck>, <&virt_25000000_ck>, <&virt_26000000_ck>;
ti,bit-shift = <22>;
reg = <0x0040>;