drivers/clk/sophgo/clk-cv1800.h

Source file repositories/reference/linux-study-clean/drivers/clk/sophgo/clk-cv1800.h

File Facts

System
Linux kernel
Corpus path
drivers/clk/sophgo/clk-cv1800.h
Extension
.h
Size
4015 bytes
Lines
124
Domain
Driver Families
Bucket
drivers/clk
Inferred role
Driver Families: implementation source
Status
source implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

#ifndef _CLK_SOPHGO_CV1800_H_
#define _CLK_SOPHGO_CV1800_H_

#include <dt-bindings/clock/sophgo,cv1800.h>

#define CV1800_CLK_MAX			(CLK_XTAL_AP + 1)
#define CV1810_CLK_MAX			(CLK_DISP_SRC_VIP + 1)

#define REG_PLL_G2_CTRL			0x800
#define REG_PLL_G2_STATUS		0x804
#define REG_MIPIMPLL_CSR		0x808
#define REG_A0PLL_CSR			0x80C
#define REG_DISPPLL_CSR			0x810
#define REG_CAM0PLL_CSR			0x814
#define REG_CAM1PLL_CSR			0x818
#define REG_PLL_G2_SSC_SYN_CTRL		0x840
#define REG_A0PLL_SSC_SYN_CTRL		0x850
#define REG_A0PLL_SSC_SYN_SET		0x854
#define REG_A0PLL_SSC_SYN_SPAN		0x858
#define REG_A0PLL_SSC_SYN_STEP		0x85C
#define REG_DISPPLL_SSC_SYN_CTRL	0x860
#define REG_DISPPLL_SSC_SYN_SET		0x864
#define REG_DISPPLL_SSC_SYN_SPAN	0x868
#define REG_DISPPLL_SSC_SYN_STEP	0x86C
#define REG_CAM0PLL_SSC_SYN_CTRL	0x870
#define REG_CAM0PLL_SSC_SYN_SET		0x874
#define REG_CAM0PLL_SSC_SYN_SPAN	0x878
#define REG_CAM0PLL_SSC_SYN_STEP	0x87C
#define REG_CAM1PLL_SSC_SYN_CTRL	0x880
#define REG_CAM1PLL_SSC_SYN_SET		0x884
#define REG_CAM1PLL_SSC_SYN_SPAN	0x888
#define REG_CAM1PLL_SSC_SYN_STEP	0x88C
#define REG_APLL_FRAC_DIV_CTRL		0x890
#define REG_APLL_FRAC_DIV_M		0x894
#define REG_APLL_FRAC_DIV_N		0x898
#define REG_MIPIMPLL_CLK_CSR		0x8A0
#define REG_A0PLL_CLK_CSR		0x8A4
#define REG_DISPPLL_CLK_CSR		0x8A8
#define REG_CAM0PLL_CLK_CSR		0x8AC
#define REG_CAM1PLL_CLK_CSR		0x8B0
#define REG_CLK_CAM0_SRC_DIV		0x8C0
#define REG_CLK_CAM1_SRC_DIV		0x8C4

/* top_pll_g6 */
#define REG_PLL_G6_CTRL			0x900
#define REG_PLL_G6_STATUS		0x904
#define REG_MPLL_CSR			0x908
#define REG_TPLL_CSR			0x90C
#define REG_FPLL_CSR			0x910
#define REG_PLL_G6_SSC_SYN_CTRL		0x940
#define REG_DPLL_SSC_SYN_CTRL		0x950
#define REG_DPLL_SSC_SYN_SET		0x954
#define REG_DPLL_SSC_SYN_SPAN		0x958
#define REG_DPLL_SSC_SYN_STEP		0x95C
#define REG_MPLL_SSC_SYN_CTRL		0x960
#define REG_MPLL_SSC_SYN_SET		0x964
#define REG_MPLL_SSC_SYN_SPAN		0x968
#define REG_MPLL_SSC_SYN_STEP		0x96C
#define REG_TPLL_SSC_SYN_CTRL		0x970
#define REG_TPLL_SSC_SYN_SET		0x974
#define REG_TPLL_SSC_SYN_SPAN		0x978
#define REG_TPLL_SSC_SYN_STEP		0x97C

/* clkgen */
#define REG_CLK_EN_0			0x000
#define REG_CLK_EN_1			0x004
#define REG_CLK_EN_2			0x008
#define REG_CLK_EN_3			0x00C
#define REG_CLK_EN_4			0x010
#define REG_CLK_SEL_0			0x020
#define REG_CLK_BYP_0			0x030
#define REG_CLK_BYP_1			0x034

#define REG_DIV_CLK_A53_0		0x040
#define REG_DIV_CLK_A53_1		0x044
#define REG_DIV_CLK_CPU_AXI0		0x048
#define REG_DIV_CLK_CPU_GIC		0x050
#define REG_DIV_CLK_TPU			0x054
#define REG_DIV_CLK_EMMC		0x064
#define REG_DIV_CLK_EMMC_100K		0x06C
#define REG_DIV_CLK_SD0			0x070
#define REG_DIV_CLK_SD0_100K		0x078
#define REG_DIV_CLK_SD1			0x07C
#define REG_DIV_CLK_SD1_100K		0x084
#define REG_DIV_CLK_SPI_NAND		0x088
#define REG_DIV_CLK_ETH0_500M		0x08C
#define REG_DIV_CLK_ETH1_500M		0x090
#define REG_DIV_CLK_GPIO_DB		0x094
#define REG_DIV_CLK_SDMA_AUD0		0x098
#define REG_DIV_CLK_SDMA_AUD1		0x09C

Annotation

Implementation Notes