]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - rpmsg/rpmsg.git/commitdiff
ARM: dts: dra7: Fix functional clocks for DMTimer devices
authorSuman Anna <s-anna@ti.com>
Thu, 28 Feb 2019 02:44:41 +0000 (20:44 -0600)
committerSuman Anna <s-anna@ti.com>
Mon, 4 Mar 2019 16:02:34 +0000 (10:02 -0600)
The hwmod and clkctrl integration code is currently assigning the
clkctrl clock associated with MODULEMODE as the main functional
clock for nodes that have the ti,hwmods property. This is wrong
for devices that actually use mux or gate clocks as their main
clock and that are not yet converted to the ti-sysc node hierarchy.

The dmtimer clocksource driver cannot use this clock to configure
its parents. The dmtimer consumers got lucky so far due to the
default clock matching the requested parent clock, and a silent
successful return in the omap_dm_timer_set_source() function. Fix
this by adding the actual mux clocks to the DMTimer nodes with
the "fck" clock-name. These clocks are expected to remain even
after the nodes have moved under a ti,sysc parent node.

Signed-off-by: Suman Anna <s-anna@ti.com>
arch/arm/boot/dts/dra7.dtsi

index 865654b08ba1de9fd75de8517272ced32e1c3e3c..d31f1560ced66cff67ad71cf3cca6a0af3666984 100644 (file)
                        reg = <0x48032000 0x80>;
                        interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
                        ti,hwmods = "timer2";
+                       clocks = <&l4per_clkctrl DRA7_TIMER2_CLKCTRL 24>;
+                       clock-names = "fck";
                };
 
                timer3: timer@48034000 {
                        reg = <0x48034000 0x80>;
                        interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
                        ti,hwmods = "timer3";
+                       clocks = <&l4per_clkctrl DRA7_TIMER3_CLKCTRL 24>;
+                       clock-names = "fck";
                };
 
                timer4: timer@48036000 {
                        reg = <0x48036000 0x80>;
                        interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
                        ti,hwmods = "timer4";
+                       clocks = <&l4per_clkctrl DRA7_TIMER4_CLKCTRL 24>;
+                       clock-names = "fck";
                };
 
                timer5: timer@48820000 {
                        reg = <0x48820000 0x80>;
                        interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
                        ti,hwmods = "timer5";
+                       clocks = <&ipu_clkctrl DRA7_TIMER5_CLKCTRL 24>;
+                       clock-names = "fck";
                };
 
                timer6: timer@48822000 {
                        reg = <0x48822000 0x80>;
                        interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
                        ti,hwmods = "timer6";
+                       clocks = <&ipu_clkctrl DRA7_TIMER6_CLKCTRL 24>;
+                       clock-names = "fck";
                };
 
                timer7: timer@48824000 {
                        reg = <0x48824000 0x80>;
                        interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
                        ti,hwmods = "timer7";
+                       clocks = <&ipu_clkctrl DRA7_TIMER7_CLKCTRL 24>;
+                       clock-names = "fck";
                };
 
                timer8: timer@48826000 {
                        reg = <0x48826000 0x80>;
                        interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
                        ti,hwmods = "timer8";
+                       clocks = <&ipu_clkctrl DRA7_TIMER8_CLKCTRL 24>;
+                       clock-names = "fck";
                };
 
                timer9: timer@4803e000 {
                        reg = <0x4803e000 0x80>;
                        interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
                        ti,hwmods = "timer9";
+                       clocks = <&l4per_clkctrl DRA7_TIMER9_CLKCTRL 24>;
+                       clock-names = "fck";
                };
 
                timer10: timer@48086000 {
                        reg = <0x48086000 0x80>;
                        interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
                        ti,hwmods = "timer10";
+                       clocks = <&l4per_clkctrl DRA7_TIMER10_CLKCTRL 24>;
+                       clock-names = "fck";
                };
 
                timer11: timer@48088000 {
                        reg = <0x48088000 0x80>;
                        interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
                        ti,hwmods = "timer11";
+                       clocks = <&l4per_clkctrl DRA7_TIMER11_CLKCTRL 24>;
+                       clock-names = "fck";
                };
 
                timer12: timer@4ae20000 {
                        ti,hwmods = "timer12";
                        ti,timer-alwon;
                        ti,timer-secure;
+                       clocks = <&wkupaon_clkctrl DRA7_TIMER12_CLKCTRL 24>;
+                       clock-names = "fck";
                };
 
                timer13: timer@48828000 {
                        reg = <0x48828000 0x80>;
                        interrupts = <GIC_SPI 339 IRQ_TYPE_LEVEL_HIGH>;
                        ti,hwmods = "timer13";
+                       clocks = <&l4per_clkctrl DRA7_TIMER13_CLKCTRL 24>;
+                       clock-names = "fck";
                };
 
                timer14: timer@4882a000 {
                        reg = <0x4882a000 0x80>;
                        interrupts = <GIC_SPI 340 IRQ_TYPE_LEVEL_HIGH>;
                        ti,hwmods = "timer14";
+                       clocks = <&l4per_clkctrl DRA7_TIMER14_CLKCTRL 24>;
+                       clock-names = "fck";
                };
 
                timer15: timer@4882c000 {
                        reg = <0x4882c000 0x80>;
                        interrupts = <GIC_SPI 341 IRQ_TYPE_LEVEL_HIGH>;
                        ti,hwmods = "timer15";
+                       clocks = <&l4per_clkctrl DRA7_TIMER15_CLKCTRL 24>;
+                       clock-names = "fck";
                };
 
                timer16: timer@4882e000 {
                        reg = <0x4882e000 0x80>;
                        interrupts = <GIC_SPI 342 IRQ_TYPE_LEVEL_HIGH>;
                        ti,hwmods = "timer16";
+                       clocks = <&l4per_clkctrl DRA7_TIMER16_CLKCTRL 24>;
+                       clock-names = "fck";
                };
 
                wdt2: wdt@4ae14000 {