diff options
author | Tero Kristo <t-kristo@ti.com> | 2014-02-25 12:16:07 -0500 |
---|---|---|
committer | Tero Kristo <t-kristo@ti.com> | 2014-05-28 05:30:12 -0400 |
commit | de742570745e12b53c70130ace958f2a60044000 (patch) | |
tree | 6ea305766c90234e92bdd9338f32c819d33d13fc | |
parent | 9fa160cb9f2f51ef8274df7b4f390edf6ae491c3 (diff) |
CLK: TI: interface: add support for omap2430 specific interface clock
OMAP2430 I2CHS modules require specific hardware ops to be used, so added
a new compatible string for this.
Signed-off-by: Tero Kristo <t-kristo@ti.com>
-rw-r--r-- | Documentation/devicetree/bindings/clock/ti/interface.txt | 2 | ||||
-rw-r--r-- | arch/arm/mach-omap2/clock.h | 1 | ||||
-rw-r--r-- | drivers/clk/ti/interface.c | 11 | ||||
-rw-r--r-- | include/linux/clk/ti.h | 1 |
4 files changed, 14 insertions, 1 deletions
diff --git a/Documentation/devicetree/bindings/clock/ti/interface.txt b/Documentation/devicetree/bindings/clock/ti/interface.txt index 064e8caccac3..3111a409fea6 100644 --- a/Documentation/devicetree/bindings/clock/ti/interface.txt +++ b/Documentation/devicetree/bindings/clock/ti/interface.txt | |||
@@ -21,6 +21,8 @@ Required properties: | |||
21 | "ti,omap3-dss-interface-clock" - interface clock with DSS specific HW handling | 21 | "ti,omap3-dss-interface-clock" - interface clock with DSS specific HW handling |
22 | "ti,omap3-ssi-interface-clock" - interface clock with SSI specific HW handling | 22 | "ti,omap3-ssi-interface-clock" - interface clock with SSI specific HW handling |
23 | "ti,am35xx-interface-clock" - interface clock with AM35xx specific HW handling | 23 | "ti,am35xx-interface-clock" - interface clock with AM35xx specific HW handling |
24 | "ti,omap2430-interface-clock" - interface clock with OMAP2430 specific HW | ||
25 | handling | ||
24 | - #clock-cells : from common clock binding; shall be set to 0 | 26 | - #clock-cells : from common clock binding; shall be set to 0 |
25 | - clocks : link to phandle of parent clock | 27 | - clocks : link to phandle of parent clock |
26 | - reg : base address for the control register | 28 | - reg : base address for the control register |
diff --git a/arch/arm/mach-omap2/clock.h b/arch/arm/mach-omap2/clock.h index eb441d137843..12f54d428d7c 100644 --- a/arch/arm/mach-omap2/clock.h +++ b/arch/arm/mach-omap2/clock.h | |||
@@ -268,7 +268,6 @@ extern const struct clk_hw_omap_ops clkhwops_omap3430es2_hsotgusb_wait; | |||
268 | extern const struct clk_hw_omap_ops clkhwops_am35xx_ipss_module_wait; | 268 | extern const struct clk_hw_omap_ops clkhwops_am35xx_ipss_module_wait; |
269 | extern const struct clk_hw_omap_ops clkhwops_apll54; | 269 | extern const struct clk_hw_omap_ops clkhwops_apll54; |
270 | extern const struct clk_hw_omap_ops clkhwops_apll96; | 270 | extern const struct clk_hw_omap_ops clkhwops_apll96; |
271 | extern const struct clk_hw_omap_ops clkhwops_omap2430_i2chs_wait; | ||
272 | 271 | ||
273 | /* clksel_rate blocks shared between OMAP44xx and AM33xx */ | 272 | /* clksel_rate blocks shared between OMAP44xx and AM33xx */ |
274 | extern const struct clksel_rate div_1_0_rates[]; | 273 | extern const struct clksel_rate div_1_0_rates[]; |
diff --git a/drivers/clk/ti/interface.c b/drivers/clk/ti/interface.c index 320a2b168bb2..9c3e8c4aaa40 100644 --- a/drivers/clk/ti/interface.c +++ b/drivers/clk/ti/interface.c | |||
@@ -94,6 +94,7 @@ static void __init of_ti_no_wait_interface_clk_setup(struct device_node *node) | |||
94 | CLK_OF_DECLARE(ti_no_wait_interface_clk, "ti,omap3-no-wait-interface-clock", | 94 | CLK_OF_DECLARE(ti_no_wait_interface_clk, "ti,omap3-no-wait-interface-clock", |
95 | of_ti_no_wait_interface_clk_setup); | 95 | of_ti_no_wait_interface_clk_setup); |
96 | 96 | ||
97 | #ifdef CONFIG_ARCH_OMAP3 | ||
97 | static void __init of_ti_hsotgusb_interface_clk_setup(struct device_node *node) | 98 | static void __init of_ti_hsotgusb_interface_clk_setup(struct device_node *node) |
98 | { | 99 | { |
99 | _of_ti_interface_clk_setup(node, | 100 | _of_ti_interface_clk_setup(node, |
@@ -123,3 +124,13 @@ static void __init of_ti_am35xx_interface_clk_setup(struct device_node *node) | |||
123 | } | 124 | } |
124 | CLK_OF_DECLARE(ti_am35xx_interface_clk, "ti,am35xx-interface-clock", | 125 | CLK_OF_DECLARE(ti_am35xx_interface_clk, "ti,am35xx-interface-clock", |
125 | of_ti_am35xx_interface_clk_setup); | 126 | of_ti_am35xx_interface_clk_setup); |
127 | #endif | ||
128 | |||
129 | #ifdef CONFIG_SOC_OMAP2430 | ||
130 | static void __init of_ti_omap2430_interface_clk_setup(struct device_node *node) | ||
131 | { | ||
132 | _of_ti_interface_clk_setup(node, &clkhwops_omap2430_i2chs_wait); | ||
133 | } | ||
134 | CLK_OF_DECLARE(ti_omap2430_interface_clk, "ti,omap2430-interface-clock", | ||
135 | of_ti_omap2430_interface_clk_setup); | ||
136 | #endif | ||
diff --git a/include/linux/clk/ti.h b/include/linux/clk/ti.h index 44bf84002a34..a8390d478528 100644 --- a/include/linux/clk/ti.h +++ b/include/linux/clk/ti.h | |||
@@ -312,6 +312,7 @@ static inline void of_ti_clk_deny_autoidle_all(void) { } | |||
312 | #endif | 312 | #endif |
313 | 313 | ||
314 | extern const struct clk_hw_omap_ops clkhwops_omap2xxx_dpll; | 314 | extern const struct clk_hw_omap_ops clkhwops_omap2xxx_dpll; |
315 | extern const struct clk_hw_omap_ops clkhwops_omap2430_i2chs_wait; | ||
315 | extern const struct clk_hw_omap_ops clkhwops_omap3_dpll; | 316 | extern const struct clk_hw_omap_ops clkhwops_omap3_dpll; |
316 | extern const struct clk_hw_omap_ops clkhwops_omap4_dpllmx; | 317 | extern const struct clk_hw_omap_ops clkhwops_omap4_dpllmx; |
317 | extern const struct clk_hw_omap_ops clkhwops_wait; | 318 | extern const struct clk_hw_omap_ops clkhwops_wait; |