linux/include/dt-bindings/clock/samsung,s3c64xx-clock.h

/* SPDX-License-Identifier: GPL-2.0 */
/*
 * Copyright (c) 2013 Tomasz Figa <tomasz.figa at gmail.com>
 *
 * Device Tree binding constants for Samsung S3C64xx clock controller.
 */

#ifndef _DT_BINDINGS_CLOCK_SAMSUNG_S3C64XX_CLOCK_H
#define _DT_BINDINGS_CLOCK_SAMSUNG_S3C64XX_CLOCK_H

/*
 * Let each exported clock get a unique index, which is used on DT-enabled
 * platforms to lookup the clock from a clock specifier. These indices are
 * therefore considered an ABI and so must not be changed. This implies
 * that new clocks should be added either in free spaces between clock groups
 * or at the end.
 */

/* Core clocks. */
#define CLK27M
#define CLK48M
#define FOUT_APLL
#define FOUT_MPLL
#define FOUT_EPLL
#define ARMCLK
#define HCLKX2
#define HCLK
#define PCLK

/* HCLK bus clocks. */
#define HCLK_3DSE
#define HCLK_UHOST
#define HCLK_SECUR
#define HCLK_SDMA1
#define HCLK_SDMA0
#define HCLK_IROM
#define HCLK_DDR1
#define HCLK_MEM1
#define HCLK_MEM0
#define HCLK_USB
#define HCLK_HSMMC2
#define HCLK_HSMMC1
#define HCLK_HSMMC0
#define HCLK_MDP
#define HCLK_DHOST
#define HCLK_IHOST
#define HCLK_DMA1
#define HCLK_DMA0
#define HCLK_JPEG
#define HCLK_CAMIF
#define HCLK_SCALER
#define HCLK_2D
#define HCLK_TV
#define HCLK_POST0
#define HCLK_ROT
#define HCLK_LCD
#define HCLK_TZIC
#define HCLK_INTC
#define HCLK_MFC
#define HCLK_DDR0

/* PCLK bus clocks. */
#define PCLK_IIC1
#define PCLK_IIS2
#define PCLK_SKEY
#define PCLK_CHIPID
#define PCLK_SPI1
#define PCLK_SPI0
#define PCLK_HSIRX
#define PCLK_HSITX
#define PCLK_GPIO
#define PCLK_IIC0
#define PCLK_IIS1
#define PCLK_IIS0
#define PCLK_AC97
#define PCLK_TZPC
#define PCLK_TSADC
#define PCLK_KEYPAD
#define PCLK_IRDA
#define PCLK_PCM1
#define PCLK_PCM0
#define PCLK_PWM
#define PCLK_RTC
#define PCLK_WDT
#define PCLK_UART3
#define PCLK_UART2
#define PCLK_UART1
#define PCLK_UART0
#define PCLK_MFC

/* Special clocks. */
#define SCLK_UHOST
#define SCLK_MMC2_48
#define SCLK_MMC1_48
#define SCLK_MMC0_48
#define SCLK_MMC2
#define SCLK_MMC1
#define SCLK_MMC0
#define SCLK_SPI1_48
#define SCLK_SPI0_48
#define SCLK_SPI1
#define SCLK_SPI0
#define SCLK_DAC27
#define SCLK_TV27
#define SCLK_SCALER27
#define SCLK_SCALER
#define SCLK_LCD27
#define SCLK_LCD
#define SCLK_FIMC
#define SCLK_POST0_27
#define SCLK_AUDIO2
#define SCLK_POST0
#define SCLK_AUDIO1
#define SCLK_AUDIO0
#define SCLK_SECUR
#define SCLK_IRDA
#define SCLK_UART
#define SCLK_MFC
#define SCLK_CAM
#define SCLK_JPEG
#define SCLK_ONENAND

/* MEM0 bus clocks - S3C6410-specific. */
#define MEM0_CFCON
#define MEM0_ONENAND1
#define MEM0_ONENAND0
#define MEM0_NFCON
#define MEM0_SROM

/* Muxes. */
#define MOUT_APLL
#define MOUT_MPLL
#define MOUT_EPLL
#define MOUT_MFC
#define MOUT_AUDIO0
#define MOUT_AUDIO1
#define MOUT_UART
#define MOUT_SPI0
#define MOUT_SPI1
#define MOUT_MMC0
#define MOUT_MMC1
#define MOUT_MMC2
#define MOUT_UHOST
#define MOUT_IRDA
#define MOUT_LCD
#define MOUT_SCALER
#define MOUT_DAC27
#define MOUT_TV27
#define MOUT_AUDIO2

/* Dividers. */
#define DOUT_MPLL
#define DOUT_SECUR
#define DOUT_CAM
#define DOUT_JPEG
#define DOUT_MFC
#define DOUT_MMC0
#define DOUT_MMC1
#define DOUT_MMC2
#define DOUT_LCD
#define DOUT_SCALER
#define DOUT_UHOST
#define DOUT_SPI0
#define DOUT_SPI1
#define DOUT_AUDIO0
#define DOUT_AUDIO1
#define DOUT_UART
#define DOUT_IRDA
#define DOUT_FIMC
#define DOUT_AUDIO2

/* Total number of clocks. */
#define NR_CLKS

#endif /* _DT_BINDINGS_CLOCK_SAMSUNG_S3C64XX_CLOCK_H */