xref: /freebsd-src/sys/contrib/device-tree/include/dt-bindings/clock/at91.h (revision b2d2a78ad80ec68d4a17f5aef97d21686cb1e29b)
1c66ec88fSEmmanuel Vadot /* SPDX-License-Identifier: GPL-2.0-or-later */
2c66ec88fSEmmanuel Vadot /*
3c66ec88fSEmmanuel Vadot  * This header provides constants for AT91 pmc status.
4c66ec88fSEmmanuel Vadot  *
5c66ec88fSEmmanuel Vadot  * The constants defined in this header are being used in dts.
6c66ec88fSEmmanuel Vadot  */
7c66ec88fSEmmanuel Vadot 
8c66ec88fSEmmanuel Vadot #ifndef _DT_BINDINGS_CLK_AT91_H
9c66ec88fSEmmanuel Vadot #define _DT_BINDINGS_CLK_AT91_H
10c66ec88fSEmmanuel Vadot 
11c66ec88fSEmmanuel Vadot #define PMC_TYPE_CORE		0
12c66ec88fSEmmanuel Vadot #define PMC_TYPE_SYSTEM		1
13c66ec88fSEmmanuel Vadot #define PMC_TYPE_PERIPHERAL	2
14c66ec88fSEmmanuel Vadot #define PMC_TYPE_GCK		3
15c66ec88fSEmmanuel Vadot #define PMC_TYPE_PROGRAMMABLE	4
16c66ec88fSEmmanuel Vadot 
17c66ec88fSEmmanuel Vadot #define PMC_SLOW		0
18c66ec88fSEmmanuel Vadot #define PMC_MCK			1
19c66ec88fSEmmanuel Vadot #define PMC_UTMI		2
20c66ec88fSEmmanuel Vadot #define PMC_MAIN		3
21c66ec88fSEmmanuel Vadot #define PMC_MCK2		4
22c66ec88fSEmmanuel Vadot #define PMC_I2S0_MUX		5
23c66ec88fSEmmanuel Vadot #define PMC_I2S1_MUX		6
24c66ec88fSEmmanuel Vadot #define PMC_PLLACK		7
25c66ec88fSEmmanuel Vadot #define PMC_PLLBCK		8
26c66ec88fSEmmanuel Vadot #define PMC_AUDIOPLLCK		9
27c9ccf3a3SEmmanuel Vadot #define PMC_AUDIOPINCK		10
28c66ec88fSEmmanuel Vadot 
295def4c47SEmmanuel Vadot /* SAMA7G5 */
305def4c47SEmmanuel Vadot #define PMC_CPUPLL		(PMC_MAIN + 1)
315def4c47SEmmanuel Vadot #define PMC_SYSPLL		(PMC_MAIN + 2)
325def4c47SEmmanuel Vadot #define PMC_DDRPLL		(PMC_MAIN + 3)
335def4c47SEmmanuel Vadot #define PMC_IMGPLL		(PMC_MAIN + 4)
345def4c47SEmmanuel Vadot #define PMC_BAUDPLL		(PMC_MAIN + 5)
355def4c47SEmmanuel Vadot #define PMC_AUDIOPMCPLL		(PMC_MAIN + 6)
365def4c47SEmmanuel Vadot #define PMC_AUDIOIOPLL		(PMC_MAIN + 7)
375def4c47SEmmanuel Vadot #define PMC_ETHPLL		(PMC_MAIN + 8)
385def4c47SEmmanuel Vadot #define PMC_CPU			(PMC_MAIN + 9)
39c9ccf3a3SEmmanuel Vadot #define PMC_MCK1		(PMC_MAIN + 10)
405def4c47SEmmanuel Vadot 
41*b2d2a78aSEmmanuel Vadot /* SAM9X7 */
42*b2d2a78aSEmmanuel Vadot #define PMC_PLLADIV2		(PMC_MAIN + 11)
43*b2d2a78aSEmmanuel Vadot #define PMC_LVDSPLL		(PMC_MAIN + 12)
44*b2d2a78aSEmmanuel Vadot 
45c66ec88fSEmmanuel Vadot #ifndef AT91_PMC_MOSCS
46c66ec88fSEmmanuel Vadot #define AT91_PMC_MOSCS		0		/* MOSCS Flag */
47c66ec88fSEmmanuel Vadot #define AT91_PMC_LOCKA		1		/* PLLA Lock */
48c66ec88fSEmmanuel Vadot #define AT91_PMC_LOCKB		2		/* PLLB Lock */
49c66ec88fSEmmanuel Vadot #define AT91_PMC_MCKRDY		3		/* Master Clock */
50c66ec88fSEmmanuel Vadot #define AT91_PMC_LOCKU		6		/* UPLL Lock */
51c66ec88fSEmmanuel Vadot #define AT91_PMC_PCKRDY(id)	(8 + (id))	/* Programmable Clock */
52c66ec88fSEmmanuel Vadot #define AT91_PMC_MOSCSELS	16		/* Main Oscillator Selection */
53c66ec88fSEmmanuel Vadot #define AT91_PMC_MOSCRCS	17		/* Main On-Chip RC */
54c66ec88fSEmmanuel Vadot #define AT91_PMC_CFDEV		18		/* Clock Failure Detector Event */
55c66ec88fSEmmanuel Vadot #define AT91_PMC_GCKRDY		24		/* Generated Clocks */
56c66ec88fSEmmanuel Vadot #endif
57c66ec88fSEmmanuel Vadot 
58c66ec88fSEmmanuel Vadot #endif
59