From 849369d6c66d3054688672f97d31fceb8e8230fb Mon Sep 17 00:00:00 2001 From: root Date: Fri, 25 Dec 2015 04:40:36 +0000 Subject: initial_commit --- arch/arm/mach-omap2/Kconfig | 348 ++ arch/arm/mach-omap2/Makefile | 272 + arch/arm/mach-omap2/Makefile.boot | 3 + arch/arm/mach-omap2/board-2430sdp.c | 266 + arch/arm/mach-omap2/board-3430sdp.c | 810 +++ arch/arm/mach-omap2/board-3630sdp.c | 225 + arch/arm/mach-omap2/board-4430sdp.c | 774 +++ arch/arm/mach-omap2/board-am3517crane.c | 110 + arch/arm/mach-omap2/board-am3517evm.c | 500 ++ arch/arm/mach-omap2/board-apollon.c | 360 ++ arch/arm/mach-omap2/board-cm-t35.c | 652 +++ arch/arm/mach-omap2/board-cm-t3517.c | 310 ++ arch/arm/mach-omap2/board-devkit8000.c | 711 +++ arch/arm/mach-omap2/board-flash.c | 256 + arch/arm/mach-omap2/board-flash.h | 30 + arch/arm/mach-omap2/board-generic.c | 76 + arch/arm/mach-omap2/board-h4.c | 392 ++ arch/arm/mach-omap2/board-igep0020.c | 719 +++ arch/arm/mach-omap2/board-ldp.c | 356 ++ arch/arm/mach-omap2/board-n8x0.c | 725 +++ arch/arm/mach-omap2/board-omap3beagle.c | 603 +++ arch/arm/mach-omap2/board-omap3evm.c | 746 +++ arch/arm/mach-omap2/board-omap3logic.c | 230 + arch/arm/mach-omap2/board-omap3pandora.c | 649 +++ arch/arm/mach-omap2/board-omap3stalker.c | 564 +++ arch/arm/mach-omap2/board-omap3touchbook.c | 453 ++ arch/arm/mach-omap2/board-omap4panda.c | 726 +++ arch/arm/mach-omap2/board-overo.c | 621 +++ arch/arm/mach-omap2/board-rm680.c | 169 + arch/arm/mach-omap2/board-rx51-peripherals.c | 990 ++++ arch/arm/mach-omap2/board-rx51-video.c | 103 + arch/arm/mach-omap2/board-rx51.c | 166 + arch/arm/mach-omap2/board-ti8168evm.c | 62 + arch/arm/mach-omap2/board-zoom-debugboard.c | 118 + arch/arm/mach-omap2/board-zoom-display.c | 140 + arch/arm/mach-omap2/board-zoom-peripherals.c | 381 ++ arch/arm/mach-omap2/board-zoom.c | 153 + arch/arm/mach-omap2/clkt2xxx_apll.c | 146 + arch/arm/mach-omap2/clkt2xxx_dpll.c | 63 + arch/arm/mach-omap2/clkt2xxx_dpllcore.c | 173 + arch/arm/mach-omap2/clkt2xxx_osc.c | 76 + arch/arm/mach-omap2/clkt2xxx_sys.c | 50 + arch/arm/mach-omap2/clkt2xxx_virt_prcm_set.c | 246 + arch/arm/mach-omap2/clkt34xx_dpll3m2.c | 122 + arch/arm/mach-omap2/clkt_clksel.c | 509 ++ arch/arm/mach-omap2/clkt_dpll.c | 340 ++ arch/arm/mach-omap2/clkt_iclk.c | 82 + arch/arm/mach-omap2/clock.c | 523 ++ arch/arm/mach-omap2/clock.h | 161 + arch/arm/mach-omap2/clock2420_data.c | 1970 ++++++++ arch/arm/mach-omap2/clock2430.c | 59 + arch/arm/mach-omap2/clock2430_data.c | 2070 ++++++++ arch/arm/mach-omap2/clock2xxx.c | 73 + arch/arm/mach-omap2/clock2xxx.h | 44 + arch/arm/mach-omap2/clock34xx.c | 153 + arch/arm/mach-omap2/clock34xx.h | 18 + arch/arm/mach-omap2/clock3517.c | 126 + arch/arm/mach-omap2/clock3517.h | 14 + arch/arm/mach-omap2/clock36xx.c | 72 + arch/arm/mach-omap2/clock36xx.h | 13 + arch/arm/mach-omap2/clock3xxx.c | 101 + arch/arm/mach-omap2/clock3xxx.h | 21 + arch/arm/mach-omap2/clock3xxx_data.c | 3576 ++++++++++++++ arch/arm/mach-omap2/clock44xx.h | 20 + arch/arm/mach-omap2/clock44xx_data.c | 3324 +++++++++++++ arch/arm/mach-omap2/clock_common_data.c | 45 + arch/arm/mach-omap2/clockdomain.c | 890 ++++ arch/arm/mach-omap2/clockdomain.h | 197 + arch/arm/mach-omap2/clockdomain2xxx_3xxx.c | 274 ++ arch/arm/mach-omap2/clockdomain44xx.c | 137 + arch/arm/mach-omap2/clockdomains2xxx_3xxx_data.c | 868 ++++ arch/arm/mach-omap2/clockdomains44xx_data.c | 689 +++ arch/arm/mach-omap2/cm-regbits-24xx.h | 445 ++ arch/arm/mach-omap2/cm-regbits-34xx.h | 812 +++ arch/arm/mach-omap2/cm-regbits-44xx.h | 1524 ++++++ arch/arm/mach-omap2/cm.h | 25 + arch/arm/mach-omap2/cm1_44xx.h | 261 + arch/arm/mach-omap2/cm2_44xx.h | 508 ++ arch/arm/mach-omap2/cm2xxx_3xxx.c | 557 +++ arch/arm/mach-omap2/cm2xxx_3xxx.h | 155 + arch/arm/mach-omap2/cm44xx.c | 52 + arch/arm/mach-omap2/cm44xx.h | 32 + arch/arm/mach-omap2/cminst44xx.c | 235 + arch/arm/mach-omap2/cminst44xx.h | 37 + arch/arm/mach-omap2/common-board-devices.c | 163 + arch/arm/mach-omap2/common-board-devices.h | 37 + arch/arm/mach-omap2/common.c | 142 + arch/arm/mach-omap2/control.c | 570 +++ arch/arm/mach-omap2/control.h | 412 ++ arch/arm/mach-omap2/cpuidle34xx.c | 405 ++ arch/arm/mach-omap2/devices.c | 733 +++ arch/arm/mach-omap2/devices.h | 19 + arch/arm/mach-omap2/display.c | 148 + arch/arm/mach-omap2/dma.c | 297 ++ arch/arm/mach-omap2/dpll3xxx.c | 614 +++ arch/arm/mach-omap2/dpll44xx.c | 84 + arch/arm/mach-omap2/dsp.c | 92 + arch/arm/mach-omap2/emu.c | 69 + arch/arm/mach-omap2/gpio.c | 104 + arch/arm/mach-omap2/gpmc-nand.c | 126 + arch/arm/mach-omap2/gpmc-onenand.c | 407 ++ arch/arm/mach-omap2/gpmc-smc91x.c | 190 + arch/arm/mach-omap2/gpmc-smsc911x.c | 107 + arch/arm/mach-omap2/gpmc.c | 920 ++++ arch/arm/mach-omap2/hsmmc.c | 524 ++ arch/arm/mach-omap2/hsmmc.h | 44 + arch/arm/mach-omap2/hwspinlock.c | 63 + arch/arm/mach-omap2/i2c.c | 39 + arch/arm/mach-omap2/id.c | 559 +++ arch/arm/mach-omap2/include/mach/am35xx.h | 44 + arch/arm/mach-omap2/include/mach/board-rx51.h | 11 + arch/arm/mach-omap2/include/mach/board-zoom.h | 12 + arch/arm/mach-omap2/include/mach/clkdev.h | 5 + .../include/mach/ctrl_module_core_44xx.h | 391 ++ .../include/mach/ctrl_module_pad_core_44xx.h | 1409 ++++++ .../include/mach/ctrl_module_pad_wkup_44xx.h | 236 + .../include/mach/ctrl_module_wkup_44xx.h | 92 + arch/arm/mach-omap2/include/mach/debug-macro.S | 159 + arch/arm/mach-omap2/include/mach/entry-macro.S | 170 + arch/arm/mach-omap2/include/mach/gpio.h | 5 + arch/arm/mach-omap2/include/mach/hardware.h | 5 + arch/arm/mach-omap2/include/mach/id.h | 22 + arch/arm/mach-omap2/include/mach/io.h | 5 + arch/arm/mach-omap2/include/mach/irqs.h | 5 + arch/arm/mach-omap2/include/mach/memory.h | 5 + arch/arm/mach-omap2/include/mach/omap4-common.h | 43 + arch/arm/mach-omap2/include/mach/smp.h | 5 + arch/arm/mach-omap2/include/mach/system.h | 5 + arch/arm/mach-omap2/include/mach/timex.h | 5 + arch/arm/mach-omap2/include/mach/uncompress.h | 5 + arch/arm/mach-omap2/include/mach/vmalloc.h | 20 + arch/arm/mach-omap2/io.c | 466 ++ arch/arm/mach-omap2/io.h | 7 + arch/arm/mach-omap2/iommu2.c | 358 ++ arch/arm/mach-omap2/irq.c | 256 + arch/arm/mach-omap2/mailbox.c | 421 ++ arch/arm/mach-omap2/mcbsp.c | 171 + arch/arm/mach-omap2/mux.c | 1080 ++++ arch/arm/mach-omap2/mux.h | 342 ++ arch/arm/mach-omap2/mux2420.c | 690 +++ arch/arm/mach-omap2/mux2420.h | 282 ++ arch/arm/mach-omap2/mux2430.c | 793 +++ arch/arm/mach-omap2/mux2430.h | 370 ++ arch/arm/mach-omap2/mux34xx.c | 2061 ++++++++ arch/arm/mach-omap2/mux34xx.h | 398 ++ arch/arm/mach-omap2/mux44xx.c | 1356 +++++ arch/arm/mach-omap2/mux44xx.h | 298 ++ arch/arm/mach-omap2/omap-headsmp.S | 49 + arch/arm/mach-omap2/omap-hotplug.c | 67 + arch/arm/mach-omap2/omap-iommu.c | 165 + arch/arm/mach-omap2/omap-smp.c | 143 + arch/arm/mach-omap2/omap4-common.c | 113 + arch/arm/mach-omap2/omap44xx-smc.S | 57 + arch/arm/mach-omap2/omap_hwmod.c | 2371 +++++++++ arch/arm/mach-omap2/omap_hwmod_2420_data.c | 2201 +++++++++ arch/arm/mach-omap2/omap_hwmod_2430_data.c | 2741 +++++++++++ arch/arm/mach-omap2/omap_hwmod_3xxx_data.c | 3665 ++++++++++++++ arch/arm/mach-omap2/omap_hwmod_44xx_data.c | 5183 ++++++++++++++++++++ arch/arm/mach-omap2/omap_hwmod_common_data.c | 71 + arch/arm/mach-omap2/omap_hwmod_common_data.h | 25 + arch/arm/mach-omap2/omap_l3_noc.c | 248 + arch/arm/mach-omap2/omap_l3_noc.h | 132 + arch/arm/mach-omap2/omap_l3_smx.c | 299 ++ arch/arm/mach-omap2/omap_l3_smx.h | 338 ++ arch/arm/mach-omap2/omap_opp_data.h | 96 + arch/arm/mach-omap2/omap_phy_internal.c | 262 + arch/arm/mach-omap2/omap_twl.c | 339 ++ arch/arm/mach-omap2/opp.c | 93 + arch/arm/mach-omap2/opp2420_data.c | 128 + arch/arm/mach-omap2/opp2430_data.c | 133 + arch/arm/mach-omap2/opp2xxx.h | 429 ++ arch/arm/mach-omap2/opp3xxx_data.c | 172 + arch/arm/mach-omap2/opp4xxx_data.c | 105 + arch/arm/mach-omap2/pm-debug.c | 655 +++ arch/arm/mach-omap2/pm.c | 270 + arch/arm/mach-omap2/pm.h | 143 + arch/arm/mach-omap2/pm24xx.c | 524 ++ arch/arm/mach-omap2/pm34xx.c | 970 ++++ arch/arm/mach-omap2/pm44xx.c | 121 + arch/arm/mach-omap2/powerdomain-common.c | 110 + arch/arm/mach-omap2/powerdomain.c | 1001 ++++ arch/arm/mach-omap2/powerdomain.h | 230 + arch/arm/mach-omap2/powerdomain2xxx_3xxx.c | 241 + arch/arm/mach-omap2/powerdomain44xx.c | 225 + arch/arm/mach-omap2/powerdomains2xxx_3xxx_data.c | 80 + arch/arm/mach-omap2/powerdomains2xxx_3xxx_data.h | 22 + arch/arm/mach-omap2/powerdomains2xxx_data.c | 123 + arch/arm/mach-omap2/powerdomains3xxx_data.c | 287 ++ arch/arm/mach-omap2/powerdomains44xx_data.c | 355 ++ arch/arm/mach-omap2/prcm-common.h | 414 ++ arch/arm/mach-omap2/prcm.c | 167 + arch/arm/mach-omap2/prcm44xx.h | 42 + arch/arm/mach-omap2/prcm_mpu44xx.c | 45 + arch/arm/mach-omap2/prcm_mpu44xx.h | 104 + arch/arm/mach-omap2/prm-regbits-24xx.h | 283 ++ arch/arm/mach-omap2/prm-regbits-34xx.h | 600 +++ arch/arm/mach-omap2/prm-regbits-44xx.h | 2319 +++++++++ arch/arm/mach-omap2/prm.h | 56 + arch/arm/mach-omap2/prm2xxx_3xxx.c | 158 + arch/arm/mach-omap2/prm2xxx_3xxx.h | 429 ++ arch/arm/mach-omap2/prm44xx.c | 195 + arch/arm/mach-omap2/prm44xx.h | 778 +++ arch/arm/mach-omap2/prminst44xx.c | 66 + arch/arm/mach-omap2/prminst44xx.h | 25 + arch/arm/mach-omap2/scrm44xx.h | 175 + arch/arm/mach-omap2/sdram-hynix-h8mbx00u0mer-0em.h | 51 + arch/arm/mach-omap2/sdram-micron-mt46h32m32lf-6.h | 55 + arch/arm/mach-omap2/sdram-nokia.c | 279 ++ arch/arm/mach-omap2/sdram-nokia.h | 12 + arch/arm/mach-omap2/sdram-numonyx-m65kxxxxam.h | 51 + .../mach-omap2/sdram-qimonda-hyb18m512160af-6.h | 54 + arch/arm/mach-omap2/sdrc.c | 183 + arch/arm/mach-omap2/sdrc.h | 77 + arch/arm/mach-omap2/sdrc2xxx.c | 170 + arch/arm/mach-omap2/serial.c | 877 ++++ arch/arm/mach-omap2/sleep24xx.S | 126 + arch/arm/mach-omap2/sleep34xx.S | 754 +++ arch/arm/mach-omap2/smartreflex-class3.c | 59 + arch/arm/mach-omap2/smartreflex.c | 1043 ++++ arch/arm/mach-omap2/smartreflex.h | 246 + arch/arm/mach-omap2/sr_device.c | 147 + arch/arm/mach-omap2/sram242x.S | 330 ++ arch/arm/mach-omap2/sram243x.S | 330 ++ arch/arm/mach-omap2/sram34xx.S | 346 ++ arch/arm/mach-omap2/timer-gp.c | 266 + arch/arm/mach-omap2/timer-gp.h | 16 + arch/arm/mach-omap2/timer-mpu.c | 39 + arch/arm/mach-omap2/usb-fs.c | 359 ++ arch/arm/mach-omap2/usb-host.c | 574 +++ arch/arm/mach-omap2/usb-musb.c | 185 + arch/arm/mach-omap2/usb-tusb6010.c | 348 ++ arch/arm/mach-omap2/vc.h | 83 + arch/arm/mach-omap2/vc3xxx_data.c | 63 + arch/arm/mach-omap2/vc44xx_data.c | 75 + arch/arm/mach-omap2/voltage.c | 1106 +++++ arch/arm/mach-omap2/voltage.h | 184 + arch/arm/mach-omap2/voltagedomains3xxx_data.c | 95 + arch/arm/mach-omap2/voltagedomains44xx_data.c | 102 + arch/arm/mach-omap2/vp.h | 143 + arch/arm/mach-omap2/vp3xxx_data.c | 82 + arch/arm/mach-omap2/vp44xx_data.c | 100 + arch/arm/mach-omap2/wd_timer.c | 56 + arch/arm/mach-omap2/wd_timer.h | 17 + 243 files changed, 95454 insertions(+) create mode 100644 arch/arm/mach-omap2/Kconfig create mode 100644 arch/arm/mach-omap2/Makefile create mode 100644 arch/arm/mach-omap2/Makefile.boot create mode 100644 arch/arm/mach-omap2/board-2430sdp.c create mode 100644 arch/arm/mach-omap2/board-3430sdp.c create mode 100644 arch/arm/mach-omap2/board-3630sdp.c create mode 100644 arch/arm/mach-omap2/board-4430sdp.c create mode 100644 arch/arm/mach-omap2/board-am3517crane.c create mode 100644 arch/arm/mach-omap2/board-am3517evm.c create mode 100644 arch/arm/mach-omap2/board-apollon.c create mode 100644 arch/arm/mach-omap2/board-cm-t35.c create mode 100644 arch/arm/mach-omap2/board-cm-t3517.c create mode 100644 arch/arm/mach-omap2/board-devkit8000.c create mode 100644 arch/arm/mach-omap2/board-flash.c create mode 100644 arch/arm/mach-omap2/board-flash.h create mode 100644 arch/arm/mach-omap2/board-generic.c create mode 100644 arch/arm/mach-omap2/board-h4.c create mode 100644 arch/arm/mach-omap2/board-igep0020.c create mode 100644 arch/arm/mach-omap2/board-ldp.c create mode 100644 arch/arm/mach-omap2/board-n8x0.c create mode 100644 arch/arm/mach-omap2/board-omap3beagle.c create mode 100644 arch/arm/mach-omap2/board-omap3evm.c create mode 100644 arch/arm/mach-omap2/board-omap3logic.c create mode 100644 arch/arm/mach-omap2/board-omap3pandora.c create mode 100644 arch/arm/mach-omap2/board-omap3stalker.c create mode 100644 arch/arm/mach-omap2/board-omap3touchbook.c create mode 100644 arch/arm/mach-omap2/board-omap4panda.c create mode 100644 arch/arm/mach-omap2/board-overo.c create mode 100644 arch/arm/mach-omap2/board-rm680.c create mode 100644 arch/arm/mach-omap2/board-rx51-peripherals.c create mode 100644 arch/arm/mach-omap2/board-rx51-video.c create mode 100644 arch/arm/mach-omap2/board-rx51.c create mode 100644 arch/arm/mach-omap2/board-ti8168evm.c create mode 100644 arch/arm/mach-omap2/board-zoom-debugboard.c create mode 100644 arch/arm/mach-omap2/board-zoom-display.c create mode 100644 arch/arm/mach-omap2/board-zoom-peripherals.c create mode 100644 arch/arm/mach-omap2/board-zoom.c create mode 100644 arch/arm/mach-omap2/clkt2xxx_apll.c create mode 100644 arch/arm/mach-omap2/clkt2xxx_dpll.c create mode 100644 arch/arm/mach-omap2/clkt2xxx_dpllcore.c create mode 100644 arch/arm/mach-omap2/clkt2xxx_osc.c create mode 100644 arch/arm/mach-omap2/clkt2xxx_sys.c create mode 100644 arch/arm/mach-omap2/clkt2xxx_virt_prcm_set.c create mode 100644 arch/arm/mach-omap2/clkt34xx_dpll3m2.c create mode 100644 arch/arm/mach-omap2/clkt_clksel.c create mode 100644 arch/arm/mach-omap2/clkt_dpll.c create mode 100644 arch/arm/mach-omap2/clkt_iclk.c create mode 100644 arch/arm/mach-omap2/clock.c create mode 100644 arch/arm/mach-omap2/clock.h create mode 100644 arch/arm/mach-omap2/clock2420_data.c create mode 100644 arch/arm/mach-omap2/clock2430.c create mode 100644 arch/arm/mach-omap2/clock2430_data.c create mode 100644 arch/arm/mach-omap2/clock2xxx.c create mode 100644 arch/arm/mach-omap2/clock2xxx.h create mode 100644 arch/arm/mach-omap2/clock34xx.c create mode 100644 arch/arm/mach-omap2/clock34xx.h create mode 100644 arch/arm/mach-omap2/clock3517.c create mode 100644 arch/arm/mach-omap2/clock3517.h create mode 100644 arch/arm/mach-omap2/clock36xx.c create mode 100644 arch/arm/mach-omap2/clock36xx.h create mode 100644 arch/arm/mach-omap2/clock3xxx.c create mode 100644 arch/arm/mach-omap2/clock3xxx.h create mode 100644 arch/arm/mach-omap2/clock3xxx_data.c create mode 100644 arch/arm/mach-omap2/clock44xx.h create mode 100644 arch/arm/mach-omap2/clock44xx_data.c create mode 100644 arch/arm/mach-omap2/clock_common_data.c create mode 100644 arch/arm/mach-omap2/clockdomain.c create mode 100644 arch/arm/mach-omap2/clockdomain.h create mode 100644 arch/arm/mach-omap2/clockdomain2xxx_3xxx.c create mode 100644 arch/arm/mach-omap2/clockdomain44xx.c create mode 100644 arch/arm/mach-omap2/clockdomains2xxx_3xxx_data.c create mode 100644 arch/arm/mach-omap2/clockdomains44xx_data.c create mode 100644 arch/arm/mach-omap2/cm-regbits-24xx.h create mode 100644 arch/arm/mach-omap2/cm-regbits-34xx.h create mode 100644 arch/arm/mach-omap2/cm-regbits-44xx.h create mode 100644 arch/arm/mach-omap2/cm.h create mode 100644 arch/arm/mach-omap2/cm1_44xx.h create mode 100644 arch/arm/mach-omap2/cm2_44xx.h create mode 100644 arch/arm/mach-omap2/cm2xxx_3xxx.c create mode 100644 arch/arm/mach-omap2/cm2xxx_3xxx.h create mode 100644 arch/arm/mach-omap2/cm44xx.c create mode 100644 arch/arm/mach-omap2/cm44xx.h create mode 100644 arch/arm/mach-omap2/cminst44xx.c create mode 100644 arch/arm/mach-omap2/cminst44xx.h create mode 100644 arch/arm/mach-omap2/common-board-devices.c create mode 100644 arch/arm/mach-omap2/common-board-devices.h create mode 100644 arch/arm/mach-omap2/common.c create mode 100644 arch/arm/mach-omap2/control.c create mode 100644 arch/arm/mach-omap2/control.h create mode 100644 arch/arm/mach-omap2/cpuidle34xx.c create mode 100644 arch/arm/mach-omap2/devices.c create mode 100644 arch/arm/mach-omap2/devices.h create mode 100644 arch/arm/mach-omap2/display.c create mode 100644 arch/arm/mach-omap2/dma.c create mode 100644 arch/arm/mach-omap2/dpll3xxx.c create mode 100644 arch/arm/mach-omap2/dpll44xx.c create mode 100644 arch/arm/mach-omap2/dsp.c create mode 100644 arch/arm/mach-omap2/emu.c create mode 100644 arch/arm/mach-omap2/gpio.c create mode 100644 arch/arm/mach-omap2/gpmc-nand.c create mode 100644 arch/arm/mach-omap2/gpmc-onenand.c create mode 100644 arch/arm/mach-omap2/gpmc-smc91x.c create mode 100644 arch/arm/mach-omap2/gpmc-smsc911x.c create mode 100644 arch/arm/mach-omap2/gpmc.c create mode 100644 arch/arm/mach-omap2/hsmmc.c create mode 100644 arch/arm/mach-omap2/hsmmc.h create mode 100644 arch/arm/mach-omap2/hwspinlock.c create mode 100644 arch/arm/mach-omap2/i2c.c create mode 100644 arch/arm/mach-omap2/id.c create mode 100644 arch/arm/mach-omap2/include/mach/am35xx.h create mode 100644 arch/arm/mach-omap2/include/mach/board-rx51.h create mode 100644 arch/arm/mach-omap2/include/mach/board-zoom.h create mode 100644 arch/arm/mach-omap2/include/mach/clkdev.h create mode 100644 arch/arm/mach-omap2/include/mach/ctrl_module_core_44xx.h create mode 100644 arch/arm/mach-omap2/include/mach/ctrl_module_pad_core_44xx.h create mode 100644 arch/arm/mach-omap2/include/mach/ctrl_module_pad_wkup_44xx.h create mode 100644 arch/arm/mach-omap2/include/mach/ctrl_module_wkup_44xx.h create mode 100644 arch/arm/mach-omap2/include/mach/debug-macro.S create mode 100644 arch/arm/mach-omap2/include/mach/entry-macro.S create mode 100644 arch/arm/mach-omap2/include/mach/gpio.h create mode 100644 arch/arm/mach-omap2/include/mach/hardware.h create mode 100644 arch/arm/mach-omap2/include/mach/id.h create mode 100644 arch/arm/mach-omap2/include/mach/io.h create mode 100644 arch/arm/mach-omap2/include/mach/irqs.h create mode 100644 arch/arm/mach-omap2/include/mach/memory.h create mode 100644 arch/arm/mach-omap2/include/mach/omap4-common.h create mode 100644 arch/arm/mach-omap2/include/mach/smp.h create mode 100644 arch/arm/mach-omap2/include/mach/system.h create mode 100644 arch/arm/mach-omap2/include/mach/timex.h create mode 100644 arch/arm/mach-omap2/include/mach/uncompress.h create mode 100644 arch/arm/mach-omap2/include/mach/vmalloc.h create mode 100644 arch/arm/mach-omap2/io.c create mode 100644 arch/arm/mach-omap2/io.h create mode 100644 arch/arm/mach-omap2/iommu2.c create mode 100644 arch/arm/mach-omap2/irq.c create mode 100644 arch/arm/mach-omap2/mailbox.c create mode 100644 arch/arm/mach-omap2/mcbsp.c create mode 100644 arch/arm/mach-omap2/mux.c create mode 100644 arch/arm/mach-omap2/mux.h create mode 100644 arch/arm/mach-omap2/mux2420.c create mode 100644 arch/arm/mach-omap2/mux2420.h create mode 100644 arch/arm/mach-omap2/mux2430.c create mode 100644 arch/arm/mach-omap2/mux2430.h create mode 100644 arch/arm/mach-omap2/mux34xx.c create mode 100644 arch/arm/mach-omap2/mux34xx.h create mode 100644 arch/arm/mach-omap2/mux44xx.c create mode 100644 arch/arm/mach-omap2/mux44xx.h create mode 100644 arch/arm/mach-omap2/omap-headsmp.S create mode 100644 arch/arm/mach-omap2/omap-hotplug.c create mode 100644 arch/arm/mach-omap2/omap-iommu.c create mode 100644 arch/arm/mach-omap2/omap-smp.c create mode 100644 arch/arm/mach-omap2/omap4-common.c create mode 100644 arch/arm/mach-omap2/omap44xx-smc.S create mode 100644 arch/arm/mach-omap2/omap_hwmod.c create mode 100644 arch/arm/mach-omap2/omap_hwmod_2420_data.c create mode 100644 arch/arm/mach-omap2/omap_hwmod_2430_data.c create mode 100644 arch/arm/mach-omap2/omap_hwmod_3xxx_data.c create mode 100644 arch/arm/mach-omap2/omap_hwmod_44xx_data.c create mode 100644 arch/arm/mach-omap2/omap_hwmod_common_data.c create mode 100644 arch/arm/mach-omap2/omap_hwmod_common_data.h create mode 100644 arch/arm/mach-omap2/omap_l3_noc.c create mode 100644 arch/arm/mach-omap2/omap_l3_noc.h create mode 100644 arch/arm/mach-omap2/omap_l3_smx.c create mode 100644 arch/arm/mach-omap2/omap_l3_smx.h create mode 100644 arch/arm/mach-omap2/omap_opp_data.h create mode 100644 arch/arm/mach-omap2/omap_phy_internal.c create mode 100644 arch/arm/mach-omap2/omap_twl.c create mode 100644 arch/arm/mach-omap2/opp.c create mode 100644 arch/arm/mach-omap2/opp2420_data.c create mode 100644 arch/arm/mach-omap2/opp2430_data.c create mode 100644 arch/arm/mach-omap2/opp2xxx.h create mode 100644 arch/arm/mach-omap2/opp3xxx_data.c create mode 100644 arch/arm/mach-omap2/opp4xxx_data.c create mode 100644 arch/arm/mach-omap2/pm-debug.c create mode 100644 arch/arm/mach-omap2/pm.c create mode 100644 arch/arm/mach-omap2/pm.h create mode 100644 arch/arm/mach-omap2/pm24xx.c create mode 100644 arch/arm/mach-omap2/pm34xx.c create mode 100644 arch/arm/mach-omap2/pm44xx.c create mode 100644 arch/arm/mach-omap2/powerdomain-common.c create mode 100644 arch/arm/mach-omap2/powerdomain.c create mode 100644 arch/arm/mach-omap2/powerdomain.h create mode 100644 arch/arm/mach-omap2/powerdomain2xxx_3xxx.c create mode 100644 arch/arm/mach-omap2/powerdomain44xx.c create mode 100644 arch/arm/mach-omap2/powerdomains2xxx_3xxx_data.c create mode 100644 arch/arm/mach-omap2/powerdomains2xxx_3xxx_data.h create mode 100644 arch/arm/mach-omap2/powerdomains2xxx_data.c create mode 100644 arch/arm/mach-omap2/powerdomains3xxx_data.c create mode 100644 arch/arm/mach-omap2/powerdomains44xx_data.c create mode 100644 arch/arm/mach-omap2/prcm-common.h create mode 100644 arch/arm/mach-omap2/prcm.c create mode 100644 arch/arm/mach-omap2/prcm44xx.h create mode 100644 arch/arm/mach-omap2/prcm_mpu44xx.c create mode 100644 arch/arm/mach-omap2/prcm_mpu44xx.h create mode 100644 arch/arm/mach-omap2/prm-regbits-24xx.h create mode 100644 arch/arm/mach-omap2/prm-regbits-34xx.h create mode 100644 arch/arm/mach-omap2/prm-regbits-44xx.h create mode 100644 arch/arm/mach-omap2/prm.h create mode 100644 arch/arm/mach-omap2/prm2xxx_3xxx.c create mode 100644 arch/arm/mach-omap2/prm2xxx_3xxx.h create mode 100644 arch/arm/mach-omap2/prm44xx.c create mode 100644 arch/arm/mach-omap2/prm44xx.h create mode 100644 arch/arm/mach-omap2/prminst44xx.c create mode 100644 arch/arm/mach-omap2/prminst44xx.h create mode 100644 arch/arm/mach-omap2/scrm44xx.h create mode 100644 arch/arm/mach-omap2/sdram-hynix-h8mbx00u0mer-0em.h create mode 100644 arch/arm/mach-omap2/sdram-micron-mt46h32m32lf-6.h create mode 100644 arch/arm/mach-omap2/sdram-nokia.c create mode 100644 arch/arm/mach-omap2/sdram-nokia.h create mode 100644 arch/arm/mach-omap2/sdram-numonyx-m65kxxxxam.h create mode 100644 arch/arm/mach-omap2/sdram-qimonda-hyb18m512160af-6.h create mode 100644 arch/arm/mach-omap2/sdrc.c create mode 100644 arch/arm/mach-omap2/sdrc.h create mode 100644 arch/arm/mach-omap2/sdrc2xxx.c create mode 100644 arch/arm/mach-omap2/serial.c create mode 100644 arch/arm/mach-omap2/sleep24xx.S create mode 100644 arch/arm/mach-omap2/sleep34xx.S create mode 100644 arch/arm/mach-omap2/smartreflex-class3.c create mode 100644 arch/arm/mach-omap2/smartreflex.c create mode 100644 arch/arm/mach-omap2/smartreflex.h create mode 100644 arch/arm/mach-omap2/sr_device.c create mode 100644 arch/arm/mach-omap2/sram242x.S create mode 100644 arch/arm/mach-omap2/sram243x.S create mode 100644 arch/arm/mach-omap2/sram34xx.S create mode 100644 arch/arm/mach-omap2/timer-gp.c create mode 100644 arch/arm/mach-omap2/timer-gp.h create mode 100644 arch/arm/mach-omap2/timer-mpu.c create mode 100644 arch/arm/mach-omap2/usb-fs.c create mode 100644 arch/arm/mach-omap2/usb-host.c create mode 100644 arch/arm/mach-omap2/usb-musb.c create mode 100644 arch/arm/mach-omap2/usb-tusb6010.c create mode 100644 arch/arm/mach-omap2/vc.h create mode 100644 arch/arm/mach-omap2/vc3xxx_data.c create mode 100644 arch/arm/mach-omap2/vc44xx_data.c create mode 100644 arch/arm/mach-omap2/voltage.c create mode 100644 arch/arm/mach-omap2/voltage.h create mode 100644 arch/arm/mach-omap2/voltagedomains3xxx_data.c create mode 100644 arch/arm/mach-omap2/voltagedomains44xx_data.c create mode 100644 arch/arm/mach-omap2/vp.h create mode 100644 arch/arm/mach-omap2/vp3xxx_data.c create mode 100644 arch/arm/mach-omap2/vp44xx_data.c create mode 100644 arch/arm/mach-omap2/wd_timer.c create mode 100644 arch/arm/mach-omap2/wd_timer.h (limited to 'arch/arm/mach-omap2') diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig new file mode 100644 index 00000000..841ae21f --- /dev/null +++ b/arch/arm/mach-omap2/Kconfig @@ -0,0 +1,348 @@ +if ARCH_OMAP2PLUS + +menu "TI OMAP2/3/4 Specific Features" + +config ARCH_OMAP2PLUS_TYPICAL + bool "Typical OMAP configuration" + default y + select AEABI + select REGULATOR + select PM + select PM_RUNTIME + select VFP + select NEON if ARCH_OMAP3 || ARCH_OMAP4 + select SERIAL_OMAP + select SERIAL_OMAP_CONSOLE + select I2C + select I2C_OMAP + select MFD_SUPPORT + select MENELAUS if ARCH_OMAP2 + select TWL4030_CORE if ARCH_OMAP3 || ARCH_OMAP4 + select TWL4030_POWER if ARCH_OMAP3 || ARCH_OMAP4 + help + Compile a kernel suitable for booting most boards + +config ARCH_OMAP2 + bool "TI OMAP2" + depends on ARCH_OMAP2PLUS + default y + select CPU_V6 + +config ARCH_OMAP3 + bool "TI OMAP3" + depends on ARCH_OMAP2PLUS + default y + select CPU_V7 + select USB_ARCH_HAS_EHCI + select ARM_L1_CACHE_SHIFT_6 if !ARCH_OMAP4 + select ARCH_HAS_OPP + select PM_OPP if PM + +config ARCH_OMAP4 + bool "TI OMAP4" + default y + depends on ARCH_OMAP2PLUS + select CPU_V7 + select ARM_GIC + select LOCAL_TIMERS if SMP + select PL310_ERRATA_588369 + select PL310_ERRATA_727915 + select ARM_ERRATA_720789 + select ARCH_HAS_OPP + select PM_OPP if PM + select USB_ARCH_HAS_EHCI + +comment "OMAP Core Type" + depends on ARCH_OMAP2 + +config SOC_OMAP2420 + bool "OMAP2420 support" + depends on ARCH_OMAP2 + default y + select OMAP_DM_TIMER + select ARCH_OMAP_OTG + +config SOC_OMAP2430 + bool "OMAP2430 support" + depends on ARCH_OMAP2 + default y + select ARCH_OMAP_OTG + +config SOC_OMAP3430 + bool "OMAP3430 support" + depends on ARCH_OMAP3 + default y + select ARCH_OMAP_OTG + +config SOC_OMAPTI816X + bool "TI816X support" + depends on ARCH_OMAP3 + default y + +config OMAP_PACKAGE_ZAF + bool + +config OMAP_PACKAGE_ZAC + bool + +config OMAP_PACKAGE_CBC + bool + +config OMAP_PACKAGE_CBB + bool + +config OMAP_PACKAGE_CUS + bool + +config OMAP_PACKAGE_CBP + bool + +config OMAP_PACKAGE_CBL + bool + +config OMAP_PACKAGE_CBS + bool + +comment "OMAP Board Type" + depends on ARCH_OMAP2PLUS + +config MACH_OMAP_GENERIC + bool "Generic OMAP board" + depends on ARCH_OMAP2 + default y + +config MACH_OMAP2_TUSB6010 + bool + depends on ARCH_OMAP2 && SOC_OMAP2420 + default y if MACH_NOKIA_N8X0 + +config MACH_OMAP_H4 + bool "OMAP 2420 H4 board" + depends on SOC_OMAP2420 + default y + select OMAP_PACKAGE_ZAF + select OMAP_DEBUG_DEVICES + +config MACH_OMAP_APOLLON + bool "OMAP 2420 Apollon board" + depends on SOC_OMAP2420 + default y + select OMAP_PACKAGE_ZAC + +config MACH_OMAP_2430SDP + bool "OMAP 2430 SDP board" + depends on SOC_OMAP2430 + default y + select OMAP_PACKAGE_ZAC + +config MACH_OMAP3_BEAGLE + bool "OMAP3 BEAGLE board" + depends on ARCH_OMAP3 + default y + select OMAP_PACKAGE_CBB + +config MACH_DEVKIT8000 + bool "DEVKIT8000 board" + depends on ARCH_OMAP3 + default y + select OMAP_PACKAGE_CUS + +config MACH_OMAP_LDP + bool "OMAP3 LDP board" + depends on ARCH_OMAP3 + default y + select OMAP_PACKAGE_CBB + +config MACH_OMAP3530_LV_SOM + bool "OMAP3 Logic 3530 LV SOM board" + depends on ARCH_OMAP3 + select OMAP_PACKAGE_CBB + default y + help + Support for the LogicPD OMAP3530 SOM Development kit + for full description please see the products webpage at + http://www.logicpd.com/products/development-kits/texas-instruments-zoom%E2%84%A2-omap35x-development-kit + +config MACH_OMAP3_TORPEDO + bool "OMAP3 Logic 35x Torpedo board" + depends on ARCH_OMAP3 + select OMAP_PACKAGE_CBB + default y + help + Support for the LogicPD OMAP35x Torpedo Development kit + for full description please see the products webpage at + http://www.logicpd.com/products/development-kits/zoom-omap35x-torpedo-development-kit + +config MACH_OVERO + bool "Gumstix Overo board" + depends on ARCH_OMAP3 + default y + select OMAP_PACKAGE_CBB + +config MACH_OMAP3EVM + bool "OMAP 3530 EVM board" + depends on ARCH_OMAP3 + default y + select OMAP_PACKAGE_CBB + +config MACH_OMAP3517EVM + bool "OMAP3517/ AM3517 EVM board" + depends on ARCH_OMAP3 + default y + select OMAP_PACKAGE_CBB + +config MACH_CRANEBOARD + bool "AM3517/05 CRANE board" + depends on ARCH_OMAP3 + select OMAP_PACKAGE_CBB + +config MACH_OMAP3_PANDORA + bool "OMAP3 Pandora" + depends on ARCH_OMAP3 + default y + select OMAP_PACKAGE_CBB + select REGULATOR_FIXED_VOLTAGE + +config MACH_OMAP3_TOUCHBOOK + bool "OMAP3 Touch Book" + depends on ARCH_OMAP3 + default y + select BACKLIGHT_CLASS_DEVICE + +config MACH_OMAP_3430SDP + bool "OMAP 3430 SDP board" + depends on ARCH_OMAP3 + default y + select OMAP_PACKAGE_CBB + +config MACH_NOKIA_N800 + bool + +config MACH_NOKIA_N810 + bool + +config MACH_NOKIA_N810_WIMAX + bool + +config MACH_NOKIA_N8X0 + bool "Nokia N800/N810" + depends on SOC_OMAP2420 + default y + select OMAP_PACKAGE_ZAC + select MACH_NOKIA_N800 + select MACH_NOKIA_N810 + select MACH_NOKIA_N810_WIMAX + +config MACH_NOKIA_RM680 + bool "Nokia RM-680 board" + depends on ARCH_OMAP3 + default y + select OMAP_PACKAGE_CBB + +config MACH_NOKIA_RX51 + bool "Nokia RX-51 board" + depends on ARCH_OMAP3 + default y + select OMAP_PACKAGE_CBB + +config MACH_OMAP_ZOOM2 + bool "OMAP3 Zoom2 board" + depends on ARCH_OMAP3 + default y + select OMAP_PACKAGE_CBB + select SERIAL_8250 + select SERIAL_CORE_CONSOLE + select SERIAL_8250_CONSOLE + select REGULATOR_FIXED_VOLTAGE + +config MACH_OMAP_ZOOM3 + bool "OMAP3630 Zoom3 board" + depends on ARCH_OMAP3 + default y + select OMAP_PACKAGE_CBP + select SERIAL_8250 + select SERIAL_CORE_CONSOLE + select SERIAL_8250_CONSOLE + select REGULATOR_FIXED_VOLTAGE + +config MACH_CM_T35 + bool "CompuLab CM-T35 module" + depends on ARCH_OMAP3 + default y + select OMAP_PACKAGE_CUS + +config MACH_CM_T3517 + bool "CompuLab CM-T3517 module" + depends on ARCH_OMAP3 + default y + select OMAP_PACKAGE_CBB + +config MACH_IGEP0020 + bool "IGEP v2 board" + depends on ARCH_OMAP3 + default y + select OMAP_PACKAGE_CBB + +config MACH_IGEP0030 + bool "IGEP OMAP3 module" + depends on ARCH_OMAP3 + default y + select OMAP_PACKAGE_CBB + select MACH_IGEP0020 + +config MACH_SBC3530 + bool "OMAP3 SBC STALKER board" + depends on ARCH_OMAP3 + default y + select OMAP_PACKAGE_CUS + +config MACH_OMAP_3630SDP + bool "OMAP3630 SDP board" + depends on ARCH_OMAP3 + default y + select OMAP_PACKAGE_CBP + +config MACH_TI8168EVM + bool "TI8168 Evaluation Module" + depends on SOC_OMAPTI816X + default y + +config MACH_OMAP_4430SDP + bool "OMAP 4430 SDP board" + default y + depends on ARCH_OMAP4 + select OMAP_PACKAGE_CBL + select OMAP_PACKAGE_CBS + select REGULATOR_FIXED_VOLTAGE + +config MACH_OMAP4_PANDA + bool "OMAP4 Panda Board" + default y + depends on ARCH_OMAP4 + select OMAP_PACKAGE_CBL + select OMAP_PACKAGE_CBS + select REGULATOR_FIXED_VOLTAGE + +config OMAP3_EMU + bool "OMAP3 debugging peripherals" + depends on ARCH_OMAP3 + select ARM_AMBA + select OC_ETM + help + Say Y here to enable debugging hardware of omap3 + +config OMAP3_SDRC_AC_TIMING + bool "Enable SDRC AC timing register changes" + depends on ARCH_OMAP3 + default n + help + If you know that none of your system initiators will attempt to + access SDRAM during CORE DVFS, select Y here. This should boost + SDRAM performance at lower CORE OPPs. There are relatively few + users who will wish to say yes at this point - almost everyone will + wish to say no. Selecting yes without understanding what is + going on could result in system crashes; + +endmenu + +endif diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile new file mode 100644 index 00000000..b1480779 --- /dev/null +++ b/arch/arm/mach-omap2/Makefile @@ -0,0 +1,272 @@ +# +# Makefile for the linux kernel. +# + +# Common support +obj-y := id.o io.o control.o mux.o devices.o serial.o gpmc.o timer-gp.o pm.o \ + common.o gpio.o dma.o wd_timer.o + +omap-2-3-common = irq.o sdrc.o +hwmod-common = omap_hwmod.o \ + omap_hwmod_common_data.o +clock-common = clock.o clock_common_data.o \ + clkt_dpll.o clkt_clksel.o + +obj-$(CONFIG_ARCH_OMAP2) += $(omap-2-3-common) $(hwmod-common) +obj-$(CONFIG_ARCH_OMAP3) += $(omap-2-3-common) $(hwmod-common) +obj-$(CONFIG_ARCH_OMAP4) += prm44xx.o $(hwmod-common) + +obj-$(CONFIG_OMAP_MCBSP) += mcbsp.o + +obj-$(CONFIG_TWL4030_CORE) += omap_twl.o + +# SMP support ONLY available for OMAP4 +obj-$(CONFIG_SMP) += omap-smp.o omap-headsmp.o +obj-$(CONFIG_LOCAL_TIMERS) += timer-mpu.o +obj-$(CONFIG_HOTPLUG_CPU) += omap-hotplug.o +obj-$(CONFIG_ARCH_OMAP4) += omap44xx-smc.o omap4-common.o + +plus_sec := $(call as-instr,.arch_extension sec,+sec) +AFLAGS_omap-headsmp.o :=-Wa,-march=armv7-a$(plus_sec) +AFLAGS_omap44xx-smc.o :=-Wa,-march=armv7-a$(plus_sec) + +# Functions loaded to SRAM +obj-$(CONFIG_SOC_OMAP2420) += sram242x.o +obj-$(CONFIG_SOC_OMAP2430) += sram243x.o +obj-$(CONFIG_ARCH_OMAP3) += sram34xx.o + +AFLAGS_sram242x.o :=-Wa,-march=armv6 +AFLAGS_sram243x.o :=-Wa,-march=armv6 +AFLAGS_sram34xx.o :=-Wa,-march=armv7-a + +# Pin multiplexing +obj-$(CONFIG_SOC_OMAP2420) += mux2420.o +obj-$(CONFIG_SOC_OMAP2430) += mux2430.o +obj-$(CONFIG_ARCH_OMAP3) += mux34xx.o +obj-$(CONFIG_ARCH_OMAP4) += mux44xx.o + +# SMS/SDRC +obj-$(CONFIG_ARCH_OMAP2) += sdrc2xxx.o +# obj-$(CONFIG_ARCH_OMAP3) += sdrc3xxx.o + +# OPP table initialization +ifeq ($(CONFIG_PM_OPP),y) +obj-y += opp.o +obj-$(CONFIG_ARCH_OMAP3) += opp3xxx_data.o +obj-$(CONFIG_ARCH_OMAP4) += opp4xxx_data.o +endif + +# Power Management +ifeq ($(CONFIG_PM),y) +obj-$(CONFIG_ARCH_OMAP2) += pm24xx.o +obj-$(CONFIG_ARCH_OMAP2) += sleep24xx.o +obj-$(CONFIG_ARCH_OMAP3) += pm34xx.o sleep34xx.o \ + cpuidle34xx.o +obj-$(CONFIG_ARCH_OMAP4) += pm44xx.o +obj-$(CONFIG_PM_DEBUG) += pm-debug.o +obj-$(CONFIG_OMAP_SMARTREFLEX) += sr_device.o smartreflex.o +obj-$(CONFIG_OMAP_SMARTREFLEX_CLASS3) += smartreflex-class3.o + +AFLAGS_sleep24xx.o :=-Wa,-march=armv6 +AFLAGS_sleep34xx.o :=-Wa,-march=armv7-a$(plus_sec) + +ifeq ($(CONFIG_PM_VERBOSE),y) +CFLAGS_pm_bus.o += -DDEBUG +endif + +endif + +# PRCM +obj-$(CONFIG_ARCH_OMAP2) += prcm.o cm2xxx_3xxx.o prm2xxx_3xxx.o +obj-$(CONFIG_ARCH_OMAP3) += prcm.o cm2xxx_3xxx.o prm2xxx_3xxx.o \ + vc3xxx_data.o vp3xxx_data.o +# XXX The presence of cm2xxx_3xxx.o on the line below is temporary and +# will be removed once the OMAP4 part of the codebase is converted to +# use OMAP4-specific PRCM functions. +obj-$(CONFIG_ARCH_OMAP4) += prcm.o cm2xxx_3xxx.o cminst44xx.o \ + cm44xx.o prcm_mpu44xx.o \ + prminst44xx.o vc44xx_data.o \ + vp44xx_data.o + +# OMAP voltage domains +ifeq ($(CONFIG_PM),y) +voltagedomain-common := voltage.o +obj-$(CONFIG_ARCH_OMAP2) += $(voltagedomain-common) +obj-$(CONFIG_ARCH_OMAP3) += $(voltagedomain-common) \ + voltagedomains3xxx_data.o +obj-$(CONFIG_ARCH_OMAP4) += $(voltagedomain-common) \ + voltagedomains44xx_data.o +endif + +# OMAP powerdomain framework +powerdomain-common += powerdomain.o powerdomain-common.o +obj-$(CONFIG_ARCH_OMAP2) += $(powerdomain-common) \ + powerdomain2xxx_3xxx.o \ + powerdomains2xxx_data.o \ + powerdomains2xxx_3xxx_data.o +obj-$(CONFIG_ARCH_OMAP3) += $(powerdomain-common) \ + powerdomain2xxx_3xxx.o \ + powerdomains3xxx_data.o \ + powerdomains2xxx_3xxx_data.o +obj-$(CONFIG_ARCH_OMAP4) += $(powerdomain-common) \ + powerdomain44xx.o \ + powerdomains44xx_data.o + +# PRCM clockdomain control +obj-$(CONFIG_ARCH_OMAP2) += clockdomain.o \ + clockdomain2xxx_3xxx.o \ + clockdomains2xxx_3xxx_data.o +obj-$(CONFIG_ARCH_OMAP3) += clockdomain.o \ + clockdomain2xxx_3xxx.o \ + clockdomains2xxx_3xxx_data.o +obj-$(CONFIG_ARCH_OMAP4) += clockdomain.o \ + clockdomain44xx.o \ + clockdomains44xx_data.o + +# Clock framework +obj-$(CONFIG_ARCH_OMAP2) += $(clock-common) clock2xxx.o \ + clkt2xxx_sys.o \ + clkt2xxx_dpllcore.o \ + clkt2xxx_virt_prcm_set.o \ + clkt2xxx_apll.o clkt2xxx_osc.o \ + clkt2xxx_dpll.o clkt_iclk.o +obj-$(CONFIG_SOC_OMAP2420) += clock2420_data.o +obj-$(CONFIG_SOC_OMAP2430) += clock2430.o clock2430_data.o +obj-$(CONFIG_ARCH_OMAP3) += $(clock-common) clock3xxx.o \ + clock34xx.o clkt34xx_dpll3m2.o \ + clock3517.o clock36xx.o \ + dpll3xxx.o clock3xxx_data.o \ + clkt_iclk.o +obj-$(CONFIG_ARCH_OMAP4) += $(clock-common) clock44xx_data.o \ + dpll3xxx.o dpll44xx.o + +# OMAP2 clock rate set data (old "OPP" data) +obj-$(CONFIG_SOC_OMAP2420) += opp2420_data.o +obj-$(CONFIG_SOC_OMAP2430) += opp2430_data.o + +# hwmod data +obj-$(CONFIG_SOC_OMAP2420) += omap_hwmod_2420_data.o +obj-$(CONFIG_SOC_OMAP2430) += omap_hwmod_2430_data.o +obj-$(CONFIG_ARCH_OMAP3) += omap_hwmod_3xxx_data.o +obj-$(CONFIG_ARCH_OMAP4) += omap_hwmod_44xx_data.o + +# EMU peripherals +obj-$(CONFIG_OMAP3_EMU) += emu.o + +# L3 interconnect +obj-$(CONFIG_ARCH_OMAP3) += omap_l3_smx.o +obj-$(CONFIG_ARCH_OMAP4) += omap_l3_noc.o + +obj-$(CONFIG_OMAP_MBOX_FWK) += mailbox_mach.o +mailbox_mach-objs := mailbox.o + +obj-$(CONFIG_OMAP_IOMMU) += iommu2.o + +iommu-$(CONFIG_OMAP_IOMMU) := omap-iommu.o +obj-y += $(iommu-m) $(iommu-y) + +i2c-omap-$(CONFIG_I2C_OMAP) := i2c.o +obj-y += $(i2c-omap-m) $(i2c-omap-y) + +ifneq ($(CONFIG_TIDSPBRIDGE),) +obj-y += dsp.o +endif + +# Specific board support +obj-$(CONFIG_MACH_OMAP_GENERIC) += board-generic.o +obj-$(CONFIG_MACH_OMAP_H4) += board-h4.o +obj-$(CONFIG_MACH_OMAP_2430SDP) += board-2430sdp.o \ + hsmmc.o +obj-$(CONFIG_MACH_OMAP_APOLLON) += board-apollon.o +obj-$(CONFIG_MACH_OMAP3_BEAGLE) += board-omap3beagle.o \ + hsmmc.o +obj-$(CONFIG_MACH_DEVKIT8000) += board-devkit8000.o \ + hsmmc.o +obj-$(CONFIG_MACH_OMAP_LDP) += board-ldp.o \ + board-flash.o \ + hsmmc.o +obj-$(CONFIG_MACH_OMAP3530_LV_SOM) += board-omap3logic.o \ + hsmmc.o +obj-$(CONFIG_MACH_OMAP3_TORPEDO) += board-omap3logic.o \ + hsmmc.o +obj-$(CONFIG_MACH_OVERO) += board-overo.o \ + hsmmc.o +obj-$(CONFIG_MACH_OMAP3EVM) += board-omap3evm.o \ + hsmmc.o +obj-$(CONFIG_MACH_OMAP3_PANDORA) += board-omap3pandora.o \ + hsmmc.o +obj-$(CONFIG_MACH_OMAP_3430SDP) += board-3430sdp.o \ + hsmmc.o \ + board-flash.o +obj-$(CONFIG_MACH_NOKIA_N8X0) += board-n8x0.o +obj-$(CONFIG_MACH_NOKIA_RM680) += board-rm680.o \ + sdram-nokia.o \ + hsmmc.o +obj-$(CONFIG_MACH_NOKIA_RX51) += board-rx51.o \ + sdram-nokia.o \ + board-rx51-peripherals.o \ + board-rx51-video.o \ + hsmmc.o +obj-$(CONFIG_MACH_OMAP_ZOOM2) += board-zoom.o \ + board-zoom-peripherals.o \ + board-zoom-display.o \ + board-flash.o \ + hsmmc.o \ + board-zoom-debugboard.o +obj-$(CONFIG_MACH_OMAP_ZOOM3) += board-zoom.o \ + board-zoom-peripherals.o \ + board-zoom-display.o \ + board-flash.o \ + hsmmc.o \ + board-zoom-debugboard.o +obj-$(CONFIG_MACH_OMAP_3630SDP) += board-3630sdp.o \ + board-zoom-peripherals.o \ + board-zoom-display.o \ + board-flash.o \ + hsmmc.o +obj-$(CONFIG_MACH_CM_T35) += board-cm-t35.o \ + hsmmc.o +obj-$(CONFIG_MACH_CM_T3517) += board-cm-t3517.o +obj-$(CONFIG_MACH_IGEP0020) += board-igep0020.o \ + hsmmc.o +obj-$(CONFIG_MACH_OMAP3_TOUCHBOOK) += board-omap3touchbook.o \ + hsmmc.o +obj-$(CONFIG_MACH_OMAP_4430SDP) += board-4430sdp.o \ + hsmmc.o \ + omap_phy_internal.o +obj-$(CONFIG_MACH_OMAP4_PANDA) += board-omap4panda.o \ + hsmmc.o \ + omap_phy_internal.o + +obj-$(CONFIG_MACH_OMAP3517EVM) += board-am3517evm.o \ + omap_phy_internal.o \ + +obj-$(CONFIG_MACH_CRANEBOARD) += board-am3517crane.o + +obj-$(CONFIG_MACH_SBC3530) += board-omap3stalker.o \ + hsmmc.o +obj-$(CONFIG_MACH_TI8168EVM) += board-ti8168evm.o +# Platform specific device init code +usbfs-$(CONFIG_ARCH_OMAP_OTG) := usb-fs.o +obj-y += $(usbfs-m) $(usbfs-y) +obj-y += usb-musb.o +obj-$(CONFIG_MACH_OMAP2_TUSB6010) += usb-tusb6010.o +obj-y += usb-host.o + +onenand-$(CONFIG_MTD_ONENAND_OMAP2) := gpmc-onenand.o +obj-y += $(onenand-m) $(onenand-y) + +nand-$(CONFIG_MTD_NAND_OMAP2) := gpmc-nand.o +obj-y += $(nand-m) $(nand-y) + +smc91x-$(CONFIG_SMC91X) := gpmc-smc91x.o +obj-y += $(smc91x-m) $(smc91x-y) + +smsc911x-$(CONFIG_SMSC911X) := gpmc-smsc911x.o +obj-y += $(smsc911x-m) $(smsc911x-y) +obj-$(CONFIG_ARCH_OMAP4) += hwspinlock.o + +disp-$(CONFIG_OMAP2_DSS) := display.o +obj-y += $(disp-m) $(disp-y) + +obj-y += common-board-devices.o diff --git a/arch/arm/mach-omap2/Makefile.boot b/arch/arm/mach-omap2/Makefile.boot new file mode 100644 index 00000000..565aff7f --- /dev/null +++ b/arch/arm/mach-omap2/Makefile.boot @@ -0,0 +1,3 @@ + zreladdr-y := 0x80008000 +params_phys-y := 0x80000100 +initrd_phys-y := 0x80800000 diff --git a/arch/arm/mach-omap2/board-2430sdp.c b/arch/arm/mach-omap2/board-2430sdp.c new file mode 100644 index 00000000..5de6eac0 --- /dev/null +++ b/arch/arm/mach-omap2/board-2430sdp.c @@ -0,0 +1,266 @@ +/* + * linux/arch/arm/mach-omap2/board-2430sdp.c + * + * Copyright (C) 2006 Texas Instruments + * + * Modified from mach-omap2/board-generic.c + * + * Initial Code : Based on a patch from Komal Shah and Richard Woodruff + * Updated the Code for 2430 SDP : Syed Mohammed Khasim + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "mux.h" +#include "hsmmc.h" +#include "common-board-devices.h" + +#define SDP2430_CS0_BASE 0x04000000 +#define SECONDARY_LCD_GPIO 147 + +static struct mtd_partition sdp2430_partitions[] = { + /* bootloader (U-Boot, etc) in first sector */ + { + .name = "bootloader", + .offset = 0, + .size = SZ_256K, + .mask_flags = MTD_WRITEABLE, /* force read-only */ + }, + /* bootloader params in the next sector */ + { + .name = "params", + .offset = MTDPART_OFS_APPEND, + .size = SZ_128K, + .mask_flags = 0, + }, + /* kernel */ + { + .name = "kernel", + .offset = MTDPART_OFS_APPEND, + .size = SZ_2M, + .mask_flags = 0 + }, + /* file system */ + { + .name = "filesystem", + .offset = MTDPART_OFS_APPEND, + .size = MTDPART_SIZ_FULL, + .mask_flags = 0 + } +}; + +static struct physmap_flash_data sdp2430_flash_data = { + .width = 2, + .parts = sdp2430_partitions, + .nr_parts = ARRAY_SIZE(sdp2430_partitions), +}; + +static struct resource sdp2430_flash_resource = { + .start = SDP2430_CS0_BASE, + .end = SDP2430_CS0_BASE + SZ_64M - 1, + .flags = IORESOURCE_MEM, +}; + +static struct platform_device sdp2430_flash_device = { + .name = "physmap-flash", + .id = 0, + .dev = { + .platform_data = &sdp2430_flash_data, + }, + .num_resources = 1, + .resource = &sdp2430_flash_resource, +}; + +static struct platform_device sdp2430_lcd_device = { + .name = "sdp2430_lcd", + .id = -1, +}; + +static struct platform_device *sdp2430_devices[] __initdata = { + &sdp2430_flash_device, + &sdp2430_lcd_device, +}; + +static struct omap_lcd_config sdp2430_lcd_config __initdata = { + .ctrl_name = "internal", +}; + +#if defined(CONFIG_SMC91X) || defined(CONFIG_SMC91x_MODULE) + +static struct omap_smc91x_platform_data board_smc91x_data = { + .cs = 5, + .gpio_irq = 149, + .flags = GPMC_MUX_ADD_DATA | GPMC_TIMINGS_SMC91C96 | + IORESOURCE_IRQ_LOWLEVEL, + +}; + +static void __init board_smc91x_init(void) +{ + omap_mux_init_gpio(149, OMAP_PIN_INPUT); + gpmc_smc91x_init(&board_smc91x_data); +} + +#else + +static inline void board_smc91x_init(void) +{ +} + +#endif + +static struct omap_board_config_kernel sdp2430_config[] __initdata = { + {OMAP_TAG_LCD, &sdp2430_lcd_config}, +}; + +static void __init omap_2430sdp_init_early(void) +{ + omap2_init_common_infrastructure(); + omap2_init_common_devices(NULL, NULL); +} + +static struct regulator_consumer_supply sdp2430_vmmc1_supplies[] = { + REGULATOR_SUPPLY("vmmc", "omap_hsmmc.0"), +}; + +/* VMMC1 for OMAP VDD_MMC1 (i/o) and MMC1 card */ +static struct regulator_init_data sdp2430_vmmc1 = { + .constraints = { + .min_uV = 1850000, + .max_uV = 3150000, + .valid_modes_mask = REGULATOR_MODE_NORMAL + | REGULATOR_MODE_STANDBY, + .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE + | REGULATOR_CHANGE_MODE + | REGULATOR_CHANGE_STATUS, + }, + .num_consumer_supplies = ARRAY_SIZE(sdp2430_vmmc1_supplies), + .consumer_supplies = &sdp2430_vmmc1_supplies[0], +}; + +static struct twl4030_gpio_platform_data sdp2430_gpio_data = { + .gpio_base = OMAP_MAX_GPIO_LINES, + .irq_base = TWL4030_GPIO_IRQ_BASE, + .irq_end = TWL4030_GPIO_IRQ_END, +}; + +static struct twl4030_platform_data sdp2430_twldata = { + .irq_base = TWL4030_IRQ_BASE, + .irq_end = TWL4030_IRQ_END, + + /* platform_data for children goes here */ + .gpio = &sdp2430_gpio_data, + .vmmc1 = &sdp2430_vmmc1, +}; + +static struct i2c_board_info __initdata sdp2430_i2c1_boardinfo[] = { + { + I2C_BOARD_INFO("isp1301_omap", 0x2D), + .flags = I2C_CLIENT_WAKE, + .irq = OMAP_GPIO_IRQ(78), + }, +}; + +static int __init omap2430_i2c_init(void) +{ + omap_register_i2c_bus(1, 100, sdp2430_i2c1_boardinfo, + ARRAY_SIZE(sdp2430_i2c1_boardinfo)); + omap2_pmic_init("twl4030", &sdp2430_twldata); + return 0; +} + +static struct omap2_hsmmc_info mmc[] __initdata = { + { + .mmc = 1, + .caps = MMC_CAP_4_BIT_DATA, + .gpio_cd = -EINVAL, + .gpio_wp = -EINVAL, + .ext_clock = 1, + }, + {} /* Terminator */ +}; + +static struct omap_usb_config sdp2430_usb_config __initdata = { + .otg = 1, +#ifdef CONFIG_USB_GADGET_OMAP + .hmc_mode = 0x0, +#elif defined(CONFIG_USB_OHCI_HCD) || defined(CONFIG_USB_OHCI_HCD_MODULE) + .hmc_mode = 0x1, +#endif + .pins[0] = 3, +}; + +#ifdef CONFIG_OMAP_MUX +static struct omap_board_mux board_mux[] __initdata = { + { .reg_offset = OMAP_MUX_TERMINATOR }, +}; +#endif + +static void __init omap_2430sdp_init(void) +{ + omap2430_mux_init(board_mux, OMAP_PACKAGE_ZAC); + + omap_board_config = sdp2430_config; + omap_board_config_size = ARRAY_SIZE(sdp2430_config); + + omap2430_i2c_init(); + + platform_add_devices(sdp2430_devices, ARRAY_SIZE(sdp2430_devices)); + omap_serial_init(); + omap2_hsmmc_init(mmc); + omap2_usbfs_init(&sdp2430_usb_config); + + omap_mux_init_signal("usb0hs_stp", OMAP_PULL_ENA | OMAP_PULL_UP); + usb_musb_init(NULL); + + board_smc91x_init(); + + /* Turn off secondary LCD backlight */ + gpio_request_one(SECONDARY_LCD_GPIO, GPIOF_OUT_INIT_LOW, + "Secondary LCD backlight"); +} + +static void __init omap_2430sdp_map_io(void) +{ + omap2_set_globals_243x(); + omap243x_map_common_io(); +} + +MACHINE_START(OMAP_2430SDP, "OMAP2430 sdp2430 board") + /* Maintainer: Syed Khasim - Texas Instruments Inc */ + .boot_params = 0x80000100, + .reserve = omap_reserve, + .map_io = omap_2430sdp_map_io, + .init_early = omap_2430sdp_init_early, + .init_irq = omap_init_irq, + .init_machine = omap_2430sdp_init, + .timer = &omap_timer, +MACHINE_END diff --git a/arch/arm/mach-omap2/board-3430sdp.c b/arch/arm/mach-omap2/board-3430sdp.c new file mode 100644 index 00000000..5dac974b --- /dev/null +++ b/arch/arm/mach-omap2/board-3430sdp.c @@ -0,0 +1,810 @@ +/* + * linux/arch/arm/mach-omap2/board-3430sdp.c + * + * Copyright (C) 2007 Texas Instruments + * + * Modified from mach-omap2/board-generic.c + * + * Initial code: Syed Mohammed Khasim + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include