1*c66ec88fSEmmanuel Vadot /* SPDX-License-Identifier: GPL-2.0 */ 2*c66ec88fSEmmanuel Vadot /* 3*c66ec88fSEmmanuel Vadot * Copyright (c) 2013 Heiko Stuebner <heiko@sntech.de> 4*c66ec88fSEmmanuel Vadot * 5*c66ec88fSEmmanuel Vadot * Device Tree binding constants clock controllers of Samsung S3C2443 and later. 6*c66ec88fSEmmanuel Vadot */ 7*c66ec88fSEmmanuel Vadot 8*c66ec88fSEmmanuel Vadot #ifndef _DT_BINDINGS_CLOCK_SAMSUNG_S3C2443_CLOCK_H 9*c66ec88fSEmmanuel Vadot #define _DT_BINDINGS_CLOCK_SAMSUNG_S3C2443_CLOCK_H 10*c66ec88fSEmmanuel Vadot 11*c66ec88fSEmmanuel Vadot /* 12*c66ec88fSEmmanuel Vadot * Let each exported clock get a unique index, which is used on DT-enabled 13*c66ec88fSEmmanuel Vadot * platforms to lookup the clock from a clock specifier. These indices are 14*c66ec88fSEmmanuel Vadot * therefore considered an ABI and so must not be changed. This implies 15*c66ec88fSEmmanuel Vadot * that new clocks should be added either in free spaces between clock groups 16*c66ec88fSEmmanuel Vadot * or at the end. 17*c66ec88fSEmmanuel Vadot */ 18*c66ec88fSEmmanuel Vadot 19*c66ec88fSEmmanuel Vadot /* Core clocks. */ 20*c66ec88fSEmmanuel Vadot #define MSYSCLK 1 21*c66ec88fSEmmanuel Vadot #define ESYSCLK 2 22*c66ec88fSEmmanuel Vadot #define ARMDIV 3 23*c66ec88fSEmmanuel Vadot #define ARMCLK 4 24*c66ec88fSEmmanuel Vadot #define HCLK 5 25*c66ec88fSEmmanuel Vadot #define PCLK 6 26*c66ec88fSEmmanuel Vadot #define MPLL 7 27*c66ec88fSEmmanuel Vadot #define EPLL 8 28*c66ec88fSEmmanuel Vadot 29*c66ec88fSEmmanuel Vadot /* Special clocks */ 30*c66ec88fSEmmanuel Vadot #define SCLK_HSSPI0 16 31*c66ec88fSEmmanuel Vadot #define SCLK_FIMD 17 32*c66ec88fSEmmanuel Vadot #define SCLK_I2S0 18 33*c66ec88fSEmmanuel Vadot #define SCLK_I2S1 19 34*c66ec88fSEmmanuel Vadot #define SCLK_HSMMC1 20 35*c66ec88fSEmmanuel Vadot #define SCLK_HSMMC_EXT 21 36*c66ec88fSEmmanuel Vadot #define SCLK_CAM 22 37*c66ec88fSEmmanuel Vadot #define SCLK_UART 23 38*c66ec88fSEmmanuel Vadot #define SCLK_USBH 24 39*c66ec88fSEmmanuel Vadot 40*c66ec88fSEmmanuel Vadot /* Muxes */ 41*c66ec88fSEmmanuel Vadot #define MUX_HSSPI0 32 42*c66ec88fSEmmanuel Vadot #define MUX_HSSPI1 33 43*c66ec88fSEmmanuel Vadot #define MUX_HSMMC0 34 44*c66ec88fSEmmanuel Vadot #define MUX_HSMMC1 35 45*c66ec88fSEmmanuel Vadot 46*c66ec88fSEmmanuel Vadot /* hclk-gates */ 47*c66ec88fSEmmanuel Vadot #define HCLK_DMA0 48 48*c66ec88fSEmmanuel Vadot #define HCLK_DMA1 49 49*c66ec88fSEmmanuel Vadot #define HCLK_DMA2 50 50*c66ec88fSEmmanuel Vadot #define HCLK_DMA3 51 51*c66ec88fSEmmanuel Vadot #define HCLK_DMA4 52 52*c66ec88fSEmmanuel Vadot #define HCLK_DMA5 53 53*c66ec88fSEmmanuel Vadot #define HCLK_DMA6 54 54*c66ec88fSEmmanuel Vadot #define HCLK_DMA7 55 55*c66ec88fSEmmanuel Vadot #define HCLK_CAM 56 56*c66ec88fSEmmanuel Vadot #define HCLK_LCD 57 57*c66ec88fSEmmanuel Vadot #define HCLK_USBH 58 58*c66ec88fSEmmanuel Vadot #define HCLK_USBD 59 59*c66ec88fSEmmanuel Vadot #define HCLK_IROM 60 60*c66ec88fSEmmanuel Vadot #define HCLK_HSMMC0 61 61*c66ec88fSEmmanuel Vadot #define HCLK_HSMMC1 62 62*c66ec88fSEmmanuel Vadot #define HCLK_CFC 63 63*c66ec88fSEmmanuel Vadot #define HCLK_SSMC 64 64*c66ec88fSEmmanuel Vadot #define HCLK_DRAM 65 65*c66ec88fSEmmanuel Vadot #define HCLK_2D 66 66*c66ec88fSEmmanuel Vadot 67*c66ec88fSEmmanuel Vadot /* pclk-gates */ 68*c66ec88fSEmmanuel Vadot #define PCLK_UART0 72 69*c66ec88fSEmmanuel Vadot #define PCLK_UART1 73 70*c66ec88fSEmmanuel Vadot #define PCLK_UART2 74 71*c66ec88fSEmmanuel Vadot #define PCLK_UART3 75 72*c66ec88fSEmmanuel Vadot #define PCLK_I2C0 76 73*c66ec88fSEmmanuel Vadot #define PCLK_SDI 77 74*c66ec88fSEmmanuel Vadot #define PCLK_SPI0 78 75*c66ec88fSEmmanuel Vadot #define PCLK_ADC 79 76*c66ec88fSEmmanuel Vadot #define PCLK_AC97 80 77*c66ec88fSEmmanuel Vadot #define PCLK_I2S0 81 78*c66ec88fSEmmanuel Vadot #define PCLK_PWM 82 79*c66ec88fSEmmanuel Vadot #define PCLK_WDT 83 80*c66ec88fSEmmanuel Vadot #define PCLK_RTC 84 81*c66ec88fSEmmanuel Vadot #define PCLK_GPIO 85 82*c66ec88fSEmmanuel Vadot #define PCLK_SPI1 86 83*c66ec88fSEmmanuel Vadot #define PCLK_CHIPID 87 84*c66ec88fSEmmanuel Vadot #define PCLK_I2C1 88 85*c66ec88fSEmmanuel Vadot #define PCLK_I2S1 89 86*c66ec88fSEmmanuel Vadot #define PCLK_PCM 90 87*c66ec88fSEmmanuel Vadot 88*c66ec88fSEmmanuel Vadot /* Total number of clocks. */ 89*c66ec88fSEmmanuel Vadot #define NR_CLKS (PCLK_PCM + 1) 90*c66ec88fSEmmanuel Vadot 91*c66ec88fSEmmanuel Vadot #endif /* _DT_BINDINGS_CLOCK_SAMSUNG_S3C2443_CLOCK_H */ 92