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); }
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); }
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); }
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)); }
uint8 CGEN_is_chip_revision(uint8 rev) { return (((uint8) invl(clkgen_if_MODULE_ADDR+clkgen_if_cg_fuse3_OFFSET)) == rev); }
uint8 CGEN_get_chip_revision(void) { return ((uint8) invl(clkgen_if_MODULE_ADDR+clkgen_if_cg_fuse3_OFFSET)); }
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); } }