Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
at v2.6.21 53 lines 1.3 kB view raw
1/* 2 * ssp.h 3 * 4 * Copyright (C) 2003 Russell King, All Rights Reserved. 5 * 6 * This program is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License version 2 as 8 * published by the Free Software Foundation. 9 * 10 * This driver supports the following PXA CPU/SSP ports:- 11 * 12 * PXA250 SSP 13 * PXA255 SSP, NSSP 14 * PXA26x SSP, NSSP, ASSP 15 * PXA27x SSP1, SSP2, SSP3 16 */ 17 18#ifndef SSP_H 19#define SSP_H 20 21/* 22 * SSP initialisation flags 23 */ 24#define SSP_NO_IRQ 0x1 /* don't register an irq handler in SSP driver */ 25 26struct ssp_state { 27 u32 cr0; 28 u32 cr1; 29 u32 to; 30 u32 psp; 31}; 32 33struct ssp_dev { 34 u32 port; 35 u32 mode; 36 u32 flags; 37 u32 psp_flags; 38 u32 speed; 39 int irq; 40}; 41 42int ssp_write_word(struct ssp_dev *dev, u32 data); 43int ssp_read_word(struct ssp_dev *dev, u32 *data); 44int ssp_flush(struct ssp_dev *dev); 45void ssp_enable(struct ssp_dev *dev); 46void ssp_disable(struct ssp_dev *dev); 47void ssp_save_state(struct ssp_dev *dev, struct ssp_state *ssp); 48void ssp_restore_state(struct ssp_dev *dev, struct ssp_state *ssp); 49int ssp_init(struct ssp_dev *dev, u32 port, u32 init_flags); 50int ssp_config(struct ssp_dev *dev, u32 mode, u32 flags, u32 psp_flags, u32 speed); 51void ssp_exit(struct ssp_dev *dev); 52 53#endif