-
Notifications
You must be signed in to change notification settings - Fork 115
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (110 commits) sh: i2c-sh7760: Replase from ctrl_* to __raw_* sh: clkfwk: Shuffle around to match the intc split up. sh: clkfwk: modify for_each_frequency end condition sh: fix clk_get() error handling sh: clkfwk: Fix fault in frequency iterator. sh: clkfwk: Add a helper for rate rounding by divisor ranges. sh: clkfwk: Abstract rate rounding helper. sh: clkfwk: support clock remapping. sh: pci: Convert to upper/lower_32_bits() helpers. sh: mach-sdk7786: Add support for the FPGA SRAM. sh: Provide a generic SRAM pool for tiny memories. sh: pci: Support secondary FPGA-driven PCIe clocks on SDK7786. sh: pci: Support slot 4 routing on SDK7786. sh: Fix up PMB locking. sh: mach-sdk7786: Add support for fpga gpios. sh: use pr_fmt for clock framework, too. sh: remove name and id from struct clk sh: free-without-alloc fix for sh_mobile_lcdcfb sh: perf: Set up perf_max_events. sh: perf: Support SH-X3 hardware counters. ... Fix up trivial conflicts (perf_max_events got removed) in arch/sh/kernel/perf_event.c
- Loading branch information
Showing
168 changed files
with
7,265 additions
and
3,056 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
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.