FE310-G00 PLLΒΆ

On targets with a PLL compatible with the FE310-G000 SoC, the PLL is configured at program initialization with a constructor. This PLL sets the clock frequency of the RISC-V CPU, and users of Freedom Metal who wish to set a specific clock rate can use Freedom Metal to request that the PLL take on a certain output rate.

In the DeviceTree for your target, there should be a node like the following (example taken from the SiFive HiFive1):

hfclk: clock@4 {
        compatible = "sifive,fe310-g000,pll";
        clocks = <&hfxoscout &hfroscout>;
        clock-names = "pllref", "pllsel0";
        reg = <&prci 0x8 &prci 0xc>;
        reg-names = "config", "divider";
        clock-frequency = <16000000>;
};

The clock-frequency property of the node sets the requested clock rate of the FE310-G000 PLL. The PLL driver will attempt to configure the PLL to achieve this clock rate.

Users should note that the FE310-G000 PLL only supports certain input/output clock rate ratios, and so the effective output rate of the PLL may differ from the requested rate.