-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
yaml --- r: 216059 b: refs/heads/master c: 3a59826 h: refs/heads/master i: 216057: dc69ba4 216055: 2ced167 v: v3
- Loading branch information
Hitoshi Mitake
authored and
Paul Mundt
committed
Jun 21, 2010
1 parent
17303e6
commit 8b90103
Showing
8 changed files
with
1,634 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,2 @@ | ||
--- | ||
refs/heads/master: dcac0d982777e75e022390d80019f7aeb2ec91f9 | ||
refs/heads/master: 3a598264436e94c410c413088a7873fcad33616c |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,133 @@ | ||
/* | ||
* SH-2007 board support. | ||
* | ||
* Copyright (C) 2003, 2004 SUGIOKA Toshinobu | ||
* Copyright (C) 2010 Hitoshi Mitake <mitake@dcl.info.waseda.ac.jp> | ||
*/ | ||
#include <linux/init.h> | ||
#include <linux/irq.h> | ||
#include <linux/smsc911x.h> | ||
#include <linux/platform_device.h> | ||
#include <linux/ata_platform.h> | ||
#include <linux/io.h> | ||
#include <asm/machvec.h> | ||
#include <mach/sh2007.h> | ||
|
||
struct smsc911x_platform_config smc911x_info = { | ||
.flags = SMSC911X_USE_32BIT, | ||
.irq_polarity = SMSC911X_IRQ_POLARITY_ACTIVE_LOW, | ||
.irq_type = SMSC911X_IRQ_TYPE_PUSH_PULL, | ||
}; | ||
|
||
static struct resource smsc9118_0_resources[] = { | ||
[0] = { | ||
.start = SMC0_BASE, | ||
.end = SMC0_BASE + 0xff, | ||
.flags = IORESOURCE_MEM, | ||
}, | ||
[1] = { | ||
.start = evt2irq(0x240), | ||
.end = evt2irq(0x240), | ||
.flags = IORESOURCE_IRQ, | ||
} | ||
}; | ||
|
||
static struct resource smsc9118_1_resources[] = { | ||
[0] = { | ||
.start = SMC1_BASE, | ||
.end = SMC1_BASE + 0xff, | ||
.flags = IORESOURCE_MEM, | ||
}, | ||
[1] = { | ||
.start = evt2irq(0x280), | ||
.end = evt2irq(0x280), | ||
.flags = IORESOURCE_IRQ, | ||
} | ||
}; | ||
|
||
static struct platform_device smsc9118_0_device = { | ||
.name = "smsc911x", | ||
.id = 0, | ||
.num_resources = ARRAY_SIZE(smsc9118_0_resources), | ||
.resource = smsc9118_0_resources, | ||
.dev = { | ||
.platform_data = &smc911x_info, | ||
}, | ||
}; | ||
|
||
static struct platform_device smsc9118_1_device = { | ||
.name = "smsc911x", | ||
.id = 1, | ||
.num_resources = ARRAY_SIZE(smsc9118_1_resources), | ||
.resource = smsc9118_1_resources, | ||
.dev = { | ||
.platform_data = &smc911x_info, | ||
}, | ||
}; | ||
|
||
static struct resource cf_resources[] = { | ||
[0] = { | ||
.start = CF_BASE + CF_OFFSET, | ||
.end = CF_BASE + CF_OFFSET + 0x0f, | ||
.flags = IORESOURCE_MEM, | ||
}, | ||
[1] = { | ||
.start = CF_BASE + CF_OFFSET + 0x206, | ||
.end = CF_BASE + CF_OFFSET + 0x20f, | ||
.flags = IORESOURCE_MEM, | ||
}, | ||
[2] = { | ||
.start = evt2irq(0x2c0), | ||
.end = evt2irq(0x2c0), | ||
.flags = IORESOURCE_IRQ, | ||
}, | ||
}; | ||
|
||
static struct platform_device cf_device = { | ||
.name = "pata_platform", | ||
.id = 0, | ||
.num_resources = ARRAY_SIZE(cf_resources), | ||
.resource = cf_resources, | ||
}; | ||
|
||
static struct platform_device *sh2007_devices[] __initdata = { | ||
&smsc9118_0_device, | ||
&smsc9118_1_device, | ||
&cf_device, | ||
}; | ||
|
||
static int __init sh2007_io_init(void) | ||
{ | ||
platform_add_devices(sh2007_devices, ARRAY_SIZE(sh2007_devices)); | ||
return 0; | ||
} | ||
subsys_initcall(sh2007_io_init); | ||
|
||
static void __init sh2007_init_irq(void) | ||
{ | ||
plat_irq_setup_pins(IRQ_MODE_IRQ); | ||
} | ||
|
||
/* | ||
* Initialize the board | ||
*/ | ||
static void __init sh2007_setup(char **cmdline_p) | ||
{ | ||
printk(KERN_INFO "SH-2007 Setup..."); | ||
|
||
/* setup wait control registers for area 5 */ | ||
__raw_writel(CS5BCR_D, CS5BCR); | ||
__raw_writel(CS5WCR_D, CS5WCR); | ||
__raw_writel(CS5PCR_D, CS5PCR); | ||
|
||
printk(KERN_INFO " done.\n"); | ||
} | ||
|
||
/* | ||
* The Machine Vector | ||
*/ | ||
struct sh_machine_vector mv_sh2007 __initmv = { | ||
.mv_setup = sh2007_setup, | ||
.mv_name = "sh2007", | ||
.mv_init_irq = sh2007_init_irq, | ||
}; |
Oops, something went wrong.