Blackfin: bfin_sdh: convert to portmux framework
Rather than bang MMRs directly, use the new portmux framework to handle the details. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
This commit is contained in:
		
							parent
							
								
									253f47f3a7
								
							
						
					
					
						commit
						a87589fcf9
					
				| 
						 | 
					@ -15,6 +15,7 @@
 | 
				
			||||||
#include <asm/errno.h>
 | 
					#include <asm/errno.h>
 | 
				
			||||||
#include <asm/byteorder.h>
 | 
					#include <asm/byteorder.h>
 | 
				
			||||||
#include <asm/blackfin.h>
 | 
					#include <asm/blackfin.h>
 | 
				
			||||||
 | 
					#include <asm/portmux.h>
 | 
				
			||||||
#include <asm/mach-common/bits/sdh.h>
 | 
					#include <asm/mach-common/bits/sdh.h>
 | 
				
			||||||
#include <asm/mach-common/bits/dma.h>
 | 
					#include <asm/mach-common/bits/dma.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -41,11 +42,15 @@
 | 
				
			||||||
# define bfin_write_DMA_X_COUNT		bfin_write_DMA4_X_COUNT
 | 
					# define bfin_write_DMA_X_COUNT		bfin_write_DMA4_X_COUNT
 | 
				
			||||||
# define bfin_write_DMA_X_MODIFY	bfin_write_DMA4_X_MODIFY
 | 
					# define bfin_write_DMA_X_MODIFY	bfin_write_DMA4_X_MODIFY
 | 
				
			||||||
# define bfin_write_DMA_CONFIG		bfin_write_DMA4_CONFIG
 | 
					# define bfin_write_DMA_CONFIG		bfin_write_DMA4_CONFIG
 | 
				
			||||||
 | 
					# define PORTMUX_PINS \
 | 
				
			||||||
 | 
						{ P_RSI_DATA0, P_RSI_DATA1, P_RSI_DATA2, P_RSI_DATA3, P_RSI_CMD, P_RSI_CLK, 0 }
 | 
				
			||||||
#elif defined(__ADSPBF54x__)
 | 
					#elif defined(__ADSPBF54x__)
 | 
				
			||||||
# define bfin_write_DMA_START_ADDR	bfin_write_DMA22_START_ADDR
 | 
					# define bfin_write_DMA_START_ADDR	bfin_write_DMA22_START_ADDR
 | 
				
			||||||
# define bfin_write_DMA_X_COUNT		bfin_write_DMA22_X_COUNT
 | 
					# define bfin_write_DMA_X_COUNT		bfin_write_DMA22_X_COUNT
 | 
				
			||||||
# define bfin_write_DMA_X_MODIFY	bfin_write_DMA22_X_MODIFY
 | 
					# define bfin_write_DMA_X_MODIFY	bfin_write_DMA22_X_MODIFY
 | 
				
			||||||
# define bfin_write_DMA_CONFIG		bfin_write_DMA22_CONFIG
 | 
					# define bfin_write_DMA_CONFIG		bfin_write_DMA22_CONFIG
 | 
				
			||||||
 | 
					# define PORTMUX_PINS \
 | 
				
			||||||
 | 
						{ P_SD_D0, P_SD_D1, P_SD_D2, P_SD_D3, P_SD_CLK, P_SD_CMD, 0 }
 | 
				
			||||||
#else
 | 
					#else
 | 
				
			||||||
# error no support for this proc yet
 | 
					# error no support for this proc yet
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					@ -208,18 +213,13 @@ static void bfin_sdh_set_ios(struct mmc *mmc)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static int bfin_sdh_init(struct mmc *mmc)
 | 
					static int bfin_sdh_init(struct mmc *mmc)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
						const unsigned short pins[] = PORTMUX_PINS;
 | 
				
			||||||
	u16 pwr_ctl = 0;
 | 
						u16 pwr_ctl = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* Initialize sdh controller */
 | 
						/* Initialize sdh controller */
 | 
				
			||||||
 | 
						peripheral_request_list(pins, "bfin_sdh");
 | 
				
			||||||
#if defined(__ADSPBF54x__)
 | 
					#if defined(__ADSPBF54x__)
 | 
				
			||||||
	bfin_write_DMAC1_PERIMUX(bfin_read_DMAC1_PERIMUX() | 0x1);
 | 
						bfin_write_DMAC1_PERIMUX(bfin_read_DMAC1_PERIMUX() | 0x1);
 | 
				
			||||||
	bfin_write_PORTC_FER(bfin_read_PORTC_FER() | 0x3F00);
 | 
					 | 
				
			||||||
	bfin_write_PORTC_MUX(bfin_read_PORTC_MUX() & ~0xFFF0000);
 | 
					 | 
				
			||||||
#elif defined(__ADSPBF51x__)
 | 
					 | 
				
			||||||
	bfin_write_PORTG_FER(bfin_read_PORTG_FER() | 0x01F8);
 | 
					 | 
				
			||||||
	bfin_write_PORTG_MUX((bfin_read_PORTG_MUX() & ~0x3FC) | 0x154);
 | 
					 | 
				
			||||||
#else
 | 
					 | 
				
			||||||
# error no portmux for this proc yet
 | 
					 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
	bfin_write_SDH_CFG(bfin_read_SDH_CFG() | CLKS_EN);
 | 
						bfin_write_SDH_CFG(bfin_read_SDH_CFG() | CLKS_EN);
 | 
				
			||||||
	/* Disable card detect pin */
 | 
						/* Disable card detect pin */
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue