diff options
Diffstat (limited to 'arch/powerpc/include/asm/mpc52xx.h')
| -rw-r--r-- | arch/powerpc/include/asm/mpc52xx.h | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/arch/powerpc/include/asm/mpc52xx.h b/arch/powerpc/include/asm/mpc52xx.h index 1b4f697abbdd..b664ce79a172 100644 --- a/arch/powerpc/include/asm/mpc52xx.h +++ b/arch/powerpc/include/asm/mpc52xx.h | |||
| @@ -276,6 +276,53 @@ extern int mpc52xx_set_psc_clkdiv(int psc_id, int clkdiv); | |||
| 276 | extern unsigned int mpc52xx_get_xtal_freq(struct device_node *node); | 276 | extern unsigned int mpc52xx_get_xtal_freq(struct device_node *node); |
| 277 | extern void mpc52xx_restart(char *cmd); | 277 | extern void mpc52xx_restart(char *cmd); |
| 278 | 278 | ||
| 279 | /* mpc52xx_gpt.c */ | ||
| 280 | struct mpc52xx_gpt_priv; | ||
| 281 | extern struct mpc52xx_gpt_priv *mpc52xx_gpt_from_irq(int irq); | ||
| 282 | extern int mpc52xx_gpt_start_timer(struct mpc52xx_gpt_priv *gpt, u64 period, | ||
| 283 | int continuous); | ||
| 284 | extern u64 mpc52xx_gpt_timer_period(struct mpc52xx_gpt_priv *gpt); | ||
| 285 | extern int mpc52xx_gpt_stop_timer(struct mpc52xx_gpt_priv *gpt); | ||
| 286 | |||
| 287 | /* mpc52xx_lpbfifo.c */ | ||
| 288 | #define MPC52XX_LPBFIFO_FLAG_READ (0) | ||
| 289 | #define MPC52XX_LPBFIFO_FLAG_WRITE (1<<0) | ||
| 290 | #define MPC52XX_LPBFIFO_FLAG_NO_INCREMENT (1<<1) | ||
| 291 | #define MPC52XX_LPBFIFO_FLAG_NO_DMA (1<<2) | ||
| 292 | #define MPC52XX_LPBFIFO_FLAG_POLL_DMA (1<<3) | ||
| 293 | |||
| 294 | struct mpc52xx_lpbfifo_request { | ||
| 295 | struct list_head list; | ||
| 296 | |||
| 297 | /* localplus bus address */ | ||
| 298 | unsigned int cs; | ||
| 299 | size_t offset; | ||
| 300 | |||
| 301 | /* Memory address */ | ||
| 302 | void *data; | ||
| 303 | phys_addr_t data_phys; | ||
| 304 | |||
| 305 | /* Details of transfer */ | ||
| 306 | size_t size; | ||
| 307 | size_t pos; /* current position of transfer */ | ||
| 308 | int flags; | ||
| 309 | |||
| 310 | /* What to do when finished */ | ||
| 311 | void (*callback)(struct mpc52xx_lpbfifo_request *); | ||
| 312 | |||
| 313 | void *priv; /* Driver private data */ | ||
| 314 | |||
| 315 | /* statistics */ | ||
| 316 | int irq_count; | ||
| 317 | int irq_ticks; | ||
| 318 | u8 last_byte; | ||
| 319 | int buffer_not_done_cnt; | ||
| 320 | }; | ||
| 321 | |||
| 322 | extern int mpc52xx_lpbfifo_submit(struct mpc52xx_lpbfifo_request *req); | ||
| 323 | extern void mpc52xx_lpbfifo_abort(struct mpc52xx_lpbfifo_request *req); | ||
| 324 | extern void mpc52xx_lpbfifo_poll(void); | ||
| 325 | |||
| 279 | /* mpc52xx_pic.c */ | 326 | /* mpc52xx_pic.c */ |
| 280 | extern void mpc52xx_init_irq(void); | 327 | extern void mpc52xx_init_irq(void); |
| 281 | extern unsigned int mpc52xx_get_irq(void); | 328 | extern unsigned int mpc52xx_get_irq(void); |
