aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh/boards/mach-se
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2009-12-16 13:29:52 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2009-12-16 13:29:52 -0500
commit9b2831704e9250269032e3b8c2ffdfca09fd2851 (patch)
treef0707f9cb808371e185f18268a14213a2e4fc392 /arch/sh/boards/mach-se
parent337e4a1ab4d736b8c39a4c3a233ac21f1a6c036f (diff)
parent204fc390d86f7087201ec4a146bc07483186c35b (diff)
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: (33 commits) sh: Fix test of unsigned in se7722_irq_demux() sh: mach-ecovec24: Add FSI sound support sh: mach-ecovec24: Add mt9t112 camera support sh: mach-ecovec24: Add tw9910 support sh: MSIOF/mmc_spi platform data for the Ecovec24 board sh: ms7724se: Add ak4642 support sh: Fix up FPU build for SH5 sh: Remove old early serial console code V2 sh: sh5 scif pdata (sh5-101/sh5-103) sh: sh4a scif pdata (sh7757/sh7763/sh7770/sh7780/sh7785/sh7786/x3) sh: sh4a scif pdata (sh7343/sh7366/sh7722/sh7723/sh7724) sh: sh4 scif pdata (sh7750/sh7760/sh4-202) sh: sh3 scif pdata (sh7705/sh770x/sh7710/sh7720) sh: sh2a scif pdata (sh7201/sh7203/sh7206/mxg) sh: sh2 scif pdata (sh7616) sh-sci: Extend sh-sci driver with early console V2 sh: Stub in P3 ioremap support for nommu parts. sh: wire up vmallocinfo support in ioremap() implementations. sh: Make the unaligned trap handler always obey notification levels. sh: Couple kernel and user write page perm bits for CONFIG_X2TLB ...
Diffstat (limited to 'arch/sh/boards/mach-se')
-rw-r--r--arch/sh/boards/mach-se/7722/irq.c7
-rw-r--r--arch/sh/boards/mach-se/7724/setup.c17
2 files changed, 21 insertions, 3 deletions
diff --git a/arch/sh/boards/mach-se/7722/irq.c b/arch/sh/boards/mach-se/7722/irq.c
index 4eb31acfafef..b221b6842b0d 100644
--- a/arch/sh/boards/mach-se/7722/irq.c
+++ b/arch/sh/boards/mach-se/7722/irq.c
@@ -57,15 +57,16 @@ static void se7722_irq_demux(unsigned int irq, struct irq_desc *desc)
57 */ 57 */
58void __init init_se7722_IRQ(void) 58void __init init_se7722_IRQ(void)
59{ 59{
60 int i; 60 int i, irq;
61 61
62 ctrl_outw(0, IRQ01_MASK); /* disable all irqs */ 62 ctrl_outw(0, IRQ01_MASK); /* disable all irqs */
63 ctrl_outw(0x2000, 0xb03fffec); /* mrshpc irq enable */ 63 ctrl_outw(0x2000, 0xb03fffec); /* mrshpc irq enable */
64 64
65 for (i = 0; i < SE7722_FPGA_IRQ_NR; i++) { 65 for (i = 0; i < SE7722_FPGA_IRQ_NR; i++) {
66 se7722_fpga_irq[i] = create_irq(); 66 irq = create_irq();
67 if (se7722_fpga_irq[i] < 0) 67 if (irq < 0)
68 return; 68 return;
69 se7722_fpga_irq[i] = irq;
69 70
70 set_irq_chip_and_handler_name(se7722_fpga_irq[i], 71 set_irq_chip_and_handler_name(se7722_fpga_irq[i],
71 &se7722_irq_chip, 72 &se7722_irq_chip,
diff --git a/arch/sh/boards/mach-se/7724/setup.c b/arch/sh/boards/mach-se/7724/setup.c
index 4b0f0c0dc2b8..5d0f70b46c97 100644
--- a/arch/sh/boards/mach-se/7724/setup.c
+++ b/arch/sh/boards/mach-se/7724/setup.c
@@ -514,6 +514,13 @@ static struct platform_device *ms7724se_devices[] __initdata = {
514 &sdhi1_cn8_device, 514 &sdhi1_cn8_device,
515}; 515};
516 516
517/* I2C device */
518static struct i2c_board_info i2c0_devices[] = {
519 {
520 I2C_BOARD_INFO("ak4642", 0x12),
521 },
522};
523
517#define EEPROM_OP 0xBA206000 524#define EEPROM_OP 0xBA206000
518#define EEPROM_ADR 0xBA206004 525#define EEPROM_ADR 0xBA206004
519#define EEPROM_DATA 0xBA20600C 526#define EEPROM_DATA 0xBA20600C
@@ -575,6 +582,16 @@ extern char ms7724se_sdram_enter_end;
575extern char ms7724se_sdram_leave_start; 582extern char ms7724se_sdram_leave_start;
576extern char ms7724se_sdram_leave_end; 583extern char ms7724se_sdram_leave_end;
577 584
585
586static int __init arch_setup(void)
587{
588 /* enable I2C device */
589 i2c_register_board_info(0, i2c0_devices,
590 ARRAY_SIZE(i2c0_devices));
591 return 0;
592}
593arch_initcall(arch_setup);
594
578static int __init devices_setup(void) 595static int __init devices_setup(void)
579{ 596{
580 u16 sw = ctrl_inw(SW4140); /* select camera, monitor */ 597 u16 sw = ctrl_inw(SW4140); /* select camera, monitor */