blob: 1bd7f740427c6101e814457db68dfbe0b518ce64 [file] [log] [blame]
Ian Molton7dc96412008-08-19 12:14:21 +01001/*
Ian Moltonb1ae1b72008-09-26 13:38:59 +01002 * Hardware definitions for the Toshiba e330 PDAs
Ian Molton7dc96412008-08-19 12:14:21 +01003 *
4 * Copyright (c) 2003 Ian Molton <spyro@f2s.com>
5 *
6 * This file is licensed under
7 * the terms of the GNU General Public License version 2. This program
8 * is licensed "as is" without any warranty of any kind, whether express
9 * or implied.
10 *
11 */
12
13#include <linux/kernel.h>
14#include <linux/init.h>
Ian Moltonb1ae1b72008-09-26 13:38:59 +010015#include <linux/clk.h>
16#include <linux/platform_device.h>
17#include <linux/mfd/tc6387xb.h>
Ian Molton7dc96412008-08-19 12:14:21 +010018
19#include <asm/setup.h>
20#include <asm/mach/arch.h>
21#include <asm/mach-types.h>
22
23#include <mach/mfp-pxa25x.h>
24#include <mach/hardware.h>
Ian Moltonb1ae1b72008-09-26 13:38:59 +010025#include <mach/pxa-regs.h>
26#include <mach/eseries-gpio.h>
Ian Moltonebcce7b2008-08-19 13:34:56 +010027#include <mach/udc.h>
Ian Molton7dc96412008-08-19 12:14:21 +010028
29#include "generic.h"
30#include "eseries.h"
Ian Moltonb1ae1b72008-09-26 13:38:59 +010031#include "clock.h"
32
33/* -------------------- e330 tc6387xb parameters -------------------- */
34
35static struct tc6387xb_platform_data e330_tc6387xb_info = {
36 .enable = &eseries_tmio_enable,
37 .disable = &eseries_tmio_disable,
38 .suspend = &eseries_tmio_suspend,
39 .resume = &eseries_tmio_resume,
40};
41
42static struct platform_device e330_tc6387xb_device = {
43 .name = "tc6387xb",
44 .id = -1,
45 .dev = {
46 .platform_data = &e330_tc6387xb_info,
47 },
48 .num_resources = 2,
49 .resource = eseries_tmio_resources,
50};
51
52/* --------------------------------------------------------------- */
53
54static struct platform_device *devices[] __initdata = {
55 &e330_tc6387xb_device,
56};
Ian Molton7dc96412008-08-19 12:14:21 +010057
Ian Moltonebcce7b2008-08-19 13:34:56 +010058static void __init e330_init(void)
59{
Ian Moltonb1ae1b72008-09-26 13:38:59 +010060 eseries_register_clks();
61 eseries_get_tmio_gpios();
62 platform_add_devices(devices, ARRAY_SIZE(devices));
Ian Moltonebcce7b2008-08-19 13:34:56 +010063 pxa_set_udc_info(&e7xx_udc_mach_info);
64}
65
Ian Molton7dc96412008-08-19 12:14:21 +010066MACHINE_START(E330, "Toshiba e330")
67 /* Maintainer: Ian Molton (spyro@f2s.com) */
68 .phys_io = 0x40000000,
69 .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
70 .boot_params = 0xa0000100,
71 .map_io = pxa_map_io,
72 .init_irq = pxa25x_init_irq,
73 .fixup = eseries_fixup,
Ian Moltonebcce7b2008-08-19 13:34:56 +010074 .init_machine = e330_init,
Ian Molton7dc96412008-08-19 12:14:21 +010075 .timer = &pxa_timer,
76MACHINE_END
77