18 #include <mach/irqs.h>
19 #include <mach/cputype.h>
20 #include <mach/common.h>
21 #include <mach/time.h>
29 #define DA830_CMP12_0 0x60
30 #define DA830_CMP12_1 0x64
31 #define DA830_CMP12_2 0x68
32 #define DA830_CMP12_3 0x6c
33 #define DA830_CMP12_4 0x70
34 #define DA830_CMP12_5 0x74
35 #define DA830_CMP12_6 0x78
36 #define DA830_CMP12_7 0x7c
38 #define DA830_REF_FREQ 24000000
46 static struct clk ref_clk = {
51 static struct clk pll0_clk = {
58 static struct clk pll0_aux_clk = {
59 .name =
"pll0_aux_clk",
64 static struct clk pll0_sysclk2 = {
65 .name =
"pll0_sysclk2",
71 static struct clk pll0_sysclk3 = {
72 .name =
"pll0_sysclk3",
78 static struct clk pll0_sysclk4 = {
79 .name =
"pll0_sysclk4",
85 static struct clk pll0_sysclk5 = {
86 .name =
"pll0_sysclk5",
92 static struct clk pll0_sysclk6 = {
93 .name =
"pll0_sysclk6",
99 static struct clk pll0_sysclk7 = {
100 .name =
"pll0_sysclk7",
106 static struct clk i2c0_clk = {
108 .parent = &pll0_aux_clk,
111 static struct clk timerp64_0_clk = {
113 .parent = &pll0_aux_clk,
116 static struct clk timerp64_1_clk = {
118 .parent = &pll0_aux_clk,
121 static struct clk arm_rom_clk = {
123 .parent = &pll0_sysclk2,
128 static struct clk scr0_ss_clk = {
130 .parent = &pll0_sysclk2,
135 static struct clk scr1_ss_clk = {
137 .parent = &pll0_sysclk2,
142 static struct clk scr2_ss_clk = {
144 .parent = &pll0_sysclk2,
149 static struct clk dmax_clk = {
151 .parent = &pll0_sysclk2,
156 static struct clk tpcc_clk = {
158 .parent = &pll0_sysclk2,
163 static struct clk tptc0_clk = {
165 .parent = &pll0_sysclk2,
170 static struct clk tptc1_clk = {
172 .parent = &pll0_sysclk2,
177 static struct clk mmcsd_clk = {
179 .parent = &pll0_sysclk2,
183 static struct clk uart0_clk = {
185 .parent = &pll0_sysclk2,
189 static struct clk uart1_clk = {
191 .parent = &pll0_sysclk2,
196 static struct clk uart2_clk = {
198 .parent = &pll0_sysclk2,
203 static struct clk spi0_clk = {
205 .parent = &pll0_sysclk2,
209 static struct clk spi1_clk = {
211 .parent = &pll0_sysclk2,
216 static struct clk ecap0_clk = {
218 .parent = &pll0_sysclk2,
223 static struct clk ecap1_clk = {
225 .parent = &pll0_sysclk2,
230 static struct clk ecap2_clk = {
232 .parent = &pll0_sysclk2,
237 static struct clk pwm0_clk = {
239 .parent = &pll0_sysclk2,
244 static struct clk pwm1_clk = {
246 .parent = &pll0_sysclk2,
251 static struct clk pwm2_clk = {
253 .parent = &pll0_sysclk2,
258 static struct clk eqep0_clk = {
260 .parent = &pll0_sysclk2,
265 static struct clk eqep1_clk = {
267 .parent = &pll0_sysclk2,
272 static struct clk lcdc_clk = {
274 .parent = &pll0_sysclk2,
279 static struct clk mcasp0_clk = {
281 .parent = &pll0_sysclk2,
286 static struct clk mcasp1_clk = {
288 .parent = &pll0_sysclk2,
293 static struct clk mcasp2_clk = {
295 .parent = &pll0_sysclk2,
300 static struct clk usb20_clk = {
302 .parent = &pll0_sysclk2,
307 static struct clk aemif_clk = {
309 .parent = &pll0_sysclk3,
314 static struct clk aintc_clk = {
316 .parent = &pll0_sysclk4,
321 static struct clk secu_mgr_clk = {
323 .parent = &pll0_sysclk4,
328 static struct clk emac_clk = {
330 .parent = &pll0_sysclk4,
335 static struct clk gpio_clk = {
337 .parent = &pll0_sysclk4,
342 static struct clk i2c1_clk = {
344 .parent = &pll0_sysclk4,
349 static struct clk usb11_clk = {
351 .parent = &pll0_sysclk4,
356 static struct clk emif3_clk = {
358 .parent = &pll0_sysclk5,
364 static struct clk arm_clk = {
366 .parent = &pll0_sysclk6,
371 static struct clk rmii_clk = {
373 .parent = &pll0_sysclk7,
379 CLK(
NULL,
"pll0_aux", &pll0_aux_clk),
380 CLK(
NULL,
"pll0_sysclk2", &pll0_sysclk2),
381 CLK(
NULL,
"pll0_sysclk3", &pll0_sysclk3),
382 CLK(
NULL,
"pll0_sysclk4", &pll0_sysclk4),
383 CLK(
NULL,
"pll0_sysclk5", &pll0_sysclk5),
384 CLK(
NULL,
"pll0_sysclk6", &pll0_sysclk6),
385 CLK(
NULL,
"pll0_sysclk7", &pll0_sysclk7),
386 CLK(
"i2c_davinci.1",
NULL, &i2c0_clk),
387 CLK(
NULL,
"timer0", &timerp64_0_clk),
388 CLK(
"watchdog",
NULL, &timerp64_1_clk),
389 CLK(
NULL,
"arm_rom", &arm_rom_clk),
390 CLK(
NULL,
"scr0_ss", &scr0_ss_clk),
391 CLK(
NULL,
"scr1_ss", &scr1_ss_clk),
392 CLK(
NULL,
"scr2_ss", &scr2_ss_clk),
395 CLK(
NULL,
"tptc0", &tptc0_clk),
396 CLK(
NULL,
"tptc1", &tptc1_clk),
397 CLK(
"davinci_mmc.0",
NULL, &mmcsd_clk),
398 CLK(
NULL,
"uart0", &uart0_clk),
399 CLK(
NULL,
"uart1", &uart1_clk),
400 CLK(
NULL,
"uart2", &uart2_clk),
401 CLK(
"spi_davinci.0",
NULL, &spi0_clk),
402 CLK(
"spi_davinci.1",
NULL, &spi1_clk),
403 CLK(
NULL,
"ecap0", &ecap0_clk),
404 CLK(
NULL,
"ecap1", &ecap1_clk),
405 CLK(
NULL,
"ecap2", &ecap2_clk),
409 CLK(
"eqep.0",
NULL, &eqep0_clk),
410 CLK(
"eqep.1",
NULL, &eqep1_clk),
411 CLK(
"da8xx_lcdc.0",
NULL, &lcdc_clk),
412 CLK(
"davinci-mcasp.0",
NULL, &mcasp0_clk),
413 CLK(
"davinci-mcasp.1",
NULL, &mcasp1_clk),
414 CLK(
"davinci-mcasp.2",
NULL, &mcasp2_clk),
415 CLK(
NULL,
"usb20", &usb20_clk),
416 CLK(
NULL,
"aemif", &aemif_clk),
417 CLK(
NULL,
"aintc", &aintc_clk),
418 CLK(
NULL,
"secu_mgr", &secu_mgr_clk),
419 CLK(
"davinci_emac.1",
NULL, &emac_clk),
421 CLK(
"i2c_davinci.2",
NULL, &i2c1_clk),
422 CLK(
NULL,
"usb11", &usb11_clk),
423 CLK(
NULL,
"emif3", &emif3_clk),
435 static const struct mux_config da830_pins[] = {
436 #ifdef CONFIG_DAVINCI_MUX
437 MUX_CFG(DA830, GPIO7_14, 0, 0, 0xf, 1,
false)
1111 static struct map_desc da830_io_desc[] = {
1133 .manufacturer = 0x017,
1135 .name =
"da830/omap-l137 rev1.0",
1140 .manufacturer = 0x017,
1142 .name =
"da830/omap-l137 rev1.1",
1147 .manufacturer = 0x017,
1149 .name =
"da830/omap-l137 rev2.0",
1176 .timers = da830_timer_instance,
1178 .clocksource_id =
T0_BOT,
1182 .io_desc = da830_io_desc,
1187 .cpu_clks = da830_clks,
1188 .psc_bases = da830_psc_bases,
1189 .psc_bases_num =
ARRAY_SIZE(da830_psc_bases),
1191 .pinmux_pins = da830_pins,
1195 .intc_irq_prios = da830_default_priorities,
1197 .timer_info = &da830_timer_info,