/* * Initialize the board */ static void __init highlander_setup(char **cmdline_p) { u16 ver = ctrl_inw(PA_VERREG); int i; printk(KERN_INFO "Renesas Solutions Highlander %s support.\n", mach_is_r7780rp() ? "R7780RP-1" : mach_is_r7780mp() ? "R7780MP" : "R7785RP"); printk(KERN_INFO "Board version: %d (revision %d), " "FPGA version: %d (revision %d)\n", (ver >> 12) & 0xf, (ver >> 8) & 0xf, (ver >> 4) & 0xf, ver & 0xf); /* * Enable the important clocks right away.. */ for (i = 0; i < ARRAY_SIZE(r7780rp_clocks); i++) { struct clk *clk = r7780rp_clocks[i]; clk_register(clk); clk_enable(clk); } ctrl_outw(0x0000, PA_OBLED); /* Clear LED. */ if (mach_is_r7780rp()) ctrl_outw(0x0001, PA_SDPOW); /* SD Power ON */ ctrl_outw(ctrl_inw(PA_IVDRCTL) | 0x01, PA_IVDRCTL); /* Si13112 */ pm_power_off = r7780rp_power_off; }
int __init pcibios_map_platform_irq(struct pci_dev *pdev, u8 slot, u8 pin) { if (mach_is_r7780rp()) return r7780rp_irq_tab[slot]; if (mach_is_r7780mp() || mach_is_r7785rp()) return r7780mp_irq_tab[slot]; printk(KERN_ERR "PCI: Bad IRQ mapping " "request for slot %d, func %d\n", slot, pin-1); return -1; }
static void __init highlander_setup(char **cmdline_p) { u16 ver = __raw_readw(PA_VERREG); int i; printk(KERN_INFO "Renesas Solutions Highlander %s support.\n", mach_is_r7780rp() ? "R7780RP-1" : mach_is_r7780mp() ? "R7780MP" : "R7785RP"); printk(KERN_INFO "Board version: %d (revision %d), " "FPGA version: %d (revision %d)\n", (ver >> 12) & 0xf, (ver >> 8) & 0xf, (ver >> 4) & 0xf, ver & 0xf); highlander_plat_pinmux_setup(); /* */ for (i = 0; i < ARRAY_SIZE(r7780rp_clocks); i++) { struct clk *clk = r7780rp_clocks[i]; clk_register(clk); clk_enable(clk); } clkdev_add_table(lookups, ARRAY_SIZE(lookups)); __raw_writew(0x0000, PA_OBLED); /* */ if (mach_is_r7780rp()) __raw_writew(0x0001, PA_SDPOW); /* */ __raw_writew(__raw_readw(PA_IVDRCTL) | 0x01, PA_IVDRCTL); /* */ pm_power_off = r7780rp_power_off; }