xref: /optee_os/core/drivers/clk/sam/at91_pmc.h (revision 6b82794fe715e21e6f0b9716d873672135bf5615)
10c706368SClément Léger /* SPDX-License-Identifier: GPL-2.0+ or BSD-3-Clause */
20c706368SClément Léger /*
30c706368SClément Léger  * Copyright (C) 2005 Ivan Kokshaysky
40c706368SClément Léger  * Copyright (C) SAN People
50c706368SClément Léger  *
60c706368SClément Léger  * Power Management Controller (PMC) - System peripherals registers.
70c706368SClément Léger  * Based on AT91RM9200 datasheet revision E.
80c706368SClément Léger  */
90c706368SClément Léger 
100c706368SClément Léger #ifndef DRIVERS_CLK_SAM_AT91_PM_H
110c706368SClément Léger #define DRIVERS_CLK_SAM_AT91_PM_H
120c706368SClément Léger 
130c706368SClément Léger #include <util.h>
140c706368SClément Léger 
150c706368SClément Léger #define AT91_PMC_V1				(1)
160c706368SClément Léger #define AT91_PMC_V2				(2)
170c706368SClément Léger 
180c706368SClément Léger #define	AT91_PMC_SCER				0x00
190c706368SClément Léger #define	AT91_PMC_SCDR				0x04
200c706368SClément Léger 
210c706368SClément Léger #define	AT91_PMC_SCSR				0x08
220c706368SClément Léger #define	  AT91_PMC_PCK				BIT(0)
230c706368SClément Léger #define	  AT91RM9200_PMC_UDP			BIT(1)
240c706368SClément Léger #define	  AT91RM9200_PMC_MCKUDP			BIT(2)
250c706368SClément Léger #define	  AT91RM9200_PMC_UHP			BIT(4)
260c706368SClément Léger #define	  AT91SAM926x_PMC_UHP			BIT(6)
270c706368SClément Léger #define	  AT91SAM926x_PMC_UDP			BIT(7)
280c706368SClément Léger #define	  AT91_PMC_PCK0				BIT(8)
290c706368SClément Léger #define	  AT91_PMC_PCK1				BIT(9)
300c706368SClément Léger #define	  AT91_PMC_PCK2				BIT(10)
310c706368SClément Léger #define	  AT91_PMC_PCK3				BIT(11)
320c706368SClément Léger #define	  AT91_PMC_PCK4				BIT(12)
330c706368SClément Léger #define	  AT91_PMC_HCK0				BIT(16)
340c706368SClément Léger #define	  AT91_PMC_HCK1				BIT(17)
356d792c58STony Han #ifdef CFG_SAMA7G5
366d792c58STony Han #define	AT91_PMC_PCK_COUNT			8
376d792c58STony Han #else
386d792c58STony Han #define	AT91_PMC_PCK_COUNT			4
396d792c58STony Han #endif
400c706368SClément Léger 
410c706368SClément Léger #define AT91_PMC_PLL_CTRL0			0x0C
420c706368SClément Léger #define	  AT91_PMC_PLL_CTRL0_ENPLL		BIT(28)
430c706368SClément Léger #define	  AT91_PMC_PLL_CTRL0_ENPLLCK		BIT(29)
440c706368SClément Léger #define	  AT91_PMC_PLL_CTRL0_ENLOCK		BIT(31)
450c706368SClément Léger 
460c706368SClément Léger #define AT91_PMC_PLL_CTRL1			0x10
470c706368SClément Léger 
480c706368SClément Léger #define	AT91_PMC_PCER				0x10
490c706368SClément Léger #define	AT91_PMC_PCDR				0x14
500c706368SClément Léger #define	AT91_PMC_PCSR				0x18
510c706368SClément Léger 
520c706368SClément Léger #define AT91_PMC_PLL_ACR			0x18
530c706368SClément Léger #define	  AT91_PMC_PLL_ACR_DEFAULT_UPLL		0x12020010UL
540c706368SClément Léger #define	  AT91_PMC_PLL_ACR_DEFAULT_PLLA		0x00020010UL
550c706368SClément Léger #define	  AT91_PMC_PLL_ACR_UTMIVR		BIT(12)
560c706368SClément Léger #define	  AT91_PMC_PLL_ACR_UTMIBG		BIT(13)
570c706368SClément Léger 
580c706368SClément Léger #define	AT91_CKGR_UCKR				0x1C
590c706368SClément Léger #define	  AT91_PMC_UPLLEN			BIT(16)
600c706368SClément Léger #define	  AT91_PMC_UPLLCOUNT			(0xf << 20)
610c706368SClément Léger #define	  AT91_PMC_BIASEN			BIT(24)
620c706368SClément Léger #define	  AT91_PMC_BIASCOUNT			(0xf << 28)
630c706368SClément Léger 
640c706368SClément Léger #define AT91_PMC_PLL_UPDT			0x1C
650c706368SClément Léger #define	  AT91_PMC_PLL_UPDT_UPDATE		BIT(8)
660c706368SClément Léger #define	  AT91_PMC_PLL_UPDT_ID			BIT(0)
67afb60939STony Han #define	  AT91_PMC_PLL_UPDT_ID_MASK		GENMASK_32(3, 0)
680c706368SClément Léger #define	  AT91_PMC_PLL_UPDT_STUPTIM		(0xff << 16)
690c706368SClément Léger 
700c706368SClément Léger #define	AT91_CKGR_MOR				0x20
710c706368SClément Léger #define	  AT91_PMC_MOSCEN			BIT(0)
720c706368SClément Léger #define	  AT91_PMC_OSCBYPASS			BIT(1)
730c706368SClément Léger #define	  AT91_PMC_WAITMODE			BIT(2)
740c706368SClément Léger #define	  AT91_PMC_MOSCRCEN			BIT(3)
750c706368SClément Léger #define	  AT91_PMC_OSCOUNT			(0xff << 8)
760c706368SClément Léger #define	  AT91_PMC_KEY_MASK			(0xff << 16)
770c706368SClément Léger #define	  AT91_PMC_KEY				(0x37 << 16)
780c706368SClément Léger #define	  AT91_PMC_MOSCSEL			BIT(24)
790c706368SClément Léger #define	  AT91_PMC_CFDEN			BIT(25)
800c706368SClément Léger 
810c706368SClément Léger #define	AT91_CKGR_MCFR				0x24
820c706368SClément Léger #define	  AT91_PMC_MAINF			(0xffff << 0)
830c706368SClément Léger #define	  AT91_PMC_MAINRDY			BIT(16)
840c706368SClément Léger 
850c706368SClément Léger #define	AT91_CKGR_PLLAR				0x28
860c706368SClément Léger #define	AT91_CKGR_PLLBR				0x2c
870c706368SClément Léger #define	  AT91_PMC_DIV				(0xff << 0)
880c706368SClément Léger #define	  AT91_PMC_PLLCOUNT			(0x3f << 8)
890c706368SClément Léger #define	  AT91_PMC_OUT				(3 << 14)
900c706368SClément Léger #define	  AT91_PMC_MUL				(0x7ff << 16)
910c706368SClément Léger #define	  AT91_PMC_MUL_GET(n)			((n) >> 16 & 0x7ff)
920c706368SClément Léger #define	  AT91_PMC3_MUL				(0x7f << 18)
930c706368SClément Léger #define	  AT91_PMC3_MUL_GET(n)			((n) >> 18 & 0x7f)
940c706368SClément Léger #define	  AT91_PMC_USBDIV			(3 << 28)
950c706368SClément Léger #define     AT91_PMC_USBDIV_1			(0 << 28)
960c706368SClément Léger #define     AT91_PMC_USBDIV_2			BIT(28)
970c706368SClément Léger #define     AT91_PMC_USBDIV_4			(2 << 28)
980c706368SClément Léger #define	  AT91_PMC_USB96M			BIT(28)
990c706368SClément Léger 
1000c706368SClément Léger #define AT91_PMC_CPU_CKR			0x28
1010c706368SClément Léger 
102*6b82794fSTony Han #ifdef CFG_SAMA7G5
103*6b82794fSTony Han #define	AT91_PMC_MCKR				0x28
104*6b82794fSTony Han #else
1050c706368SClément Léger #define	AT91_PMC_MCKR				0x30
106*6b82794fSTony Han #endif
1070c706368SClément Léger #define	  AT91_PMC_CSS				(3 << 0)
1080c706368SClément Léger #define     AT91_PMC_CSS_SLOW			(0 << 0)
1090c706368SClément Léger #define     AT91_PMC_CSS_MAIN			BIT(0)
1100c706368SClément Léger #define     AT91_PMC_CSS_PLLA			(2 << 0)
1110c706368SClément Léger #define     AT91_PMC_CSS_PLLB			(3 << 0)
1120c706368SClément Léger #define     AT91_PMC_CSS_UPLL			(3 << 0)
1130c706368SClément Léger #define	  PMC_PRES_OFFSET			2
1140c706368SClément Léger #define	  AT91_PMC_PRES				(7 << PMC_PRES_OFFSET)
1150c706368SClément Léger #define     AT91_PMC_PRES_1			(0 << PMC_PRES_OFFSET)
1160c706368SClément Léger #define     AT91_PMC_PRES_2			BIT(PMC_PRES_OFFSET)
1170c706368SClément Léger #define     AT91_PMC_PRES_4			(2 << PMC_PRES_OFFSET)
1180c706368SClément Léger #define     AT91_PMC_PRES_8			(3 << PMC_PRES_OFFSET)
1190c706368SClément Léger #define     AT91_PMC_PRES_16			(4 << PMC_PRES_OFFSET)
1200c706368SClément Léger #define     AT91_PMC_PRES_32			(5 << PMC_PRES_OFFSET)
1210c706368SClément Léger #define     AT91_PMC_PRES_64			(6 << PMC_PRES_OFFSET)
1220c706368SClément Léger #define	  PMC_ALT_PRES_OFFSET			4
1230c706368SClément Léger #define	  AT91_PMC_ALT_PRES			(7 << PMC_ALT_PRES_OFFSET)
1240c706368SClément Léger #define     AT91_PMC_ALT_PRES_1			(0 << PMC_ALT_PRES_OFFSET)
1250c706368SClément Léger #define     AT91_PMC_ALT_PRES_2			BIT(PMC_ALT_PRES_OFFSET)
1260c706368SClément Léger #define     AT91_PMC_ALT_PRES_4			(2 << PMC_ALT_PRES_OFFSET)
1270c706368SClément Léger #define     AT91_PMC_ALT_PRES_8			(3 << PMC_ALT_PRES_OFFSET)
1280c706368SClément Léger #define     AT91_PMC_ALT_PRES_16		(4 << PMC_ALT_PRES_OFFSET)
1290c706368SClément Léger #define     AT91_PMC_ALT_PRES_32		(5 << PMC_ALT_PRES_OFFSET)
1300c706368SClément Léger #define     AT91_PMC_ALT_PRES_64		(6 << PMC_ALT_PRES_OFFSET)
1310c706368SClément Léger #define	  AT91_PMC_MDIV				(3 << 8)
1320c706368SClément Léger #define     AT91RM9200_PMC_MDIV_1		(0 << 8)
1330c706368SClément Léger #define     AT91RM9200_PMC_MDIV_2		BIT(8)
1340c706368SClément Léger #define     AT91RM9200_PMC_MDIV_3		(2 << 8)
1350c706368SClément Léger #define     AT91RM9200_PMC_MDIV_4		(3 << 8)
1360c706368SClément Léger #define     AT91SAM9_PMC_MDIV_1			(0 << 8)
1370c706368SClément Léger #define     AT91SAM9_PMC_MDIV_2			BIT(8)
1380c706368SClément Léger #define     AT91SAM9_PMC_MDIV_4			(2 << 8)
1390c706368SClément Léger #define     AT91SAM9_PMC_MDIV_6			(3 << 8)
1400c706368SClément Léger #define     AT91SAM9_PMC_MDIV_3			(3 << 8)
1410c706368SClément Léger #define	  AT91_PMC_PDIV				BIT(12)
1420c706368SClément Léger #define     AT91_PMC_PDIV_1			(0 << 12)
1430c706368SClément Léger #define     AT91_PMC_PDIV_2			BIT(12)
1440c706368SClément Léger #define	  AT91_PMC_PLLADIV2			BIT(12)
1450c706368SClément Léger #define     AT91_PMC_PLLADIV2_OFF		(0 << 12)
1460c706368SClément Léger #define     AT91_PMC_PLLADIV2_ON		BIT(12)
1470c706368SClément Léger #define	  AT91_PMC_H32MXDIV	BIT(24)
1480c706368SClément Léger 
149afb60939STony Han /* definitions for the PMC register of SAMA7G5 */
150afb60939STony Han #define AT91_PMC_MCR_V2			0x30
151afb60939STony Han #define AT91_PMC_MCR_V2_ID_MASK		GENMASK_32(3, 0)
152afb60939STony Han #define AT91_PMC_MCR_V2_ID(_id)		((_id) & AT91_PMC_MCR_V2_ID_MASK)
153afb60939STony Han #define AT91_PMC_MCR_V2_CMD		BIT(7)
154afb60939STony Han #define AT91_PMC_MCR_V2_DIV_MASK	GENMASK_32(10, 8)
155afb60939STony Han #define AT91_PMC_MCR_V2_DIV1		SHIFT_U32(0, 8)
156afb60939STony Han #define AT91_PMC_MCR_V2_DIV2		SHIFT_U32(1, 8)
157afb60939STony Han #define AT91_PMC_MCR_V2_DIV4		SHIFT_U32(2, 8)
158afb60939STony Han #define AT91_PMC_MCR_V2_DIV8		SHIFT_U32(3, 8)
159afb60939STony Han #define AT91_PMC_MCR_V2_DIV16		SHIFT_U32(4, 8)
160afb60939STony Han #define AT91_PMC_MCR_V2_DIV32		SHIFT_U32(5, 8)
161afb60939STony Han #define AT91_PMC_MCR_V2_DIV64		SHIFT_U32(6, 8)
162afb60939STony Han #define AT91_PMC_MCR_V2_DIV3		SHIFT_U32(7, 8)
163afb60939STony Han #define AT91_PMC_MCR_V2_CSS_SHIFT	16
164afb60939STony Han #define AT91_PMC_MCR_V2_CSS_MASK	GENMASK_32(20, 16)
165afb60939STony Han #define AT91_PMC_MCR_V2_CSS_MD_SLCK	SHIFT_U32(0, 16)
166afb60939STony Han #define AT91_PMC_MCR_V2_CSS_TD_SLCK	SHIFT_U32(1, 16)
167afb60939STony Han #define AT91_PMC_MCR_V2_CSS_MAINCK	SHIFT_U32(2, 16)
168afb60939STony Han #define AT91_PMC_MCR_V2_CSS_MCK0	SHIFT_U32(3, 16)
169afb60939STony Han #define AT91_PMC_MCR_V2_CSS_SYSPLL	SHIFT_U32(5, 16)
170afb60939STony Han #define AT91_PMC_MCR_V2_CSS_DDRPLL	SHIFT_U32(6, 16)
171afb60939STony Han #define AT91_PMC_MCR_V2_CSS_IMGPLL	SHIFT_U32(7, 16)
172afb60939STony Han #define AT91_PMC_MCR_V2_CSS_BAUDPLL	SHIFT_U32(8, 16)
173afb60939STony Han #define AT91_PMC_MCR_V2_CSS_AUDIOPLL	SHIFT_U32(9, 16)
174afb60939STony Han #define AT91_PMC_MCR_V2_CSS_ETHPLL	SHIFT_U32(10, 16)
175afb60939STony Han #define AT91_PMC_MCR_V2_EN		BIT(28)
176afb60939STony Han 
1770c706368SClément Léger #define AT91_PMC_XTALF				0x34
178afb60939STony Han #define AT91_PMC_XTALF_XTALF			7
1790c706368SClément Léger 
1800c706368SClément Léger #define	AT91_PMC_USB				0x38
1810c706368SClément Léger #define	  AT91_PMC_USBS				(0x1 << 0)
1820c706368SClément Léger #define     AT91_PMC_USBS_PLLA			(0 << 0)
1830c706368SClément Léger #define     AT91_PMC_USBS_UPLL			BIT(0)
1840c706368SClément Léger #define     AT91_PMC_USBS_PLLB			BIT(0)
1850c706368SClément Léger #define	  AT91_PMC_OHCIUSBDIV			(0xF << 8)
1860c706368SClément Léger #define     AT91_PMC_OHCIUSBDIV_1		(0x0 << 8)
1870c706368SClément Léger #define     AT91_PMC_OHCIUSBDIV_2		(0x1 << 8)
1880c706368SClément Léger 
1890c706368SClément Léger #define	AT91_PMC_SMD				0x3c
1900c706368SClément Léger #define	  AT91_PMC_SMDS				(0x1 << 0)
1910c706368SClément Léger #define	  AT91_PMC_SMD_DIV			(0x1f << 8)
1920c706368SClément Léger #define	  AT91_PMC_SMDDIV(n)			(((n) << 8) & AT91_PMC_SMD_DIV)
1930c706368SClément Léger 
1940c706368SClément Léger #define	AT91_PMC_PCKR(n)			(0x40 + ((n) * 4))
1950c706368SClément Léger #define	  AT91_PMC_ALT_PCKR_CSS			(0x7 << 0)
1960c706368SClément Léger #define     AT91_PMC_CSS_MASTER			(4 << 0)
1970c706368SClément Léger #define	  AT91_PMC_CSSMCK			(0x1 << 8)
1980c706368SClément Léger #define     AT91_PMC_CSSMCK_CSS			(0 << 8)
1990c706368SClément Léger #define     AT91_PMC_CSSMCK_MCK			BIT(8)
2000c706368SClément Léger 
2010c706368SClément Léger #define	AT91_PMC_IER				0x60
2020c706368SClément Léger #define	AT91_PMC_IDR				0x64
2030c706368SClément Léger #define	AT91_PMC_SR				0x68
2040c706368SClément Léger #define	  AT91_PMC_MOSCS			BIT(0)
2050c706368SClément Léger #define	  AT91_PMC_LOCKA			BIT(1)
2060c706368SClément Léger #define	  AT91_PMC_LOCKB			BIT(2)
2070c706368SClément Léger #define	  AT91_PMC_MCKRDY			BIT(3)
2080c706368SClément Léger #define	  AT91_PMC_LOCKU			BIT(6)
2090c706368SClément Léger #define	  AT91_PMC_OSCSEL			BIT(7)
2100c706368SClément Léger #define	  AT91_PMC_PCK0RDY			BIT(8)
2110c706368SClément Léger #define	  AT91_PMC_PCK1RDY			BIT(9)
2120c706368SClément Léger #define	  AT91_PMC_PCK2RDY			BIT(10)
2130c706368SClément Léger #define	  AT91_PMC_PCK3RDY			BIT(11)
2140c706368SClément Léger #define	  AT91_PMC_MOSCSELS			BIT(16)
2150c706368SClément Léger #define	  AT91_PMC_MOSCRCS			BIT(17)
2160c706368SClément Léger #define	  AT91_PMC_CFDEV			BIT(18)
2170c706368SClément Léger #define	  AT91_PMC_GCKRDY			BIT(24)
2180c706368SClément Léger #define	  AT91_PMC_MCKXRDY			BIT(26)
2190c706368SClément Léger #define	AT91_PMC_IMR				0x6c
2200c706368SClément Léger 
2210c706368SClément Léger #define AT91_PMC_FSMR				0x70
2220c706368SClément Léger #define AT91_PMC_FSTT(n)			BIT(n)
2230c706368SClément Léger #define AT91_PMC_RTTAL				BIT(16)
2240c706368SClément Léger #define AT91_PMC_RTCAL				BIT(17)
2250c706368SClément Léger #define AT91_PMC_USBAL				BIT(18)
2260c706368SClément Léger #define AT91_PMC_SDMMC_CD			BIT(19)
2270c706368SClément Léger #define AT91_PMC_LPM				BIT(20)
2280c706368SClément Léger #define AT91_PMC_RXLP_MCE			BIT(24)
2290c706368SClément Léger #define AT91_PMC_ACC_CE				BIT(25)
2300c706368SClément Léger 
2310c706368SClément Léger #define AT91_PMC_FSPR				0x74
2320c706368SClément Léger 
2330c706368SClément Léger #define AT91_PMC_FS_INPUT_MASK			0x7ff
2340c706368SClément Léger 
2350c706368SClément Léger #define AT91_PMC_PLLICPR			0x80
2360c706368SClément Léger 
2370c706368SClément Léger #define AT91_PMC_PROT				0xe4
2380c706368SClément Léger #define	  AT91_PMC_WPEN				(0x1 << 0)
2390c706368SClément Léger #define	  AT91_PMC_WPKEY			(0xffffff << 8)
2400c706368SClément Léger #define	  AT91_PMC_PROTKEY			(0x504d43 << 8)
2410c706368SClément Léger 
2420c706368SClément Léger #define AT91_PMC_WPSR				0xe8
2430c706368SClément Léger #define	  AT91_PMC_WPVS				(0x1 << 0)
2440c706368SClément Léger #define	  AT91_PMC_WPVSRC			(0xffff << 8)
2450c706368SClément Léger 
2460c706368SClément Léger #define AT91_PMC_PLL_ISR0			0xEC
2470c706368SClément Léger 
2480c706368SClément Léger #define AT91_PMC_PCER1				0x100
2490c706368SClément Léger #define AT91_PMC_PCDR1				0x104
2500c706368SClément Léger #define AT91_PMC_PCSR1				0x108
2510c706368SClément Léger 
2520c706368SClément Léger #define AT91_PMC_PCR				0x10c
2530c706368SClément Léger #define	  AT91_PMC_PCR_PID_MASK			0x3f
2540c706368SClément Léger #define	  AT91_PMC_PCR_CMD			(0x1 << 12)
2550c706368SClément Léger #define	  AT91_PMC_PCR_GCKDIV_SHIFT		20
2560c706368SClément Léger #define	  AT91_PMC_PCR_GCKDIV_MASK \
2570c706368SClément Léger 				GENMASK_32(27, AT91_PMC_PCR_GCKDIV_SHIFT)
2580c706368SClément Léger #define	  AT91_PMC_PCR_EN			(0x1 << 28)
2590c706368SClément Léger #define	  AT91_PMC_PCR_GCKEN			(0x1 << 29)
2600c706368SClément Léger 
2610c706368SClément Léger #define AT91_PMC_AUDIO_PLL0			0x14c
2620c706368SClément Léger #define	  AT91_PMC_AUDIO_PLL_PLLEN		BIT(0)
2630c706368SClément Léger #define	  AT91_PMC_AUDIO_PLL_PADEN		BIT(1)
2640c706368SClément Léger #define	  AT91_PMC_AUDIO_PLL_PMCEN		BIT(2)
2650c706368SClément Léger #define	  AT91_PMC_AUDIO_PLL_RESETN		BIT(3)
2660c706368SClément Léger #define	  AT91_PMC_AUDIO_PLL_ND_OFFSET	8
2670c706368SClément Léger #define	  AT91_PMC_AUDIO_PLL_ND_MASK \
2680c706368SClément Léger 				(0x7f << AT91_PMC_AUDIO_PLL_ND_OFFSET)
2690c706368SClément Léger #define	  AT91_PMC_AUDIO_PLL_ND(n) \
2700c706368SClément Léger 				SHIFT_U32(n, AT91_PMC_AUDIO_PLL_ND_OFFSET)
2710c706368SClément Léger #define	  AT91_PMC_AUDIO_PLL_QDPMC_OFFSET	16
2720c706368SClément Léger #define	  AT91_PMC_AUDIO_PLL_QDPMC_MASK \
2730c706368SClément Léger 				(0x7f << AT91_PMC_AUDIO_PLL_QDPMC_OFFSET)
2740c706368SClément Léger #define	  AT91_PMC_AUDIO_PLL_QDPMC(n) \
2750c706368SClément Léger 				SHIFT_U32(n, AT91_PMC_AUDIO_PLL_QDPMC_OFFSET)
2760c706368SClément Léger 
2770c706368SClément Léger #define AT91_PMC_AUDIO_PLL1			0x150
2780c706368SClément Léger #define	  AT91_PMC_AUDIO_PLL_FRACR_MASK		0x3fffff
2790c706368SClément Léger #define	  AT91_PMC_AUDIO_PLL_QDPAD_OFFSET	24
2800c706368SClément Léger #define	  AT91_PMC_AUDIO_PLL_QDPAD_MASK \
2810c706368SClément Léger 				(0x7f << AT91_PMC_AUDIO_PLL_QDPAD_OFFSET)
2820c706368SClément Léger #define	  AT91_PMC_AUDIO_PLL_QDPAD(n) \
2830c706368SClément Léger 				SHIFT_U32(n, AT91_PMC_AUDIO_PLL_QDPAD_OFFSET)
2840c706368SClément Léger #define	  AT91_PMC_AUDIO_PLL_QDPAD_DIV_OFFSET \
2850c706368SClément Léger 				AT91_PMC_AUDIO_PLL_QDPAD_OFFSET
2860c706368SClément Léger #define	  AT91_PMC_AUDIO_PLL_QDPAD_DIV_MASK \
2870c706368SClément Léger 				(0x3 << AT91_PMC_AUDIO_PLL_QDPAD_DIV_OFFSET)
2880c706368SClément Léger #define	  AT91_PMC_AUDIO_PLL_QDPAD_DIV(n) \
2890c706368SClément Léger 			SHIFT_U32(n, AT91_PMC_AUDIO_PLL_QDPAD_DIV_OFFSET)
2900c706368SClément Léger #define	  AT91_PMC_AUDIO_PLL_QDPAD_EXTDIV_OFFSET	26
2910c706368SClément Léger #define	  AT91_PMC_AUDIO_PLL_QDPAD_EXTDIV_MAX		0x1f
2920c706368SClément Léger #define	  AT91_PMC_AUDIO_PLL_QDPAD_EXTDIV_MASK \
2930c706368SClément Léger 				(AT91_PMC_AUDIO_PLL_QDPAD_EXTDIV_MAX << \
2940c706368SClément Léger 				AT91_PMC_AUDIO_PLL_QDPAD_EXTDIV_OFFSET)
2950c706368SClément Léger #define	  AT91_PMC_AUDIO_PLL_QDPAD_EXTDIV(n) \
2960c706368SClément Léger 			SHIFT_U32(n, AT91_PMC_AUDIO_PLL_QDPAD_EXTDIV_OFFSET)
2970c706368SClément Léger 
2980c706368SClément Léger #endif
299