1/* SPDX-License-Identifier: GPL-2.0-or-later */
2/*
3 * This header provides constants for AT91 pmc status.
4 *
5 * The constants defined in this header are being used in dts.
6 */
7
8#ifndef _DT_BINDINGS_CLK_AT91_H
9#define _DT_BINDINGS_CLK_AT91_H
10
11#define PMC_TYPE_CORE		0
12#define PMC_TYPE_SYSTEM		1
13#define PMC_TYPE_PERIPHERAL	2
14#define PMC_TYPE_GCK		3
15#define PMC_TYPE_PROGRAMMABLE	4
16
17#define PMC_SLOW		0
18#define PMC_MCK			1
19#define PMC_UTMI		2
20#define PMC_MAIN		3
21#define PMC_MCK2		4
22#define PMC_I2S0_MUX		5
23#define PMC_I2S1_MUX		6
24#define PMC_PLLACK		7
25#define PMC_PLLBCK		8
26#define PMC_AUDIOPLLCK		9
27#define PMC_AUDIOPINCK		10
28
29/* SAMA7G5 */
30#define PMC_CPUPLL		(PMC_MAIN + 1)
31#define PMC_SYSPLL		(PMC_MAIN + 2)
32#define PMC_DDRPLL		(PMC_MAIN + 3)
33#define PMC_IMGPLL		(PMC_MAIN + 4)
34#define PMC_BAUDPLL		(PMC_MAIN + 5)
35#define PMC_AUDIOPMCPLL		(PMC_MAIN + 6)
36#define PMC_AUDIOIOPLL		(PMC_MAIN + 7)
37#define PMC_ETHPLL		(PMC_MAIN + 8)
38#define PMC_CPU			(PMC_MAIN + 9)
39#define PMC_MCK1		(PMC_MAIN + 10)
40
41#ifndef AT91_PMC_MOSCS
42#define AT91_PMC_MOSCS		0		/* MOSCS Flag */
43#define AT91_PMC_LOCKA		1		/* PLLA Lock */
44#define AT91_PMC_LOCKB		2		/* PLLB Lock */
45#define AT91_PMC_MCKRDY		3		/* Master Clock */
46#define AT91_PMC_LOCKU		6		/* UPLL Lock */
47#define AT91_PMC_PCKRDY(id)	(8 + (id))	/* Programmable Clock */
48#define AT91_PMC_MOSCSELS	16		/* Main Oscillator Selection */
49#define AT91_PMC_MOSCRCS	17		/* Main On-Chip RC */
50#define AT91_PMC_CFDEV		18		/* Clock Failure Detector Event */
51#define AT91_PMC_GCKRDY		24		/* Generated Clocks */
52#endif
53
54#endif
55