Skip to content

Commit

Permalink
sh: mach-sdk7786: mode pins support.
Browse files Browse the repository at this point in the history
This wires up the mode pins support on the SDK7786. The pins are
standard SH7786 pins, and all are fixed in software. Needed for the
clock framework, PCIe, and so forth.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
  • Loading branch information
Paul Mundt committed Jan 15, 2010
1 parent f0cb773 commit 6f832e8
Showing 1 changed file with 18 additions and 0 deletions.
18 changes: 18 additions & 0 deletions arch/sh/boards/mach-sdk7786/setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -218,6 +218,23 @@ static void __init init_sdk7786_IRQ(void)
plat_irq_setup_pins(IRQ_MODE_IRL3210_MASK);
}

#define MODSWR_REGS 0x07fff830

static int sdk7786_mode_pins(void)
{
void __iomem *modswr;
int pin_states;

modswr = ioremap_nocache(MODSWR_REGS, SZ_16);
if (!modswr)
return -ENXIO;

pin_states = ioread16(modswr);
iounmap(modswr);

return pin_states;
}

/* Initialize the board */
static void __init sdk7786_setup(char **cmdline_p)
{
Expand All @@ -230,5 +247,6 @@ static void __init sdk7786_setup(char **cmdline_p)
static struct sh_machine_vector mv_sdk7786 __initmv = {
.mv_name = "SDK7786",
.mv_setup = sdk7786_setup,
.mv_mode_pins = sdk7786_mode_pins,
.mv_init_irq = init_sdk7786_IRQ,
};

0 comments on commit 6f832e8

Please sign in to comment.