this feature (eg, building a kernel for a single machine) and
you need to shrink the kernel to the minimal size.
+ config NEED_MACH_MEMORY_H
+ bool
+ help
+ Select this when mach/memory.h is required to provide special
+ definitions for this platform. The need for mach/memory.h should
+ be avoided when possible.
+
+ config PHYS_OFFSET
+ hex "Physical address of main memory"
+ depends on !ARM_PATCH_PHYS_VIRT && !NEED_MACH_MEMORY_H
+ help
+ Please provide the physical address corresponding to the
+ location of main memory in your system.
+config GENERIC_BUG
+ def_bool y
+ depends on BUG
+
source "init/Kconfig"
source "kernel/Kconfig.freezer"
select CPU_SA110
select FOOTBRIDGE
select GENERIC_CLOCKEVENTS
+ select HAVE_IDE
+ select NEED_MACH_MEMORY_H
help
Support for systems based on the DC21285 companion chip
("FootBridge"), such as the Simtec CATS and the Rebel NetWinder.
select NO_IOPORT
select ARCH_SPARSEMEM_ENABLE
select ARCH_USES_GETTIMEOFFSET
+ select HAVE_IDE
+ select NEED_MACH_MEMORY_H
help
On the Acorn Risc-PC, Linux can support the internal IDE disk and
CD-ROM interface, serial and parallel port, and the floppy drive.
select HAVE_SCHED_CLOCK
select TICK_ONESHOT
select ARCH_REQUIRE_GPIOLIB
+ select HAVE_IDE
+ select NEED_MACH_MEMORY_H
help
Support for StrongARM 11x0 based boards.
select CLKDEV_LOOKUP
select HAVE_MACH_CLKDEV
select GENERIC_GPIO
+ select ARCH_REQUIRE_GPIOLIB
+ select NEED_MACH_MEMORY_H
help
Support for ST-Ericsson U300 series mobile platforms.
* This allows debug messages to be output
* via a serial console before paging_init.
*/
- addruart r7, r3
+ addruart r7, r3, r0
- mov r3, r3, lsr #20
- mov r3, r3, lsl #2
+ mov r3, r3, lsr #SECTION_SHIFT
+ mov r3, r3, lsl #PMD_ORDER
add r0, r4, r3
rsb r3, r3, #0x4000 @ PTRS_PER_PGD*sizeof(long)
.init_machine = msm8x60_init,
.timer = &msm_timer,
MACHINE_END
+
+ #ifdef CONFIG_OF
+ /* TODO: General device tree support for all MSM. */
+ DT_MACHINE_START(MSM_DT, "Qualcomm MSM (Flattened Device Tree)")
++ .fixup = msm8x60_fixup,
++ .reserve = msm8x60_reserve,
+ .map_io = msm8x60_map_io,
+ .init_irq = msm8x60_init_irq,
+ .init_machine = msm8x60_dt_init,
+ .timer = &msm_timer,
+ .dt_compat = msm8x60_fluid_match,
+ MACHINE_END
+ #endif /* CONFIG_OF */
#ifndef __MACH_MXS_GPIO_H__
#define __MACH_MXS_GPIO_H__
- #define MXS_GPIO_NR(bank, nr) ((bank) * 32 + (nr))
-#include <asm-generic/gpio.h>
--
- #define irq_to_gpio(irq) ((irq) - MXS_GPIO_IRQ_START)
-/* use gpiolib dispatchers */
-#define gpio_get_value __gpio_get_value
-#define gpio_set_value __gpio_set_value
-#define gpio_cansleep __gpio_cansleep
-#define gpio_to_irq __gpio_to_irq
--
#endif /* __MACH_MXS_GPIO_H__ */
#ifndef _MACH_TEGRA_BOARD_PAZ00_H
#define _MACH_TEGRA_BOARD_PAZ00_H
- #define TEGRA_GPIO_SD1_CD TEGRA_GPIO_PV5
- #define TEGRA_GPIO_SD1_WP TEGRA_GPIO_PH1
- #define TEGRA_GPIO_SD1_POWER TEGRA_GPIO_PT3
- #define TEGRA_ULPI_RST TEGRA_GPIO_PV0
+#include <mach/gpio-tegra.h>
+
+ /* SDCARD */
+ #define TEGRA_GPIO_SD1_CD TEGRA_GPIO_PV5
+ #define TEGRA_GPIO_SD1_WP TEGRA_GPIO_PH1
+ #define TEGRA_GPIO_SD1_POWER TEGRA_GPIO_PT3
+
+ /* ULPI */
+ #define TEGRA_ULPI_RST TEGRA_GPIO_PV0
+
+ /* WIFI */
+ #define TEGRA_WIFI_PWRN TEGRA_GPIO_PK5
+ #define TEGRA_WIFI_RST TEGRA_GPIO_PD1
+ #define TEGRA_WIFI_LED TEGRA_GPIO_PD0
void paz00_pinmux_init(void);
#ifndef _MACH_TEGRA_BOARD_SEABOARD_H
#define _MACH_TEGRA_BOARD_SEABOARD_H
+#include <mach/gpio-tegra.h>
+
+ #define SEABOARD_GPIO_TPS6586X(_x_) (TEGRA_NR_GPIOS + (_x_))
+ #define SEABOARD_GPIO_WM8903(_x_) (SEABOARD_GPIO_TPS6586X(4) + (_x_))
+
#define TEGRA_GPIO_SD2_CD TEGRA_GPIO_PI5
#define TEGRA_GPIO_SD2_WP TEGRA_GPIO_PH1
#define TEGRA_GPIO_SD2_POWER TEGRA_GPIO_PI6
- # Note: the following conditions must always be true:
- # ZRELADDR == virt_to_phys(TEXTADDR)
- # PARAMS_PHYS must be within 4MB of ZRELADDR
- # INITRD_PHYS must be in RAM
-
- ifdef CONFIG_MACH_U300_SINGLE_RAM
- zreladdr-y += 0x28E08000
- params_phys-y := 0x28E00100
- else
- zreladdr-y += 0x48008000
- params_phys-y := 0x48000100
- endif
-
- zreladdr-y := 0x48008000
++ zreladdr-y += 0x48008000
+ params_phys-y := 0x48000100
# This isn't used.
- #initrd_phys-y := 0x29800000
+ #initrd_phys-y := 0x48800000
* code will have already disabled interrupts
*/
for (;;) {
- /*
- * here's the WFI
- */
- asm(".word 0xe320f003\n"
- :
- :
- : "memory", "cc");
+ wfi();
- if (pen_release == cpu) {
+ if (pen_release == cpu_logical_map(cpu)) {
/*
* OK, proper wakeup, we're done
*/
#include <linux/spinlock.h>
#include <mach/hardware.h>
-#include <asm-generic/gpio.h>
-
-/* use gpiolib dispatchers */
-#define gpio_get_value __gpio_get_value
-#define gpio_set_value __gpio_set_value
-#define gpio_cansleep __gpio_cansleep
-#define gpio_to_irq __gpio_to_irq
-
- /* There's a off-by-one betweem the gpio bank number and the gpiochip */
- /* range e.g. GPIO_1_5 is gpio 5 under linux */
- #define IMX_GPIO_NR(bank, nr) (((bank) - 1) * 32 + (nr))
-
- #define gpio_to_irq(gpio) (MXC_GPIO_IRQ_START + (gpio))
- #define irq_to_gpio(irq) ((irq) - MXC_GPIO_IRQ_START)
-
#endif
select CLKDEV_LOOKUP
select CLKSRC_MMIO
select GENERIC_IRQ_CHIP
+ select HAVE_IDE
+ select HAVE_MACH_MEMORY_H
help
"Systems based on omap7xx, omap15xx or omap16xx"
#include <plat/tc.h>
#include <plat/board.h>
#include <plat/mmc.h>
-#include <mach/gpio.h>
#include <plat/menelaus.h>
- #include <plat/mcbsp.h>
#include <plat/omap44xx.h>
- /*-------------------------------------------------------------------------*/
-
- #if defined(CONFIG_OMAP_MCBSP) || defined(CONFIG_OMAP_MCBSP_MODULE)
-
- static struct platform_device **omap_mcbsp_devices;
-
- void omap_mcbsp_register_board_cfg(struct resource *res, int res_count,
- struct omap_mcbsp_platform_data *config, int size)
- {
- int i;
-
- omap_mcbsp_devices = kzalloc(size * sizeof(struct platform_device *),
- GFP_KERNEL);
- if (!omap_mcbsp_devices) {
- printk(KERN_ERR "Could not register McBSP devices\n");
- return;
- }
-
- for (i = 0; i < size; i++) {
- struct platform_device *new_mcbsp;
- int ret;
-
- new_mcbsp = platform_device_alloc("omap-mcbsp", i + 1);
- if (!new_mcbsp)
- continue;
- platform_device_add_resources(new_mcbsp, &res[i * res_count],
- res_count);
- new_mcbsp->dev.platform_data = &config[i];
- ret = platform_device_add(new_mcbsp);
- if (ret) {
- platform_device_put(new_mcbsp);
- continue;
- }
- omap_mcbsp_devices[i] = new_mcbsp;
- }
- }
-
- #else
- void omap_mcbsp_register_board_cfg(struct resource *res, int res_count,
- struct omap_mcbsp_platform_data *config, int size)
- { }
- #endif
-
- /*-------------------------------------------------------------------------*/
-
#if defined(CONFIG_SND_OMAP_SOC_MCPDM) || \
defined(CONFIG_SND_OMAP_SOC_MCPDM_MODULE)