Merge tag 'efi-2020-07-rc6' of https://gitlab.denx.de/u-boot/custodians/u-boot-efi
[oweals/u-boot.git] / arch / arm / include / asm / arch-mxs / clock.h
1 /* SPDX-License-Identifier: GPL-2.0+ */
2 /*
3  * Freescale i.MX23/i.MX28 Clock
4  *
5  * Copyright (C) 2011 Marek Vasut <marek.vasut@gmail.com>
6  * on behalf of DENX Software Engineering GmbH
7  */
8
9 #ifndef __CLOCK_H__
10 #define __CLOCK_H__
11
12 enum mxc_clock {
13         MXC_ARM_CLK = 0,
14         MXC_AHB_CLK,
15         MXC_IPG_CLK,
16         MXC_EMI_CLK,
17         MXC_GPMI_CLK,
18         MXC_IO0_CLK,
19         MXC_IO1_CLK,
20         MXC_XTAL_CLK,
21         MXC_SSP0_CLK,
22 #ifdef CONFIG_MX28
23         MXC_SSP1_CLK,
24         MXC_SSP2_CLK,
25         MXC_SSP3_CLK,
26 #endif
27 };
28
29 enum mxs_ioclock {
30         MXC_IOCLK0 = 0,
31         MXC_IOCLK1,
32 };
33
34 enum mxs_sspclock {
35         MXC_SSPCLK0 = 0,
36 #ifdef CONFIG_MX28
37         MXC_SSPCLK1,
38         MXC_SSPCLK2,
39         MXC_SSPCLK3,
40 #endif
41 };
42
43 uint32_t mxc_get_clock(enum mxc_clock clk);
44
45 void mxs_set_ioclk(enum mxs_ioclock io, uint32_t freq);
46 void mxs_set_sspclk(enum mxs_sspclock ssp, uint32_t freq, int xtal);
47 void mxs_set_ssp_busclock(unsigned int bus, uint32_t freq);
48 void mxs_set_lcdclk(uint32_t __maybe_unused lcd_base, uint32_t freq);
49
50 /* Compatibility with the FEC Ethernet driver */
51 #define imx_get_fecclk()        mxc_get_clock(MXC_AHB_CLK)
52
53 #endif  /* __CLOCK_H__ */