diff options
author | Matteo Facchinetti <matteo.facchinetti@sirius-es.it> | 2013-05-24 14:24:59 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-06-03 13:22:35 -0400 |
commit | 1f48c499df414a50e28a4a2b1332ff0e8e1af9a8 (patch) | |
tree | f7795c4ac98ca64025ce7ac3616d1c976f7f053a /arch | |
parent | 2574b27eee4f00f2773d1c209218b3f4cf34a3ca (diff) |
serial/mpc52xx_uart: add MPC5125 PSC support
Add MPC5125 PSC register layout structure, MPC5125 specific
psc_ops function set and the compatible string.
Signed-off-by: Vladimir Ermakov <vooon341@gmail.com>
Signed-off-by: Matteo Facchinetti <matteo.facchinetti@sirius-es.it>
Signed-off-by: Anatolij Gustschin <agust@denx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/powerpc/include/asm/mpc52xx_psc.h | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/arch/powerpc/include/asm/mpc52xx_psc.h b/arch/powerpc/include/asm/mpc52xx_psc.h index 2966df604221..d0ece257d310 100644 --- a/arch/powerpc/include/asm/mpc52xx_psc.h +++ b/arch/powerpc/include/asm/mpc52xx_psc.h | |||
@@ -299,4 +299,53 @@ struct mpc512x_psc_fifo { | |||
299 | #define rxdata_32 rxdata.rxdata_32 | 299 | #define rxdata_32 rxdata.rxdata_32 |
300 | }; | 300 | }; |
301 | 301 | ||
302 | struct mpc5125_psc { | ||
303 | u8 mr1; /* PSC + 0x00 */ | ||
304 | u8 reserved0[3]; | ||
305 | u8 mr2; /* PSC + 0x04 */ | ||
306 | u8 reserved1[3]; | ||
307 | struct { | ||
308 | u16 status; /* PSC + 0x08 */ | ||
309 | u8 reserved2[2]; | ||
310 | u8 clock_select; /* PSC + 0x0c */ | ||
311 | u8 reserved3[3]; | ||
312 | } sr_csr; | ||
313 | u8 command; /* PSC + 0x10 */ | ||
314 | u8 reserved4[3]; | ||
315 | union { /* PSC + 0x14 */ | ||
316 | u8 buffer_8; | ||
317 | u16 buffer_16; | ||
318 | u32 buffer_32; | ||
319 | } buffer; | ||
320 | struct { | ||
321 | u8 ipcr; /* PSC + 0x18 */ | ||
322 | u8 reserved5[3]; | ||
323 | u8 acr; /* PSC + 0x1c */ | ||
324 | u8 reserved6[3]; | ||
325 | } ipcr_acr; | ||
326 | struct { | ||
327 | u16 isr; /* PSC + 0x20 */ | ||
328 | u8 reserved7[2]; | ||
329 | u16 imr; /* PSC + 0x24 */ | ||
330 | u8 reserved8[2]; | ||
331 | } isr_imr; | ||
332 | u8 ctur; /* PSC + 0x28 */ | ||
333 | u8 reserved9[3]; | ||
334 | u8 ctlr; /* PSC + 0x2c */ | ||
335 | u8 reserved10[3]; | ||
336 | u32 ccr; /* PSC + 0x30 */ | ||
337 | u32 ac97slots; /* PSC + 0x34 */ | ||
338 | u32 ac97cmd; /* PSC + 0x38 */ | ||
339 | u32 ac97data; /* PSC + 0x3c */ | ||
340 | u8 reserved11[4]; | ||
341 | u8 ip; /* PSC + 0x44 */ | ||
342 | u8 reserved12[3]; | ||
343 | u8 op1; /* PSC + 0x48 */ | ||
344 | u8 reserved13[3]; | ||
345 | u8 op0; /* PSC + 0x4c */ | ||
346 | u8 reserved14[3]; | ||
347 | u32 sicr; /* PSC + 0x50 */ | ||
348 | u8 reserved15[4]; /* make eq. sizeof(mpc52xx_psc) */ | ||
349 | }; | ||
350 | |||
302 | #endif /* __ASM_MPC52xx_PSC_H__ */ | 351 | #endif /* __ASM_MPC52xx_PSC_H__ */ |