ARM: OMAP1: Use generic map_io, init_early and init_irq
This allows removing omap hacks for map_io allowing generic map_io. Note that in the future we can't do cpu_is_omapxxxx detection until in init_early. This means that board-innovator.c now assumes 15xx only, and board-generic.c assumes 16xx only. This is best fixed later on by passing the SoC type from device tree. Signed-off-by: Tony Lindgren <tony@atomide.com>
This commit is contained in:
parent
3ae3e253db
commit
7b88e62f5d
|
@ -135,12 +135,6 @@ void ams_delta_latch2_write(u16 mask, u16 value)
|
||||||
*(volatile __u16 *) AMS_DELTA_LATCH2_VIRT = ams_delta_latch2_reg;
|
*(volatile __u16 *) AMS_DELTA_LATCH2_VIRT = ams_delta_latch2_reg;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void __init ams_delta_init_irq(void)
|
|
||||||
{
|
|
||||||
omap1_init_common_hw();
|
|
||||||
omap1_init_irq();
|
|
||||||
}
|
|
||||||
|
|
||||||
static struct map_desc ams_delta_io_desc[] __initdata = {
|
static struct map_desc ams_delta_io_desc[] __initdata = {
|
||||||
/* AMS_DELTA_LATCH1 */
|
/* AMS_DELTA_LATCH1 */
|
||||||
{
|
{
|
||||||
|
@ -379,17 +373,13 @@ static int __init ams_delta_modem_init(void)
|
||||||
}
|
}
|
||||||
arch_initcall(ams_delta_modem_init);
|
arch_initcall(ams_delta_modem_init);
|
||||||
|
|
||||||
static void __init ams_delta_map_io(void)
|
|
||||||
{
|
|
||||||
omap1_map_common_io();
|
|
||||||
}
|
|
||||||
|
|
||||||
MACHINE_START(AMS_DELTA, "Amstrad E3 (Delta)")
|
MACHINE_START(AMS_DELTA, "Amstrad E3 (Delta)")
|
||||||
/* Maintainer: Jonathan McDowell <noodles@earth.li> */
|
/* Maintainer: Jonathan McDowell <noodles@earth.li> */
|
||||||
.boot_params = 0x10000100,
|
.boot_params = 0x10000100,
|
||||||
.map_io = ams_delta_map_io,
|
.map_io = omap15xx_map_io,
|
||||||
|
.init_early = omap1_init_early,
|
||||||
.reserve = omap_reserve,
|
.reserve = omap_reserve,
|
||||||
.init_irq = ams_delta_init_irq,
|
.init_irq = omap1_init_irq,
|
||||||
.init_machine = ams_delta_init,
|
.init_machine = ams_delta_init,
|
||||||
.timer = &omap1_timer,
|
.timer = &omap1_timer,
|
||||||
MACHINE_END
|
MACHINE_END
|
||||||
|
|
|
@ -297,63 +297,6 @@ static struct omap_board_config_kernel fsample_config[] __initdata = {
|
||||||
|
|
||||||
static void __init omap_fsample_init(void)
|
static void __init omap_fsample_init(void)
|
||||||
{
|
{
|
||||||
fsample_init_smc91x();
|
|
||||||
|
|
||||||
if (gpio_request(FSAMPLE_NAND_RB_GPIO_PIN, "NAND ready") < 0)
|
|
||||||
BUG();
|
|
||||||
gpio_direction_input(FSAMPLE_NAND_RB_GPIO_PIN);
|
|
||||||
|
|
||||||
omap_cfg_reg(L3_1610_FLASH_CS2B_OE);
|
|
||||||
omap_cfg_reg(M8_1610_FLASH_CS2B_WE);
|
|
||||||
|
|
||||||
/* Mux pins for keypad */
|
|
||||||
omap_cfg_reg(E2_7XX_KBR0);
|
|
||||||
omap_cfg_reg(J7_7XX_KBR1);
|
|
||||||
omap_cfg_reg(E1_7XX_KBR2);
|
|
||||||
omap_cfg_reg(F3_7XX_KBR3);
|
|
||||||
omap_cfg_reg(D2_7XX_KBR4);
|
|
||||||
omap_cfg_reg(C2_7XX_KBC0);
|
|
||||||
omap_cfg_reg(D3_7XX_KBC1);
|
|
||||||
omap_cfg_reg(E4_7XX_KBC2);
|
|
||||||
omap_cfg_reg(F4_7XX_KBC3);
|
|
||||||
omap_cfg_reg(E3_7XX_KBC4);
|
|
||||||
|
|
||||||
platform_add_devices(devices, ARRAY_SIZE(devices));
|
|
||||||
|
|
||||||
omap_board_config = fsample_config;
|
|
||||||
omap_board_config_size = ARRAY_SIZE(fsample_config);
|
|
||||||
omap_serial_init();
|
|
||||||
omap_register_i2c_bus(1, 100, NULL, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void __init omap_fsample_init_irq(void)
|
|
||||||
{
|
|
||||||
omap1_init_common_hw();
|
|
||||||
omap1_init_irq();
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Only FPGA needs to be mapped here. All others are done with ioremap */
|
|
||||||
static struct map_desc omap_fsample_io_desc[] __initdata = {
|
|
||||||
{
|
|
||||||
.virtual = H2P2_DBG_FPGA_BASE,
|
|
||||||
.pfn = __phys_to_pfn(H2P2_DBG_FPGA_START),
|
|
||||||
.length = H2P2_DBG_FPGA_SIZE,
|
|
||||||
.type = MT_DEVICE
|
|
||||||
},
|
|
||||||
{
|
|
||||||
.virtual = FSAMPLE_CPLD_BASE,
|
|
||||||
.pfn = __phys_to_pfn(FSAMPLE_CPLD_START),
|
|
||||||
.length = FSAMPLE_CPLD_SIZE,
|
|
||||||
.type = MT_DEVICE
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
static void __init omap_fsample_map_io(void)
|
|
||||||
{
|
|
||||||
omap1_map_common_io();
|
|
||||||
iotable_init(omap_fsample_io_desc,
|
|
||||||
ARRAY_SIZE(omap_fsample_io_desc));
|
|
||||||
|
|
||||||
/* Early, board-dependent init */
|
/* Early, board-dependent init */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -384,15 +327,68 @@ static void __init omap_fsample_map_io(void)
|
||||||
* Configure MPU_EXT_NIRQ IO in IO_CONF9 register,
|
* Configure MPU_EXT_NIRQ IO in IO_CONF9 register,
|
||||||
* It is used as the Ethernet controller interrupt
|
* It is used as the Ethernet controller interrupt
|
||||||
*/
|
*/
|
||||||
omap_writel(omap_readl(OMAP7XX_IO_CONF_9) & 0x1FFFFFFF, OMAP7XX_IO_CONF_9);
|
omap_writel(omap_readl(OMAP7XX_IO_CONF_9) & 0x1FFFFFFF,
|
||||||
|
OMAP7XX_IO_CONF_9);
|
||||||
|
|
||||||
|
fsample_init_smc91x();
|
||||||
|
|
||||||
|
if (gpio_request(FSAMPLE_NAND_RB_GPIO_PIN, "NAND ready") < 0)
|
||||||
|
BUG();
|
||||||
|
gpio_direction_input(FSAMPLE_NAND_RB_GPIO_PIN);
|
||||||
|
|
||||||
|
omap_cfg_reg(L3_1610_FLASH_CS2B_OE);
|
||||||
|
omap_cfg_reg(M8_1610_FLASH_CS2B_WE);
|
||||||
|
|
||||||
|
/* Mux pins for keypad */
|
||||||
|
omap_cfg_reg(E2_7XX_KBR0);
|
||||||
|
omap_cfg_reg(J7_7XX_KBR1);
|
||||||
|
omap_cfg_reg(E1_7XX_KBR2);
|
||||||
|
omap_cfg_reg(F3_7XX_KBR3);
|
||||||
|
omap_cfg_reg(D2_7XX_KBR4);
|
||||||
|
omap_cfg_reg(C2_7XX_KBC0);
|
||||||
|
omap_cfg_reg(D3_7XX_KBC1);
|
||||||
|
omap_cfg_reg(E4_7XX_KBC2);
|
||||||
|
omap_cfg_reg(F4_7XX_KBC3);
|
||||||
|
omap_cfg_reg(E3_7XX_KBC4);
|
||||||
|
|
||||||
|
platform_add_devices(devices, ARRAY_SIZE(devices));
|
||||||
|
|
||||||
|
omap_board_config = fsample_config;
|
||||||
|
omap_board_config_size = ARRAY_SIZE(fsample_config);
|
||||||
|
omap_serial_init();
|
||||||
|
omap_register_i2c_bus(1, 100, NULL, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Only FPGA needs to be mapped here. All others are done with ioremap */
|
||||||
|
static struct map_desc omap_fsample_io_desc[] __initdata = {
|
||||||
|
{
|
||||||
|
.virtual = H2P2_DBG_FPGA_BASE,
|
||||||
|
.pfn = __phys_to_pfn(H2P2_DBG_FPGA_START),
|
||||||
|
.length = H2P2_DBG_FPGA_SIZE,
|
||||||
|
.type = MT_DEVICE
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.virtual = FSAMPLE_CPLD_BASE,
|
||||||
|
.pfn = __phys_to_pfn(FSAMPLE_CPLD_START),
|
||||||
|
.length = FSAMPLE_CPLD_SIZE,
|
||||||
|
.type = MT_DEVICE
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
static void __init omap_fsample_map_io(void)
|
||||||
|
{
|
||||||
|
omap15xx_map_io();
|
||||||
|
iotable_init(omap_fsample_io_desc,
|
||||||
|
ARRAY_SIZE(omap_fsample_io_desc));
|
||||||
}
|
}
|
||||||
|
|
||||||
MACHINE_START(OMAP_FSAMPLE, "OMAP730 F-Sample")
|
MACHINE_START(OMAP_FSAMPLE, "OMAP730 F-Sample")
|
||||||
/* Maintainer: Brian Swetland <swetland@google.com> */
|
/* Maintainer: Brian Swetland <swetland@google.com> */
|
||||||
.boot_params = 0x10000100,
|
.boot_params = 0x10000100,
|
||||||
.map_io = omap_fsample_map_io,
|
.map_io = omap_fsample_map_io,
|
||||||
|
.init_early = omap1_init_early,
|
||||||
.reserve = omap_reserve,
|
.reserve = omap_reserve,
|
||||||
.init_irq = omap_fsample_init_irq,
|
.init_irq = omap1_init_irq,
|
||||||
.init_machine = omap_fsample_init,
|
.init_machine = omap_fsample_init,
|
||||||
.timer = &omap1_timer,
|
.timer = &omap1_timer,
|
||||||
MACHINE_END
|
MACHINE_END
|
||||||
|
|
|
@ -28,12 +28,6 @@
|
||||||
#include <plat/board.h>
|
#include <plat/board.h>
|
||||||
#include <plat/common.h>
|
#include <plat/common.h>
|
||||||
|
|
||||||
static void __init omap_generic_init_irq(void)
|
|
||||||
{
|
|
||||||
omap1_init_common_hw();
|
|
||||||
omap1_init_irq();
|
|
||||||
}
|
|
||||||
|
|
||||||
/* assume no Mini-AB port */
|
/* assume no Mini-AB port */
|
||||||
|
|
||||||
#ifdef CONFIG_ARCH_OMAP15XX
|
#ifdef CONFIG_ARCH_OMAP15XX
|
||||||
|
@ -87,17 +81,13 @@ static void __init omap_generic_init(void)
|
||||||
omap_register_i2c_bus(1, 100, NULL, 0);
|
omap_register_i2c_bus(1, 100, NULL, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void __init omap_generic_map_io(void)
|
|
||||||
{
|
|
||||||
omap1_map_common_io();
|
|
||||||
}
|
|
||||||
|
|
||||||
MACHINE_START(OMAP_GENERIC, "Generic OMAP1510/1610/1710")
|
MACHINE_START(OMAP_GENERIC, "Generic OMAP1510/1610/1710")
|
||||||
/* Maintainer: Tony Lindgren <tony@atomide.com> */
|
/* Maintainer: Tony Lindgren <tony@atomide.com> */
|
||||||
.boot_params = 0x10000100,
|
.boot_params = 0x10000100,
|
||||||
.map_io = omap_generic_map_io,
|
.map_io = omap16xx_map_io,
|
||||||
|
.init_early = omap1_init_early,
|
||||||
.reserve = omap_reserve,
|
.reserve = omap_reserve,
|
||||||
.init_irq = omap_generic_init_irq,
|
.init_irq = omap1_init_irq,
|
||||||
.init_machine = omap_generic_init,
|
.init_machine = omap_generic_init,
|
||||||
.timer = &omap1_timer,
|
.timer = &omap1_timer,
|
||||||
MACHINE_END
|
MACHINE_END
|
||||||
|
|
|
@ -373,12 +373,6 @@ static struct i2c_board_info __initdata h2_i2c_board_info[] = {
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static void __init h2_init_irq(void)
|
|
||||||
{
|
|
||||||
omap1_init_common_hw();
|
|
||||||
omap1_init_irq();
|
|
||||||
}
|
|
||||||
|
|
||||||
static struct omap_usb_config h2_usb_config __initdata = {
|
static struct omap_usb_config h2_usb_config __initdata = {
|
||||||
/* usb1 has a Mini-AB port and external isp1301 transceiver */
|
/* usb1 has a Mini-AB port and external isp1301 transceiver */
|
||||||
.otg = 2,
|
.otg = 2,
|
||||||
|
@ -454,17 +448,13 @@ static void __init h2_init(void)
|
||||||
h2_mmc_init();
|
h2_mmc_init();
|
||||||
}
|
}
|
||||||
|
|
||||||
static void __init h2_map_io(void)
|
|
||||||
{
|
|
||||||
omap1_map_common_io();
|
|
||||||
}
|
|
||||||
|
|
||||||
MACHINE_START(OMAP_H2, "TI-H2")
|
MACHINE_START(OMAP_H2, "TI-H2")
|
||||||
/* Maintainer: Imre Deak <imre.deak@nokia.com> */
|
/* Maintainer: Imre Deak <imre.deak@nokia.com> */
|
||||||
.boot_params = 0x10000100,
|
.boot_params = 0x10000100,
|
||||||
.map_io = h2_map_io,
|
.map_io = omap16xx_map_io,
|
||||||
|
.init_early = omap1_init_early,
|
||||||
.reserve = omap_reserve,
|
.reserve = omap_reserve,
|
||||||
.init_irq = h2_init_irq,
|
.init_irq = omap1_init_irq,
|
||||||
.init_machine = h2_init,
|
.init_machine = h2_init,
|
||||||
.timer = &omap1_timer,
|
.timer = &omap1_timer,
|
||||||
MACHINE_END
|
MACHINE_END
|
||||||
|
|
|
@ -436,23 +436,13 @@ static void __init h3_init(void)
|
||||||
h3_mmc_init();
|
h3_mmc_init();
|
||||||
}
|
}
|
||||||
|
|
||||||
static void __init h3_init_irq(void)
|
|
||||||
{
|
|
||||||
omap1_init_common_hw();
|
|
||||||
omap1_init_irq();
|
|
||||||
}
|
|
||||||
|
|
||||||
static void __init h3_map_io(void)
|
|
||||||
{
|
|
||||||
omap1_map_common_io();
|
|
||||||
}
|
|
||||||
|
|
||||||
MACHINE_START(OMAP_H3, "TI OMAP1710 H3 board")
|
MACHINE_START(OMAP_H3, "TI OMAP1710 H3 board")
|
||||||
/* Maintainer: Texas Instruments, Inc. */
|
/* Maintainer: Texas Instruments, Inc. */
|
||||||
.boot_params = 0x10000100,
|
.boot_params = 0x10000100,
|
||||||
.map_io = h3_map_io,
|
.map_io = omap16xx_map_io,
|
||||||
|
.init_early = omap1_init_early,
|
||||||
.reserve = omap_reserve,
|
.reserve = omap_reserve,
|
||||||
.init_irq = h3_init_irq,
|
.init_irq = omap1_init_irq,
|
||||||
.init_machine = h3_init,
|
.init_machine = h3_init,
|
||||||
.timer = &omap1_timer,
|
.timer = &omap1_timer,
|
||||||
MACHINE_END
|
MACHINE_END
|
||||||
|
|
|
@ -500,7 +500,7 @@ static void __init htcherald_lcd_init(void)
|
||||||
|
|
||||||
static void __init htcherald_map_io(void)
|
static void __init htcherald_map_io(void)
|
||||||
{
|
{
|
||||||
omap1_map_common_io();
|
omap7xx_map_io();
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The LCD panel must be disabled and DMA turned off here, as doing
|
* The LCD panel must be disabled and DMA turned off here, as doing
|
||||||
|
@ -601,20 +601,14 @@ static void __init htcherald_init(void)
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
static void __init htcherald_init_irq(void)
|
|
||||||
{
|
|
||||||
printk(KERN_INFO "htcherald_init_irq.\n");
|
|
||||||
omap1_init_common_hw();
|
|
||||||
omap1_init_irq();
|
|
||||||
}
|
|
||||||
|
|
||||||
MACHINE_START(HERALD, "HTC Herald")
|
MACHINE_START(HERALD, "HTC Herald")
|
||||||
/* Maintainer: Cory Maccarrone <darkstar6262@gmail.com> */
|
/* Maintainer: Cory Maccarrone <darkstar6262@gmail.com> */
|
||||||
/* Maintainer: wing-linux.sourceforge.net */
|
/* Maintainer: wing-linux.sourceforge.net */
|
||||||
.boot_params = 0x10000100,
|
.boot_params = 0x10000100,
|
||||||
.map_io = htcherald_map_io,
|
.map_io = htcherald_map_io,
|
||||||
|
.init_early = omap1_init_early,
|
||||||
.reserve = omap_reserve,
|
.reserve = omap_reserve,
|
||||||
.init_irq = htcherald_init_irq,
|
.init_irq = omap1_init_irq,
|
||||||
.init_machine = htcherald_init,
|
.init_machine = htcherald_init,
|
||||||
.timer = &omap1_timer,
|
.timer = &omap1_timer,
|
||||||
MACHINE_END
|
MACHINE_END
|
||||||
|
|
|
@ -289,12 +289,6 @@ static void __init innovator_init_smc91x(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void __init innovator_init_irq(void)
|
|
||||||
{
|
|
||||||
omap1_init_common_hw();
|
|
||||||
omap1_init_irq();
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef CONFIG_ARCH_OMAP15XX
|
#ifdef CONFIG_ARCH_OMAP15XX
|
||||||
static struct omap_usb_config innovator1510_usb_config __initdata = {
|
static struct omap_usb_config innovator1510_usb_config __initdata = {
|
||||||
/* for bundled non-standard host and peripheral cables */
|
/* for bundled non-standard host and peripheral cables */
|
||||||
|
@ -439,30 +433,32 @@ static void __init innovator_init(void)
|
||||||
innovator_mmc_init();
|
innovator_mmc_init();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* REVISIT: Assume 15xx for now, we don't want to do revision check
|
||||||
|
* until later on. The right way to fix this is to set up a different
|
||||||
|
* machine_id for 16xx Innovator, or use device tree.
|
||||||
|
*/
|
||||||
static void __init innovator_map_io(void)
|
static void __init innovator_map_io(void)
|
||||||
{
|
{
|
||||||
omap1_map_common_io();
|
omap15xx_map_io();
|
||||||
|
|
||||||
#ifdef CONFIG_ARCH_OMAP15XX
|
iotable_init(innovator1510_io_desc, ARRAY_SIZE(innovator1510_io_desc));
|
||||||
if (cpu_is_omap1510()) {
|
udelay(10); /* Delay needed for FPGA */
|
||||||
iotable_init(innovator1510_io_desc, ARRAY_SIZE(innovator1510_io_desc));
|
|
||||||
udelay(10); /* Delay needed for FPGA */
|
|
||||||
|
|
||||||
/* Dump the Innovator FPGA rev early - useful info for support. */
|
/* Dump the Innovator FPGA rev early - useful info for support. */
|
||||||
printk("Innovator FPGA Rev %d.%d Board Rev %d\n",
|
pr_debug("Innovator FPGA Rev %d.%d Board Rev %d\n",
|
||||||
fpga_read(OMAP1510_FPGA_REV_HIGH),
|
fpga_read(OMAP1510_FPGA_REV_HIGH),
|
||||||
fpga_read(OMAP1510_FPGA_REV_LOW),
|
fpga_read(OMAP1510_FPGA_REV_LOW),
|
||||||
fpga_read(OMAP1510_FPGA_BOARD_REV));
|
fpga_read(OMAP1510_FPGA_BOARD_REV));
|
||||||
}
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
MACHINE_START(OMAP_INNOVATOR, "TI-Innovator")
|
MACHINE_START(OMAP_INNOVATOR, "TI-Innovator")
|
||||||
/* Maintainer: MontaVista Software, Inc. */
|
/* Maintainer: MontaVista Software, Inc. */
|
||||||
.boot_params = 0x10000100,
|
.boot_params = 0x10000100,
|
||||||
.map_io = innovator_map_io,
|
.map_io = innovator_map_io,
|
||||||
|
.init_early = omap1_init_early,
|
||||||
.reserve = omap_reserve,
|
.reserve = omap_reserve,
|
||||||
.init_irq = innovator_init_irq,
|
.init_irq = omap1_init_irq,
|
||||||
.init_machine = innovator_init,
|
.init_machine = innovator_init,
|
||||||
.timer = &omap1_timer,
|
.timer = &omap1_timer,
|
||||||
MACHINE_END
|
MACHINE_END
|
||||||
|
|
|
@ -39,21 +39,6 @@
|
||||||
|
|
||||||
#define ADS7846_PENDOWN_GPIO 15
|
#define ADS7846_PENDOWN_GPIO 15
|
||||||
|
|
||||||
static void __init omap_nokia770_init_irq(void)
|
|
||||||
{
|
|
||||||
/* On Nokia 770, the SleepX signal is masked with an
|
|
||||||
* MPUIO line by default. It has to be unmasked for it
|
|
||||||
* to become functional */
|
|
||||||
|
|
||||||
/* SleepX mask direction */
|
|
||||||
omap_writew((omap_readw(0xfffb5008) & ~2), 0xfffb5008);
|
|
||||||
/* Unmask SleepX signal */
|
|
||||||
omap_writew((omap_readw(0xfffb5004) & ~2), 0xfffb5004);
|
|
||||||
|
|
||||||
omap1_init_common_hw();
|
|
||||||
omap1_init_irq();
|
|
||||||
}
|
|
||||||
|
|
||||||
static const unsigned int nokia770_keymap[] = {
|
static const unsigned int nokia770_keymap[] = {
|
||||||
KEY(1, 0, GROUP_0 | KEY_UP),
|
KEY(1, 0, GROUP_0 | KEY_UP),
|
||||||
KEY(2, 0, GROUP_1 | KEY_F5),
|
KEY(2, 0, GROUP_1 | KEY_F5),
|
||||||
|
@ -246,6 +231,15 @@ static inline void nokia770_mmc_init(void)
|
||||||
|
|
||||||
static void __init omap_nokia770_init(void)
|
static void __init omap_nokia770_init(void)
|
||||||
{
|
{
|
||||||
|
/* On Nokia 770, the SleepX signal is masked with an
|
||||||
|
* MPUIO line by default. It has to be unmasked for it
|
||||||
|
* to become functional */
|
||||||
|
|
||||||
|
/* SleepX mask direction */
|
||||||
|
omap_writew((omap_readw(0xfffb5008) & ~2), 0xfffb5008);
|
||||||
|
/* Unmask SleepX signal */
|
||||||
|
omap_writew((omap_readw(0xfffb5004) & ~2), 0xfffb5004);
|
||||||
|
|
||||||
platform_add_devices(nokia770_devices, ARRAY_SIZE(nokia770_devices));
|
platform_add_devices(nokia770_devices, ARRAY_SIZE(nokia770_devices));
|
||||||
spi_register_board_info(nokia770_spi_board_info,
|
spi_register_board_info(nokia770_spi_board_info,
|
||||||
ARRAY_SIZE(nokia770_spi_board_info));
|
ARRAY_SIZE(nokia770_spi_board_info));
|
||||||
|
@ -258,16 +252,12 @@ static void __init omap_nokia770_init(void)
|
||||||
nokia770_mmc_init();
|
nokia770_mmc_init();
|
||||||
}
|
}
|
||||||
|
|
||||||
static void __init omap_nokia770_map_io(void)
|
|
||||||
{
|
|
||||||
omap1_map_common_io();
|
|
||||||
}
|
|
||||||
|
|
||||||
MACHINE_START(NOKIA770, "Nokia 770")
|
MACHINE_START(NOKIA770, "Nokia 770")
|
||||||
.boot_params = 0x10000100,
|
.boot_params = 0x10000100,
|
||||||
.map_io = omap_nokia770_map_io,
|
.map_io = omap16xx_map_io,
|
||||||
|
.init_early = omap1_init_early,
|
||||||
.reserve = omap_reserve,
|
.reserve = omap_reserve,
|
||||||
.init_irq = omap_nokia770_init_irq,
|
.init_irq = omap1_init_irq,
|
||||||
.init_machine = omap_nokia770_init,
|
.init_machine = omap_nokia770_init,
|
||||||
.timer = &omap1_timer,
|
.timer = &omap1_timer,
|
||||||
MACHINE_END
|
MACHINE_END
|
||||||
|
|
|
@ -279,12 +279,6 @@ static void __init osk_init_cf(void)
|
||||||
irq_set_irq_type(gpio_to_irq(62), IRQ_TYPE_EDGE_FALLING);
|
irq_set_irq_type(gpio_to_irq(62), IRQ_TYPE_EDGE_FALLING);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void __init osk_init_irq(void)
|
|
||||||
{
|
|
||||||
omap1_init_common_hw();
|
|
||||||
omap1_init_irq();
|
|
||||||
}
|
|
||||||
|
|
||||||
static struct omap_usb_config osk_usb_config __initdata = {
|
static struct omap_usb_config osk_usb_config __initdata = {
|
||||||
/* has usb host connector (A) ... for development it can also
|
/* has usb host connector (A) ... for development it can also
|
||||||
* be used, with a NONSTANDARD gender-bending cable/dongle, as
|
* be used, with a NONSTANDARD gender-bending cable/dongle, as
|
||||||
|
@ -576,17 +570,13 @@ static void __init osk_init(void)
|
||||||
osk_mistral_init();
|
osk_mistral_init();
|
||||||
}
|
}
|
||||||
|
|
||||||
static void __init osk_map_io(void)
|
|
||||||
{
|
|
||||||
omap1_map_common_io();
|
|
||||||
}
|
|
||||||
|
|
||||||
MACHINE_START(OMAP_OSK, "TI-OSK")
|
MACHINE_START(OMAP_OSK, "TI-OSK")
|
||||||
/* Maintainer: Dirk Behme <dirk.behme@de.bosch.com> */
|
/* Maintainer: Dirk Behme <dirk.behme@de.bosch.com> */
|
||||||
.boot_params = 0x10000100,
|
.boot_params = 0x10000100,
|
||||||
.map_io = osk_map_io,
|
.map_io = omap16xx_map_io,
|
||||||
|
.init_early = omap1_init_early,
|
||||||
.reserve = omap_reserve,
|
.reserve = omap_reserve,
|
||||||
.init_irq = osk_init_irq,
|
.init_irq = omap1_init_irq,
|
||||||
.init_machine = osk_init,
|
.init_machine = osk_init,
|
||||||
.timer = &omap1_timer,
|
.timer = &omap1_timer,
|
||||||
MACHINE_END
|
MACHINE_END
|
||||||
|
|
|
@ -59,12 +59,6 @@
|
||||||
#define PALMTE_MMC2_GPIO OMAP_MPUIO(7)
|
#define PALMTE_MMC2_GPIO OMAP_MPUIO(7)
|
||||||
#define PALMTE_MMC3_GPIO OMAP_MPUIO(11)
|
#define PALMTE_MMC3_GPIO OMAP_MPUIO(11)
|
||||||
|
|
||||||
static void __init omap_palmte_init_irq(void)
|
|
||||||
{
|
|
||||||
omap1_init_common_hw();
|
|
||||||
omap1_init_irq();
|
|
||||||
}
|
|
||||||
|
|
||||||
static const unsigned int palmte_keymap[] = {
|
static const unsigned int palmte_keymap[] = {
|
||||||
KEY(0, 0, KEY_F1), /* Calendar */
|
KEY(0, 0, KEY_F1), /* Calendar */
|
||||||
KEY(1, 0, KEY_F2), /* Contacts */
|
KEY(1, 0, KEY_F2), /* Contacts */
|
||||||
|
@ -269,16 +263,12 @@ static void __init omap_palmte_init(void)
|
||||||
omap_register_i2c_bus(1, 100, NULL, 0);
|
omap_register_i2c_bus(1, 100, NULL, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void __init omap_palmte_map_io(void)
|
|
||||||
{
|
|
||||||
omap1_map_common_io();
|
|
||||||
}
|
|
||||||
|
|
||||||
MACHINE_START(OMAP_PALMTE, "OMAP310 based Palm Tungsten E")
|
MACHINE_START(OMAP_PALMTE, "OMAP310 based Palm Tungsten E")
|
||||||
.boot_params = 0x10000100,
|
.boot_params = 0x10000100,
|
||||||
.map_io = omap_palmte_map_io,
|
.map_io = omap15xx_map_io,
|
||||||
|
.init_early = omap1_init_early,
|
||||||
.reserve = omap_reserve,
|
.reserve = omap_reserve,
|
||||||
.init_irq = omap_palmte_init_irq,
|
.init_irq = omap1_init_irq,
|
||||||
.init_machine = omap_palmte_init,
|
.init_machine = omap_palmte_init,
|
||||||
.timer = &omap1_timer,
|
.timer = &omap1_timer,
|
||||||
MACHINE_END
|
MACHINE_END
|
||||||
|
|
|
@ -263,12 +263,6 @@ static struct spi_board_info __initdata palmtt_boardinfo[] = {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
static void __init omap_palmtt_init_irq(void)
|
|
||||||
{
|
|
||||||
omap1_init_common_hw();
|
|
||||||
omap1_init_irq();
|
|
||||||
}
|
|
||||||
|
|
||||||
static struct omap_usb_config palmtt_usb_config __initdata = {
|
static struct omap_usb_config palmtt_usb_config __initdata = {
|
||||||
.register_dev = 1,
|
.register_dev = 1,
|
||||||
.hmc_mode = 0,
|
.hmc_mode = 0,
|
||||||
|
@ -315,16 +309,12 @@ static void __init omap_palmtt_init(void)
|
||||||
omap_register_i2c_bus(1, 100, NULL, 0);
|
omap_register_i2c_bus(1, 100, NULL, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void __init omap_palmtt_map_io(void)
|
|
||||||
{
|
|
||||||
omap1_map_common_io();
|
|
||||||
}
|
|
||||||
|
|
||||||
MACHINE_START(OMAP_PALMTT, "OMAP1510 based Palm Tungsten|T")
|
MACHINE_START(OMAP_PALMTT, "OMAP1510 based Palm Tungsten|T")
|
||||||
.boot_params = 0x10000100,
|
.boot_params = 0x10000100,
|
||||||
.map_io = omap_palmtt_map_io,
|
.map_io = omap15xx_map_io,
|
||||||
|
.init_early = omap1_init_early,
|
||||||
.reserve = omap_reserve,
|
.reserve = omap_reserve,
|
||||||
.init_irq = omap_palmtt_init_irq,
|
.init_irq = omap1_init_irq,
|
||||||
.init_machine = omap_palmtt_init,
|
.init_machine = omap_palmtt_init,
|
||||||
.timer = &omap1_timer,
|
.timer = &omap1_timer,
|
||||||
MACHINE_END
|
MACHINE_END
|
||||||
|
|
|
@ -57,13 +57,6 @@
|
||||||
#define PALMZ71_SLIDER_GPIO OMAP_MPUIO(3)
|
#define PALMZ71_SLIDER_GPIO OMAP_MPUIO(3)
|
||||||
#define PALMZ71_MMC_IN_GPIO OMAP_MPUIO(4)
|
#define PALMZ71_MMC_IN_GPIO OMAP_MPUIO(4)
|
||||||
|
|
||||||
static void __init
|
|
||||||
omap_palmz71_init_irq(void)
|
|
||||||
{
|
|
||||||
omap1_init_common_hw();
|
|
||||||
omap1_init_irq();
|
|
||||||
}
|
|
||||||
|
|
||||||
static const unsigned int palmz71_keymap[] = {
|
static const unsigned int palmz71_keymap[] = {
|
||||||
KEY(0, 0, KEY_F1),
|
KEY(0, 0, KEY_F1),
|
||||||
KEY(1, 0, KEY_F2),
|
KEY(1, 0, KEY_F2),
|
||||||
|
@ -334,17 +327,12 @@ omap_palmz71_init(void)
|
||||||
palmz71_gpio_setup(0);
|
palmz71_gpio_setup(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void __init
|
|
||||||
omap_palmz71_map_io(void)
|
|
||||||
{
|
|
||||||
omap1_map_common_io();
|
|
||||||
}
|
|
||||||
|
|
||||||
MACHINE_START(OMAP_PALMZ71, "OMAP310 based Palm Zire71")
|
MACHINE_START(OMAP_PALMZ71, "OMAP310 based Palm Zire71")
|
||||||
.boot_params = 0x10000100,
|
.boot_params = 0x10000100,
|
||||||
.map_io = omap_palmz71_map_io,
|
.map_io = omap15xx_map_io,
|
||||||
|
.init_early = omap1_init_early,
|
||||||
.reserve = omap_reserve,
|
.reserve = omap_reserve,
|
||||||
.init_irq = omap_palmz71_init_irq,
|
.init_irq = omap1_init_irq,
|
||||||
.init_machine = omap_palmz71_init,
|
.init_machine = omap_palmz71_init,
|
||||||
.timer = &omap1_timer,
|
.timer = &omap1_timer,
|
||||||
MACHINE_END
|
MACHINE_END
|
||||||
|
|
|
@ -265,56 +265,6 @@ static void __init perseus2_init_smc91x(void)
|
||||||
|
|
||||||
static void __init omap_perseus2_init(void)
|
static void __init omap_perseus2_init(void)
|
||||||
{
|
{
|
||||||
perseus2_init_smc91x();
|
|
||||||
|
|
||||||
if (gpio_request(P2_NAND_RB_GPIO_PIN, "NAND ready") < 0)
|
|
||||||
BUG();
|
|
||||||
gpio_direction_input(P2_NAND_RB_GPIO_PIN);
|
|
||||||
|
|
||||||
omap_cfg_reg(L3_1610_FLASH_CS2B_OE);
|
|
||||||
omap_cfg_reg(M8_1610_FLASH_CS2B_WE);
|
|
||||||
|
|
||||||
/* Mux pins for keypad */
|
|
||||||
omap_cfg_reg(E2_7XX_KBR0);
|
|
||||||
omap_cfg_reg(J7_7XX_KBR1);
|
|
||||||
omap_cfg_reg(E1_7XX_KBR2);
|
|
||||||
omap_cfg_reg(F3_7XX_KBR3);
|
|
||||||
omap_cfg_reg(D2_7XX_KBR4);
|
|
||||||
omap_cfg_reg(C2_7XX_KBC0);
|
|
||||||
omap_cfg_reg(D3_7XX_KBC1);
|
|
||||||
omap_cfg_reg(E4_7XX_KBC2);
|
|
||||||
omap_cfg_reg(F4_7XX_KBC3);
|
|
||||||
omap_cfg_reg(E3_7XX_KBC4);
|
|
||||||
|
|
||||||
platform_add_devices(devices, ARRAY_SIZE(devices));
|
|
||||||
|
|
||||||
omap_board_config = perseus2_config;
|
|
||||||
omap_board_config_size = ARRAY_SIZE(perseus2_config);
|
|
||||||
omap_serial_init();
|
|
||||||
omap_register_i2c_bus(1, 100, NULL, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void __init omap_perseus2_init_irq(void)
|
|
||||||
{
|
|
||||||
omap1_init_common_hw();
|
|
||||||
omap1_init_irq();
|
|
||||||
}
|
|
||||||
/* Only FPGA needs to be mapped here. All others are done with ioremap */
|
|
||||||
static struct map_desc omap_perseus2_io_desc[] __initdata = {
|
|
||||||
{
|
|
||||||
.virtual = H2P2_DBG_FPGA_BASE,
|
|
||||||
.pfn = __phys_to_pfn(H2P2_DBG_FPGA_START),
|
|
||||||
.length = H2P2_DBG_FPGA_SIZE,
|
|
||||||
.type = MT_DEVICE
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
static void __init omap_perseus2_map_io(void)
|
|
||||||
{
|
|
||||||
omap1_map_common_io();
|
|
||||||
iotable_init(omap_perseus2_io_desc,
|
|
||||||
ARRAY_SIZE(omap_perseus2_io_desc));
|
|
||||||
|
|
||||||
/* Early, board-dependent init */
|
/* Early, board-dependent init */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -345,15 +295,62 @@ static void __init omap_perseus2_map_io(void)
|
||||||
* Configure MPU_EXT_NIRQ IO in IO_CONF9 register,
|
* Configure MPU_EXT_NIRQ IO in IO_CONF9 register,
|
||||||
* It is used as the Ethernet controller interrupt
|
* It is used as the Ethernet controller interrupt
|
||||||
*/
|
*/
|
||||||
omap_writel(omap_readl(OMAP7XX_IO_CONF_9) & 0x1FFFFFFF, OMAP7XX_IO_CONF_9);
|
omap_writel(omap_readl(OMAP7XX_IO_CONF_9) & 0x1FFFFFFF,
|
||||||
|
OMAP7XX_IO_CONF_9);
|
||||||
|
|
||||||
|
perseus2_init_smc91x();
|
||||||
|
|
||||||
|
if (gpio_request(P2_NAND_RB_GPIO_PIN, "NAND ready") < 0)
|
||||||
|
BUG();
|
||||||
|
gpio_direction_input(P2_NAND_RB_GPIO_PIN);
|
||||||
|
|
||||||
|
omap_cfg_reg(L3_1610_FLASH_CS2B_OE);
|
||||||
|
omap_cfg_reg(M8_1610_FLASH_CS2B_WE);
|
||||||
|
|
||||||
|
/* Mux pins for keypad */
|
||||||
|
omap_cfg_reg(E2_7XX_KBR0);
|
||||||
|
omap_cfg_reg(J7_7XX_KBR1);
|
||||||
|
omap_cfg_reg(E1_7XX_KBR2);
|
||||||
|
omap_cfg_reg(F3_7XX_KBR3);
|
||||||
|
omap_cfg_reg(D2_7XX_KBR4);
|
||||||
|
omap_cfg_reg(C2_7XX_KBC0);
|
||||||
|
omap_cfg_reg(D3_7XX_KBC1);
|
||||||
|
omap_cfg_reg(E4_7XX_KBC2);
|
||||||
|
omap_cfg_reg(F4_7XX_KBC3);
|
||||||
|
omap_cfg_reg(E3_7XX_KBC4);
|
||||||
|
|
||||||
|
platform_add_devices(devices, ARRAY_SIZE(devices));
|
||||||
|
|
||||||
|
omap_board_config = perseus2_config;
|
||||||
|
omap_board_config_size = ARRAY_SIZE(perseus2_config);
|
||||||
|
omap_serial_init();
|
||||||
|
omap_register_i2c_bus(1, 100, NULL, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Only FPGA needs to be mapped here. All others are done with ioremap */
|
||||||
|
static struct map_desc omap_perseus2_io_desc[] __initdata = {
|
||||||
|
{
|
||||||
|
.virtual = H2P2_DBG_FPGA_BASE,
|
||||||
|
.pfn = __phys_to_pfn(H2P2_DBG_FPGA_START),
|
||||||
|
.length = H2P2_DBG_FPGA_SIZE,
|
||||||
|
.type = MT_DEVICE
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
static void __init omap_perseus2_map_io(void)
|
||||||
|
{
|
||||||
|
omap7xx_map_io();
|
||||||
|
iotable_init(omap_perseus2_io_desc,
|
||||||
|
ARRAY_SIZE(omap_perseus2_io_desc));
|
||||||
}
|
}
|
||||||
|
|
||||||
MACHINE_START(OMAP_PERSEUS2, "OMAP730 Perseus2")
|
MACHINE_START(OMAP_PERSEUS2, "OMAP730 Perseus2")
|
||||||
/* Maintainer: Kevin Hilman <kjh@hilman.org> */
|
/* Maintainer: Kevin Hilman <kjh@hilman.org> */
|
||||||
.boot_params = 0x10000100,
|
.boot_params = 0x10000100,
|
||||||
.map_io = omap_perseus2_map_io,
|
.map_io = omap_perseus2_map_io,
|
||||||
|
.init_early = omap1_init_early,
|
||||||
.reserve = omap_reserve,
|
.reserve = omap_reserve,
|
||||||
.init_irq = omap_perseus2_init_irq,
|
.init_irq = omap1_init_irq,
|
||||||
.init_machine = omap_perseus2_init,
|
.init_machine = omap_perseus2_init,
|
||||||
.timer = &omap1_timer,
|
.timer = &omap1_timer,
|
||||||
MACHINE_END
|
MACHINE_END
|
||||||
|
|
|
@ -407,24 +407,13 @@ static void __init omap_sx1_init(void)
|
||||||
gpio_direction_output(11, 0); /*A_SWITCH = 0 */
|
gpio_direction_output(11, 0); /*A_SWITCH = 0 */
|
||||||
gpio_direction_output(15, 0); /*A_USB_ON = 0 */
|
gpio_direction_output(15, 0); /*A_USB_ON = 0 */
|
||||||
}
|
}
|
||||||
/*----------------------------------------*/
|
|
||||||
static void __init omap_sx1_init_irq(void)
|
|
||||||
{
|
|
||||||
omap1_init_common_hw();
|
|
||||||
omap1_init_irq();
|
|
||||||
}
|
|
||||||
/*----------------------------------------*/
|
|
||||||
|
|
||||||
static void __init omap_sx1_map_io(void)
|
|
||||||
{
|
|
||||||
omap1_map_common_io();
|
|
||||||
}
|
|
||||||
|
|
||||||
MACHINE_START(SX1, "OMAP310 based Siemens SX1")
|
MACHINE_START(SX1, "OMAP310 based Siemens SX1")
|
||||||
.boot_params = 0x10000100,
|
.boot_params = 0x10000100,
|
||||||
.map_io = omap_sx1_map_io,
|
.map_io = omap15xx_map_io,
|
||||||
|
.init_early = omap1_init_early,
|
||||||
.reserve = omap_reserve,
|
.reserve = omap_reserve,
|
||||||
.init_irq = omap_sx1_init_irq,
|
.init_irq = omap1_init_irq,
|
||||||
.init_machine = omap_sx1_init,
|
.init_machine = omap_sx1_init,
|
||||||
.timer = &omap1_timer,
|
.timer = &omap1_timer,
|
||||||
MACHINE_END
|
MACHINE_END
|
||||||
|
|
|
@ -159,17 +159,6 @@ static struct omap_usb_config voiceblue_usb_config __initdata = {
|
||||||
static struct omap_board_config_kernel voiceblue_config[] = {
|
static struct omap_board_config_kernel voiceblue_config[] = {
|
||||||
};
|
};
|
||||||
|
|
||||||
static void __init voiceblue_init_irq(void)
|
|
||||||
{
|
|
||||||
omap1_init_common_hw();
|
|
||||||
omap1_init_irq();
|
|
||||||
}
|
|
||||||
|
|
||||||
static void __init voiceblue_map_io(void)
|
|
||||||
{
|
|
||||||
omap1_map_common_io();
|
|
||||||
}
|
|
||||||
|
|
||||||
#define MACHINE_PANICED 1
|
#define MACHINE_PANICED 1
|
||||||
#define MACHINE_REBOOTING 2
|
#define MACHINE_REBOOTING 2
|
||||||
#define MACHINE_REBOOT 4
|
#define MACHINE_REBOOT 4
|
||||||
|
@ -302,9 +291,10 @@ static void __init voiceblue_init(void)
|
||||||
MACHINE_START(VOICEBLUE, "VoiceBlue OMAP5910")
|
MACHINE_START(VOICEBLUE, "VoiceBlue OMAP5910")
|
||||||
/* Maintainer: Ladislav Michl <michl@2n.cz> */
|
/* Maintainer: Ladislav Michl <michl@2n.cz> */
|
||||||
.boot_params = 0x10000100,
|
.boot_params = 0x10000100,
|
||||||
.map_io = voiceblue_map_io,
|
.map_io = omap15xx_map_io,
|
||||||
|
.init_early = omap1_init_early,
|
||||||
.reserve = omap_reserve,
|
.reserve = omap_reserve,
|
||||||
.init_irq = voiceblue_init_irq,
|
.init_irq = omap1_init_irq,
|
||||||
.init_machine = voiceblue_init,
|
.init_machine = voiceblue_init,
|
||||||
.timer = &omap1_timer,
|
.timer = &omap1_timer,
|
||||||
MACHINE_END
|
MACHINE_END
|
||||||
|
|
|
@ -85,50 +85,44 @@ static struct map_desc omap16xx_io_desc[] __initdata = {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Maps common IO regions for omap1. This should only get called from
|
* Maps common IO regions for omap1
|
||||||
* board specific init.
|
|
||||||
*/
|
*/
|
||||||
void __init omap1_map_common_io(void)
|
static void __init omap1_map_common_io(void)
|
||||||
{
|
{
|
||||||
iotable_init(omap_io_desc, ARRAY_SIZE(omap_io_desc));
|
iotable_init(omap_io_desc, ARRAY_SIZE(omap_io_desc));
|
||||||
|
|
||||||
/* Normally devicemaps_init() would flush caches and tlb after
|
|
||||||
* mdesc->map_io(), but we must also do it here because of the CPU
|
|
||||||
* revision check below.
|
|
||||||
*/
|
|
||||||
local_flush_tlb_all();
|
|
||||||
flush_cache_all();
|
|
||||||
|
|
||||||
/* We want to check CPU revision early for cpu_is_omapxxxx() macros.
|
|
||||||
* IO space mapping must be initialized before we can do that.
|
|
||||||
*/
|
|
||||||
omap_check_revision();
|
|
||||||
|
|
||||||
#if defined (CONFIG_ARCH_OMAP730) || defined (CONFIG_ARCH_OMAP850)
|
|
||||||
if (cpu_is_omap7xx()) {
|
|
||||||
iotable_init(omap7xx_io_desc, ARRAY_SIZE(omap7xx_io_desc));
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
#ifdef CONFIG_ARCH_OMAP15XX
|
|
||||||
if (cpu_is_omap15xx()) {
|
|
||||||
iotable_init(omap1510_io_desc, ARRAY_SIZE(omap1510_io_desc));
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
#if defined(CONFIG_ARCH_OMAP16XX)
|
|
||||||
if (cpu_is_omap16xx()) {
|
|
||||||
iotable_init(omap16xx_io_desc, ARRAY_SIZE(omap16xx_io_desc));
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
omap_sram_init();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
#if defined (CONFIG_ARCH_OMAP730) || defined (CONFIG_ARCH_OMAP850)
|
||||||
* Common low-level hardware init for omap1. This should only get called from
|
void __init omap7xx_map_io(void)
|
||||||
* board specific init.
|
|
||||||
*/
|
|
||||||
void __init omap1_init_common_hw(void)
|
|
||||||
{
|
{
|
||||||
|
omap1_map_common_io();
|
||||||
|
iotable_init(omap7xx_io_desc, ARRAY_SIZE(omap7xx_io_desc));
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef CONFIG_ARCH_OMAP15XX
|
||||||
|
void __init omap15xx_map_io(void)
|
||||||
|
{
|
||||||
|
omap1_map_common_io();
|
||||||
|
iotable_init(omap1510_io_desc, ARRAY_SIZE(omap1510_io_desc));
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(CONFIG_ARCH_OMAP16XX)
|
||||||
|
void __init omap16xx_map_io(void)
|
||||||
|
{
|
||||||
|
omap1_map_common_io();
|
||||||
|
iotable_init(omap16xx_io_desc, ARRAY_SIZE(omap16xx_io_desc));
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Common low-level hardware init for omap1.
|
||||||
|
*/
|
||||||
|
void omap1_init_early(void)
|
||||||
|
{
|
||||||
|
omap_check_revision();
|
||||||
|
|
||||||
/* REVISIT: Refer to OMAP5910 Errata, Advisory SYS_1: "Timeout Abort
|
/* REVISIT: Refer to OMAP5910 Errata, Advisory SYS_1: "Timeout Abort
|
||||||
* on a Posted Write in the TIPB Bridge".
|
* on a Posted Write in the TIPB Bridge".
|
||||||
*/
|
*/
|
||||||
|
@ -138,8 +132,8 @@ void __init omap1_init_common_hw(void)
|
||||||
/* Must init clocks early to assure that timer interrupt works
|
/* Must init clocks early to assure that timer interrupt works
|
||||||
*/
|
*/
|
||||||
omap1_clk_init();
|
omap1_clk_init();
|
||||||
|
|
||||||
omap1_mux_init();
|
omap1_mux_init();
|
||||||
|
omap_sram_init();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -256,8 +256,31 @@ extern void omap_writel(u32 v, u32 pa);
|
||||||
|
|
||||||
struct omap_sdrc_params;
|
struct omap_sdrc_params;
|
||||||
|
|
||||||
extern void omap1_map_common_io(void);
|
#if defined(CONFIG_ARCH_OMAP730) || defined(CONFIG_ARCH_OMAP850)
|
||||||
extern void omap1_init_common_hw(void);
|
void omap7xx_map_io(void);
|
||||||
|
#else
|
||||||
|
static inline void omap_map_io(void)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef CONFIG_ARCH_OMAP15XX
|
||||||
|
void omap15xx_map_io(void);
|
||||||
|
#else
|
||||||
|
static inline void omap15xx_map_io(void)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef CONFIG_ARCH_OMAP16XX
|
||||||
|
void omap16xx_map_io(void);
|
||||||
|
#else
|
||||||
|
static inline void omap16xx_map_io(void)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
void omap1_init_early(void);
|
||||||
|
|
||||||
#ifdef CONFIG_SOC_OMAP2420
|
#ifdef CONFIG_SOC_OMAP2420
|
||||||
extern void omap242x_map_common_io(void);
|
extern void omap242x_map_common_io(void);
|
||||||
|
|
Loading…
Reference in New Issue