예제 #1
0
파일: board.c 프로젝트: bmourit/barebox
static int tqma6x_env_init(void)
{
	void *flash_header_start;
	void *flash_header_end;

	if (of_machine_is_compatible("tq,tqma6s")) {
		flash_header_start = (void *)flash_header_tqma6dl_start;
		flash_header_end = (void *)flash_header_tqma6dl_end;
	} else if (of_machine_is_compatible("tq,tqma6q")) {
		flash_header_start = (void *)flash_header_tqma6q_start;
		flash_header_end = (void *)flash_header_tqma6q_end;
	} else {
		return 0;
	}

	devfs_add_partition("m25p0", 0, SZ_512K, DEVFS_PARTITION_FIXED, "m25p0.barebox");

	imx6_bbu_internal_spi_i2c_register_handler("spiflash", "/dev/m25p0.barebox",
		BBU_HANDLER_FLAG_DEFAULT, (void *)flash_header_start,
		flash_header_end - flash_header_start, 0);
	imx6_bbu_internal_mmc_register_handler("emmc", "/dev/mmc2.boot0",
		0, (void *)flash_header_start, flash_header_end - flash_header_start, 0);

	device_detect_by_name("mmc2");

	default_environment_path_set("/dev/mmc2.boot1");

	return 0;
}
예제 #2
0
static int cfa10036_devices_init(void)
{
	int i;

	/* initizalize muxing */
	for (i = 0; i < ARRAY_SIZE(cfa10036_pads); i++)
		imx_gpio_mode(cfa10036_pads[i]);

	armlinux_set_architecture(MACH_TYPE_CFA10036);

	add_generic_device("mxs_mci", 0, NULL, IMX_SSP0_BASE, SZ_8K,
			   IORESOURCE_MEM, &mci_pdata);

	add_generic_device("ocotp", 0, NULL, IMX_OCOTP_BASE, SZ_8K,
			   IORESOURCE_MEM, NULL);

	i2c_register_board_info(0, cfa10036_i2c_devices, ARRAY_SIZE(cfa10036_i2c_devices));
	add_generic_device_res("i2c-gpio", 0, NULL, 0, &i2c_gpio_pdata);

	cfa10036_detect_hw();

	default_environment_path_set("/dev/disk0.1");

	return 0;
}
예제 #3
0
파일: barebox.c 프로젝트: alllecs/barebox
static int environment_probe(struct device_d *dev)
{
	char *path;
	int ret;

	ret = of_find_path(dev->device_node, "device-path", &path, OF_FIND_PATH_FLAGS_BB);
	if (ret)
		return ret;

	dev_info(dev, "setting default environment path to %s\n", path);

	default_environment_path_set(path);

	return 0;
}
예제 #4
0
static int imx23_olinuxino_devices_init(void)
{
	armlinux_set_architecture(MACH_TYPE_IMX233_OLINUXINO);
	defaultenv_append_directory(defaultenv_imx233_olinuxino);

	led_gpio_register(&led1);
	led_set_trigger(LED_TRIGGER_HEARTBEAT, &led1.led);

	add_generic_device("mxs_mci", DEVICE_ID_DYNAMIC, NULL, IMX_SSP1_BASE,
					0x8000, IORESOURCE_MEM, &mci_pdata);

	olinuxino_init_usb();

	default_environment_path_set("/dev/disk0.1");

	return 0;
}
예제 #5
0
static int imx23_olinuxino_devices_init(void)
{
	int i;

	/* initizalize gpios */
	for (i = 0; i < ARRAY_SIZE(pad_setup); i++)
		imx_gpio_mode(pad_setup[i]);

	armlinux_set_architecture(MACH_TYPE_IMX233_OLINUXINO);

	add_generic_device("mxs_mci", DEVICE_ID_DYNAMIC, NULL, IMX_SSP1_BASE,
					0x8000, IORESOURCE_MEM, &mci_pdata);

	olinuxino_init_usb();

	default_environment_path_set("/dev/disk0.1");

	return 0;
}
예제 #6
0
파일: board.c 프로젝트: jiangxilong/barebox
static int tqma6x_env_init(void)
{
	if (!of_machine_is_compatible("tq,mba6x"))
		return 0;

	devfs_add_partition("m25p0", 0, SZ_512K, DEVFS_PARTITION_FIXED, "m25p0.barebox");

	imx6_bbu_internal_spi_i2c_register_handler("spiflash", "/dev/m25p0.barebox",
		BBU_HANDLER_FLAG_DEFAULT);
	imx6_bbu_internal_mmc_register_handler("emmc", "/dev/mmc2.boot0", 0);

	device_detect_by_name("mmc2");

	default_environment_path_set("/dev/mmc2.boot1");

	barebox_set_hostname("mba6x");

	return 0;
}
예제 #7
0
static int omap_env_init(void)
{
	struct stat s;
	char *partname;
	const char *diskdev;
	int ret;

	if (bootsource_get() != BOOTSOURCE_MMC)
		return 0;

	if (omap_bootmmc_dev)
		diskdev = omap_bootmmc_dev;
	else
		diskdev = "disk0";

	device_detect_by_name(diskdev);

	partname = asprintf("/dev/%s.0", diskdev);

	ret = stat(partname, &s);

	free(partname);

	if (ret) {
		printf("no %s. using default env\n", diskdev);
		return 0;
	}

	mkdir("/boot", 0666);
	ret = mount(diskdev, "fat", "/boot", NULL);
	if (ret) {
		printf("failed to mount %s\n", diskdev);
		return 0;
	}

	default_environment_path_set("/boot/barebox.env");

	return 0;
}