mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-10-30 21:44:27 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			80 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			80 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| --- /dev/null
 | |
| +++ b/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
 |