Commit e30384ab authored by Vaibhav Hiremath's avatar Vaibhav Hiremath Committed by Paul Walmsley

ARM: OMAP3+: clock33xx: Add AM33XX clock tree data

AM33XX clock implementation is different than any existing OMAP
family of devices. Although DPLL module is similar to OMAP4
device, but the usage is very much different than OMAP4.
AM33XX has different peripheral set and each module gets
integrated to the clock framework differently than OMAP
family of devices.

This patch adds full Clock tree data for AM33XX family
of devices and also integrates it into existing OMAP framework.
Signed-off-by: default avatarVaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: default avatarAfzal Mohammed <afzal@ti.com>
Signed-off-by: default avatarVaibhav Bedia <vaibhav.bedia@ti.com>
Cc: Kevin Hilman <khilman@ti.com>
Cc: Rajendra Nayak <rnayak@ti.com>
CC: Tony Lindgren <tony@atomide.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Benoit Cousson <b-cousson@ti.com>
[paul@pwsan.com: updated to apply; changed 'soc_is_am33xx' to
 'cpu_is_am33xx' to match usage in Tony's current am33xx branch]
Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
parent 571efa0d
...@@ -152,6 +152,8 @@ obj-$(CONFIG_ARCH_OMAP3) += dpll3xxx.o clock3xxx_data.o ...@@ -152,6 +152,8 @@ obj-$(CONFIG_ARCH_OMAP3) += dpll3xxx.o clock3xxx_data.o
obj-$(CONFIG_ARCH_OMAP3) += clkt_iclk.o obj-$(CONFIG_ARCH_OMAP3) += clkt_iclk.o
obj-$(CONFIG_ARCH_OMAP4) += $(clock-common) clock44xx_data.o obj-$(CONFIG_ARCH_OMAP4) += $(clock-common) clock44xx_data.o
obj-$(CONFIG_ARCH_OMAP4) += dpll3xxx.o dpll44xx.o obj-$(CONFIG_ARCH_OMAP4) += dpll3xxx.o dpll44xx.o
obj-$(CONFIG_SOC_AM33XX) += $(clock-common) dpll3xxx.o
obj-$(CONFIG_SOC_AM33XX) += clock33xx_data.o
# OMAP2 clock rate set data (old "OPP" data) # OMAP2 clock rate set data (old "OPP" data)
obj-$(CONFIG_SOC_OMAP2420) += opp2420_data.o obj-$(CONFIG_SOC_OMAP2420) += opp2420_data.o
......
...@@ -167,4 +167,6 @@ extern const struct clksel_rate div31_1to31_rates[]; ...@@ -167,4 +167,6 @@ extern const struct clksel_rate div31_1to31_rates[];
extern struct clk virt_19200000_ck; extern struct clk virt_19200000_ck;
extern struct clk virt_26000000_ck; extern struct clk virt_26000000_ck;
extern int am33xx_clk_init(void);
#endif #endif
This diff is collapsed.
...@@ -38,6 +38,7 @@ ...@@ -38,6 +38,7 @@
#include "powerdomain.h" #include "powerdomain.h"
#include "clockdomain.h" #include "clockdomain.h"
#include "common.h" #include "common.h"
#include "clock.h"
#include "clock2xxx.h" #include "clock2xxx.h"
#include "clock3xxx.h" #include "clock3xxx.h"
#include "clock44xx.h" #include "clock44xx.h"
...@@ -487,6 +488,7 @@ void __init am33xx_init_early(void) ...@@ -487,6 +488,7 @@ void __init am33xx_init_early(void)
am33xx_voltagedomains_init(); am33xx_voltagedomains_init();
am33xx_powerdomains_init(); am33xx_powerdomains_init();
am33xx_clockdomains_init(); am33xx_clockdomains_init();
am33xx_clk_init();
} }
#endif #endif
......
...@@ -39,6 +39,7 @@ struct omap_clk { ...@@ -39,6 +39,7 @@ struct omap_clk {
#define CK_443X (1 << 11) #define CK_443X (1 << 11)
#define CK_TI816X (1 << 12) #define CK_TI816X (1 << 12)
#define CK_446X (1 << 13) #define CK_446X (1 << 13)
#define CK_AM33XX (1 << 14) /* AM33xx specific clocks */
#define CK_1710 (1 << 15) /* 1710 extra for rate selection */ #define CK_1710 (1 << 15) /* 1710 extra for rate selection */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment