예제 #1
0
파일: spl_boot.c 프로젝트: BWhitten/u-boot
void mxs_common_spl_init(const uint32_t arg, const uint32_t *resptr,
			 const iomux_cfg_t *iomux_setup,
			 const unsigned int iomux_size)
{
	struct mxs_spl_data *data = MXS_SPL_DATA;
	uint8_t bootmode = mxs_get_bootmode_index();
	gd = &gdata;

	mxs_spl_fixup_vectors();

	mxs_iomux_setup_multiple_pads(iomux_setup, iomux_size);

	mxs_spl_console_init();
	debug("SPL: Serial Console Initialised\n");

	mxs_power_init();

	mxs_mem_init();
	data->mem_dram_size = mxs_mem_get_size();

	data->boot_mode_idx = bootmode;

	mxs_power_wait_pswitch();

	if (mxs_boot_modes[data->boot_mode_idx].boot_pads == MXS_BM_JTAG) {
		debug("SPL: Waiting for JTAG user\n");
		asm volatile ("x: b x");
	}
예제 #2
0
void mxs_common_spl_init(const iomux_cfg_t *iomux_setup,
			const unsigned int iomux_size)
{
	struct mxs_spl_data *data = (struct mxs_spl_data *)
		((CONFIG_SYS_TEXT_BASE - sizeof(struct mxs_spl_data)) & ~0xf);
	uint8_t bootmode = mxs_get_bootmode_index();

	mxs_iomux_setup_multiple_pads(iomux_setup, iomux_size);
	mxs_power_init();

	mxs_mem_init();
	data->mem_dram_size = mxs_mem_get_size();

	data->boot_mode_idx = bootmode;

	mxs_power_wait_pswitch();
}