diff options
author | Vitaly Bordug <vbordug@ru.mvista.com> | 2006-09-21 14:38:05 -0400 |
---|---|---|
committer | Vitaly Bordug <vbordug@ru.mvista.com> | 2006-09-21 14:38:05 -0400 |
commit | d3465c921f79cfef0a4a8ceeeef9a3721bbbb57d (patch) | |
tree | 73d602a02efd3f358990dcfa9231131e69318d3b /include | |
parent | fc8e50e349aa722d9f97ed9ba30e324ede8fa408 (diff) |
POWERPC: overhaul with cpm2_map mechanism
Incorporating the new way of cpm2 immr access, introduced in the previous
patch, into CPM2 peripheral devices (fs_enet and cpm_uart). Both ppc and
powerpc approved working( real actions taken in powerpc only, ppc just
has a wrapper to keep init stuff consistent).
Signed-off-by: Vitaly Bordug <vbordug@ru.mvista.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/asm-ppc/cpm2.h | 53 | ||||
-rw-r--r-- | include/linux/fs_enet_pd.h | 10 | ||||
-rw-r--r-- | include/linux/fs_uart_pd.h | 4 |
3 files changed, 62 insertions, 5 deletions
diff --git a/include/asm-ppc/cpm2.h b/include/asm-ppc/cpm2.h index bd6623aed383..220cc2debe08 100644 --- a/include/asm-ppc/cpm2.h +++ b/include/asm-ppc/cpm2.h | |||
@@ -1196,5 +1196,58 @@ typedef struct im_idma { | |||
1196 | #define FCC2_MEM_OFFSET FCC_MEM_OFFSET(1) | 1196 | #define FCC2_MEM_OFFSET FCC_MEM_OFFSET(1) |
1197 | #define FCC3_MEM_OFFSET FCC_MEM_OFFSET(2) | 1197 | #define FCC3_MEM_OFFSET FCC_MEM_OFFSET(2) |
1198 | 1198 | ||
1199 | /* Clocks and GRG's */ | ||
1200 | |||
1201 | enum cpm_clk_dir { | ||
1202 | CPM_CLK_RX, | ||
1203 | CPM_CLK_TX, | ||
1204 | CPM_CLK_RTX | ||
1205 | }; | ||
1206 | |||
1207 | enum cpm_clk_target { | ||
1208 | CPM_CLK_SCC1, | ||
1209 | CPM_CLK_SCC2, | ||
1210 | CPM_CLK_SCC3, | ||
1211 | CPM_CLK_SCC4, | ||
1212 | CPM_CLK_FCC1, | ||
1213 | CPM_CLK_FCC2, | ||
1214 | CPM_CLK_FCC3 | ||
1215 | }; | ||
1216 | |||
1217 | enum cpm_clk { | ||
1218 | CPM_CLK_NONE = 0, | ||
1219 | CPM_BRG1, /* Baud Rate Generator 1 */ | ||
1220 | CPM_BRG2, /* Baud Rate Generator 2 */ | ||
1221 | CPM_BRG3, /* Baud Rate Generator 3 */ | ||
1222 | CPM_BRG4, /* Baud Rate Generator 4 */ | ||
1223 | CPM_BRG5, /* Baud Rate Generator 5 */ | ||
1224 | CPM_BRG6, /* Baud Rate Generator 6 */ | ||
1225 | CPM_BRG7, /* Baud Rate Generator 7 */ | ||
1226 | CPM_BRG8, /* Baud Rate Generator 8 */ | ||
1227 | CPM_CLK1, /* Clock 1 */ | ||
1228 | CPM_CLK2, /* Clock 2 */ | ||
1229 | CPM_CLK3, /* Clock 3 */ | ||
1230 | CPM_CLK4, /* Clock 4 */ | ||
1231 | CPM_CLK5, /* Clock 5 */ | ||
1232 | CPM_CLK6, /* Clock 6 */ | ||
1233 | CPM_CLK7, /* Clock 7 */ | ||
1234 | CPM_CLK8, /* Clock 8 */ | ||
1235 | CPM_CLK9, /* Clock 9 */ | ||
1236 | CPM_CLK10, /* Clock 10 */ | ||
1237 | CPM_CLK11, /* Clock 11 */ | ||
1238 | CPM_CLK12, /* Clock 12 */ | ||
1239 | CPM_CLK13, /* Clock 13 */ | ||
1240 | CPM_CLK14, /* Clock 14 */ | ||
1241 | CPM_CLK15, /* Clock 15 */ | ||
1242 | CPM_CLK16, /* Clock 16 */ | ||
1243 | CPM_CLK17, /* Clock 17 */ | ||
1244 | CPM_CLK18, /* Clock 18 */ | ||
1245 | CPM_CLK19, /* Clock 19 */ | ||
1246 | CPM_CLK20, /* Clock 20 */ | ||
1247 | CPM_CLK_DUMMY | ||
1248 | }; | ||
1249 | |||
1250 | extern int cpm2_clk_setup(enum cpm_clk_target target, int clock, int mode); | ||
1251 | |||
1199 | #endif /* __CPM2__ */ | 1252 | #endif /* __CPM2__ */ |
1200 | #endif /* __KERNEL__ */ | 1253 | #endif /* __KERNEL__ */ |
diff --git a/include/linux/fs_enet_pd.h b/include/linux/fs_enet_pd.h index 74ed35a00a94..932223550aca 100644 --- a/include/linux/fs_enet_pd.h +++ b/include/linux/fs_enet_pd.h | |||
@@ -87,18 +87,20 @@ struct fs_mii_bb_platform_info { | |||
87 | }; | 87 | }; |
88 | 88 | ||
89 | struct fs_platform_info { | 89 | struct fs_platform_info { |
90 | 90 | ||
91 | void(*init_ioports)(void); | 91 | void(*init_ioports)(struct fs_platform_info *); |
92 | /* device specific information */ | 92 | /* device specific information */ |
93 | int fs_no; /* controller index */ | 93 | int fs_no; /* controller index */ |
94 | 94 | ||
95 | u32 cp_page; /* CPM page */ | 95 | u32 cp_page; /* CPM page */ |
96 | u32 cp_block; /* CPM sblock */ | 96 | u32 cp_block; /* CPM sblock */ |
97 | 97 | ||
98 | u32 clk_trx; /* some stuff for pins & mux configuration*/ | 98 | u32 clk_trx; /* some stuff for pins & mux configuration*/ |
99 | u32 clk_rx; | ||
100 | u32 clk_tx; | ||
99 | u32 clk_route; | 101 | u32 clk_route; |
100 | u32 clk_mask; | 102 | u32 clk_mask; |
101 | 103 | ||
102 | u32 mem_offset; | 104 | u32 mem_offset; |
103 | u32 dpram_offset; | 105 | u32 dpram_offset; |
104 | u32 fcc_regs_c; | 106 | u32 fcc_regs_c; |
diff --git a/include/linux/fs_uart_pd.h b/include/linux/fs_uart_pd.h index f5975126b712..a99a020f95c2 100644 --- a/include/linux/fs_uart_pd.h +++ b/include/linux/fs_uart_pd.h | |||
@@ -46,7 +46,7 @@ static inline int fs_uart_id_fsid2smc(int id) | |||
46 | } | 46 | } |
47 | 47 | ||
48 | struct fs_uart_platform_info { | 48 | struct fs_uart_platform_info { |
49 | void(*init_ioports)(void); | 49 | void(*init_ioports)(struct fs_uart_platform_info *); |
50 | /* device specific information */ | 50 | /* device specific information */ |
51 | int fs_no; /* controller index */ | 51 | int fs_no; /* controller index */ |
52 | u32 uart_clk; | 52 | u32 uart_clk; |
@@ -55,6 +55,8 @@ struct fs_uart_platform_info { | |||
55 | u8 rx_num_fifo; | 55 | u8 rx_num_fifo; |
56 | u8 rx_buf_size; | 56 | u8 rx_buf_size; |
57 | u8 brg; | 57 | u8 brg; |
58 | u8 clk_rx; | ||
59 | u8 clk_tx; | ||
58 | }; | 60 | }; |
59 | 61 | ||
60 | #endif | 62 | #endif |