FE310-G002 v1p0 manual errata

There are some oddities in section 6 that Sifive might want to fix in the next manual version. I am still writing requirements using this section so I may find more, and apparently I need to do some experimentation to determine what is really going on here, but I thought I would let you know as soon as possible rather than waiting for me to finish dorking around here.

  1. In section 6.2, there are five registers shown in the PRCI address space. The last one is procmoncfg at offset 0xF0. I cannot find any other reference to this register in the manual nor in the datasheet.

  2. In section 6.5, table 11 shows the PLL R value as being 3 bits wide, whereas figure 3 and the text below state that it is only two bits wide.

  3. In table 13, it shows the plloutdivby1 field as being 6 bits wide. But in the text below it seems to describe it as a boolean value, that is, one bit, either true or false.

  4. In sections 6.7 and 6.8, two additional registers are described that are not in the list of PRCI registers in section 6.2: lfrosccfg (offset 0x70) and lfaltclk (offset 0x7C).

  5. In section 6.9, table 16, the default value of the HFROSC is stated as 13.8 MHz. But the HFROSC is nominally 72 MHz. It is then divided by hfroscdiv which according to Table 9 has a reset value of 0x4. That would result in a hfroscout of 14.4 MHz.


P.S. Just figured out that the two registers in #4 in my list are offset from the base of AON, not from the base of PRCI. Kind of confusing, there should be a not that they are in the AON domain. Or maybe even move their description to the RTC section? I’m not sure, but obviously I was confused, and while I am not the brightest bulb in the pack neither am I the dimmest, so others may fall prey to confusion as well.

I filed an internal Jira bug report for the doc team asking them to look at this.

In section 6.7 there is a line that says lfrosccfg and lfaltclk are in the AON domain. Maybe that isn’t clear enough.

You can find a little bit of info about procmoncfg in freedom-e-sdk.

Doesn’t explain how to use it though.