xref: /openbmc/u-boot/board/compulab/cl-som-imx7/common.c (revision 83d290c56fab2d38cd1ab4c4cc7099559c1d5046)
1*83d290c5STom Rini // SPDX-License-Identifier: GPL-2.0+
26963204cSIlya Ledvich /*
36963204cSIlya Ledvich  * SPL/U-Boot common functions for CompuLab CL-SOM-iMX7 module
46963204cSIlya Ledvich  *
56963204cSIlya Ledvich  * (C) Copyright 2017 CompuLab, Ltd. http://www.compulab.com
66963204cSIlya Ledvich  *
76963204cSIlya Ledvich  * Author: Uri Mashiach <uri.mashiach@compulab.co.il>
86963204cSIlya Ledvich  */
96963204cSIlya Ledvich 
106963204cSIlya Ledvich #include <common.h>
116963204cSIlya Ledvich #include <fsl_esdhc.h>
126963204cSIlya Ledvich #include <asm-generic/gpio.h>
136963204cSIlya Ledvich #include "common.h"
146963204cSIlya Ledvich 
156963204cSIlya Ledvich #ifdef CONFIG_SPI
166963204cSIlya Ledvich 
176963204cSIlya Ledvich #define CL_SOM_IMX7_GPIO_SPI_CS	IMX_GPIO_NR(4, 19)
186963204cSIlya Ledvich 
board_spi_cs_gpio(unsigned int bus,unsigned int cs)196963204cSIlya Ledvich int board_spi_cs_gpio(unsigned int bus, unsigned int cs)
206963204cSIlya Ledvich {
216963204cSIlya Ledvich 	return CL_SOM_IMX7_GPIO_SPI_CS;
226963204cSIlya Ledvich }
236963204cSIlya Ledvich 
246963204cSIlya Ledvich #endif /* CONFIG_SPI */
256963204cSIlya Ledvich 
266963204cSIlya Ledvich #ifdef CONFIG_FSL_ESDHC
276963204cSIlya Ledvich 
board_mmc_getcd(struct mmc * mmc)286963204cSIlya Ledvich int board_mmc_getcd(struct mmc *mmc)
296963204cSIlya Ledvich {
306963204cSIlya Ledvich 	struct fsl_esdhc_cfg *cfg = (struct fsl_esdhc_cfg *)mmc->priv;
316963204cSIlya Ledvich 	int ret = 0;
326963204cSIlya Ledvich 
336963204cSIlya Ledvich 	switch (cfg->esdhc_base) {
346963204cSIlya Ledvich 	case USDHC1_BASE_ADDR:
356963204cSIlya Ledvich 		ret = !gpio_get_value(CL_SOM_IMX7_GPIO_USDHC1_CD);
366963204cSIlya Ledvich 		break;
376963204cSIlya Ledvich 	case USDHC3_BASE_ADDR:
386963204cSIlya Ledvich 		ret = 1; /* Assume uSDHC3 emmc is always present */
396963204cSIlya Ledvich 		break;
406963204cSIlya Ledvich 	}
416963204cSIlya Ledvich 
426963204cSIlya Ledvich 	return ret;
436963204cSIlya Ledvich }
446963204cSIlya Ledvich 
456963204cSIlya Ledvich #endif /* CONFIG_FSL_ESDHC */
46