示例#1
0
文件: setup.c 项目: 274914765/C
/*
 * 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;
}
示例#2
0
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;
}
示例#3
0
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;
}