#ifndef __PLATFORM_CLK_H__ #define __PLATFORM_CLK_H__ typedef enum { HAL_CLK_ROOT = -1, HAL_CLK_FIXED_SRC, HAL_CLK_FIXED_FACTOR, HAL_CLK_FACTOR, HAL_CLK_PERIPH, } hal_clk_type_t; /************************************************************************************************ * Enum hal_clk_id_t * @Description: This enum defines the Clock-id that CCMU HAL support * # Clock-id defines as Bitmap 32bits * #|PERIPH CLOCK |FACTOR PLL CLOCK |FIXED FACTOR CLOCK |FIXED SOURCE CLOCK | * #|768~1023 |512~767 |256~511 |0~255 | *************************************************************************************************/ #define HAL_CLK_SECTION (256) #define HAL_CLK_FIXED_SRC_OFFSET (HAL_CLK_FIXED_SRC*HAL_CLK_SECTION) #define HAL_CLK_FIXED_FACTOR_OFFSET (HAL_CLK_FIXED_FACTOR*HAL_CLK_SECTION) #define HAL_CLK_FACTOR_OFFSET (HAL_CLK_FACTOR*HAL_CLK_SECTION) #define HAL_CLK_PERIPH_OFFSET (HAL_CLK_PERIPH*HAL_CLK_SECTION) #define HAL_CLK_GET_TYPE(clk_id) (clk_id/HAL_CLK_SECTION) /************************************************************************************************ * Enum hal_clk_id_t * @Description: This enum defines the Clock-id that CCMU HAL support * # Clock-id defines as Bitmap 32bits * #|PERIPH CLOCK |FACTOR PLL CLOCK |FIXED FACTOR CLOCK |FIXED SOURCE CLOCK | * #|768~1023 |512~767 |256~511 |0~255 | *************************************************************************************************/ #ifndef CONFIG_ARCH_SUN8IW19 enum { HAL_CLK_UNINITIALIZED = -1, HAL_CLK_SRC_ROOT, /* * FIXED SOURCE CLOCK 0~255 */ HAL_CLK_SRC_HOSC24M = HAL_CLK_FIXED_SRC_OFFSET, HAL_CLK_SRC_HOSC24MD2, HAL_CLK_SRC_HOSC, HAL_CLK_SRC_HOSCDIV32K, HAL_CLK_SRC_IOSC16M, HAL_CLK_SRC_IOSC, HAL_CLK_SRC_OSC48M, HAL_CLK_SRC_OSC48MD4, HAL_CLK_SRC_LOSC, HAL_CLK_SRC_LOSC_OUT, HAL_CLK_SRC_EXTLOSC, HAL_CLK_SRC_RC16M, /* * FIXED FACTOR CLOCK 256~511 */ HAL_CLK_PLL_IOSC32K = HAL_CLK_FIXED_FACTOR_OFFSET, HAL_CLK_PLL_PERI0600M, HAL_CLK_PLL_PERI0400M, HAL_CLK_PLL_PERI0300M, HAL_CLK_PLL_PERI0200M, HAL_CLK_PLL_PERI0160M, HAL_CLK_PLL_PERI0150M, HAL_CLK_PLL_PERI0150MDIV6, HAL_CLK_PLL_PERI0160MDIV10, HAL_CLK_PLL_PERI1X2, HAL_CLK_PLL_VIDEO0X2, HAL_CLK_PLL_VIDEO0, HAL_CLK_PLL_AUDIOX2, HAL_CLK_PLL_AUDIOX4, HAL_CLK_PLL_DDRDIV4, HAL_HOSC_DIV32, HAL_HOSC_DIV16, HAL_HOSC_DIV8, HAL_HOSC_DIV4, HAL_HOSC_DIV2, HAL_CLK_PLL_NPUX2, HAL_CLK_PLL_NPU, HAL_CLK_HOSCD2, HAL_CLK_OSC48MD4, HAL_CLK_SDRAMD4, /* * FACTOR CLOCK 512~1023 */ HAL_CLK_PLL_CPUX_C0 = HAL_CLK_FACTOR_OFFSET, HAL_CLK_PLL_CPUX_C1, HAL_CLK_PLL_DDR0, HAL_CLK_PLL_DDR1, HAL_CLK_PLL_32K, HAL_CLK_PLL_PERI0, HAL_CLK_PLL_PERI0DIV3, HAL_CLK_PLL_PERI0DIV25M, HAL_CLK_PLL_PERI0X2, HAL_CLK_PLL_PERI0800M, HAL_CLK_PLL_PERI0480M, HAL_CLK_PLL_PERI1, HAL_CLK_PLL_GPU0, HAL_CLK_PLL_GPU1, HAL_CLK_PLL_VIDEOX4, HAL_CLK_PLL_VIDEO1, HAL_CLK_PLL_VIDEO2, HAL_CLK_PLL_VE, HAL_CLK_PLL_DE, HAL_CLK_PLL_ISP, HAL_CLK_PLL_HSIC, HAL_CLK_PLL_AUDIO, HAL_CLK_PLL_AUDIODIV2, HAL_CLK_PLL_AUDIODIV5, HAL_CLK_PLL_VIDEO, HAL_CLK_PLL_MIPI, HAL_CLK_PLL_HDMI, HAL_CLK_PLL_USB, HAL_CLK_PLL_EDP, HAL_CLK_PLL_SATA, HAL_CLK_PLL_ADC, HAL_CLK_PLL_DTMB, HAL_CLK_PLL_24M, HAL_CLK_PLL_EVE, HAL_CLK_PLL_CVE, HAL_CLK_PLL_ISE, HAL_CLK_PLL_CSI, HAL_CLK_PLL_CSIX4, HAL_CLK_PLL_NPUX4, /* PERIPH MODULE CLOCK 1024~2047 */ HAL_CLK_BUS_C0_CPU = HAL_CLK_PERIPH_OFFSET, HAL_CLK_BUS_C1_CPU, HAL_CLK_BUS_C0_AXI, HAL_CLK_BUS_C1_AXI, HAL_CLK_BUS_CPUAPB, HAL_CLK_BUS_PSI, HAL_CLK_BUS_AHB, HAL_CLK_BUS_AHB1, HAL_CLK_BUS_AHB2, HAL_CLK_BUS_AHB3, HAL_CLK_BUS_APB0, HAL_CLK_BUS_APB1, HAL_CLK_BUS_APB2, HAL_CLK_BUS_CCI400, HAL_CLK_BUS_MBUS, HAL_CLK_PERIPH_DMA, HAL_CLK_PERIPH_DE, HAL_CLK_PERIPH_EE, HAL_CLK_PERIPH_DI, HAL_CLK_PERIPH_G2D, HAL_CLK_PERIPH_EDMA, HAL_CLK_PERIPH_EVE, HAL_CLK_PERIPH_CVE, HAL_CLK_PERIPH_GPU, HAL_CLK_PERIPH_CE, HAL_CLK_PERIPH_VE, HAL_CLK_PERIPH_NPU, HAL_CLK_PERIPH_EISE, HAL_CLK_PERIPH_NNA, HAL_CLK_PERIPH_NNA_RST, HAL_CLK_PERIPH_MSGBOX0, HAL_CLK_PERIPH_MSGBOX1, HAL_CLK_PERIPH_MSGBOXR, HAL_CLK_PERIPH_SPINLOCK, HAL_CLK_PERIPH_HSTIMER, HAL_CLK_PERIPH_AVS, HAL_CLK_PERIPH_DBGSYS, HAL_CLK_PERIPH_PWM, HAL_CLK_PERIPH_IOMMU, HAL_CLK_PERIPH_GPIO, HAL_CLK_PERIPH_DRAM, HAL_CLK_PERIPH_SDRAM, HAL_CLK_PERIPH_NAND0, HAL_CLK_PERIPH_NAND1, HAL_CLK_PERIPH_SDMMC0_MOD, HAL_CLK_PERIPH_SDMMC0_RST, HAL_CLK_PERIPH_SDMMC0_BUS, HAL_CLK_PERIPH_SDMMC1_MOD, HAL_CLK_PERIPH_SDMMC1_RST, HAL_CLK_PERIPH_SDMMC2_BUS, HAL_CLK_PERIPH_SDMMC2_MOD, HAL_CLK_PERIPH_SDMMC2_RST, HAL_CLK_PERIPH_SDMMC1_BUS, HAL_CLK_PERIPH_SMHC3, HAL_CLK_PERIPH_SMHC4, HAL_CLK_PERIPH_SMHC5, HAL_CLK_PERIPH_UART0, HAL_CLK_PERIPH_UART1, HAL_CLK_PERIPH_UART2, HAL_CLK_PERIPH_UART3, HAL_CLK_PERIPH_UART4, HAL_CLK_PERIPH_UART5, HAL_CLK_PERIPH_UART6, HAL_CLK_PERIPH_UART7, HAL_CLK_PERIPH_TWI0, HAL_CLK_PERIPH_TWI1, HAL_CLK_PERIPH_TWI2, HAL_CLK_PERIPH_TWI3, HAL_CLK_PERIPH_TWI4, HAL_CLK_PERIPH_CAN0, HAL_CLK_PERIPH_CAN1, HAL_CLK_PERIPH_CAN2, HAL_CLK_PERIPH_SCR0, HAL_CLK_PERIPH_SCR1, HAL_CLK_PERIPH_SCR2, HAL_CLK_PERIPH_SCR3, HAL_CLK_PERIPH_SPI0, HAL_CLK_PERIPH_SPI1, HAL_CLK_PERIPH_SPI2, HAL_CLK_PERIPH_SPI3, HAL_CLK_PERIPH_SPI4, HAL_CLK_PERIPH_SPI5, HAL_CLK_PERIPH_SPI6, HAL_CLK_PERIPH_SPI7, HAL_CLK_PERIPH_SPIF, HAL_CLK_PERIPH_THS, HAL_CLK_PERIPH_GMAC, HAL_CLK_PERIPH_GMAC_25M, HAL_CLK_PERIPH_EPHY, HAL_CLK_PERIPH_EMAC, HAL_CLK_PERIPH_SATA, HAL_CLK_PERIPH_TS0, HAL_CLK_PERIPH_TS1, HAL_CLK_PERIPH_IRTX, HAL_CLK_PERIPH_KEYPAD, HAL_CLK_PERIPH_GPADC, HAL_CLK_PERIPH_LEDC, HAL_CLK_PERIPH_PIO, HAL_CLK_PERIPH_MAD, HAL_CLK_PERIPH_LPSD, HAL_CLK_PERIPH_DTMB, HAL_CLK_PERIPH_I2S0, HAL_CLK_PERIPH_I2S1, HAL_CLK_PERIPH_I2S2, HAL_CLK_PERIPH_SPDIF, HAL_CLK_PERIPH_DSD, HAL_CLK_PERIPH_DMIC, HAL_CLK_PERIPH_AUDIOCODEC_1X, HAL_CLK_PERIPH_AUDIOCODEC_4X, HAL_CLK_PERIPH_CODEC_DAC, HAL_CLK_PERIPH_CODEC_ADC, HAL_CLK_PERIPH_WLAN, HAL_CLK_PERIPH_USB0, HAL_CLK_PERIPH_USB1, HAL_CLK_PERIPH_USB2, HAL_CLK_PERIPH_USB3, HAL_CLK_PERIPH_USBOHCI0, HAL_CLK_PERIPH_USBOHCI0_12M, HAL_CLK_PERIPH_USBOHCI1, HAL_CLK_PERIPH_USBOHCI1_12M, HAL_CLK_PERIPH_USBEHCI0, HAL_CLK_PERIPH_USBEHCI1, HAL_CLK_PERIPH_USBOTG, HAL_CLK_PERIPH_HDMI0, HAL_CLK_PERIPH_HDMI1, HAL_CLK_PERIPH_HDMI2, HAL_CLK_PERIPH_HDMI3, HAL_CLK_PERIPH_DPSS_TOP, HAL_CLK_PERIPH_MIPI_DSI0, HAL_CLK_PERIPH_MIPI_DPHY0, HAL_CLK_PERIPH_MIPI_HOST0, HAL_CLK_PERIPH_MIPI_DSI1, HAL_CLK_PERIPH_MIPI_HOST1, HAL_CLK_PERIPH_MIPI_DSI2, HAL_CLK_PERIPH_MIPI_HOST2, HAL_CLK_PERIPH_MIPI_DSI3, HAL_CLK_PERIPH_MIPI_HOST3, HAL_CLK_PERIPH_MIPI_DSC, HAL_CLK_PERIPH_DISPLAY_TOP, HAL_CLK_PERIPH_TCON_LCD0, HAL_CLK_PERIPH_TCON_LCD1, HAL_CLK_PERIPH_TCON_LCD2, HAL_CLK_PERIPH_TCON_LCD3, HAL_CLK_PERIPH_TCON_TV0, HAL_CLK_PERIPH_TCON_TV1, HAL_CLK_PERIPH_TCON_TV2, HAL_CLK_PERIPH_TCON_TV3, HAL_CLK_PERIPH_TVE0, HAL_CLK_PERIPH_TVE1, HAL_CLK_PERIPH_LVDS, HAL_CLK_PERIPH_TVD0, HAL_CLK_PERIPH_TVD1, HAL_CLK_PERIPH_TVD2, HAL_CLK_PERIPH_TVD3, HAL_CLK_PERIPH_TVD4, HAL_CLK_PERIPH_TVD5, HAL_CLK_PERIPH_EDP, HAL_CLK_PERIPH_CSI0, HAL_CLK_PERIPH_CSI1, HAL_CLK_PERIPH_MIPI_CSI, HAL_CLK_PERIPH_SUB_LVDS, HAL_CLK_PERIPH_HISP, HAL_CLK_PERIPH_CSI_TOP, HAL_CLK_PERIPH_CSI_MASTER0, HAL_CLK_PERIPH_CSI_MASTER1, HAL_CLK_PERIPH_CSI_MASTER2, HAL_CLK_PERIPH_ISP, HAL_CLK_PERIPH_WIEGAND, HAL_CLK_PERIPH_E907, HAL_CLK_PERIPH_E907_AXI, HAL_CLK_PERIPH_FANOUT_25M, HAL_CLK_PERIPH_FANOUT_16M, HAL_CLK_PERIPH_FANOUT_12M, HAL_CLK_PERIPH_FANOUT_24M, HAL_CLK_PERIPH_FANOUT_27M, HAL_CLK_PERIPH_FANOUT_PCLK, HAL_CLK_PERIPH_FANOUT0, HAL_CLK_PERIPH_FANOUT1, HAL_CLK_PERIPH_FANOUT2, HAL_CLK_PERIPH_DSPO, }; #else enum { HAL_CLK_UNINITIALIZED = -1, HAL_CLK_SRC_ROOT, /* * FIXED SOURCE CLOCK 0~255 */ HAL_CLK_SRC_HOSC24M = HAL_CLK_FIXED_SRC_OFFSET, HAL_CLK_SRC_HOSC24MD2, HAL_CLK_SRC_IOSC16M, HAL_CLK_SRC_OSC48M, HAL_CLK_SRC_OSC48MD4, HAL_CLK_SRC_LOSC, HAL_CLK_SRC_RC16M, HAL_CLK_PLL_PERI0DIV25M, /* * FIXED FACTOR CLOCK 256~511 */ HAL_CLK_PLL_PERI0X2 = HAL_CLK_FIXED_FACTOR_OFFSET, HAL_CLK_PLL_PERI1X2, HAL_CLK_PLL_AUDIOX2, HAL_CLK_PLL_AUDIOX4, HAL_CLK_PLL_VIDEOX4, HAL_CLK_PLL_DDRDIV4, /* * FACTOR CLOCK 512~1023 */ HAL_CLK_PLL_CPUX_C0 = HAL_CLK_FACTOR_OFFSET, HAL_CLK_PLL_CPUX_C1, HAL_CLK_PLL_DDR0, HAL_CLK_PLL_DDR1, HAL_CLK_PLL_32K, HAL_CLK_PLL_PERI0, HAL_CLK_PLL_PERI1, HAL_CLK_PLL_GPU0, HAL_CLK_PLL_GPU1, HAL_CLK_PLL_VIDEO0, HAL_CLK_PLL_VIDEO1, HAL_CLK_PLL_VIDEO2, HAL_CLK_PLL_VE, HAL_CLK_PLL_DE, HAL_CLK_PLL_ISP, HAL_CLK_PLL_HSIC, HAL_CLK_PLL_AUDIO, HAL_CLK_PLL_VIDEO, HAL_CLK_PLL_MIPI, HAL_CLK_PLL_HDMI, HAL_CLK_PLL_USB, HAL_CLK_PLL_EDP, HAL_CLK_PLL_SATA, HAL_CLK_PLL_ADC, HAL_CLK_PLL_DTMB, HAL_CLK_PLL_24M, HAL_CLK_PLL_EVE, HAL_CLK_PLL_CVE, HAL_CLK_PLL_ISE, HAL_CLK_PLL_CSI, HAL_CLK_PLL_CSIX4, /* PERIPH MODULE CLOCK 1024~2047 */ HAL_CLK_BUS_C0_CPU = HAL_CLK_PERIPH_OFFSET, HAL_CLK_BUS_C1_CPU, HAL_CLK_BUS_C0_AXI, HAL_CLK_BUS_C1_AXI, HAL_CLK_BUS_CPUAPB, HAL_CLK_BUS_PSI, HAL_CLK_BUS_AHB1, HAL_CLK_BUS_AHB2, HAL_CLK_BUS_AHB3, HAL_CLK_BUS_APB1, HAL_CLK_BUS_APB2, HAL_CLK_BUS_CCI400, HAL_CLK_BUS_MBUS, HAL_CLK_PERIPH_DMA, HAL_CLK_PERIPH_DE, HAL_CLK_PERIPH_EE, HAL_CLK_PERIPH_DI, HAL_CLK_PERIPH_G2D, HAL_CLK_PERIPH_EDMA, HAL_CLK_PERIPH_EVE, HAL_CLK_PERIPH_CVE, HAL_CLK_PERIPH_GPU, HAL_CLK_PERIPH_CE, HAL_CLK_PERIPH_VE, HAL_CLK_PERIPH_EISE, HAL_CLK_PERIPH_NNA, HAL_CLK_PERIPH_NNA_RST, HAL_CLK_PERIPH_MSGBOX, HAL_CLK_PERIPH_SPINLOCK, HAL_CLK_PERIPH_HSTIMER, HAL_CLK_PERIPH_AVS, HAL_CLK_PERIPH_DBGSYS, HAL_CLK_PERIPH_PWM, HAL_CLK_PERIPH_IOMMU, HAL_CLK_PERIPH_GPIO, HAL_CLK_PERIPH_DRAM, HAL_CLK_PERIPH_NAND0, HAL_CLK_PERIPH_NAND1, HAL_CLK_PERIPH_SDMMC0_MOD, HAL_CLK_PERIPH_SDMMC0_RST, HAL_CLK_PERIPH_SDMMC0_BUS, HAL_CLK_PERIPH_SDMMC1_MOD, HAL_CLK_PERIPH_SDMMC1_RST, HAL_CLK_PERIPH_SDMMC2_BUS, HAL_CLK_PERIPH_SDMMC2_MOD, HAL_CLK_PERIPH_SDMMC2_RST, HAL_CLK_PERIPH_SDMMC1_BUS, HAL_CLK_PERIPH_SMHC3, HAL_CLK_PERIPH_SMHC4, HAL_CLK_PERIPH_SMHC5, HAL_CLK_PERIPH_UART0, HAL_CLK_PERIPH_UART1, HAL_CLK_PERIPH_UART2, HAL_CLK_PERIPH_UART3, HAL_CLK_PERIPH_UART4, HAL_CLK_PERIPH_UART5, HAL_CLK_PERIPH_UART6, HAL_CLK_PERIPH_UART7, HAL_CLK_PERIPH_TWI0, HAL_CLK_PERIPH_TWI1, HAL_CLK_PERIPH_TWI2, HAL_CLK_PERIPH_TWI3, HAL_CLK_PERIPH_TWI4, HAL_CLK_PERIPH_CAN0, HAL_CLK_PERIPH_CAN1, HAL_CLK_PERIPH_CAN2, HAL_CLK_PERIPH_SCR0, HAL_CLK_PERIPH_SCR1, HAL_CLK_PERIPH_SCR2, HAL_CLK_PERIPH_SCR3, HAL_CLK_PERIPH_SPI0, HAL_CLK_PERIPH_SPI1, HAL_CLK_PERIPH_SPI2, HAL_CLK_PERIPH_SPI3, HAL_CLK_PERIPH_SPI4, HAL_CLK_PERIPH_SPI5, HAL_CLK_PERIPH_SPI6, HAL_CLK_PERIPH_SPI7, HAL_CLK_PERIPH_THS, HAL_CLK_PERIPH_GMAC, HAL_CLK_PERIPH_EPHY, HAL_CLK_PERIPH_EMAC, HAL_CLK_PERIPH_SATA, HAL_CLK_PERIPH_TS0, HAL_CLK_PERIPH_TS1, HAL_CLK_PERIPH_IRTX, HAL_CLK_PERIPH_KEYPAD, HAL_CLK_PERIPH_GPADC, HAL_CLK_PERIPH_LEDC, HAL_CLK_PERIPH_PIO, HAL_CLK_PERIPH_MAD, HAL_CLK_PERIPH_LPSD, HAL_CLK_PERIPH_DTMB, HAL_CLK_PERIPH_I2S0, HAL_CLK_PERIPH_I2S1, HAL_CLK_PERIPH_I2S2, HAL_CLK_PERIPH_SPDIF, HAL_CLK_PERIPH_DSD, HAL_CLK_PERIPH_DMIC, HAL_CLK_PERIPH_AUDIOCODEC_1X, HAL_CLK_PERIPH_AUDIOCODEC_4X, HAL_CLK_PERIPH_WLAN, HAL_CLK_PERIPH_USB0, HAL_CLK_PERIPH_USB1, HAL_CLK_PERIPH_USB2, HAL_CLK_PERIPH_USB3, HAL_CLK_PERIPH_USBOHCI0, HAL_CLK_PERIPH_USBOHCI0_12M, HAL_CLK_PERIPH_USBOHCI1, HAL_CLK_PERIPH_USBOHCI1_12M, HAL_CLK_PERIPH_USBEHCI0, HAL_CLK_PERIPH_USBEHCI1, HAL_CLK_PERIPH_USBOTG, HAL_CLK_PERIPH_HDMI0, HAL_CLK_PERIPH_HDMI1, HAL_CLK_PERIPH_HDMI2, HAL_CLK_PERIPH_HDMI3, HAL_CLK_PERIPH_MIPI_DSI0, HAL_CLK_PERIPH_MIPI_DPHY0, HAL_CLK_PERIPH_MIPI_HOST0, HAL_CLK_PERIPH_MIPI_DSI1, HAL_CLK_PERIPH_MIPI_HOST1, HAL_CLK_PERIPH_MIPI_DSI2, HAL_CLK_PERIPH_MIPI_HOST2, HAL_CLK_PERIPH_MIPI_DSI3, HAL_CLK_PERIPH_MIPI_HOST3, HAL_CLK_PERIPH_MIPI_DSC, HAL_CLK_PERIPH_DISPLAY_TOP, HAL_CLK_PERIPH_TCON_LCD0, HAL_CLK_PERIPH_TCON_LCD1, HAL_CLK_PERIPH_TCON_LCD2, HAL_CLK_PERIPH_TCON_LCD3, HAL_CLK_PERIPH_TCON_TV0, HAL_CLK_PERIPH_TCON_TV1, HAL_CLK_PERIPH_TCON_TV2, HAL_CLK_PERIPH_TCON_TV3, HAL_CLK_PERIPH_TVE0, HAL_CLK_PERIPH_TVE1, HAL_CLK_PERIPH_LVDS, HAL_CLK_PERIPH_TVD0, HAL_CLK_PERIPH_TVD1, HAL_CLK_PERIPH_TVD2, HAL_CLK_PERIPH_TVD3, HAL_CLK_PERIPH_TVD4, HAL_CLK_PERIPH_TVD5, HAL_CLK_PERIPH_EDP, HAL_CLK_PERIPH_CSI0, HAL_CLK_PERIPH_CSI1, HAL_CLK_PERIPH_MIPI_CSI, HAL_CLK_PERIPH_SUB_LVDS, HAL_CLK_PERIPH_HISP, HAL_CLK_PERIPH_CSI_TOP, HAL_CLK_PERIPH_CSI_MASTER0, HAL_CLK_PERIPH_CSI_MASTER1, HAL_CLK_PERIPH_ISP, HAL_CLK_PERIPH_DSPO, }; #endif #endif