 ee68580824
			
		
	
	
	ee68580824
	
	
	
		
			
			Signed-off-by: Jonas Gorski <jogo@openwrt.org> Cc: linux-mips@linux-mips.org Cc: John Crispin <blogic@openwrt.org> Cc: Maxime Bizon <mbizon@freebox.fr> Cc: Florian Fainelli <florian@openwrt.org> Cc: Kevin Cernekee <cernekee@gmail.com> Patchwork: https://patchwork.linux-mips.org/patch/7271/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
		
			
				
	
	
		
			54 lines
		
	
	
	
		
			1.3 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
	
		
			1.3 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
| #ifndef BCM63XX_DEV_SPI_H
 | |
| #define BCM63XX_DEV_SPI_H
 | |
| 
 | |
| #include <linux/types.h>
 | |
| #include <bcm63xx_io.h>
 | |
| #include <bcm63xx_regs.h>
 | |
| 
 | |
| int __init bcm63xx_spi_register(void);
 | |
| 
 | |
| struct bcm63xx_spi_pdata {
 | |
| 	unsigned int	fifo_size;
 | |
| 	unsigned int	msg_type_shift;
 | |
| 	unsigned int	msg_ctl_width;
 | |
| 	int		bus_num;
 | |
| 	int		num_chipselect;
 | |
| };
 | |
| 
 | |
| enum bcm63xx_regs_spi {
 | |
| 	SPI_CMD,
 | |
| 	SPI_INT_STATUS,
 | |
| 	SPI_INT_MASK_ST,
 | |
| 	SPI_INT_MASK,
 | |
| 	SPI_ST,
 | |
| 	SPI_CLK_CFG,
 | |
| 	SPI_FILL_BYTE,
 | |
| 	SPI_MSG_TAIL,
 | |
| 	SPI_RX_TAIL,
 | |
| 	SPI_MSG_CTL,
 | |
| 	SPI_MSG_DATA,
 | |
| 	SPI_RX_DATA,
 | |
| };
 | |
| 
 | |
| #define __GEN_SPI_REGS_TABLE(__cpu)					\
 | |
| 	[SPI_CMD]		= SPI_## __cpu ##_CMD,			\
 | |
| 	[SPI_INT_STATUS]	= SPI_## __cpu ##_INT_STATUS,		\
 | |
| 	[SPI_INT_MASK_ST]	= SPI_## __cpu ##_INT_MASK_ST,		\
 | |
| 	[SPI_INT_MASK]		= SPI_## __cpu ##_INT_MASK,		\
 | |
| 	[SPI_ST]		= SPI_## __cpu ##_ST,			\
 | |
| 	[SPI_CLK_CFG]		= SPI_## __cpu ##_CLK_CFG,		\
 | |
| 	[SPI_FILL_BYTE]		= SPI_## __cpu ##_FILL_BYTE,		\
 | |
| 	[SPI_MSG_TAIL]		= SPI_## __cpu ##_MSG_TAIL,		\
 | |
| 	[SPI_RX_TAIL]		= SPI_## __cpu ##_RX_TAIL,		\
 | |
| 	[SPI_MSG_CTL]		= SPI_## __cpu ##_MSG_CTL,		\
 | |
| 	[SPI_MSG_DATA]		= SPI_## __cpu ##_MSG_DATA,		\
 | |
| 	[SPI_RX_DATA]		= SPI_## __cpu ##_RX_DATA,
 | |
| 
 | |
| static inline unsigned long bcm63xx_spireg(enum bcm63xx_regs_spi reg)
 | |
| {
 | |
| 	extern const unsigned long *bcm63xx_regs_spi;
 | |
| 
 | |
| 	return bcm63xx_regs_spi[reg];
 | |
| }
 | |
| 
 | |
| #endif /* BCM63XX_DEV_SPI_H */
 |