11.1Sskrll/* SPDX-License-Identifier: GPL-2.0 OR MIT */
21.1Sskrll/*
31.1Sskrll * Copyright 2022 Emil Renner Berthing <kernel@esmil.dk>
41.1Sskrll * Copyright 2022 StarFive Technology Co., Ltd.
51.1Sskrll */
61.1Sskrll
71.1Sskrll#ifndef __DT_BINDINGS_CLOCK_STARFIVE_JH7110_CRG_H__
81.1Sskrll#define __DT_BINDINGS_CLOCK_STARFIVE_JH7110_CRG_H__
91.1Sskrll
101.1Sskrll/* PLL clocks */
111.1Sskrll#define JH7110_PLLCLK_PLL0_OUT			0
121.1Sskrll#define JH7110_PLLCLK_PLL1_OUT			1
131.1Sskrll#define JH7110_PLLCLK_PLL2_OUT			2
141.1Sskrll#define JH7110_PLLCLK_END			3
151.1Sskrll
161.1Sskrll/* SYSCRG clocks */
171.1Sskrll#define JH7110_SYSCLK_CPU_ROOT			0
181.1Sskrll#define JH7110_SYSCLK_CPU_CORE			1
191.1Sskrll#define JH7110_SYSCLK_CPU_BUS			2
201.1Sskrll#define JH7110_SYSCLK_GPU_ROOT			3
211.1Sskrll#define JH7110_SYSCLK_PERH_ROOT			4
221.1Sskrll#define JH7110_SYSCLK_BUS_ROOT			5
231.1Sskrll#define JH7110_SYSCLK_NOCSTG_BUS		6
241.1Sskrll#define JH7110_SYSCLK_AXI_CFG0			7
251.1Sskrll#define JH7110_SYSCLK_STG_AXIAHB		8
261.1Sskrll#define JH7110_SYSCLK_AHB0			9
271.1Sskrll#define JH7110_SYSCLK_AHB1			10
281.1Sskrll#define JH7110_SYSCLK_APB_BUS			11
291.1Sskrll#define JH7110_SYSCLK_APB0			12
301.1Sskrll#define JH7110_SYSCLK_PLL0_DIV2			13
311.1Sskrll#define JH7110_SYSCLK_PLL1_DIV2			14
321.1Sskrll#define JH7110_SYSCLK_PLL2_DIV2			15
331.1Sskrll#define JH7110_SYSCLK_AUDIO_ROOT		16
341.1Sskrll#define JH7110_SYSCLK_MCLK_INNER		17
351.1Sskrll#define JH7110_SYSCLK_MCLK			18
361.1Sskrll#define JH7110_SYSCLK_MCLK_OUT			19
371.1Sskrll#define JH7110_SYSCLK_ISP_2X			20
381.1Sskrll#define JH7110_SYSCLK_ISP_AXI			21
391.1Sskrll#define JH7110_SYSCLK_GCLK0			22
401.1Sskrll#define JH7110_SYSCLK_GCLK1			23
411.1Sskrll#define JH7110_SYSCLK_GCLK2			24
421.1Sskrll#define JH7110_SYSCLK_CORE			25
431.1Sskrll#define JH7110_SYSCLK_CORE1			26
441.1Sskrll#define JH7110_SYSCLK_CORE2			27
451.1Sskrll#define JH7110_SYSCLK_CORE3			28
461.1Sskrll#define JH7110_SYSCLK_CORE4			29
471.1Sskrll#define JH7110_SYSCLK_DEBUG			30
481.1Sskrll#define JH7110_SYSCLK_RTC_TOGGLE		31
491.1Sskrll#define JH7110_SYSCLK_TRACE0			32
501.1Sskrll#define JH7110_SYSCLK_TRACE1			33
511.1Sskrll#define JH7110_SYSCLK_TRACE2			34
521.1Sskrll#define JH7110_SYSCLK_TRACE3			35
531.1Sskrll#define JH7110_SYSCLK_TRACE4			36
541.1Sskrll#define JH7110_SYSCLK_TRACE_COM			37
551.1Sskrll#define JH7110_SYSCLK_NOC_BUS_CPU_AXI		38
561.1Sskrll#define JH7110_SYSCLK_NOC_BUS_AXICFG0_AXI	39
571.1Sskrll#define JH7110_SYSCLK_OSC_DIV2			40
581.1Sskrll#define JH7110_SYSCLK_PLL1_DIV4			41
591.1Sskrll#define JH7110_SYSCLK_PLL1_DIV8			42
601.1Sskrll#define JH7110_SYSCLK_DDR_BUS			43
611.1Sskrll#define JH7110_SYSCLK_DDR_AXI			44
621.1Sskrll#define JH7110_SYSCLK_GPU_CORE			45
631.1Sskrll#define JH7110_SYSCLK_GPU_CORE_CLK		46
641.1Sskrll#define JH7110_SYSCLK_GPU_SYS_CLK		47
651.1Sskrll#define JH7110_SYSCLK_GPU_APB			48
661.1Sskrll#define JH7110_SYSCLK_GPU_RTC_TOGGLE		49
671.1Sskrll#define JH7110_SYSCLK_NOC_BUS_GPU_AXI		50
681.1Sskrll#define JH7110_SYSCLK_ISP_TOP_CORE		51
691.1Sskrll#define JH7110_SYSCLK_ISP_TOP_AXI		52
701.1Sskrll#define JH7110_SYSCLK_NOC_BUS_ISP_AXI		53
711.1Sskrll#define JH7110_SYSCLK_HIFI4_CORE		54
721.1Sskrll#define JH7110_SYSCLK_HIFI4_AXI			55
731.1Sskrll#define JH7110_SYSCLK_AXI_CFG1_MAIN		56
741.1Sskrll#define JH7110_SYSCLK_AXI_CFG1_AHB		57
751.1Sskrll#define JH7110_SYSCLK_VOUT_SRC			58
761.1Sskrll#define JH7110_SYSCLK_VOUT_AXI			59
771.1Sskrll#define JH7110_SYSCLK_NOC_BUS_DISP_AXI		60
781.1Sskrll#define JH7110_SYSCLK_VOUT_TOP_AHB		61
791.1Sskrll#define JH7110_SYSCLK_VOUT_TOP_AXI		62
801.1Sskrll#define JH7110_SYSCLK_VOUT_TOP_HDMITX0_MCLK	63
811.1Sskrll#define JH7110_SYSCLK_VOUT_TOP_MIPIPHY_REF	64
821.1Sskrll#define JH7110_SYSCLK_JPEGC_AXI			65
831.1Sskrll#define JH7110_SYSCLK_CODAJ12_AXI		66
841.1Sskrll#define JH7110_SYSCLK_CODAJ12_CORE		67
851.1Sskrll#define JH7110_SYSCLK_CODAJ12_APB		68
861.1Sskrll#define JH7110_SYSCLK_VDEC_AXI			69
871.1Sskrll#define JH7110_SYSCLK_WAVE511_AXI		70
881.1Sskrll#define JH7110_SYSCLK_WAVE511_BPU		71
891.1Sskrll#define JH7110_SYSCLK_WAVE511_VCE		72
901.1Sskrll#define JH7110_SYSCLK_WAVE511_APB		73
911.1Sskrll#define JH7110_SYSCLK_VDEC_JPG			74
921.1Sskrll#define JH7110_SYSCLK_VDEC_MAIN			75
931.1Sskrll#define JH7110_SYSCLK_NOC_BUS_VDEC_AXI		76
941.1Sskrll#define JH7110_SYSCLK_VENC_AXI			77
951.1Sskrll#define JH7110_SYSCLK_WAVE420L_AXI		78
961.1Sskrll#define JH7110_SYSCLK_WAVE420L_BPU		79
971.1Sskrll#define JH7110_SYSCLK_WAVE420L_VCE		80
981.1Sskrll#define JH7110_SYSCLK_WAVE420L_APB		81
991.1Sskrll#define JH7110_SYSCLK_NOC_BUS_VENC_AXI		82
1001.1Sskrll#define JH7110_SYSCLK_AXI_CFG0_MAIN_DIV		83
1011.1Sskrll#define JH7110_SYSCLK_AXI_CFG0_MAIN		84
1021.1Sskrll#define JH7110_SYSCLK_AXI_CFG0_HIFI4		85
1031.1Sskrll#define JH7110_SYSCLK_AXIMEM2_AXI		86
1041.1Sskrll#define JH7110_SYSCLK_QSPI_AHB			87
1051.1Sskrll#define JH7110_SYSCLK_QSPI_APB			88
1061.1Sskrll#define JH7110_SYSCLK_QSPI_REF_SRC		89
1071.1Sskrll#define JH7110_SYSCLK_QSPI_REF			90
1081.1Sskrll#define JH7110_SYSCLK_SDIO0_AHB			91
1091.1Sskrll#define JH7110_SYSCLK_SDIO1_AHB			92
1101.1Sskrll#define JH7110_SYSCLK_SDIO0_SDCARD		93
1111.1Sskrll#define JH7110_SYSCLK_SDIO1_SDCARD		94
1121.1Sskrll#define JH7110_SYSCLK_USB_125M			95
1131.1Sskrll#define JH7110_SYSCLK_NOC_BUS_STG_AXI		96
1141.1Sskrll#define JH7110_SYSCLK_GMAC1_AHB			97
1151.1Sskrll#define JH7110_SYSCLK_GMAC1_AXI			98
1161.1Sskrll#define JH7110_SYSCLK_GMAC_SRC			99
1171.1Sskrll#define JH7110_SYSCLK_GMAC1_GTXCLK		100
1181.1Sskrll#define JH7110_SYSCLK_GMAC1_RMII_RTX		101
1191.1Sskrll#define JH7110_SYSCLK_GMAC1_PTP			102
1201.1Sskrll#define JH7110_SYSCLK_GMAC1_RX			103
1211.1Sskrll#define JH7110_SYSCLK_GMAC1_RX_INV		104
1221.1Sskrll#define JH7110_SYSCLK_GMAC1_TX			105
1231.1Sskrll#define JH7110_SYSCLK_GMAC1_TX_INV		106
1241.1Sskrll#define JH7110_SYSCLK_GMAC1_GTXC		107
1251.1Sskrll#define JH7110_SYSCLK_GMAC0_GTXCLK		108
1261.1Sskrll#define JH7110_SYSCLK_GMAC0_PTP			109
1271.1Sskrll#define JH7110_SYSCLK_GMAC_PHY			110
1281.1Sskrll#define JH7110_SYSCLK_GMAC0_GTXC		111
1291.1Sskrll#define JH7110_SYSCLK_IOMUX_APB			112
1301.1Sskrll#define JH7110_SYSCLK_MAILBOX_APB		113
1311.1Sskrll#define JH7110_SYSCLK_INT_CTRL_APB		114
1321.1Sskrll#define JH7110_SYSCLK_CAN0_APB			115
1331.1Sskrll#define JH7110_SYSCLK_CAN0_TIMER		116
1341.1Sskrll#define JH7110_SYSCLK_CAN0_CAN			117
1351.1Sskrll#define JH7110_SYSCLK_CAN1_APB			118
1361.1Sskrll#define JH7110_SYSCLK_CAN1_TIMER		119
1371.1Sskrll#define JH7110_SYSCLK_CAN1_CAN			120
1381.1Sskrll#define JH7110_SYSCLK_PWM_APB			121
1391.1Sskrll#define JH7110_SYSCLK_WDT_APB			122
1401.1Sskrll#define JH7110_SYSCLK_WDT_CORE			123
1411.1Sskrll#define JH7110_SYSCLK_TIMER_APB			124
1421.1Sskrll#define JH7110_SYSCLK_TIMER0			125
1431.1Sskrll#define JH7110_SYSCLK_TIMER1			126
1441.1Sskrll#define JH7110_SYSCLK_TIMER2			127
1451.1Sskrll#define JH7110_SYSCLK_TIMER3			128
1461.1Sskrll#define JH7110_SYSCLK_TEMP_APB			129
1471.1Sskrll#define JH7110_SYSCLK_TEMP_CORE			130
1481.1Sskrll#define JH7110_SYSCLK_SPI0_APB			131
1491.1Sskrll#define JH7110_SYSCLK_SPI1_APB			132
1501.1Sskrll#define JH7110_SYSCLK_SPI2_APB			133
1511.1Sskrll#define JH7110_SYSCLK_SPI3_APB			134
1521.1Sskrll#define JH7110_SYSCLK_SPI4_APB			135
1531.1Sskrll#define JH7110_SYSCLK_SPI5_APB			136
1541.1Sskrll#define JH7110_SYSCLK_SPI6_APB			137
1551.1Sskrll#define JH7110_SYSCLK_I2C0_APB			138
1561.1Sskrll#define JH7110_SYSCLK_I2C1_APB			139
1571.1Sskrll#define JH7110_SYSCLK_I2C2_APB			140
1581.1Sskrll#define JH7110_SYSCLK_I2C3_APB			141
1591.1Sskrll#define JH7110_SYSCLK_I2C4_APB			142
1601.1Sskrll#define JH7110_SYSCLK_I2C5_APB			143
1611.1Sskrll#define JH7110_SYSCLK_I2C6_APB			144
1621.1Sskrll#define JH7110_SYSCLK_UART0_APB			145
1631.1Sskrll#define JH7110_SYSCLK_UART0_CORE		146
1641.1Sskrll#define JH7110_SYSCLK_UART1_APB			147
1651.1Sskrll#define JH7110_SYSCLK_UART1_CORE		148
1661.1Sskrll#define JH7110_SYSCLK_UART2_APB			149
1671.1Sskrll#define JH7110_SYSCLK_UART2_CORE		150
1681.1Sskrll#define JH7110_SYSCLK_UART3_APB			151
1691.1Sskrll#define JH7110_SYSCLK_UART3_CORE		152
1701.1Sskrll#define JH7110_SYSCLK_UART4_APB			153
1711.1Sskrll#define JH7110_SYSCLK_UART4_CORE		154
1721.1Sskrll#define JH7110_SYSCLK_UART5_APB			155
1731.1Sskrll#define JH7110_SYSCLK_UART5_CORE		156
1741.1Sskrll#define JH7110_SYSCLK_PWMDAC_APB		157
1751.1Sskrll#define JH7110_SYSCLK_PWMDAC_CORE		158
1761.1Sskrll#define JH7110_SYSCLK_SPDIF_APB			159
1771.1Sskrll#define JH7110_SYSCLK_SPDIF_CORE		160
1781.1Sskrll#define JH7110_SYSCLK_I2STX0_APB		161
1791.1Sskrll#define JH7110_SYSCLK_I2STX0_BCLK_MST		162
1801.1Sskrll#define JH7110_SYSCLK_I2STX0_BCLK_MST_INV	163
1811.1Sskrll#define JH7110_SYSCLK_I2STX0_LRCK_MST		164
1821.1Sskrll#define JH7110_SYSCLK_I2STX0_BCLK		165
1831.1Sskrll#define JH7110_SYSCLK_I2STX0_BCLK_INV		166
1841.1Sskrll#define JH7110_SYSCLK_I2STX0_LRCK		167
1851.1Sskrll#define JH7110_SYSCLK_I2STX1_APB		168
1861.1Sskrll#define JH7110_SYSCLK_I2STX1_BCLK_MST		169
1871.1Sskrll#define JH7110_SYSCLK_I2STX1_BCLK_MST_INV	170
1881.1Sskrll#define JH7110_SYSCLK_I2STX1_LRCK_MST		171
1891.1Sskrll#define JH7110_SYSCLK_I2STX1_BCLK		172
1901.1Sskrll#define JH7110_SYSCLK_I2STX1_BCLK_INV		173
1911.1Sskrll#define JH7110_SYSCLK_I2STX1_LRCK		174
1921.1Sskrll#define JH7110_SYSCLK_I2SRX_APB			175
1931.1Sskrll#define JH7110_SYSCLK_I2SRX_BCLK_MST		176
1941.1Sskrll#define JH7110_SYSCLK_I2SRX_BCLK_MST_INV	177
1951.1Sskrll#define JH7110_SYSCLK_I2SRX_LRCK_MST		178
1961.1Sskrll#define JH7110_SYSCLK_I2SRX_BCLK		179
1971.1Sskrll#define JH7110_SYSCLK_I2SRX_BCLK_INV		180
1981.1Sskrll#define JH7110_SYSCLK_I2SRX_LRCK		181
1991.1Sskrll#define JH7110_SYSCLK_PDM_DMIC			182
2001.1Sskrll#define JH7110_SYSCLK_PDM_APB			183
2011.1Sskrll#define JH7110_SYSCLK_TDM_AHB			184
2021.1Sskrll#define JH7110_SYSCLK_TDM_APB			185
2031.1Sskrll#define JH7110_SYSCLK_TDM_INTERNAL		186
2041.1Sskrll#define JH7110_SYSCLK_TDM_TDM			187
2051.1Sskrll#define JH7110_SYSCLK_TDM_TDM_INV		188
2061.1Sskrll#define JH7110_SYSCLK_JTAG_CERTIFICATION_TRNG	189
2071.1Sskrll
2081.1Sskrll#define JH7110_SYSCLK_END			190
2091.1Sskrll
2101.1Sskrll/* AONCRG clocks */
2111.1Sskrll#define JH7110_AONCLK_OSC_DIV4			0
2121.1Sskrll#define JH7110_AONCLK_APB_FUNC			1
2131.1Sskrll#define JH7110_AONCLK_GMAC0_AHB			2
2141.1Sskrll#define JH7110_AONCLK_GMAC0_AXI			3
2151.1Sskrll#define JH7110_AONCLK_GMAC0_RMII_RTX		4
2161.1Sskrll#define JH7110_AONCLK_GMAC0_TX			5
2171.1Sskrll#define JH7110_AONCLK_GMAC0_TX_INV		6
2181.1Sskrll#define JH7110_AONCLK_GMAC0_RX			7
2191.1Sskrll#define JH7110_AONCLK_GMAC0_RX_INV		8
2201.1Sskrll#define JH7110_AONCLK_OTPC_APB			9
2211.1Sskrll#define JH7110_AONCLK_RTC_APB			10
2221.1Sskrll#define JH7110_AONCLK_RTC_INTERNAL		11
2231.1Sskrll#define JH7110_AONCLK_RTC_32K			12
2241.1Sskrll#define JH7110_AONCLK_RTC_CAL			13
2251.1Sskrll
2261.1Sskrll#define JH7110_AONCLK_END			14
2271.1Sskrll
2281.1Sskrll/* STGCRG clocks */
2291.1Sskrll#define JH7110_STGCLK_HIFI4_CLK_CORE		0
2301.1Sskrll#define JH7110_STGCLK_USB0_APB			1
2311.1Sskrll#define JH7110_STGCLK_USB0_UTMI_APB		2
2321.1Sskrll#define JH7110_STGCLK_USB0_AXI			3
2331.1Sskrll#define JH7110_STGCLK_USB0_LPM			4
2341.1Sskrll#define JH7110_STGCLK_USB0_STB			5
2351.1Sskrll#define JH7110_STGCLK_USB0_APP_125		6
2361.1Sskrll#define JH7110_STGCLK_USB0_REFCLK		7
2371.1Sskrll#define JH7110_STGCLK_PCIE0_AXI_MST0		8
2381.1Sskrll#define JH7110_STGCLK_PCIE0_APB			9
2391.1Sskrll#define JH7110_STGCLK_PCIE0_TL			10
2401.1Sskrll#define JH7110_STGCLK_PCIE1_AXI_MST0		11
2411.1Sskrll#define JH7110_STGCLK_PCIE1_APB			12
2421.1Sskrll#define JH7110_STGCLK_PCIE1_TL			13
2431.1Sskrll#define JH7110_STGCLK_PCIE_SLV_MAIN		14
2441.1Sskrll#define JH7110_STGCLK_SEC_AHB			15
2451.1Sskrll#define JH7110_STGCLK_SEC_MISC_AHB		16
2461.1Sskrll#define JH7110_STGCLK_GRP0_MAIN			17
2471.1Sskrll#define JH7110_STGCLK_GRP0_BUS			18
2481.1Sskrll#define JH7110_STGCLK_GRP0_STG			19
2491.1Sskrll#define JH7110_STGCLK_GRP1_MAIN			20
2501.1Sskrll#define JH7110_STGCLK_GRP1_BUS			21
2511.1Sskrll#define JH7110_STGCLK_GRP1_STG			22
2521.1Sskrll#define JH7110_STGCLK_GRP1_HIFI			23
2531.1Sskrll#define JH7110_STGCLK_E2_RTC			24
2541.1Sskrll#define JH7110_STGCLK_E2_CORE			25
2551.1Sskrll#define JH7110_STGCLK_E2_DBG			26
2561.1Sskrll#define JH7110_STGCLK_DMA1P_AXI			27
2571.1Sskrll#define JH7110_STGCLK_DMA1P_AHB			28
2581.1Sskrll
2591.1Sskrll#define JH7110_STGCLK_END			29
2601.1Sskrll
2611.1Sskrll/* ISPCRG clocks */
2621.1Sskrll#define JH7110_ISPCLK_DOM4_APB_FUNC		0
2631.1Sskrll#define JH7110_ISPCLK_MIPI_RX0_PXL		1
2641.1Sskrll#define JH7110_ISPCLK_DVP_INV			2
2651.1Sskrll#define JH7110_ISPCLK_M31DPHY_CFG_IN		3
2661.1Sskrll#define JH7110_ISPCLK_M31DPHY_REF_IN		4
2671.1Sskrll#define JH7110_ISPCLK_M31DPHY_TX_ESC_LAN0	5
2681.1Sskrll#define JH7110_ISPCLK_VIN_APB			6
2691.1Sskrll#define JH7110_ISPCLK_VIN_SYS			7
2701.1Sskrll#define JH7110_ISPCLK_VIN_PIXEL_IF0		8
2711.1Sskrll#define JH7110_ISPCLK_VIN_PIXEL_IF1		9
2721.1Sskrll#define JH7110_ISPCLK_VIN_PIXEL_IF2		10
2731.1Sskrll#define JH7110_ISPCLK_VIN_PIXEL_IF3		11
2741.1Sskrll#define JH7110_ISPCLK_VIN_P_AXI_WR		12
2751.1Sskrll#define JH7110_ISPCLK_ISPV2_TOP_WRAPPER_C	13
2761.1Sskrll
2771.1Sskrll#define JH7110_ISPCLK_END			14
2781.1Sskrll
2791.1Sskrll/* VOUTCRG clocks */
2801.1Sskrll#define JH7110_VOUTCLK_APB			0
2811.1Sskrll#define JH7110_VOUTCLK_DC8200_PIX		1
2821.1Sskrll#define JH7110_VOUTCLK_DSI_SYS			2
2831.1Sskrll#define JH7110_VOUTCLK_TX_ESC			3
2841.1Sskrll#define JH7110_VOUTCLK_DC8200_AXI		4
2851.1Sskrll#define JH7110_VOUTCLK_DC8200_CORE		5
2861.1Sskrll#define JH7110_VOUTCLK_DC8200_AHB		6
2871.1Sskrll#define JH7110_VOUTCLK_DC8200_PIX0		7
2881.1Sskrll#define JH7110_VOUTCLK_DC8200_PIX1		8
2891.1Sskrll#define JH7110_VOUTCLK_DOM_VOUT_TOP_LCD		9
2901.1Sskrll#define JH7110_VOUTCLK_DSITX_APB		10
2911.1Sskrll#define JH7110_VOUTCLK_DSITX_SYS		11
2921.1Sskrll#define JH7110_VOUTCLK_DSITX_DPI		12
2931.1Sskrll#define JH7110_VOUTCLK_DSITX_TXESC		13
2941.1Sskrll#define JH7110_VOUTCLK_MIPITX_DPHY_TXESC	14
2951.1Sskrll#define JH7110_VOUTCLK_HDMI_TX_MCLK		15
2961.1Sskrll#define JH7110_VOUTCLK_HDMI_TX_BCLK		16
2971.1Sskrll#define JH7110_VOUTCLK_HDMI_TX_SYS		17
2981.1Sskrll
2991.1Sskrll#define JH7110_VOUTCLK_END			18
3001.1Sskrll
3011.1Sskrll#endif /* __DT_BINDINGS_CLOCK_STARFIVE_JH7110_CRG_H__ */
302