diff options
Diffstat (limited to 'arch/powerpc/include/asm/ucc.h')
-rw-r--r-- | arch/powerpc/include/asm/ucc.h | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/arch/powerpc/include/asm/ucc.h b/arch/powerpc/include/asm/ucc.h new file mode 100644 index 000000000000..46b09ba6bead --- /dev/null +++ b/arch/powerpc/include/asm/ucc.h | |||
@@ -0,0 +1,64 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2006 Freescale Semicondutor, Inc. All rights reserved. | ||
3 | * | ||
4 | * Authors: Shlomi Gridish <gridish@freescale.com> | ||
5 | * Li Yang <leoli@freescale.com> | ||
6 | * | ||
7 | * Description: | ||
8 | * Internal header file for UCC unit routines. | ||
9 | * | ||
10 | * This program is free software; you can redistribute it and/or modify it | ||
11 | * under the terms of the GNU General Public License as published by the | ||
12 | * Free Software Foundation; either version 2 of the License, or (at your | ||
13 | * option) any later version. | ||
14 | */ | ||
15 | #ifndef __UCC_H__ | ||
16 | #define __UCC_H__ | ||
17 | |||
18 | #include <asm/immap_qe.h> | ||
19 | #include <asm/qe.h> | ||
20 | |||
21 | #define STATISTICS | ||
22 | |||
23 | #define UCC_MAX_NUM 8 | ||
24 | |||
25 | /* Slow or fast type for UCCs. | ||
26 | */ | ||
27 | enum ucc_speed_type { | ||
28 | UCC_SPEED_TYPE_FAST = UCC_GUEMR_MODE_FAST_RX | UCC_GUEMR_MODE_FAST_TX, | ||
29 | UCC_SPEED_TYPE_SLOW = UCC_GUEMR_MODE_SLOW_RX | UCC_GUEMR_MODE_SLOW_TX | ||
30 | }; | ||
31 | |||
32 | /* ucc_set_type | ||
33 | * Sets UCC to slow or fast mode. | ||
34 | * | ||
35 | * ucc_num - (In) number of UCC (0-7). | ||
36 | * speed - (In) slow or fast mode for UCC. | ||
37 | */ | ||
38 | int ucc_set_type(unsigned int ucc_num, enum ucc_speed_type speed); | ||
39 | |||
40 | int ucc_set_qe_mux_mii_mng(unsigned int ucc_num); | ||
41 | |||
42 | int ucc_set_qe_mux_rxtx(unsigned int ucc_num, enum qe_clock clock, | ||
43 | enum comm_dir mode); | ||
44 | |||
45 | int ucc_mux_set_grant_tsa_bkpt(unsigned int ucc_num, int set, u32 mask); | ||
46 | |||
47 | /* QE MUX clock routing for UCC | ||
48 | */ | ||
49 | static inline int ucc_set_qe_mux_grant(unsigned int ucc_num, int set) | ||
50 | { | ||
51 | return ucc_mux_set_grant_tsa_bkpt(ucc_num, set, QE_CMXUCR_GRANT); | ||
52 | } | ||
53 | |||
54 | static inline int ucc_set_qe_mux_tsa(unsigned int ucc_num, int set) | ||
55 | { | ||
56 | return ucc_mux_set_grant_tsa_bkpt(ucc_num, set, QE_CMXUCR_TSA); | ||
57 | } | ||
58 | |||
59 | static inline int ucc_set_qe_mux_bkpt(unsigned int ucc_num, int set) | ||
60 | { | ||
61 | return ucc_mux_set_grant_tsa_bkpt(ucc_num, set, QE_CMXUCR_BKPT); | ||
62 | } | ||
63 | |||
64 | #endif /* __UCC_H__ */ | ||