• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // SPDX-License-Identifier: GPL-2.0+
2 /*
3  * (C) Copyright 2019
4  * Angelo Dureghello <angleo@sysam.it>
5  *
6  * CPU specific dspi routines
7  */
8 
9 #include <common.h>
10 #include <asm/immap.h>
11 #include <asm/io.h>
12 
13 #ifdef CONFIG_CF_DSPI
dspi_chip_select(int cs)14 void dspi_chip_select(int cs)
15 {
16 	struct gpio *gpio = (struct gpio *)MMAP_GPIO;
17 
18 	switch (cs) {
19 	case 0:
20 		clrbits_8(&gpio->par_dspi, GPIO_PAR_DSPI_PCS0_UNMASK);
21 		setbits_8(&gpio->par_dspi, GPIO_PAR_DSPI_PCS0_PCS0);
22 		break;
23 	case 2:
24 		clrbits_8(&gpio->par_timer, ~GPIO_PAR_TIMER_T2IN_UNMASK);
25 		setbits_8(&gpio->par_timer, GPIO_PAR_TIMER_T2IN_DSPIPCS2);
26 		break;
27 	}
28 }
29 
dspi_chip_unselect(int cs)30 void dspi_chip_unselect(int cs)
31 {
32 	struct gpio *gpio = (struct gpio *)MMAP_GPIO;
33 
34 	switch (cs) {
35 	case 0:
36 		clrbits_8(&gpio->par_dspi, GPIO_PAR_DSPI_PCS0_PCS0);
37 		break;
38 	case 2:
39 		clrbits_8(&gpio->par_timer, ~GPIO_PAR_TIMER_T2IN_UNMASK);
40 		break;
41 	}
42 }
43 #endif /* CONFIG_CF_DSPI */
44