Пример #1
0
uint32 CGEN_PLL0_get_clk(uint32 inp_clk)
{
	uint32 out_clk = inp_clk;
	clkgen_cg_pll0_cfg_t	pll0;
	clkgen_cg_clocks_cfg_t	clks;

	clks.word = invl(CGEN_CLOCKS_CFG_ADDR);
	pll0.word = invl(PLL_CFG_ADDR(pll0));

	if (clks.bits.pll0_byp == PLL_IS_USED)
		out_clk = CGEN_PLL_get_clk(pll0, inp_clk);

	return (out_clk);
}
Пример #2
0
void CGEN_PLL3_init(uint8 pll3_mode)
{
	clkgen_cg_pll0_cfg_t	pll3 = {0};
	clkgen_cg_clocks_cfg_t	clks;

	clks.word = invl(CGEN_CLOCKS_CFG_ADDR);

	if (clks.bits.pll3_byp == PLL_IS_USED)
	{
		// PLL is in use, first put it in bypass
		clks.bits.pll3_byp		= PLL_IS_BYPASSED;
		clks.bits.pll3_byp_we	= WRITE_ENABLE;
		CGEN_clks_update(clks.word);
	}
	
	pll3.bits.pre  = pll3_cfg_param_array[pll3_mode].PRE;
	pll3.bits.mul  = pll3_cfg_param_array[pll3_mode].MUL;
	pll3.bits.post = pll3_cfg_param_array[pll3_mode].POST;
	pll3.bits.bs   = pll3_cfg_param_array[pll3_mode].BAND;
	pll3.bits.pd   = CGEN_PLL_POWER_DOWN;

	outvl(PLL_CFG_ADDR(pll3), pll3.word);
	PLATFORM_write_buffer_drain();
	CGEN_COUNT_DELAY(CGEN_MIN_DELAY_COUNT);

	pll3.bits.pd   = CGEN_PLL_ENABLE;
	outvl(PLL_CFG_ADDR(pll3), pll3.word);
	PLATFORM_write_buffer_drain();
	CGEN_COUNT_DELAY(CGEN_MIN_DELAY_COUNT);

	clks.bits.pll3_byp		= PLL_IS_USED;
	clks.bits.pll3_byp_we	= WRITE_ENABLE;
	CGEN_clks_update(clks.word);
}
Пример #3
0
void CGEN_PLL0_bypass(int use_bypass)
{
	clkgen_cg_clocks_cfg_t clks = { 0 };
	clks.word = invl(CGEN_CLOCKS_CFG_ADDR);

	clks.bits.pll0_byp = use_bypass ? PLL_IS_BYPASSED : PLL_IS_USED;
	clks.bits.pll0_byp_we = WRITE_ENABLE;
	CGEN_clks_update(clks.word);
}
Пример #4
0
static GEN
gen_Z2x_Dixon(GEN F, GEN V, long N, void *E, GEN lin(void *E, GEN F, GEN d, long N), GEN invl(void *E, GEN d))
{
  pari_sp av = avma;
  long N2, M;
  GEN VN2, V2, VM, bil;
  ulong q = 1UL<<N;
  if (N == 1) return invl(E, V);
  V = Flx_red(V, q);
  N2 = (N + 1)>>1; M = N - N2;
  F = FlxT_red(F, q);
  VN2 = gen_Z2x_Dixon(F, V, N2, E, lin, invl);
  bil = lin(E, F, VN2, N);
  V2 = Z2x_rshift(Flx_sub(V, bil, q), N2);
  VM = gen_Z2x_Dixon(F, V2, M, E, lin, invl);
  return gerepileupto(av, Flx_add(VN2, Flx_Fl_mul(VM, 1UL<<N2, q), q));
}
Пример #5
0
uint8 CGEN_is_chip_revision(uint8 rev)
{
	return (((uint8) invl(clkgen_if_MODULE_ADDR+clkgen_if_cg_fuse3_OFFSET)) == rev);
}
Пример #6
0
uint8 CGEN_get_chip_revision(void)
{
	return ((uint8) invl(clkgen_if_MODULE_ADDR+clkgen_if_cg_fuse3_OFFSET));
}
Пример #7
0
void work(int slaveSocket)
{
	/* How recieved messages will appear:

				POST <sp> /<script>?{<var>=<val>&}*{<var>=<val>}<sp> HTTP/1.0 <crlf>
   				{<Other Header Information> <crlf>}*
    			<crlf>
	
	//Current:
		crev: (create event)
	GET<sp>/crev/sport/location/date/time/summary/user/wantedskill/<sp>HTTP/1.0 <crlf>
	
		crus: (create user)
	GET<sp>/crus/NAME/ALIAS/AGE/GENDER/PASSWORD/<sp>HTTP/1.0 <crlf>

		upus: (update user)
	GET<sp>/upus/KEY/PASS/NAME/ALIAS/AGE/GENDER/DESC/<sp>HTTP/1.0 <crlf>

		upev: (update event)
	GET<sp>/upev/KEY/PASS/EVKEY/SPORT/LOC/DATE/TIME/SUMM/SKILL/<sp>HTTP/1.0 <crlf>

		deev: (delte event)
	GET<sp>/deev/KEY/PASS/EVKEY/<sp>HTTP/1.0 <crlf>

		gtev: (get events)
	GET<sp>/gtev/SPORT/LOC/DATE/TIME/SKILL/<sp>HTTP/1.0 <crlf>



		//example
		POST<sp>/see-DAY-TIME- HTTP/1.0 <crlf>
		{other <crlf>}*
		<crlf>

		POST<sp>/add-DAY-TIME-NAME-CLASS-ROOM- HTTP/1.0<crlf>
		{other <crlf>}*
		<crlf>

	*/
	/*
	const int maxChars = 1000;
	char input1[100],input2[100],input3[100],input4[100],input5[100],input6[100];
	int length = 0;
	unsigned char next;
	unsigned char last = 0;
	int n;
	int tempi;
	*/

	char input1 [10];
	unsigned char next;
	unsigned char last = 0;
	int tempi;

	printf("working attempt");
	
	//read in get
	for(tempi = 0; tempi < 4; tempi++)
	{
		next = read(slaveSocket, &next, sizeof(next));
	}

	for(tempi = 0; tempi < 5; tempi++)
	{
		read(slaveSocket, &next, sizeof(next));
		input1[tempi] = next;
	}
	input1[tempi] = '\0';

	printf("%s\n",input1);
	
	if(strcmp(input1,"/crus\0") == 0)			//CREATE USER
	{
		crus(slaveSocket);
	}
	else if(strcmp(input1,"/deus\0") == 0)
	{
		deus(slaveSocket);
	}	
	else if(strcmp(input1,"/crev\0") == 0)		//CREATE EVENT
	{
		crev(slaveSocket);
	}
	else if(strcmp(input1,"/upus\0") == 0)		//UPDATE USER
	{
		upus(slaveSocket);
	}
	else if(strcmp(input1,"/upev\0") == 0)		//UPDATE EVENT
	{
		upev(slaveSocket);
	}
	else if(strcmp(input1,"/deev\0") == 0) 		//DELETE EVENT
	{
		deev(slaveSocket);
	}
	else if(strcmp(input1,"/gtev\0") == 0)		//GET EVENT
	{
		gtev(slaveSocket);

	} 
	else 										//INVALID INPUT
	{
		invl(slaveSocket);
	}
}