// 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; switch (cs) { case 0: clrbits_8(&gpio->par_dspi, GPIO_PAR_DSPI_PCS0_UNMASK); setbits_8(&gpio->par_dspi, GPIO_PAR_DSPI_PCS0_PCS0); break; case 2: clrbits_8(&gpio->par_timer, ~GPIO_PAR_TIMER_T2IN_UNMASK); setbits_8(&gpio->par_timer, GPIO_PAR_TIMER_T2IN_DSPIPCS2); break; } } void dspi_chip_unselect(int cs) { struct gpio *gpio = (struct gpio *)MMAP_GPIO; switch (cs) { case 0: clrbits_8(&gpio->par_dspi, GPIO_PAR_DSPI_PCS0_PCS0); break; case 2: clrbits_8(&gpio->par_timer, ~GPIO_PAR_TIMER_T2IN_UNMASK); break; } } #endif /* CONFIG_CF_DSPI */