Commit ebcce7b1 authored by Ian Molton's avatar Ian Molton

[ARM] eseries: move UDC defs to machine files

This patchset moves the UDC definitons for e7xx compatible eseries machines
to a common location and moves the 'oddball' e800 definition to its machine
file.
Signed-off-by: default avatarIan Molton <spyro@f2s.com>
parent 0ec3cf69
...@@ -37,7 +37,7 @@ obj-$(CONFIG_MACH_PCM990_BASEBOARD) += pcm990-baseboard.o ...@@ -37,7 +37,7 @@ obj-$(CONFIG_MACH_PCM990_BASEBOARD) += pcm990-baseboard.o
obj-$(CONFIG_MACH_TOSA) += tosa.o obj-$(CONFIG_MACH_TOSA) += tosa.o
obj-$(CONFIG_MACH_EM_X270) += em-x270.o obj-$(CONFIG_MACH_EM_X270) += em-x270.o
obj-$(CONFIG_MACH_MAGICIAN) += magician.o obj-$(CONFIG_MACH_MAGICIAN) += magician.o
obj-$(CONFIG_ARCH_PXA_ESERIES) += eseries.o eseries_udc.o obj-$(CONFIG_ARCH_PXA_ESERIES) += eseries.o
obj-$(CONFIG_MACH_E330) += e330.o obj-$(CONFIG_MACH_E330) += e330.o
obj-$(CONFIG_MACH_E350) += e350.o obj-$(CONFIG_MACH_E350) += e350.o
obj-$(CONFIG_MACH_E740) += e740.o obj-$(CONFIG_MACH_E740) += e740.o
......
...@@ -19,10 +19,16 @@ ...@@ -19,10 +19,16 @@
#include <mach/mfp-pxa25x.h> #include <mach/mfp-pxa25x.h>
#include <mach/hardware.h> #include <mach/hardware.h>
#include <mach/udc.h>
#include "generic.h" #include "generic.h"
#include "eseries.h" #include "eseries.h"
static void __init e330_init(void)
{
pxa_set_udc_info(&e7xx_udc_mach_info);
}
MACHINE_START(E330, "Toshiba e330") MACHINE_START(E330, "Toshiba e330")
/* Maintainer: Ian Molton (spyro@f2s.com) */ /* Maintainer: Ian Molton (spyro@f2s.com) */
.phys_io = 0x40000000, .phys_io = 0x40000000,
...@@ -31,6 +37,7 @@ MACHINE_START(E330, "Toshiba e330") ...@@ -31,6 +37,7 @@ MACHINE_START(E330, "Toshiba e330")
.map_io = pxa_map_io, .map_io = pxa_map_io,
.init_irq = pxa25x_init_irq, .init_irq = pxa25x_init_irq,
.fixup = eseries_fixup, .fixup = eseries_fixup,
.init_machine = e330_init,
.timer = &pxa_timer, .timer = &pxa_timer,
MACHINE_END MACHINE_END
...@@ -19,10 +19,16 @@ ...@@ -19,10 +19,16 @@
#include <mach/mfp-pxa25x.h> #include <mach/mfp-pxa25x.h>
#include <mach/hardware.h> #include <mach/hardware.h>
#include <mach/udc.h>
#include "generic.h" #include "generic.h"
#include "eseries.h" #include "eseries.h"
static void __init e350_init(void)
{
pxa_set_udc_info(&e7xx_udc_mach_info);
}
MACHINE_START(E350, "Toshiba e350") MACHINE_START(E350, "Toshiba e350")
/* Maintainer: Ian Molton (spyro@f2s.com) */ /* Maintainer: Ian Molton (spyro@f2s.com) */
.phys_io = 0x40000000, .phys_io = 0x40000000,
...@@ -31,6 +37,7 @@ MACHINE_START(E350, "Toshiba e350") ...@@ -31,6 +37,7 @@ MACHINE_START(E350, "Toshiba e350")
.map_io = pxa_map_io, .map_io = pxa_map_io,
.init_irq = pxa25x_init_irq, .init_irq = pxa25x_init_irq,
.fixup = eseries_fixup, .fixup = eseries_fixup,
.init_machine = e350_init,
.timer = &pxa_timer, .timer = &pxa_timer,
MACHINE_END MACHINE_END
...@@ -22,6 +22,7 @@ ...@@ -22,6 +22,7 @@
#include <mach/hardware.h> #include <mach/hardware.h>
#include <mach/pxafb.h> #include <mach/pxafb.h>
#include <mach/udc.h>
#include "generic.h" #include "generic.h"
#include "eseries.h" #include "eseries.h"
...@@ -76,6 +77,7 @@ static void __init e400_init(void) ...@@ -76,6 +77,7 @@ static void __init e400_init(void)
{ {
pxa2xx_mfp_config(ARRAY_AND_SIZE(e400_pin_config)); pxa2xx_mfp_config(ARRAY_AND_SIZE(e400_pin_config));
set_pxa_fb_info(&e400_pxafb_mach_info); set_pxa_fb_info(&e400_pxafb_mach_info);
pxa_set_udc_info(&e7xx_udc_mach_info);
} }
MACHINE_START(E400, "Toshiba e400") MACHINE_START(E400, "Toshiba e400")
......
...@@ -24,6 +24,7 @@ ...@@ -24,6 +24,7 @@
#include <mach/mfp-pxa25x.h> #include <mach/mfp-pxa25x.h>
#include <mach/hardware.h> #include <mach/hardware.h>
#include <mach/udc.h>
#include "generic.h" #include "generic.h"
#include "eseries.h" #include "eseries.h"
...@@ -151,6 +152,7 @@ static void __init e740_init(void) ...@@ -151,6 +152,7 @@ static void __init e740_init(void)
{ {
pxa2xx_mfp_config(ARRAY_AND_SIZE(e740_pin_config)); pxa2xx_mfp_config(ARRAY_AND_SIZE(e740_pin_config));
platform_add_devices(devices, ARRAY_SIZE(devices)); platform_add_devices(devices, ARRAY_SIZE(devices));
pxa_set_udc_info(&e7xx_udc_mach_info);
} }
MACHINE_START(E740, "Toshiba e740") MACHINE_START(E740, "Toshiba e740")
......
...@@ -24,6 +24,7 @@ ...@@ -24,6 +24,7 @@
#include <mach/mfp-pxa25x.h> #include <mach/mfp-pxa25x.h>
#include <mach/hardware.h> #include <mach/hardware.h>
#include <mach/udc.h>
#include "generic.h" #include "generic.h"
#include "eseries.h" #include "eseries.h"
...@@ -108,6 +109,7 @@ static struct platform_device *devices[] __initdata = { ...@@ -108,6 +109,7 @@ static struct platform_device *devices[] __initdata = {
static void __init e750_init(void) static void __init e750_init(void)
{ {
platform_add_devices(devices, ARRAY_SIZE(devices)); platform_add_devices(devices, ARRAY_SIZE(devices));
pxa_set_udc_info(&e7xx_udc_mach_info);
} }
MACHINE_START(E750, "Toshiba e750") MACHINE_START(E750, "Toshiba e750")
......
...@@ -24,6 +24,8 @@ ...@@ -24,6 +24,8 @@
#include <mach/mfp-pxa25x.h> #include <mach/mfp-pxa25x.h>
#include <mach/hardware.h> #include <mach/hardware.h>
#include <mach/eseries-gpio.h>
#include <mach/udc.h>
#include "generic.h" #include "generic.h"
#include "eseries.h" #include "eseries.h"
...@@ -150,6 +152,14 @@ static struct platform_device e800_fb_device = { ...@@ -150,6 +152,14 @@ static struct platform_device e800_fb_device = {
.resource = e800_fb_resources, .resource = e800_fb_resources,
}; };
/* --------------------------- UDC definitions --------------------------- */
static struct pxa2xx_udc_mach_info e800_udc_mach_info = {
.gpio_vbus = GPIO_E800_USB_DISC,
.gpio_pullup = GPIO_E800_USB_PULLUP,
.gpio_pullup_inverted = 1
};
/* ----------------------------------------------------------------------- */ /* ----------------------------------------------------------------------- */
static struct platform_device *devices[] __initdata = { static struct platform_device *devices[] __initdata = {
...@@ -159,6 +169,7 @@ static struct platform_device *devices[] __initdata = { ...@@ -159,6 +169,7 @@ static struct platform_device *devices[] __initdata = {
static void __init e800_init(void) static void __init e800_init(void)
{ {
platform_add_devices(devices, ARRAY_SIZE(devices)); platform_add_devices(devices, ARRAY_SIZE(devices));
pxa_set_udc_info(&e800_udc_mach_info);
} }
MACHINE_START(E800, "Toshiba e800") MACHINE_START(E800, "Toshiba e800")
......
...@@ -19,6 +19,8 @@ ...@@ -19,6 +19,8 @@
#include <mach/mfp-pxa25x.h> #include <mach/mfp-pxa25x.h>
#include <mach/hardware.h> #include <mach/hardware.h>
#include <mach/eseries-gpio.h>
#include <mach/udc.h>
#include "generic.h" #include "generic.h"
...@@ -35,3 +37,9 @@ void __init eseries_fixup(struct machine_desc *desc, ...@@ -35,3 +37,9 @@ void __init eseries_fixup(struct machine_desc *desc,
mi->bank[0].size = (64*1024*1024); mi->bank[0].size = (64*1024*1024);
} }
struct pxa2xx_udc_mach_info e7xx_udc_mach_info = {
.gpio_vbus = GPIO_E7XX_USB_DISC,
.gpio_pullup = GPIO_E7XX_USB_PULLUP,
.gpio_pullup_inverted = 1
};
void __init eseries_fixup(struct machine_desc *desc, void __init eseries_fixup(struct machine_desc *desc,
struct tag *tags, char **cmdline, struct meminfo *mi); struct tag *tags, char **cmdline, struct meminfo *mi);
extern struct pxa2xx_udc_mach_info e7xx_udc_mach_info;
/*
* UDC functions for the Toshiba e-series PDAs
*
* Copyright (c) Ian Molton 2003
*
* This file is licensed under
* the terms of the GNU General Public License version 2. This program
* is licensed "as is" without any warranty of any kind, whether express
* or implied.
*
*/
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/device.h>
#include <mach/udc.h>
#include <mach/eseries-gpio.h>
#include <mach/hardware.h>
#include <mach/pxa-regs.h>
#include <asm/mach/arch.h>
#include <asm/mach-types.h>
#include <asm/mach/map.h>
#include <asm/domain.h>
/* local PXA generic code */
#include "generic.h"
static struct pxa2xx_udc_mach_info e7xx_udc_mach_info = {
.gpio_vbus = GPIO_E7XX_USB_DISC,
.gpio_pullup = GPIO_E7XX_USB_PULLUP,
.gpio_pullup_inverted = 1
};
static struct pxa2xx_udc_mach_info e800_udc_mach_info = {
.gpio_vbus = GPIO_E800_USB_DISC,
.gpio_pullup = GPIO_E800_USB_PULLUP,
.gpio_pullup_inverted = 1
};
static int __init eseries_udc_init(void)
{
if (machine_is_e330() || machine_is_e350() ||
machine_is_e740() || machine_is_e750() ||
machine_is_e400())
pxa_set_udc_info(&e7xx_udc_mach_info);
else if (machine_is_e800())
pxa_set_udc_info(&e800_udc_mach_info);
return 0;
}
module_init(eseries_udc_init);
MODULE_AUTHOR("Ian Molton <spyro@f2s.com>");
MODULE_DESCRIPTION("eseries UDC support");
MODULE_LICENSE("GPLv2");
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment