coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
clock.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 #ifndef __SOC_ROCKCHIP_RK3288_CLOCK_H__
4 #define __SOC_ROCKCHIP_RK3288_CLOCK_H__
5 
6 #include <soc/addressmap.h>
7 #include <types.h>
8 
9 #define OSC_HZ (24*MHz)
10 
11 #define GPLL_HZ (594*MHz)
12 #define CPLL_HZ (384*MHz)
13 #define NPLL_HZ (384*MHz)
14 
19 };
20 
21 /* The SRAM is clocked off aclk_bus, so we want to max it out for boot speed. */
22 #define PD_BUS_ACLK_HZ (297000*KHz)
23 #define PD_BUS_HCLK_HZ (148500*KHz)
24 #define PD_BUS_PCLK_HZ (74250*KHz)
25 
26 #define PERI_ACLK_HZ (148500*KHz)
27 #define PERI_HCLK_HZ (148500*KHz)
28 #define PERI_PCLK_HZ (74250*KHz)
29 
30 #define PWM_CLOCK_HZ PD_BUS_PCLK_HZ
31 
32 void rkclk_init(void);
33 void rkclk_configure_spi(unsigned int bus, unsigned int hz);
34 void rkclk_ddr_reset(u32 ch, u32 ctl, u32 phy);
36 void rkclk_configure_ddr(unsigned int hz);
37 void rkclk_configure_i2s(unsigned int hz);
38 void rkclk_configure_cpu(enum apll_frequencies apll_freq);
39 void rkclk_configure_crypto(unsigned int hz);
40 void rkclk_configure_tsadc(unsigned int hz);
41 void rkclk_configure_vop_aclk(u32 vop_id, u32 aclk_hz);
42 int rkclk_configure_vop_dclk(u32 vop_id, u32 dclk_hz);
43 void rkclk_configure_edp(void);
44 void rkclk_configure_hdmi(void);
45 int rkclk_was_watchdog_reset(void);
46 unsigned int rkclk_i2c_clock_for_bus(unsigned int bus);
47 
48 #endif /* __SOC_ROCKCHIP_RK3288_CLOCK_H__ */
static struct dramc_channel const ch[2]
void rkclk_ddr_phy_ctl_reset(u32 ch, u32 n)
Definition: clock.c:405
void rkclk_configure_cpu(enum apll_frequencies apll_freq)
Definition: clock.c:309
void rkclk_ddr_reset(u32 ch, u32 ctl, u32 phy)
Definition: clock.c:388
int rkclk_was_watchdog_reset(void)
Definition: clock.c:652
void rkclk_configure_tsadc(unsigned int hz)
Definition: clock.c:482
unsigned int rkclk_i2c_clock_for_bus(unsigned int bus)
Definition: clock.c:658
void rkclk_configure_vop_aclk(u32 vop_id, u32 aclk_hz)
Definition: clock.c:587
void rkclk_init(void)
Definition: clock.c:232
void rkclk_configure_ddr(unsigned int hz)
Definition: clock.c:349
void rkclk_configure_edp(void)
Definition: clock.c:565
void rkclk_configure_i2s(unsigned int hz)
Definition: clock.c:451
void rkclk_configure_spi(unsigned int bus, unsigned int hz)
Definition: clock.c:414
apll_frequencies
Definition: clock.h:15
@ APLL_600_MHZ
Definition: clock.h:18
@ APLL_1416_MHZ
Definition: clock.h:17
@ APLL_1800_MHZ
Definition: clock.h:16
void rkclk_configure_hdmi(void)
Definition: clock.c:576
int rkclk_configure_vop_dclk(u32 vop_id, u32 dclk_hz)
Definition: clock.c:610
void rkclk_configure_crypto(unsigned int hz)
Definition: clock.c:472
uint32_t u32
Definition: stdint.h:51
Definition: device.h:76