xref: /linux/arch/powerpc/include/asm/keylargo.h (revision 498495dba268b20e8eadd7fe93c140c68b6cc9d2)
1*b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
2b8b572e1SStephen Rothwell #ifndef _ASM_POWERPC_KEYLARGO_H
3b8b572e1SStephen Rothwell #define _ASM_POWERPC_KEYLARGO_H
4b8b572e1SStephen Rothwell #ifdef __KERNEL__
5b8b572e1SStephen Rothwell /*
6b8b572e1SStephen Rothwell  * keylargo.h: definitions for using the "KeyLargo" I/O controller chip.
7b8b572e1SStephen Rothwell  *
8b8b572e1SStephen Rothwell  */
9b8b572e1SStephen Rothwell 
10b8b572e1SStephen Rothwell /* "Pangea" chipset has keylargo device-id 0x25 while core99
11b8b572e1SStephen Rothwell  * has device-id 0x22. The rev. of the pangea one is 0, so we
12b8b572e1SStephen Rothwell  * fake an artificial rev. in keylargo_rev by oring 0x100
13b8b572e1SStephen Rothwell  */
14b8b572e1SStephen Rothwell #define KL_PANGEA_REV		0x100
15b8b572e1SStephen Rothwell 
16b8b572e1SStephen Rothwell /* offset from base for feature control registers */
17b8b572e1SStephen Rothwell #define KEYLARGO_MBCR		0x34	/* KL Only, Media bay control/status */
18b8b572e1SStephen Rothwell #define KEYLARGO_FCR0		0x38
19b8b572e1SStephen Rothwell #define KEYLARGO_FCR1		0x3c
20b8b572e1SStephen Rothwell #define KEYLARGO_FCR2		0x40
21b8b572e1SStephen Rothwell #define KEYLARGO_FCR3		0x44
22b8b572e1SStephen Rothwell #define KEYLARGO_FCR4		0x48
23b8b572e1SStephen Rothwell #define KEYLARGO_FCR5		0x4c	/* Pangea only */
24b8b572e1SStephen Rothwell 
25a80581d0SJustin P. Mattock /* K2 additional FCRs */
26b8b572e1SStephen Rothwell #define K2_FCR6			0x34
27b8b572e1SStephen Rothwell #define K2_FCR7			0x30
28b8b572e1SStephen Rothwell #define K2_FCR8			0x2c
29b8b572e1SStephen Rothwell #define K2_FCR9			0x28
30b8b572e1SStephen Rothwell #define K2_FCR10		0x24
31b8b572e1SStephen Rothwell 
32b8b572e1SStephen Rothwell /* GPIO registers */
33b8b572e1SStephen Rothwell #define KEYLARGO_GPIO_LEVELS0		0x50
34b8b572e1SStephen Rothwell #define KEYLARGO_GPIO_LEVELS1		0x54
35b8b572e1SStephen Rothwell #define KEYLARGO_GPIO_EXTINT_0		0x58
36b8b572e1SStephen Rothwell #define KEYLARGO_GPIO_EXTINT_CNT	18
37b8b572e1SStephen Rothwell #define KEYLARGO_GPIO_0			0x6A
38b8b572e1SStephen Rothwell #define KEYLARGO_GPIO_CNT		17
39b8b572e1SStephen Rothwell #define KEYLARGO_GPIO_EXTINT_DUAL_EDGE	0x80
40b8b572e1SStephen Rothwell #define KEYLARGO_GPIO_OUTPUT_ENABLE	0x04
41b8b572e1SStephen Rothwell #define KEYLARGO_GPIO_OUTOUT_DATA	0x01
42b8b572e1SStephen Rothwell #define KEYLARGO_GPIO_INPUT_DATA	0x02
43b8b572e1SStephen Rothwell 
44b8b572e1SStephen Rothwell /* K2 does only extint GPIOs and does 51 of them */
45b8b572e1SStephen Rothwell #define K2_GPIO_EXTINT_0		0x58
46b8b572e1SStephen Rothwell #define K2_GPIO_EXTINT_CNT		51
47b8b572e1SStephen Rothwell 
48b8b572e1SStephen Rothwell /* Specific GPIO regs */
49b8b572e1SStephen Rothwell 
50b8b572e1SStephen Rothwell #define KL_GPIO_MODEM_RESET		(KEYLARGO_GPIO_0+0x03)
51b8b572e1SStephen Rothwell #define KL_GPIO_MODEM_POWER		(KEYLARGO_GPIO_0+0x02) /* Pangea */
52b8b572e1SStephen Rothwell 
53b8b572e1SStephen Rothwell #define KL_GPIO_SOUND_POWER		(KEYLARGO_GPIO_0+0x05)
54b8b572e1SStephen Rothwell 
5542b2aa86SJustin P. Mattock /* Hrm... this one is only to be used on Pismo. It seems to also
56b8b572e1SStephen Rothwell  * control the timebase enable on other machines. Still to be
57b8b572e1SStephen Rothwell  * experimented... --BenH.
58b8b572e1SStephen Rothwell  */
59b8b572e1SStephen Rothwell #define KL_GPIO_FW_CABLE_POWER		(KEYLARGO_GPIO_0+0x09)
60b8b572e1SStephen Rothwell #define KL_GPIO_TB_ENABLE		(KEYLARGO_GPIO_0+0x09)
61b8b572e1SStephen Rothwell 
62b8b572e1SStephen Rothwell #define KL_GPIO_ETH_PHY_RESET		(KEYLARGO_GPIO_0+0x10)
63b8b572e1SStephen Rothwell 
64b8b572e1SStephen Rothwell #define KL_GPIO_EXTINT_CPU1		(KEYLARGO_GPIO_0+0x0a)
65b8b572e1SStephen Rothwell #define KL_GPIO_EXTINT_CPU1_ASSERT	0x04
66b8b572e1SStephen Rothwell #define KL_GPIO_EXTINT_CPU1_RELEASE	0x38
67b8b572e1SStephen Rothwell 
68b8b572e1SStephen Rothwell #define KL_GPIO_RESET_CPU0		(KEYLARGO_GPIO_EXTINT_0+0x03)
69b8b572e1SStephen Rothwell #define KL_GPIO_RESET_CPU1		(KEYLARGO_GPIO_EXTINT_0+0x04)
70b8b572e1SStephen Rothwell #define KL_GPIO_RESET_CPU2		(KEYLARGO_GPIO_EXTINT_0+0x0f)
71b8b572e1SStephen Rothwell #define KL_GPIO_RESET_CPU3		(KEYLARGO_GPIO_EXTINT_0+0x10)
72b8b572e1SStephen Rothwell 
73b8b572e1SStephen Rothwell #define KL_GPIO_PMU_MESSAGE_IRQ		(KEYLARGO_GPIO_EXTINT_0+0x09)
74b8b572e1SStephen Rothwell #define KL_GPIO_PMU_MESSAGE_BIT		KEYLARGO_GPIO_INPUT_DATA
75b8b572e1SStephen Rothwell 
76b8b572e1SStephen Rothwell #define KL_GPIO_MEDIABAY_IRQ		(KEYLARGO_GPIO_EXTINT_0+0x0e)
77b8b572e1SStephen Rothwell 
78b8b572e1SStephen Rothwell #define KL_GPIO_AIRPORT_0		(KEYLARGO_GPIO_EXTINT_0+0x0a)
79b8b572e1SStephen Rothwell #define KL_GPIO_AIRPORT_1		(KEYLARGO_GPIO_EXTINT_0+0x0d)
80b8b572e1SStephen Rothwell #define KL_GPIO_AIRPORT_2		(KEYLARGO_GPIO_0+0x0d)
81b8b572e1SStephen Rothwell #define KL_GPIO_AIRPORT_3		(KEYLARGO_GPIO_0+0x0e)
82b8b572e1SStephen Rothwell #define KL_GPIO_AIRPORT_4		(KEYLARGO_GPIO_0+0x0f)
83b8b572e1SStephen Rothwell 
84b8b572e1SStephen Rothwell /*
85b8b572e1SStephen Rothwell  * Bits in feature control register. Those bits different for K2 are
86b8b572e1SStephen Rothwell  * listed separately
87b8b572e1SStephen Rothwell  */
88b8b572e1SStephen Rothwell #define KL_MBCR_MB0_PCI_ENABLE		0x00000800	/* exist ? */
89b8b572e1SStephen Rothwell #define KL_MBCR_MB0_IDE_ENABLE		0x00001000
90b8b572e1SStephen Rothwell #define KL_MBCR_MB0_FLOPPY_ENABLE	0x00002000	/* exist ? */
91b8b572e1SStephen Rothwell #define KL_MBCR_MB0_SOUND_ENABLE	0x00004000	/* hrm... */
92b8b572e1SStephen Rothwell #define KL_MBCR_MB0_DEV_MASK		0x00007800
93b8b572e1SStephen Rothwell #define KL_MBCR_MB0_DEV_POWER		0x00000400
94b8b572e1SStephen Rothwell #define KL_MBCR_MB0_DEV_RESET		0x00000200
95b8b572e1SStephen Rothwell #define KL_MBCR_MB0_ENABLE		0x00000100
96b8b572e1SStephen Rothwell #define KL_MBCR_MB1_PCI_ENABLE		0x08000000	/* exist ? */
97b8b572e1SStephen Rothwell #define KL_MBCR_MB1_IDE_ENABLE		0x10000000
98b8b572e1SStephen Rothwell #define KL_MBCR_MB1_FLOPPY_ENABLE	0x20000000	/* exist ? */
99b8b572e1SStephen Rothwell #define KL_MBCR_MB1_SOUND_ENABLE	0x40000000	/* hrm... */
100b8b572e1SStephen Rothwell #define KL_MBCR_MB1_DEV_MASK		0x78000000
101b8b572e1SStephen Rothwell #define KL_MBCR_MB1_DEV_POWER		0x04000000
102b8b572e1SStephen Rothwell #define KL_MBCR_MB1_DEV_RESET		0x02000000
103b8b572e1SStephen Rothwell #define KL_MBCR_MB1_ENABLE		0x01000000
104b8b572e1SStephen Rothwell 
105b8b572e1SStephen Rothwell #define KL0_SCC_B_INTF_ENABLE		0x00000001	/* (KL Only) */
106b8b572e1SStephen Rothwell #define KL0_SCC_A_INTF_ENABLE		0x00000002
107b8b572e1SStephen Rothwell #define KL0_SCC_SLOWPCLK		0x00000004
108b8b572e1SStephen Rothwell #define KL0_SCC_RESET			0x00000008
109b8b572e1SStephen Rothwell #define KL0_SCCA_ENABLE			0x00000010
110b8b572e1SStephen Rothwell #define KL0_SCCB_ENABLE			0x00000020
111b8b572e1SStephen Rothwell #define KL0_SCC_CELL_ENABLE		0x00000040
112b8b572e1SStephen Rothwell #define KL0_IRDA_HIGH_BAND		0x00000100	/* (KL Only) */
113b8b572e1SStephen Rothwell #define KL0_IRDA_SOURCE2_SEL		0x00000200	/* (KL Only) */
114b8b572e1SStephen Rothwell #define KL0_IRDA_SOURCE1_SEL		0x00000400	/* (KL Only) */
115b8b572e1SStephen Rothwell #define KL0_PG_USB0_PMI_ENABLE		0x00000400	/* (Pangea/Intrepid Only) */
116b8b572e1SStephen Rothwell #define KL0_IRDA_RESET			0x00000800	/* (KL Only) */
117b8b572e1SStephen Rothwell #define KL0_PG_USB0_REF_SUSPEND_SEL	0x00000800	/* (Pangea/Intrepid Only) */
118b8b572e1SStephen Rothwell #define KL0_IRDA_DEFAULT1		0x00001000	/* (KL Only) */
119b8b572e1SStephen Rothwell #define KL0_PG_USB0_REF_SUSPEND		0x00001000	/* (Pangea/Intrepid Only) */
120b8b572e1SStephen Rothwell #define KL0_IRDA_DEFAULT0		0x00002000	/* (KL Only) */
121b8b572e1SStephen Rothwell #define KL0_PG_USB0_PAD_SUSPEND		0x00002000	/* (Pangea/Intrepid Only) */
122b8b572e1SStephen Rothwell #define KL0_IRDA_FAST_CONNECT		0x00004000	/* (KL Only) */
123b8b572e1SStephen Rothwell #define KL0_PG_USB1_PMI_ENABLE		0x00004000	/* (Pangea/Intrepid Only) */
124b8b572e1SStephen Rothwell #define KL0_IRDA_ENABLE			0x00008000	/* (KL Only) */
125b8b572e1SStephen Rothwell #define KL0_PG_USB1_REF_SUSPEND_SEL	0x00008000	/* (Pangea/Intrepid Only) */
126b8b572e1SStephen Rothwell #define KL0_IRDA_CLK32_ENABLE		0x00010000	/* (KL Only) */
127b8b572e1SStephen Rothwell #define KL0_PG_USB1_REF_SUSPEND		0x00010000	/* (Pangea/Intrepid Only) */
128b8b572e1SStephen Rothwell #define KL0_IRDA_CLK19_ENABLE		0x00020000	/* (KL Only) */
129b8b572e1SStephen Rothwell #define KL0_PG_USB1_PAD_SUSPEND		0x00020000	/* (Pangea/Intrepid Only) */
130b8b572e1SStephen Rothwell #define KL0_USB0_PAD_SUSPEND0		0x00040000
131b8b572e1SStephen Rothwell #define KL0_USB0_PAD_SUSPEND1		0x00080000
132b8b572e1SStephen Rothwell #define KL0_USB0_CELL_ENABLE		0x00100000
133b8b572e1SStephen Rothwell #define KL0_USB1_PAD_SUSPEND0		0x00400000
134b8b572e1SStephen Rothwell #define KL0_USB1_PAD_SUSPEND1		0x00800000
135b8b572e1SStephen Rothwell #define KL0_USB1_CELL_ENABLE		0x01000000
136b8b572e1SStephen Rothwell #define KL0_USB_REF_SUSPEND		0x10000000	/* (KL Only) */
137b8b572e1SStephen Rothwell 
138b8b572e1SStephen Rothwell #define KL0_SERIAL_ENABLE		(KL0_SCC_B_INTF_ENABLE | \
139b8b572e1SStephen Rothwell 					KL0_SCC_SLOWPCLK | \
140b8b572e1SStephen Rothwell 					KL0_SCC_CELL_ENABLE | KL0_SCCA_ENABLE)
141b8b572e1SStephen Rothwell 
142b8b572e1SStephen Rothwell #define KL1_USB2_PMI_ENABLE		0x00000001	/* Intrepid only */
143b8b572e1SStephen Rothwell #define KL1_AUDIO_SEL_22MCLK		0x00000002	/* KL/Pangea only */
144b8b572e1SStephen Rothwell #define KL1_USB2_REF_SUSPEND_SEL	0x00000002	/* Intrepid only */
145b8b572e1SStephen Rothwell #define KL1_USB2_REF_SUSPEND		0x00000004	/* Intrepid only */
146b8b572e1SStephen Rothwell #define KL1_AUDIO_CLK_ENABLE_BIT	0x00000008	/* KL/Pangea only */
147b8b572e1SStephen Rothwell #define KL1_USB2_PAD_SUSPEND_SEL	0x00000008	/* Intrepid only */
148b8b572e1SStephen Rothwell #define KL1_USB2_PAD_SUSPEND0		0x00000010	/* Intrepid only */
149b8b572e1SStephen Rothwell #define KL1_AUDIO_CLK_OUT_ENABLE	0x00000020	/* KL/Pangea only */
150b8b572e1SStephen Rothwell #define KL1_USB2_PAD_SUSPEND1		0x00000020	/* Intrepid only */
151b8b572e1SStephen Rothwell #define KL1_AUDIO_CELL_ENABLE		0x00000040	/* KL/Pangea only */
152b8b572e1SStephen Rothwell #define KL1_USB2_CELL_ENABLE		0x00000040	/* Intrepid only */
153b8b572e1SStephen Rothwell #define KL1_AUDIO_CHOOSE		0x00000080	/* KL/Pangea only */
154b8b572e1SStephen Rothwell #define KL1_I2S0_CHOOSE			0x00000200	/* KL Only */
155b8b572e1SStephen Rothwell #define KL1_I2S0_CELL_ENABLE		0x00000400
156b8b572e1SStephen Rothwell #define KL1_I2S0_CLK_ENABLE_BIT		0x00001000
157b8b572e1SStephen Rothwell #define KL1_I2S0_ENABLE			0x00002000
158b8b572e1SStephen Rothwell #define KL1_I2S1_CELL_ENABLE		0x00020000
159b8b572e1SStephen Rothwell #define KL1_I2S1_CLK_ENABLE_BIT		0x00080000
160b8b572e1SStephen Rothwell #define KL1_I2S1_ENABLE			0x00100000
161b8b572e1SStephen Rothwell #define KL1_EIDE0_ENABLE		0x00800000	/* KL/Intrepid Only */
162b8b572e1SStephen Rothwell #define KL1_EIDE0_RESET_N		0x01000000	/* KL/Intrepid Only */
163b8b572e1SStephen Rothwell #define KL1_EIDE1_ENABLE		0x04000000	/* KL Only */
164b8b572e1SStephen Rothwell #define KL1_EIDE1_RESET_N		0x08000000	/* KL Only */
165b8b572e1SStephen Rothwell #define KL1_UIDE_ENABLE			0x20000000	/* KL/Pangea Only */
166b8b572e1SStephen Rothwell #define KL1_UIDE_RESET_N		0x40000000	/* KL/Pangea Only */
167b8b572e1SStephen Rothwell 
168b8b572e1SStephen Rothwell #define KL2_IOBUS_ENABLE		0x00000002
169b8b572e1SStephen Rothwell #define KL2_SLEEP_STATE_BIT		0x00000100	/* KL Only */
170b8b572e1SStephen Rothwell #define KL2_PG_STOP_ALL_CLOCKS		0x00000100	/* Pangea Only */
171b8b572e1SStephen Rothwell #define KL2_MPIC_ENABLE			0x00020000
172b8b572e1SStephen Rothwell #define KL2_CARDSLOT_RESET		0x00040000	/* Pangea/Intrepid Only */
173b8b572e1SStephen Rothwell #define KL2_ALT_DATA_OUT		0x02000000	/* KL Only ??? */
174b8b572e1SStephen Rothwell #define KL2_MEM_IS_BIG			0x04000000
175b8b572e1SStephen Rothwell #define KL2_CARDSEL_16			0x08000000
176b8b572e1SStephen Rothwell 
177b8b572e1SStephen Rothwell #define KL3_SHUTDOWN_PLL_TOTAL		0x00000001	/* KL/Pangea only */
178b8b572e1SStephen Rothwell #define KL3_SHUTDOWN_PLLKW6		0x00000002	/* KL/Pangea only */
179b8b572e1SStephen Rothwell #define KL3_IT_SHUTDOWN_PLL3		0x00000002	/* Intrepid only */
180b8b572e1SStephen Rothwell #define KL3_SHUTDOWN_PLLKW4		0x00000004	/* KL/Pangea only */
181b8b572e1SStephen Rothwell #define KL3_IT_SHUTDOWN_PLL2		0x00000004	/* Intrepid only */
182b8b572e1SStephen Rothwell #define KL3_SHUTDOWN_PLLKW35		0x00000008	/* KL/Pangea only */
183b8b572e1SStephen Rothwell #define KL3_IT_SHUTDOWN_PLL1		0x00000008	/* Intrepid only */
184b8b572e1SStephen Rothwell #define KL3_SHUTDOWN_PLLKW12		0x00000010	/* KL Only */
185b8b572e1SStephen Rothwell #define KL3_IT_ENABLE_PLL3_SHUTDOWN	0x00000010	/* Intrepid only */
186b8b572e1SStephen Rothwell #define KL3_PLL_RESET			0x00000020	/* KL/Pangea only */
187b8b572e1SStephen Rothwell #define KL3_IT_ENABLE_PLL2_SHUTDOWN	0x00000020	/* Intrepid only */
188b8b572e1SStephen Rothwell #define KL3_IT_ENABLE_PLL1_SHUTDOWN	0x00000010	/* Intrepid only */
189b8b572e1SStephen Rothwell #define KL3_SHUTDOWN_PLL2X		0x00000080	/* KL Only */
190b8b572e1SStephen Rothwell #define KL3_CLK66_ENABLE		0x00000100	/* KL Only */
191b8b572e1SStephen Rothwell #define KL3_CLK49_ENABLE		0x00000200
192b8b572e1SStephen Rothwell #define KL3_CLK45_ENABLE		0x00000400
193b8b572e1SStephen Rothwell #define KL3_CLK31_ENABLE		0x00000800	/* KL/Pangea only */
194b8b572e1SStephen Rothwell #define KL3_TIMER_CLK18_ENABLE		0x00001000
195b8b572e1SStephen Rothwell #define KL3_I2S1_CLK18_ENABLE		0x00002000
196b8b572e1SStephen Rothwell #define KL3_I2S0_CLK18_ENABLE		0x00004000
197b8b572e1SStephen Rothwell #define KL3_VIA_CLK16_ENABLE		0x00008000	/* KL/Pangea only */
198b8b572e1SStephen Rothwell #define KL3_IT_VIA_CLK32_ENABLE		0x00008000	/* Intrepid only */
199b8b572e1SStephen Rothwell #define KL3_STOPPING33_ENABLED		0x00080000	/* KL Only */
200b8b572e1SStephen Rothwell #define KL3_PG_PLL_ENABLE_TEST		0x00080000	/* Pangea Only */
201b8b572e1SStephen Rothwell 
202b8b572e1SStephen Rothwell /* Intrepid USB bus 2, port 0,1 */
203b8b572e1SStephen Rothwell #define KL3_IT_PORT_WAKEUP_ENABLE(p)		(0x00080000 << ((p)<<3))
204b8b572e1SStephen Rothwell #define KL3_IT_PORT_RESUME_WAKE_EN(p)		(0x00040000 << ((p)<<3))
205b8b572e1SStephen Rothwell #define KL3_IT_PORT_CONNECT_WAKE_EN(p)		(0x00020000 << ((p)<<3))
206b8b572e1SStephen Rothwell #define KL3_IT_PORT_DISCONNECT_WAKE_EN(p)	(0x00010000 << ((p)<<3))
207b8b572e1SStephen Rothwell #define KL3_IT_PORT_RESUME_STAT(p)		(0x00300000 << ((p)<<3))
208b8b572e1SStephen Rothwell #define KL3_IT_PORT_CONNECT_STAT(p)		(0x00200000 << ((p)<<3))
209b8b572e1SStephen Rothwell #define KL3_IT_PORT_DISCONNECT_STAT(p)		(0x00100000 << ((p)<<3))
210b8b572e1SStephen Rothwell 
211b8b572e1SStephen Rothwell /* Port 0,1 : bus 0, port 2,3 : bus 1 */
212b8b572e1SStephen Rothwell #define KL4_PORT_WAKEUP_ENABLE(p)	(0x00000008 << ((p)<<3))
213b8b572e1SStephen Rothwell #define KL4_PORT_RESUME_WAKE_EN(p)	(0x00000004 << ((p)<<3))
214b8b572e1SStephen Rothwell #define KL4_PORT_CONNECT_WAKE_EN(p)	(0x00000002 << ((p)<<3))
215b8b572e1SStephen Rothwell #define KL4_PORT_DISCONNECT_WAKE_EN(p)	(0x00000001 << ((p)<<3))
216b8b572e1SStephen Rothwell #define KL4_PORT_RESUME_STAT(p)		(0x00000040 << ((p)<<3))
217b8b572e1SStephen Rothwell #define KL4_PORT_CONNECT_STAT(p)	(0x00000020 << ((p)<<3))
218b8b572e1SStephen Rothwell #define KL4_PORT_DISCONNECT_STAT(p)	(0x00000010 << ((p)<<3))
219b8b572e1SStephen Rothwell 
220b8b572e1SStephen Rothwell /* Pangea and Intrepid only */
221b8b572e1SStephen Rothwell #define KL5_VIA_USE_CLK31		0000000001	/* Pangea Only */
222b8b572e1SStephen Rothwell #define KL5_SCC_USE_CLK31		0x00000002	/* Pangea Only */
223b8b572e1SStephen Rothwell #define KL5_PWM_CLK32_EN		0x00000004
224b8b572e1SStephen Rothwell #define KL5_CLK3_68_EN			0x00000010
225b8b572e1SStephen Rothwell #define KL5_CLK32_EN			0x00000020
226b8b572e1SStephen Rothwell 
227b8b572e1SStephen Rothwell 
228b8b572e1SStephen Rothwell /* K2 definitions */
229b8b572e1SStephen Rothwell #define K2_FCR0_USB0_SWRESET		0x00200000
230b8b572e1SStephen Rothwell #define K2_FCR0_USB1_SWRESET		0x02000000
231b8b572e1SStephen Rothwell #define K2_FCR0_RING_PME_DISABLE	0x08000000
232b8b572e1SStephen Rothwell 
233b8b572e1SStephen Rothwell #define K2_FCR1_PCI1_BUS_RESET_N	0x00000010
234b8b572e1SStephen Rothwell #define K2_FCR1_PCI1_SLEEP_RESET_EN	0x00000020
235b8b572e1SStephen Rothwell #define K2_FCR1_I2S0_CELL_ENABLE	0x00000400
236b8b572e1SStephen Rothwell #define K2_FCR1_I2S0_RESET		0x00000800
237b8b572e1SStephen Rothwell #define K2_FCR1_I2S0_CLK_ENABLE_BIT	0x00001000
238b8b572e1SStephen Rothwell #define K2_FCR1_I2S0_ENABLE    		0x00002000
239b8b572e1SStephen Rothwell #define K2_FCR1_PCI1_CLK_ENABLE		0x00004000
240b8b572e1SStephen Rothwell #define K2_FCR1_FW_CLK_ENABLE		0x00008000
241b8b572e1SStephen Rothwell #define K2_FCR1_FW_RESET_N		0x00010000
242b8b572e1SStephen Rothwell #define K2_FCR1_I2S1_CELL_ENABLE	0x00020000
243b8b572e1SStephen Rothwell #define K2_FCR1_I2S1_CLK_ENABLE_BIT	0x00080000
244b8b572e1SStephen Rothwell #define K2_FCR1_I2S1_ENABLE		0x00100000
245b8b572e1SStephen Rothwell #define K2_FCR1_GMAC_CLK_ENABLE		0x00400000
246b8b572e1SStephen Rothwell #define K2_FCR1_GMAC_POWER_DOWN		0x00800000
247b8b572e1SStephen Rothwell #define K2_FCR1_GMAC_RESET_N		0x01000000
248b8b572e1SStephen Rothwell #define K2_FCR1_SATA_CLK_ENABLE		0x02000000
249b8b572e1SStephen Rothwell #define K2_FCR1_SATA_POWER_DOWN		0x04000000
250b8b572e1SStephen Rothwell #define K2_FCR1_SATA_RESET_N		0x08000000
251b8b572e1SStephen Rothwell #define K2_FCR1_UATA_CLK_ENABLE		0x10000000
252b8b572e1SStephen Rothwell #define K2_FCR1_UATA_RESET_N		0x40000000
253b8b572e1SStephen Rothwell #define K2_FCR1_UATA_CHOOSE_CLK66	0x80000000
254b8b572e1SStephen Rothwell 
255b8b572e1SStephen Rothwell /* Shasta definitions */
256b8b572e1SStephen Rothwell #define SH_FCR1_I2S2_CELL_ENABLE	0x00000010
257b8b572e1SStephen Rothwell #define SH_FCR1_I2S2_CLK_ENABLE_BIT	0x00000040
258b8b572e1SStephen Rothwell #define SH_FCR1_I2S2_ENABLE		0x00000080
259b8b572e1SStephen Rothwell #define SH_FCR3_I2S2_CLK18_ENABLE	0x00008000
260b8b572e1SStephen Rothwell 
261b8b572e1SStephen Rothwell #endif /* __KERNEL__ */
262b8b572e1SStephen Rothwell #endif /* _ASM_POWERPC_KEYLARGO_H */
263