Zephyr Project API 4.3.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
bflb_bl61x_clock.h File Reference

BCLK divider MUST be set so BCLK is 80MHz or slower to operate safely, However BCLK of up to 130 MHz have been observed to be tolerated. More...

Go to the source code of this file.

Macros

#define BL61X_CLKID_CLK_ROOT   BFLB_CLKID_CLK_ROOT
 Root Clock.
#define BL61X_CLKID_CLK_RC32M   BFLB_CLKID_CLK_RC32M
 32MHz RC Oscillator Clock
#define BL61X_CLKID_CLK_CRYSTAL   BFLB_CLKID_CLK_CRYSTAL
 Crystal as clock.
#define BL61X_CLKID_CLK_BCLK   BFLB_CLKID_CLK_BCLK
 Bus Clock.
#define BL61X_CLKID_CLK_F32K   BFLB_CLKID_CLK_F32K
 F32K Clock.
#define BL61X_CLKID_CLK_XTAL32K   BFLB_CLKID_CLK_XTAL32K
 XTAL32K Clock.
#define BL61X_CLKID_CLK_RC32K   BFLB_CLKID_CLK_RC32K
 RC32K Clock.
#define BL61X_CLKID_CLK_WIFIPLL   BFLB_CLKID_CLK_PRIVATE
 WIFIPLL clock, the standard root frequency of this PLL is 960MHz.
#define BL61X_CLKID_CLK_AUPLL   (BFLB_CLKID_CLK_PRIVATE + 1)
 AUPLL clock, it has no standard root frequency.
#define BL61X_CLKID_CLK_160M   (BFLB_CLKID_CLK_PRIVATE + 2)
 This clock is muxed off the PLLs to provide 160MHz.
#define BL61X_AUPLL_ID_DIV2   0
 ID 0, AUPLL / 2.
#define BL61X_AUPLL_ID_DIV1   1
 ID 1, AUPLL / 1.
#define BL61X_WIFIPLL_ID_DIV3_4   2
 ID 2, WIFIPLL root / 4 or 3 * top / 4.
#define BL61X_WIFIPLL_ID_DIV1   3
 ID 3, WIFIPLL root / 3 or top / 1.
#define BL61X_WIFIPLL_TOP_FREQ   (DT_FREQ_M(320))
 The reference top frequency for the WIFIPLL at the root clock (WIFIPLL root / 3 here)
#define BL61X_AUPLL_TOP_FREQ   (DT_FREQ_M(1))
 The reference top frequency for the AUPLL at the root clock (undefined)
#define BL61X_WIFIPLL_TOP_FREQ_OC1   (DT_FREQ_M(480))
 Overclocked PLL example 1, standard voltages can be used.
#define BL61X_WIFIPLL_TOP_FREQ_OC2   (DT_FREQ_M(640))
 Overclocked PLL example 2, increased voltages (1.25v) must be used.

Detailed Description

BCLK divider MUST be set so BCLK is 80MHz or slower to operate safely, However BCLK of up to 130 MHz have been observed to be tolerated.

Drivers are able to compose a clock viable for them from clock sources (typically BCLK) so no additional settings are required for the peripherals. Breaks most complex peripherals (Wifi) and peripherals that can use the peripheral bus as master (DMA and DMA-using drivers). Flash input clock must be tuned to fit the new clocks.

Macro Definition Documentation

◆ BL61X_AUPLL_ID_DIV1

#define BL61X_AUPLL_ID_DIV1   1

ID 1, AUPLL / 1.

◆ BL61X_AUPLL_ID_DIV2

#define BL61X_AUPLL_ID_DIV2   0

ID 0, AUPLL / 2.

◆ BL61X_AUPLL_TOP_FREQ

#define BL61X_AUPLL_TOP_FREQ   (DT_FREQ_M(1))

The reference top frequency for the AUPLL at the root clock (undefined)

◆ BL61X_CLKID_CLK_160M

#define BL61X_CLKID_CLK_160M   (BFLB_CLKID_CLK_PRIVATE + 2)

This clock is muxed off the PLLs to provide 160MHz.

◆ BL61X_CLKID_CLK_AUPLL

#define BL61X_CLKID_CLK_AUPLL   (BFLB_CLKID_CLK_PRIVATE + 1)

AUPLL clock, it has no standard root frequency.

◆ BL61X_CLKID_CLK_BCLK

#define BL61X_CLKID_CLK_BCLK   BFLB_CLKID_CLK_BCLK

Bus Clock.

◆ BL61X_CLKID_CLK_CRYSTAL

#define BL61X_CLKID_CLK_CRYSTAL   BFLB_CLKID_CLK_CRYSTAL

Crystal as clock.

◆ BL61X_CLKID_CLK_F32K

#define BL61X_CLKID_CLK_F32K   BFLB_CLKID_CLK_F32K

F32K Clock.

◆ BL61X_CLKID_CLK_RC32K

#define BL61X_CLKID_CLK_RC32K   BFLB_CLKID_CLK_RC32K

RC32K Clock.

◆ BL61X_CLKID_CLK_RC32M

#define BL61X_CLKID_CLK_RC32M   BFLB_CLKID_CLK_RC32M

32MHz RC Oscillator Clock

◆ BL61X_CLKID_CLK_ROOT

#define BL61X_CLKID_CLK_ROOT   BFLB_CLKID_CLK_ROOT

Root Clock.

◆ BL61X_CLKID_CLK_WIFIPLL

#define BL61X_CLKID_CLK_WIFIPLL   BFLB_CLKID_CLK_PRIVATE

WIFIPLL clock, the standard root frequency of this PLL is 960MHz.

◆ BL61X_CLKID_CLK_XTAL32K

#define BL61X_CLKID_CLK_XTAL32K   BFLB_CLKID_CLK_XTAL32K

XTAL32K Clock.

◆ BL61X_WIFIPLL_ID_DIV1

#define BL61X_WIFIPLL_ID_DIV1   3

ID 3, WIFIPLL root / 3 or top / 1.

◆ BL61X_WIFIPLL_ID_DIV3_4

#define BL61X_WIFIPLL_ID_DIV3_4   2

ID 2, WIFIPLL root / 4 or 3 * top / 4.

◆ BL61X_WIFIPLL_TOP_FREQ

#define BL61X_WIFIPLL_TOP_FREQ   (DT_FREQ_M(320))

The reference top frequency for the WIFIPLL at the root clock (WIFIPLL root / 3 here)

◆ BL61X_WIFIPLL_TOP_FREQ_OC1

#define BL61X_WIFIPLL_TOP_FREQ_OC1   (DT_FREQ_M(480))

Overclocked PLL example 1, standard voltages can be used.

◆ BL61X_WIFIPLL_TOP_FREQ_OC2

#define BL61X_WIFIPLL_TOP_FREQ_OC2   (DT_FREQ_M(640))

Overclocked PLL example 2, increased voltages (1.25v) must be used.