Project

General

Profile

646 markw
#include "pll2.h"
#include "Si5351A-RevB-Registers.h"
#include "regs.h"
#include "integer.h"

void set_pll2()
{
//wait_us(5000000);
int i;
unsigned int slave = 0x60;
unsigned int read = 0x1;
unsigned int write = 0x0;
662 markw
if (1==*zpu_board)
return;

646 markw
for (i=0;i!=SI5351A_REVB_REG_CONFIG_NUM_REGS;++i)
{
unsigned int addr = si5351a_revb_registers[i].address;
unsigned int value = si5351a_revb_registers[i].value;

*zpu_i2c_0 = (slave<<9) | write<<8 | addr; // write addr (blocks until accepted)
*zpu_i2c_0 = (slave<<9) | write<<8 | value; // write data (blocks until accepted)

while ((*zpu_i2c_0)&0x100); // wait until busy not asserted
}
}