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 Ledvichint 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 Ledvichint 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