Example #1
0
static int physom_devices_init(void)
{
	if (!of_machine_is_compatible("phytec,am335x-som"))
		return 0;

	switch (bootsource_get()) {
	case BOOTSOURCE_SPI:
		of_device_enable_path("/chosen/environment-spi");
		break;
	case BOOTSOURCE_MMC:
		if (bootsource_get_instance() == 0)
			omap_set_bootmmc_devname("mmc0");
		else
			omap_set_bootmmc_devname("mmc1");
		break;
	default:
		of_device_enable_path("/chosen/environment-nand");
		break;
	}

	omap_set_barebox_part(&physom_barebox_part);
	defaultenv_append_directory(defaultenv_physom_am335x);

	/* Special module set up */
	if (of_machine_is_compatible("phytec,phycore-am335x-som")) {
		armlinux_set_architecture(MACH_TYPE_PCM051);
		barebox_set_hostname("pcm051");
	}

	if (of_machine_is_compatible("phytec,phyflex-am335x-som")) {
		armlinux_set_architecture(MACH_TYPE_PFLA03);
		am33xx_select_rmii2_crs_dv();
		barebox_set_hostname("pfla03");
	}

	if (of_machine_is_compatible("phytec,phycard-am335x-som")) {
		armlinux_set_architecture(MACH_TYPE_PCAAXS1);
		barebox_set_hostname("pcaaxs1");
	}

	/* Register update handler */
	am33xx_bbu_spi_nor_mlo_register_handler("MLO.spi", "/dev/m25p0.xload");
	am33xx_bbu_spi_nor_register_handler("spi", "/dev/m25p0.barebox");
	am33xx_bbu_nand_xloadslots_register_handler("MLO.nand",
		xloadslots, ARRAY_SIZE(xloadslots));
	am33xx_bbu_nand_slots_register_handler("nand", nandslots,
				ARRAY_SIZE(nandslots));

	if (IS_ENABLED(CONFIG_SHELL_NONE))
		return am33xx_of_register_bootdevice();

	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;
}
Example #3
0
static int pcm051_devices_init(void)
{
	if (!of_machine_is_compatible("phytec,pcm051"))
		return 0;

	switch (bootsource_get()) {
	case BOOTSOURCE_SPI:
		of_device_enable_path("/chosen/environment-spi");
		break;
	case BOOTSOURCE_MMC:
		omap_set_bootmmc_devname("mmc0");
		break;
	default:
		of_device_enable_path("/chosen/environment-nand");
		break;
	}

	omap_set_barebox_part(&pcm051_barebox_part);
	armlinux_set_architecture(MACH_TYPE_PCM051);

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

	return 0;
}