io.c (1348bbf942ebf21db7ff235f9bbdf9cd36be3ffe) io.c (ff931c821bab6713a52b768b0cd7ee7e90713b36)
1/*
2 * linux/arch/arm/mach-omap2/io.c
3 *
4 * OMAP2 I/O mapping code
5 *
6 * Copyright (C) 2005 Nokia Corporation
7 * Copyright (C) 2007-2009 Texas Instruments
8 *

--- 41 unchanged lines hidden (view full) ---

50#include "prcm_mpu44xx.h"
51#include "prminst44xx.h"
52#include "cminst44xx.h"
53#include "prm2xxx.h"
54#include "prm3xxx.h"
55#include "prm44xx.h"
56
57/*
1/*
2 * linux/arch/arm/mach-omap2/io.c
3 *
4 * OMAP2 I/O mapping code
5 *
6 * Copyright (C) 2005 Nokia Corporation
7 * Copyright (C) 2007-2009 Texas Instruments
8 *

--- 41 unchanged lines hidden (view full) ---

50#include "prcm_mpu44xx.h"
51#include "prminst44xx.h"
52#include "cminst44xx.h"
53#include "prm2xxx.h"
54#include "prm3xxx.h"
55#include "prm44xx.h"
56
57/*
58 * omap_clk_init: points to a function that does the SoC-specific
59 * clock initializations
60 */
61int (*omap_clk_init)(void);
62
63/*
58 * The machine specific code may provide the extra mapping besides the
59 * default mapping provided here.
60 */
61
62#if defined(CONFIG_SOC_OMAP2420) || defined(CONFIG_SOC_OMAP2430)
63static struct map_desc omap24xx_io_desc[] __initdata = {
64 {
65 .virtual = L3_24XX_VIRT,

--- 200 unchanged lines hidden (view full) ---

266 .type = MT_DEVICE,
267 },
268 {
269 .virtual = L4_PER_54XX_VIRT,
270 .pfn = __phys_to_pfn(L4_PER_54XX_PHYS),
271 .length = L4_PER_54XX_SIZE,
272 .type = MT_DEVICE,
273 },
64 * The machine specific code may provide the extra mapping besides the
65 * default mapping provided here.
66 */
67
68#if defined(CONFIG_SOC_OMAP2420) || defined(CONFIG_SOC_OMAP2430)
69static struct map_desc omap24xx_io_desc[] __initdata = {
70 {
71 .virtual = L3_24XX_VIRT,

--- 200 unchanged lines hidden (view full) ---

272 .type = MT_DEVICE,
273 },
274 {
275 .virtual = L4_PER_54XX_VIRT,
276 .pfn = __phys_to_pfn(L4_PER_54XX_PHYS),
277 .length = L4_PER_54XX_SIZE,
278 .type = MT_DEVICE,
279 },
274#ifdef CONFIG_OMAP4_ERRATA_I688
275 {
276 .virtual = OMAP4_SRAM_VA,
277 .pfn = __phys_to_pfn(OMAP4_SRAM_PA),
278 .length = PAGE_SIZE,
279 .type = MT_MEMORY_SO,
280 },
281#endif
282};
283#endif
284
285#ifdef CONFIG_SOC_OMAP2420
286void __init omap242x_map_io(void)
287{
288 iotable_init(omap24xx_io_desc, ARRAY_SIZE(omap24xx_io_desc));
289 iotable_init(omap242x_io_desc, ARRAY_SIZE(omap242x_io_desc));

--- 36 unchanged lines hidden (view full) ---

326 omap_barriers_init();
327}
328#endif
329
330#ifdef CONFIG_SOC_OMAP5
331void __init omap5_map_io(void)
332{
333 iotable_init(omap54xx_io_desc, ARRAY_SIZE(omap54xx_io_desc));
280};
281#endif
282
283#ifdef CONFIG_SOC_OMAP2420
284void __init omap242x_map_io(void)
285{
286 iotable_init(omap24xx_io_desc, ARRAY_SIZE(omap24xx_io_desc));
287 iotable_init(omap242x_io_desc, ARRAY_SIZE(omap242x_io_desc));

--- 36 unchanged lines hidden (view full) ---

324 omap_barriers_init();
325}
326#endif
327
328#ifdef CONFIG_SOC_OMAP5
329void __init omap5_map_io(void)
330{
331 iotable_init(omap54xx_io_desc, ARRAY_SIZE(omap54xx_io_desc));
334 omap_barriers_init();
335}
336#endif
337/*
338 * omap2_init_reprogram_sdrc - reprogram SDRC timing parameters
339 *
340 * Sets the CORE DPLL3 M2 divider to the same value that it's at
341 * currently. This has the effect of setting the SDRC SDRAM AC timing
342 * registers to the values currently defined by the kernel. Currently

--- 58 unchanged lines hidden (view full) ---

401 omap2xxx_check_revision();
402 omap2xxx_prm_init();
403 omap2xxx_cm_init();
404 omap2xxx_voltagedomains_init();
405 omap242x_powerdomains_init();
406 omap242x_clockdomains_init();
407 omap2420_hwmod_init();
408 omap_hwmod_init_postsetup();
332}
333#endif
334/*
335 * omap2_init_reprogram_sdrc - reprogram SDRC timing parameters
336 *
337 * Sets the CORE DPLL3 M2 divider to the same value that it's at
338 * currently. This has the effect of setting the SDRC SDRAM AC timing
339 * registers to the values currently defined by the kernel. Currently

--- 58 unchanged lines hidden (view full) ---

398 omap2xxx_check_revision();
399 omap2xxx_prm_init();
400 omap2xxx_cm_init();
401 omap2xxx_voltagedomains_init();
402 omap242x_powerdomains_init();
403 omap242x_clockdomains_init();
404 omap2420_hwmod_init();
405 omap_hwmod_init_postsetup();
409 omap2420_clk_init();
406 omap_clk_init = omap2420_clk_init;
410}
411
412void __init omap2420_init_late(void)
413{
414 omap_mux_late_init();
415 omap2_common_pm_late_init();
416 omap2_pm_init();
417 omap2_clk_enable_autoidle_all();

--- 13 unchanged lines hidden (view full) ---

431 omap2xxx_check_revision();
432 omap2xxx_prm_init();
433 omap2xxx_cm_init();
434 omap2xxx_voltagedomains_init();
435 omap243x_powerdomains_init();
436 omap243x_clockdomains_init();
437 omap2430_hwmod_init();
438 omap_hwmod_init_postsetup();
407}
408
409void __init omap2420_init_late(void)
410{
411 omap_mux_late_init();
412 omap2_common_pm_late_init();
413 omap2_pm_init();
414 omap2_clk_enable_autoidle_all();

--- 13 unchanged lines hidden (view full) ---

428 omap2xxx_check_revision();
429 omap2xxx_prm_init();
430 omap2xxx_cm_init();
431 omap2xxx_voltagedomains_init();
432 omap243x_powerdomains_init();
433 omap243x_clockdomains_init();
434 omap2430_hwmod_init();
435 omap_hwmod_init_postsetup();
439 omap2430_clk_init();
436 omap_clk_init = omap2430_clk_init;
440}
441
442void __init omap2430_init_late(void)
443{
444 omap_mux_late_init();
445 omap2_common_pm_late_init();
446 omap2_pm_init();
447 omap2_clk_enable_autoidle_all();

--- 18 unchanged lines hidden (view full) ---

466 omap3xxx_check_features();
467 omap3xxx_prm_init();
468 omap3xxx_cm_init();
469 omap3xxx_voltagedomains_init();
470 omap3xxx_powerdomains_init();
471 omap3xxx_clockdomains_init();
472 omap3xxx_hwmod_init();
473 omap_hwmod_init_postsetup();
437}
438
439void __init omap2430_init_late(void)
440{
441 omap_mux_late_init();
442 omap2_common_pm_late_init();
443 omap2_pm_init();
444 omap2_clk_enable_autoidle_all();

--- 18 unchanged lines hidden (view full) ---

463 omap3xxx_check_features();
464 omap3xxx_prm_init();
465 omap3xxx_cm_init();
466 omap3xxx_voltagedomains_init();
467 omap3xxx_powerdomains_init();
468 omap3xxx_clockdomains_init();
469 omap3xxx_hwmod_init();
470 omap_hwmod_init_postsetup();
474 omap3xxx_clk_init();
471 omap_clk_init = omap3xxx_clk_init;
475}
476
477void __init omap3430_init_early(void)
478{
479 omap3_init_early();
480}
481
482void __init omap35xx_init_early(void)

--- 21 unchanged lines hidden (view full) ---

504 omap2_set_globals_cm(OMAP2_L4_IO_ADDRESS(TI81XX_PRCM_BASE), NULL);
505 omap3xxx_check_revision();
506 ti81xx_check_features();
507 omap3xxx_voltagedomains_init();
508 omap3xxx_powerdomains_init();
509 omap3xxx_clockdomains_init();
510 omap3xxx_hwmod_init();
511 omap_hwmod_init_postsetup();
472}
473
474void __init omap3430_init_early(void)
475{
476 omap3_init_early();
477}
478
479void __init omap35xx_init_early(void)

--- 21 unchanged lines hidden (view full) ---

501 omap2_set_globals_cm(OMAP2_L4_IO_ADDRESS(TI81XX_PRCM_BASE), NULL);
502 omap3xxx_check_revision();
503 ti81xx_check_features();
504 omap3xxx_voltagedomains_init();
505 omap3xxx_powerdomains_init();
506 omap3xxx_clockdomains_init();
507 omap3xxx_hwmod_init();
508 omap_hwmod_init_postsetup();
512 omap3xxx_clk_init();
509 omap_clk_init = omap3xxx_clk_init;
513}
514
515void __init omap3_init_late(void)
516{
517 omap_mux_late_init();
518 omap2_common_pm_late_init();
519 omap3_pm_init();
520 omap2_clk_enable_autoidle_all();

--- 51 unchanged lines hidden (view full) ---

572 omap2_set_globals_cm(AM33XX_L4_WK_IO_ADDRESS(AM33XX_PRCM_BASE), NULL);
573 omap3xxx_check_revision();
574 ti81xx_check_features();
575 am33xx_voltagedomains_init();
576 am33xx_powerdomains_init();
577 am33xx_clockdomains_init();
578 am33xx_hwmod_init();
579 omap_hwmod_init_postsetup();
510}
511
512void __init omap3_init_late(void)
513{
514 omap_mux_late_init();
515 omap2_common_pm_late_init();
516 omap3_pm_init();
517 omap2_clk_enable_autoidle_all();

--- 51 unchanged lines hidden (view full) ---

569 omap2_set_globals_cm(AM33XX_L4_WK_IO_ADDRESS(AM33XX_PRCM_BASE), NULL);
570 omap3xxx_check_revision();
571 ti81xx_check_features();
572 am33xx_voltagedomains_init();
573 am33xx_powerdomains_init();
574 am33xx_clockdomains_init();
575 am33xx_hwmod_init();
576 omap_hwmod_init_postsetup();
580 am33xx_clk_init();
577 omap_clk_init = am33xx_clk_init;
581}
582#endif
583
584#ifdef CONFIG_ARCH_OMAP4
585void __init omap4430_init_early(void)
586{
587 omap2_set_globals_tap(OMAP443X_CLASS,
588 OMAP2_L4_IO_ADDRESS(OMAP443X_SCM_BASE));

--- 8 unchanged lines hidden (view full) ---

597 omap4xxx_check_revision();
598 omap4xxx_check_features();
599 omap44xx_prm_init();
600 omap44xx_voltagedomains_init();
601 omap44xx_powerdomains_init();
602 omap44xx_clockdomains_init();
603 omap44xx_hwmod_init();
604 omap_hwmod_init_postsetup();
578}
579#endif
580
581#ifdef CONFIG_ARCH_OMAP4
582void __init omap4430_init_early(void)
583{
584 omap2_set_globals_tap(OMAP443X_CLASS,
585 OMAP2_L4_IO_ADDRESS(OMAP443X_SCM_BASE));

--- 8 unchanged lines hidden (view full) ---

594 omap4xxx_check_revision();
595 omap4xxx_check_features();
596 omap44xx_prm_init();
597 omap44xx_voltagedomains_init();
598 omap44xx_powerdomains_init();
599 omap44xx_clockdomains_init();
600 omap44xx_hwmod_init();
601 omap_hwmod_init_postsetup();
605 omap4xxx_clk_init();
602 omap_clk_init = omap4xxx_clk_init;
606}
607
608void __init omap4430_init_late(void)
609{
610 omap_mux_late_init();
611 omap2_common_pm_late_init();
612 omap4_pm_init();
613 omap2_clk_enable_autoidle_all();

--- 30 unchanged lines hidden ---
603}
604
605void __init omap4430_init_late(void)
606{
607 omap_mux_late_init();
608 omap2_common_pm_late_init();
609 omap4_pm_init();
610 omap2_clk_enable_autoidle_all();

--- 30 unchanged lines hidden ---