void deploy()

in shakti/bsp/utils/uploader/micron/deploy.c [44:119]


void deploy()
{
	int ar_read,dum_data,i;
	int write_address = 0x0;
	int size_byte=0;
	int *config_string = (const int*)0x80000000;
	int* read_data = (int*)(0x90000000);

	qspi_init(27,0,3,1,15,1);
	waitfor(400);

	if(flashMemInit())
		return -1;

	status=flashReadStatusRegister();

	printf("\t qspi status register %08x\n",status);

	if(flashWriteVolatileConfigReg(0x40404040)){
		printf("\t Volatile Configuration Register not Set -- Diagnose\n");
		return -1;
	}

	status = wait_for_wip();
	printf("\t qspi write  status register %08x\n",status);

	for(i=0;i<= write_data[0];i+=4)
	{
		if(i%ERASE==0)
		{
			eraseSector(0x21, write_address);
		}

		printf("%x %x %x %x %d\n", write_data[i], write_data[i+1],
		       write_data[i+2], write_data[i+3], write_address);

		pageProgramQuadSPI(write_data[i], write_data[i+1],
				   write_data[i+2], write_data[i+3],
				   write_address);
		write_address+=16;
	}

#if DEBUG
	waitfor(400);

	flashEnable4ByteAddressingMode();
	flashQuadSPIDDRXip(0x000000, config_string);

	for(i=0;i<write_data[0];++i)
	{
		dum_data = get_qspi_shakti(read_data);
		waitfor(100);

		printf("\n dum_data  %x \n",dum_data);

		*config_string = dum_data;

		config_string++;

		read_data++;

		waitfor(100);

		reset_interrupt_flags();

		waitfor(10);
	}
	config_string++;

	micron_disable_xip_volatile(0,0);
	waitfor(400);
	flashMemInit();
#endif

	asm volatile ("ebreak");
}