예제 #1
0
static int pcm051_devices_init(void)
{
	enable_mmc0_pin_mux();

	am33xx_add_mmc0(NULL);

	armlinux_set_bootparams((void *)(AM33XX_DRAM_ADDR_SPACE_START + 0x100));
	armlinux_set_architecture(MACH_TYPE_PCM051);

	return 0;
}
static int pcm051_devices_init(void)
{
    pcm051_enable_mmc0_pin_mux();

    am33xx_add_mmc0(NULL);

    pcm051_spi_init();
    pcm051_eth_init();
    pcm051_i2c_init();
    pcm051_nand_init();

    pcm051_enable_user_led_pin_mux();
    pcm051_enable_user_btn_pin_mux();

    switch (bootsource_get()) {
    case BOOTSOURCE_SPI:
        devfs_add_partition("m25p0", 0x00000, SZ_128K,
                            DEVFS_PARTITION_FIXED, "xload");
        devfs_add_partition("m25p0", SZ_128K, SZ_512K,
                            DEVFS_PARTITION_FIXED, "self0");
        devfs_add_partition("m25p0", SZ_128K + SZ_512K, SZ_128K,
                            DEVFS_PARTITION_FIXED, "env0");
        break;
    default:
        devfs_add_partition("nand0", 0x00000, SZ_128K,
                            DEVFS_PARTITION_FIXED, "xload_raw");
        dev_add_bb_dev("xload_raw", "xload");
        devfs_add_partition("nand0", SZ_512K, SZ_512K,
                            DEVFS_PARTITION_FIXED, "self_raw");
        dev_add_bb_dev("self_raw", "self0");
        devfs_add_partition("nand0", SZ_512K + SZ_512K, SZ_128K,
                            DEVFS_PARTITION_FIXED, "env_raw");
        dev_add_bb_dev("env_raw", "env0");
        break;
    }

    omap_set_barebox_part(&pcm051_barebox_part);
    armlinux_set_bootparams((void *)(AM33XX_DRAM_ADDR_SPACE_START + 0x100));
    armlinux_set_architecture(MACH_TYPE_PCM051);

    am33xx_bbu_spi_nor_mlo_register_handler("MLO.spi", "/dev/m25p0.xload");

    return 0;
}