diff options
Diffstat (limited to 'target/linux/pxa/patches-2.6.21/004-board-init.patch')
-rw-r--r-- | target/linux/pxa/patches-2.6.21/004-board-init.patch | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/target/linux/pxa/patches-2.6.21/004-board-init.patch b/target/linux/pxa/patches-2.6.21/004-board-init.patch new file mode 100644 index 0000000000..5a15881208 --- /dev/null +++ b/target/linux/pxa/patches-2.6.21/004-board-init.patch @@ -0,0 +1,81 @@ +Index: linux-2.6.21gum/arch/arm/mach-pxa/gumstix.c +=================================================================== +--- /dev/null ++++ linux-2.6.21gum/arch/arm/mach-pxa/gumstix.c +@@ -0,0 +1,76 @@ ++/* ++ * linux/arch/arm/mach-pxa/gumstix.c ++ * ++ * Support for the Gumstix computer platform ++ * ++ * Author: Craig Hughes ++ * Created: December 8 2004 ++ * Copyright: (C) 2004, Craig Hughes ++ * ++ * 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 <asm/types.h> ++ ++#include <linux/init.h> ++#include <linux/device.h> ++#include <linux/platform_device.h> ++ ++#include <asm/hardware.h> ++#include <asm/mach-types.h> ++#include <asm/mach/arch.h> ++#include <asm/mach/irq.h> ++#include <asm/arch/udc.h> ++#include <asm/arch/mmc.h> ++#include <asm/arch/pxa-regs.h> ++#include <asm/arch/gumstix.h> ++ ++#include "generic.h" ++ ++static int gumstix_mci_init(struct device *dev, irqreturn_t (*lubbock_detect_int)(int, void *, struct pt_regs *), void *data) ++{ ++ // Set up MMC controller ++ pxa_gpio_mode(GPIO6_MMCCLK_MD); ++ pxa_gpio_mode(GPIO53_MMCCLK_MD); ++ pxa_gpio_mode(GPIO8_MMCCS0_MD); ++ ++ return 0; ++} ++ ++static struct pxamci_platform_data gumstix_mci_platform_data = { ++ .ocr_mask = MMC_VDD_32_33|MMC_VDD_33_34, ++ .init = &gumstix_mci_init, ++}; ++ ++static struct pxa2xx_udc_mach_info gumstix_udc_info __initdata = { ++ .gpio_vbus = GPIO_GUMSTIX_USB_GPIOn, ++ .gpio_pullup = GPIO_GUMSTIX_USB_GPIOx, ++}; ++ ++static struct platform_device gum_audio_device = { ++ .name = "pxa2xx-ac97", ++ .id = -1, ++}; ++ ++static struct platform_device *devices[] __initdata = { ++ &gum_audio_device, ++}; ++ ++static void __init gumstix_init(void) ++{ ++ pxa_set_mci_info(&gumstix_mci_platform_data); ++ pxa_set_udc_info(&gumstix_udc_info); ++ (void) platform_add_devices(devices, ARRAY_SIZE(devices)); ++} ++ ++MACHINE_START(GUMSTIX, "The Gumstix Platform") ++ .phys_io = 0x40000000, ++ .boot_params = 0xa0000100, ++ .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc, ++ .timer = &pxa_timer, ++ .map_io = pxa_map_io, ++ .init_irq = pxa_init_irq, ++ .init_machine = gumstix_init, ++MACHINE_END |