| /* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */ | 
 | /* | 
 |  * Copyright (C) 2024-2025 Haylen Chu <heylenay@outlook.com> | 
 |  */ | 
 |  | 
 | #ifndef _DT_BINDINGS_SPACEMIT_CCU_H_ | 
 | #define _DT_BINDINGS_SPACEMIT_CCU_H_ | 
 |  | 
 | /* APBS (PLL) clocks */ | 
 | #define CLK_PLL1		0 | 
 | #define CLK_PLL2		1 | 
 | #define CLK_PLL3		2 | 
 | #define CLK_PLL1_D2		3 | 
 | #define CLK_PLL1_D3		4 | 
 | #define CLK_PLL1_D4		5 | 
 | #define CLK_PLL1_D5		6 | 
 | #define CLK_PLL1_D6		7 | 
 | #define CLK_PLL1_D7		8 | 
 | #define CLK_PLL1_D8		9 | 
 | #define CLK_PLL1_D11		10 | 
 | #define CLK_PLL1_D13		11 | 
 | #define CLK_PLL1_D23		12 | 
 | #define CLK_PLL1_D64		13 | 
 | #define CLK_PLL1_D10_AUD	14 | 
 | #define CLK_PLL1_D100_AUD	15 | 
 | #define CLK_PLL2_D1		16 | 
 | #define CLK_PLL2_D2		17 | 
 | #define CLK_PLL2_D3		18 | 
 | #define CLK_PLL2_D4		19 | 
 | #define CLK_PLL2_D5		20 | 
 | #define CLK_PLL2_D6		21 | 
 | #define CLK_PLL2_D7		22 | 
 | #define CLK_PLL2_D8		23 | 
 | #define CLK_PLL3_D1		24 | 
 | #define CLK_PLL3_D2		25 | 
 | #define CLK_PLL3_D3		26 | 
 | #define CLK_PLL3_D4		27 | 
 | #define CLK_PLL3_D5		28 | 
 | #define CLK_PLL3_D6		29 | 
 | #define CLK_PLL3_D7		30 | 
 | #define CLK_PLL3_D8		31 | 
 | #define CLK_PLL3_80		32 | 
 | #define CLK_PLL3_40		33 | 
 | #define CLK_PLL3_20		34 | 
 |  | 
 | /* MPMU clocks */ | 
 | #define CLK_PLL1_307P2		0 | 
 | #define CLK_PLL1_76P8		1 | 
 | #define CLK_PLL1_61P44		2 | 
 | #define CLK_PLL1_153P6		3 | 
 | #define CLK_PLL1_102P4		4 | 
 | #define CLK_PLL1_51P2		5 | 
 | #define CLK_PLL1_51P2_AP	6 | 
 | #define CLK_PLL1_57P6		7 | 
 | #define CLK_PLL1_25P6		8 | 
 | #define CLK_PLL1_12P8		9 | 
 | #define CLK_PLL1_12P8_WDT	10 | 
 | #define CLK_PLL1_6P4		11 | 
 | #define CLK_PLL1_3P2		12 | 
 | #define CLK_PLL1_1P6		13 | 
 | #define CLK_PLL1_0P8		14 | 
 | #define CLK_PLL1_409P6		15 | 
 | #define CLK_PLL1_204P8		16 | 
 | #define CLK_PLL1_491		17 | 
 | #define CLK_PLL1_245P76		18 | 
 | #define CLK_PLL1_614		19 | 
 | #define CLK_PLL1_47P26		20 | 
 | #define CLK_PLL1_31P5		21 | 
 | #define CLK_PLL1_819		22 | 
 | #define CLK_PLL1_1228		23 | 
 | #define CLK_SLOW_UART		24 | 
 | #define CLK_SLOW_UART1		25 | 
 | #define CLK_SLOW_UART2		26 | 
 | #define CLK_WDT			27 | 
 | #define CLK_RIPC		28 | 
 | #define CLK_I2S_SYSCLK		29 | 
 | #define CLK_I2S_BCLK		30 | 
 | #define CLK_APB			31 | 
 | #define CLK_WDT_BUS		32 | 
 | #define CLK_I2S_153P6		33 | 
 | #define CLK_I2S_153P6_BASE	34 | 
 | #define CLK_I2S_SYSCLK_SRC	35 | 
 | #define CLK_I2S_BCLK_FACTOR	36 | 
 |  | 
 | /* MPMU resets */ | 
 | #define RESET_WDT		0 | 
 |  | 
 | /* APBC clocks */ | 
 | #define CLK_UART0		0 | 
 | #define CLK_UART2		1 | 
 | #define CLK_UART3		2 | 
 | #define CLK_UART4		3 | 
 | #define CLK_UART5		4 | 
 | #define CLK_UART6		5 | 
 | #define CLK_UART7		6 | 
 | #define CLK_UART8		7 | 
 | #define CLK_UART9		8 | 
 | #define CLK_GPIO		9 | 
 | #define CLK_PWM0		10 | 
 | #define CLK_PWM1		11 | 
 | #define CLK_PWM2		12 | 
 | #define CLK_PWM3		13 | 
 | #define CLK_PWM4		14 | 
 | #define CLK_PWM5		15 | 
 | #define CLK_PWM6		16 | 
 | #define CLK_PWM7		17 | 
 | #define CLK_PWM8		18 | 
 | #define CLK_PWM9		19 | 
 | #define CLK_PWM10		20 | 
 | #define CLK_PWM11		21 | 
 | #define CLK_PWM12		22 | 
 | #define CLK_PWM13		23 | 
 | #define CLK_PWM14		24 | 
 | #define CLK_PWM15		25 | 
 | #define CLK_PWM16		26 | 
 | #define CLK_PWM17		27 | 
 | #define CLK_PWM18		28 | 
 | #define CLK_PWM19		29 | 
 | #define CLK_SSP3		30 | 
 | #define CLK_RTC			31 | 
 | #define CLK_TWSI0		32 | 
 | #define CLK_TWSI1		33 | 
 | #define CLK_TWSI2		34 | 
 | #define CLK_TWSI4		35 | 
 | #define CLK_TWSI5		36 | 
 | #define CLK_TWSI6		37 | 
 | #define CLK_TWSI7		38 | 
 | #define CLK_TWSI8		39 | 
 | #define CLK_TIMERS1		40 | 
 | #define CLK_TIMERS2		41 | 
 | #define CLK_AIB			42 | 
 | #define CLK_ONEWIRE		43 | 
 | #define CLK_SSPA0		44 | 
 | #define CLK_SSPA1		45 | 
 | #define CLK_DRO			46 | 
 | #define CLK_IR			47 | 
 | #define CLK_TSEN		48 | 
 | #define CLK_IPC_AP2AUD		49 | 
 | #define CLK_CAN0		50 | 
 | #define CLK_CAN0_BUS		51 | 
 | #define CLK_UART0_BUS		52 | 
 | #define CLK_UART2_BUS		53 | 
 | #define CLK_UART3_BUS		54 | 
 | #define CLK_UART4_BUS		55 | 
 | #define CLK_UART5_BUS		56 | 
 | #define CLK_UART6_BUS		57 | 
 | #define CLK_UART7_BUS		58 | 
 | #define CLK_UART8_BUS		59 | 
 | #define CLK_UART9_BUS		60 | 
 | #define CLK_GPIO_BUS		61 | 
 | #define CLK_PWM0_BUS		62 | 
 | #define CLK_PWM1_BUS		63 | 
 | #define CLK_PWM2_BUS		64 | 
 | #define CLK_PWM3_BUS		65 | 
 | #define CLK_PWM4_BUS		66 | 
 | #define CLK_PWM5_BUS		67 | 
 | #define CLK_PWM6_BUS		68 | 
 | #define CLK_PWM7_BUS		69 | 
 | #define CLK_PWM8_BUS		70 | 
 | #define CLK_PWM9_BUS		71 | 
 | #define CLK_PWM10_BUS		72 | 
 | #define CLK_PWM11_BUS		73 | 
 | #define CLK_PWM12_BUS		74 | 
 | #define CLK_PWM13_BUS		75 | 
 | #define CLK_PWM14_BUS		76 | 
 | #define CLK_PWM15_BUS		77 | 
 | #define CLK_PWM16_BUS		78 | 
 | #define CLK_PWM17_BUS		79 | 
 | #define CLK_PWM18_BUS		80 | 
 | #define CLK_PWM19_BUS		81 | 
 | #define CLK_SSP3_BUS		82 | 
 | #define CLK_RTC_BUS		83 | 
 | #define CLK_TWSI0_BUS		84 | 
 | #define CLK_TWSI1_BUS		85 | 
 | #define CLK_TWSI2_BUS		86 | 
 | #define CLK_TWSI4_BUS		87 | 
 | #define CLK_TWSI5_BUS		88 | 
 | #define CLK_TWSI6_BUS		89 | 
 | #define CLK_TWSI7_BUS		90 | 
 | #define CLK_TWSI8_BUS		91 | 
 | #define CLK_TIMERS1_BUS		92 | 
 | #define CLK_TIMERS2_BUS		93 | 
 | #define CLK_AIB_BUS		94 | 
 | #define CLK_ONEWIRE_BUS		95 | 
 | #define CLK_SSPA0_BUS		96 | 
 | #define CLK_SSPA1_BUS		97 | 
 | #define CLK_TSEN_BUS		98 | 
 | #define CLK_IPC_AP2AUD_BUS	99 | 
 | #define CLK_SSPA0_I2S_BCLK	100 | 
 | #define CLK_SSPA1_I2S_BCLK	101 | 
 |  | 
 | /* APBC resets */ | 
 | #define RESET_UART0		0 | 
 | #define RESET_UART2		1 | 
 | #define RESET_UART3		2 | 
 | #define RESET_UART4		3 | 
 | #define RESET_UART5		4 | 
 | #define RESET_UART6		5 | 
 | #define RESET_UART7		6 | 
 | #define RESET_UART8		7 | 
 | #define RESET_UART9		8 | 
 | #define RESET_GPIO		9 | 
 | #define RESET_PWM0		10 | 
 | #define RESET_PWM1		11 | 
 | #define RESET_PWM2		12 | 
 | #define RESET_PWM3		13 | 
 | #define RESET_PWM4		14 | 
 | #define RESET_PWM5		15 | 
 | #define RESET_PWM6		16 | 
 | #define RESET_PWM7		17 | 
 | #define RESET_PWM8		18 | 
 | #define RESET_PWM9		19 | 
 | #define RESET_PWM10		20 | 
 | #define RESET_PWM11		21 | 
 | #define RESET_PWM12		22 | 
 | #define RESET_PWM13		23 | 
 | #define RESET_PWM14		24 | 
 | #define RESET_PWM15		25 | 
 | #define RESET_PWM16		26 | 
 | #define RESET_PWM17		27 | 
 | #define RESET_PWM18		28 | 
 | #define RESET_PWM19		29 | 
 | #define RESET_SSP3		30 | 
 | #define RESET_RTC		31 | 
 | #define RESET_TWSI0		32 | 
 | #define RESET_TWSI1		33 | 
 | #define RESET_TWSI2		34 | 
 | #define RESET_TWSI4		35 | 
 | #define RESET_TWSI5		36 | 
 | #define RESET_TWSI6		37 | 
 | #define RESET_TWSI7		38 | 
 | #define RESET_TWSI8		39 | 
 | #define RESET_TIMERS1		40 | 
 | #define RESET_TIMERS2		41 | 
 | #define RESET_AIB		42 | 
 | #define RESET_ONEWIRE		43 | 
 | #define RESET_SSPA0		44 | 
 | #define RESET_SSPA1		45 | 
 | #define RESET_DRO		46 | 
 | #define RESET_IR		47 | 
 | #define RESET_TSEN		48 | 
 | #define RESET_IPC_AP2AUD	49 | 
 | #define RESET_CAN0		50 | 
 |  | 
 | /* APMU clocks */ | 
 | #define CLK_CCI550		0 | 
 | #define CLK_CPU_C0_HI		1 | 
 | #define CLK_CPU_C0_CORE		2 | 
 | #define CLK_CPU_C0_ACE		3 | 
 | #define CLK_CPU_C0_TCM		4 | 
 | #define CLK_CPU_C1_HI		5 | 
 | #define CLK_CPU_C1_CORE		6 | 
 | #define CLK_CPU_C1_ACE		7 | 
 | #define CLK_CCIC_4X		8 | 
 | #define CLK_CCIC1PHY		9 | 
 | #define CLK_SDH_AXI		10 | 
 | #define CLK_SDH0		11 | 
 | #define CLK_SDH1		12 | 
 | #define CLK_SDH2		13 | 
 | #define CLK_USB_P1		14 | 
 | #define CLK_USB_AXI		15 | 
 | #define CLK_USB30		16 | 
 | #define CLK_QSPI		17 | 
 | #define CLK_QSPI_BUS		18 | 
 | #define CLK_DMA			19 | 
 | #define CLK_AES			20 | 
 | #define CLK_VPU			21 | 
 | #define CLK_GPU			22 | 
 | #define CLK_EMMC		23 | 
 | #define CLK_EMMC_X		24 | 
 | #define CLK_AUDIO		25 | 
 | #define CLK_HDMI		26 | 
 | #define CLK_PMUA_ACLK		27 | 
 | #define CLK_PCIE0_MASTER	28 | 
 | #define CLK_PCIE0_SLAVE		29 | 
 | #define CLK_PCIE0_DBI		30 | 
 | #define CLK_PCIE1_MASTER	31 | 
 | #define CLK_PCIE1_SLAVE		32 | 
 | #define CLK_PCIE1_DBI		33 | 
 | #define CLK_PCIE2_MASTER	34 | 
 | #define CLK_PCIE2_SLAVE		35 | 
 | #define CLK_PCIE2_DBI		36 | 
 | #define CLK_EMAC0_BUS		37 | 
 | #define CLK_EMAC0_PTP		38 | 
 | #define CLK_EMAC1_BUS		39 | 
 | #define CLK_EMAC1_PTP		40 | 
 | #define CLK_JPG			41 | 
 | #define CLK_CCIC2PHY		42 | 
 | #define CLK_CCIC3PHY		43 | 
 | #define CLK_CSI			44 | 
 | #define CLK_CAMM0		45 | 
 | #define CLK_CAMM1		46 | 
 | #define CLK_CAMM2		47 | 
 | #define CLK_ISP_CPP		48 | 
 | #define CLK_ISP_BUS		49 | 
 | #define CLK_ISP			50 | 
 | #define CLK_DPU_MCLK		51 | 
 | #define CLK_DPU_ESC		52 | 
 | #define CLK_DPU_BIT		53 | 
 | #define CLK_DPU_PXCLK		54 | 
 | #define CLK_DPU_HCLK		55 | 
 | #define CLK_DPU_SPI		56 | 
 | #define CLK_DPU_SPI_HBUS	57 | 
 | #define CLK_DPU_SPIBUS		58 | 
 | #define CLK_DPU_SPI_ACLK	59 | 
 | #define CLK_V2D			60 | 
 | #define CLK_EMMC_BUS		61 | 
 |  | 
 | /* APMU resets */ | 
 | #define RESET_CCIC_4X		0 | 
 | #define RESET_CCIC1_PHY		1 | 
 | #define RESET_SDH_AXI		2 | 
 | #define RESET_SDH0		3 | 
 | #define RESET_SDH1		4 | 
 | #define RESET_SDH2		5 | 
 | #define RESET_USBP1_AXI		6 | 
 | #define RESET_USB_AXI		7 | 
 | #define RESET_USB30_AHB		8 | 
 | #define RESET_USB30_VCC		9 | 
 | #define RESET_USB30_PHY		10 | 
 | #define RESET_QSPI		11 | 
 | #define RESET_QSPI_BUS		12 | 
 | #define RESET_DMA		13 | 
 | #define RESET_AES		14 | 
 | #define RESET_VPU		15 | 
 | #define RESET_GPU		16 | 
 | #define RESET_EMMC		17 | 
 | #define RESET_EMMC_X		18 | 
 | #define RESET_AUDIO_SYS		19 | 
 | #define RESET_AUDIO_MCU		20 | 
 | #define RESET_AUDIO_APMU	21 | 
 | #define RESET_HDMI		22 | 
 | #define RESET_PCIE0_MASTER	23 | 
 | #define RESET_PCIE0_SLAVE	24 | 
 | #define RESET_PCIE0_DBI		25 | 
 | #define RESET_PCIE0_GLOBAL	26 | 
 | #define RESET_PCIE1_MASTER	27 | 
 | #define RESET_PCIE1_SLAVE	28 | 
 | #define RESET_PCIE1_DBI		29 | 
 | #define RESET_PCIE1_GLOBAL	30 | 
 | #define RESET_PCIE2_MASTER	31 | 
 | #define RESET_PCIE2_SLAVE	32 | 
 | #define RESET_PCIE2_DBI		33 | 
 | #define RESET_PCIE2_GLOBAL	34 | 
 | #define RESET_EMAC0		35 | 
 | #define RESET_EMAC1		36 | 
 | #define RESET_JPG		37 | 
 | #define RESET_CCIC2PHY		38 | 
 | #define RESET_CCIC3PHY		39 | 
 | #define RESET_CSI		40 | 
 | #define RESET_ISP_CPP		41 | 
 | #define RESET_ISP_BUS		42 | 
 | #define RESET_ISP		43 | 
 | #define RESET_ISP_CI		44 | 
 | #define RESET_DPU_MCLK		45 | 
 | #define RESET_DPU_ESC		46 | 
 | #define RESET_DPU_HCLK		47 | 
 | #define RESET_DPU_SPIBUS	48 | 
 | #define RESET_DPU_SPI_HBUS	49 | 
 | #define RESET_V2D		50 | 
 | #define RESET_MIPI		51 | 
 | #define RESET_MC		52 | 
 |  | 
 | /*	RCPU resets	*/ | 
 | #define RESET_RCPU_SSP0		0 | 
 | #define RESET_RCPU_I2C0		1 | 
 | #define RESET_RCPU_UART1	2 | 
 | #define RESET_RCPU_IR		3 | 
 | #define RESET_RCPU_CAN		4 | 
 | #define RESET_RCPU_UART0	5 | 
 | #define RESET_RCPU_HDMI_AUDIO	6 | 
 |  | 
 | /*	RCPU2 resets	*/ | 
 | #define RESET_RCPU2_PWM0	0 | 
 | #define RESET_RCPU2_PWM1	1 | 
 | #define RESET_RCPU2_PWM2	2 | 
 | #define RESET_RCPU2_PWM3	3 | 
 | #define RESET_RCPU2_PWM4	4 | 
 | #define RESET_RCPU2_PWM5	5 | 
 | #define RESET_RCPU2_PWM6	6 | 
 | #define RESET_RCPU2_PWM7	7 | 
 | #define RESET_RCPU2_PWM8	8 | 
 | #define RESET_RCPU2_PWM9	9 | 
 |  | 
 | /*	APBC2 resets	*/ | 
 | #define RESET_APBC2_UART1	0 | 
 | #define RESET_APBC2_SSP2	1 | 
 | #define RESET_APBC2_TWSI3	2 | 
 | #define RESET_APBC2_RTC		3 | 
 | #define RESET_APBC2_TIMERS0	4 | 
 | #define RESET_APBC2_KPC		5 | 
 | #define RESET_APBC2_GPIO	6 | 
 |  | 
 | #endif /* _DT_BINDINGS_SPACEMIT_CCU_H_ */ |