46 lines
		
	
	
		
			865 B
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			865 B
		
	
	
	
		
			C
		
	
	
	
| // SPDX-License-Identifier: GPL-2.0+
 | |
| /*
 | |
|  * (C) Copyright 2019
 | |
|  * Angelo Dureghello <angleo@sysam.it>
 | |
|  *
 | |
|  * CPU specific dspi routines
 | |
|  */
 | |
| 
 | |
| #include <common.h>
 | |
| #include <asm/immap.h>
 | |
| #include <asm/io.h>
 | |
| 
 | |
| #ifdef CONFIG_CF_DSPI
 | |
| void dspi_chip_select(int cs)
 | |
| {
 | |
| 	struct gpio *gpio = (struct gpio *)MMAP_GPIO;
 | |
| 
 | |
| #ifdef CONFIG_MCF5441x
 | |
| 	switch (cs) {
 | |
| 	case 0:
 | |
| 		clrbits_8(&gpio->par_dspi0,
 | |
| 			  ~GPIO_PAR_DSPI0_PCS0_MASK);
 | |
| 		setbits_8(&gpio->par_dspi0,
 | |
| 			  GPIO_PAR_DSPI0_PCS0_DSPI0PCS0);
 | |
| 		break;
 | |
| 	case 1:
 | |
| 		clrbits_8(&gpio->par_dspiow,
 | |
| 			  GPIO_PAR_DSPIOW_DSPI0PSC1);
 | |
| 		setbits_8(&gpio->par_dspiow,
 | |
| 			  GPIO_PAR_DSPIOW_DSPI0PSC1);
 | |
| 		break;
 | |
| 	}
 | |
| #endif
 | |
| }
 | |
| 
 | |
| void dspi_chip_unselect(int cs)
 | |
| {
 | |
| 	struct gpio *gpio = (struct gpio *)MMAP_GPIO;
 | |
| 
 | |
| #ifdef CONFIG_MCF5441x
 | |
| 	if (cs == 1)
 | |
| 		clrbits_8(&gpio->par_dspiow, GPIO_PAR_DSPIOW_DSPI0PSC1);
 | |
| #endif
 | |
| }
 | |
| #endif /* CONFIG_CF_DSPI */
 |