Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 90915
b: refs/heads/master
c: 92cfeb6
h: refs/heads/master
i:
  90913: 54004c5
  90911: d4fe76f
v: v3
  • Loading branch information
Magnus Damm authored and Paul Mundt committed Apr 18, 2008
1 parent 8813116 commit 4fc4a48
Show file tree
Hide file tree
Showing 2 changed files with 56 additions and 2 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 795e6bf33561ff03e253a6a756d5eb663b4a56bd
refs/heads/master: 92cfeb610d1da059b395501142915fadaa1625bf
56 changes: 55 additions & 1 deletion trunk/arch/sh/boards/renesas/migor/setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,10 @@
#include <linux/init.h>
#include <linux/platform_device.h>
#include <linux/interrupt.h>
#include <linux/input.h>
#include <asm/machvec.h>
#include <asm/io.h>
#include <asm/sh_keysc.h>

/* Address IRQ Size Bus Description
* 0x00000000 64MB 16 NOR Flash (SP29PL256N)
Expand Down Expand Up @@ -40,8 +42,43 @@ static struct platform_device smc91x_eth_device = {
.resource = smc91x_eth_resources,
};

static struct sh_keysc_info sh_keysc_info = {
.mode = SH_KEYSC_MODE_2, /* KEYOUT0->4, KEYIN1->5 */
.scan_timing = 3,
.delay = 5,
.keycodes = {
0, KEY_UP, KEY_DOWN, KEY_LEFT, KEY_RIGHT, KEY_ENTER,
0, KEY_F, KEY_C, KEY_D, KEY_H, KEY_1,
0, KEY_2, KEY_3, KEY_4, KEY_5, KEY_6,
0, KEY_7, KEY_8, KEY_9, KEY_S, KEY_0,
0, KEY_P, KEY_STOP, KEY_REWIND, KEY_PLAY, KEY_FASTFORWARD,
},
};

static struct resource sh_keysc_resources[] = {
[0] = {
.start = 0x044b0000,
.end = 0x044b000f,
.flags = IORESOURCE_MEM,
},
[1] = {
.start = 79,
.flags = IORESOURCE_IRQ,
},
};

static struct platform_device sh_keysc_device = {
.name = "sh_keysc",
.num_resources = ARRAY_SIZE(sh_keysc_resources),
.resource = sh_keysc_resources,
.dev = {
.platform_data = &sh_keysc_info,
},
};

static struct platform_device *migor_devices[] __initdata = {
&smc91x_eth_device,
&sh_keysc_device,
};

static int __init migor_devices_setup(void)
Expand All @@ -50,9 +87,26 @@ static int __init migor_devices_setup(void)
}
__initcall(migor_devices_setup);

#define PORT_PJCR 0xA4050110UL
#define PORT_PSELA 0xA405014EUL
#define PORT_PYCR 0xA405014AUL
#define PORT_PZCR 0xA405014CUL
#define PORT_HIZCRA 0xA4050158UL
#define PORT_HIZCRC 0xA405015CUL
#define MSTPCR2 0xA4150038UL

static void __init migor_setup(char **cmdline_p)
{
ctrl_outw(0x1000, 0xa4050110); /* Enable IRQ0 in PJCR */
/* SMC91C111 - Enable IRQ0 */
ctrl_outw(ctrl_inw(PORT_PJCR) & ~0x0003, PORT_PJCR);

/* KEYSC */
ctrl_outw(ctrl_inw(PORT_PYCR) & ~0x0fff, PORT_PYCR);
ctrl_outw(ctrl_inw(PORT_PZCR) & ~0x0ff0, PORT_PZCR);
ctrl_outw(ctrl_inw(PORT_PSELA) & ~0x4100, PORT_PSELA);
ctrl_outw(ctrl_inw(PORT_HIZCRA) & ~0x4000, PORT_HIZCRA);
ctrl_outw(ctrl_inw(PORT_HIZCRC) & ~0xc000, PORT_HIZCRC);
ctrl_outl(ctrl_inl(MSTPCR2) & ~0x00004000, MSTPCR2);
}

static struct sh_machine_vector mv_migor __initmv = {
Expand Down

0 comments on commit 4fc4a48

Please sign in to comment.