blob: 1735c0e3918ba54c367cca9f6177b8d2c9efb242 [file] [log] [blame]
/* SPDX-License-Identifier: GPL-2.0+ */
/*
* Copyright (C) 2017, STMicroelectronics - All Rights Reserved
* Author(s): Patrice Chotard, <patrice.chotard@foss.st.com> for STMicroelectronics.
*/
#ifndef __STI_SDHCI_H__
#define __STI_SDHCI_H__
#ifndef __ASSEMBLY__
#include <linux/bitops.h>
#endif
#define FLASHSS_MMC_CORE_CONFIG_1 0x400
#define FLASHSS_MMC_CORECFG_TIMEOUT_CLK_UNIT_MHZ BIT(24)
#define FLASHSS_MMC_CORECFG_TIMEOUT_CLK_FREQ_MIN BIT(12)
#define STI_FLASHSS_MMC_CORE_CONFIG_1 \
(FLASHSS_MMC_CORECFG_TIMEOUT_CLK_UNIT_MHZ | \
FLASHSS_MMC_CORECFG_TIMEOUT_CLK_FREQ_MIN)
#define FLASHSS_MMC_CORE_CONFIG_2 0x404
#define FLASHSS_MMC_CORECFG_HIGH_SPEED BIT(28)
#define FLASHSS_MMC_CORECFG_8BIT_EMMC BIT(20)
#define MAX_BLK_LENGTH_1024 BIT(16)
#define BASE_CLK_FREQ_200 0xc8
#define STI_FLASHSS_MMC_CORE_CONFIG2 \
(FLASHSS_MMC_CORECFG_HIGH_SPEED | \
FLASHSS_MMC_CORECFG_8BIT_EMMC | \
MAX_BLK_LENGTH_1024 | \
BASE_CLK_FREQ_200 << 0)
#define STI_FLASHSS_SDCARD_CORE_CONFIG2 \
(FLASHSS_MMC_CORECFG_HIGH_SPEED | \
MAX_BLK_LENGTH_1024 | \
BASE_CLK_FREQ_200)
#define FLASHSS_MMC_CORE_CONFIG_3 0x408
#define FLASHSS_MMC_CORECFG_SLOT_TYPE_EMMC BIT(28)
#define FLASHSS_MMC_CORECFG_ASYNCH_INTR_SUPPORT BIT(20)
#define FLASHSS_MMC_CORECFG_3P3_VOLT BIT(8)
#define FLASHSS_MMC_CORECFG_SUSP_RES_SUPPORT BIT(4)
#define FLASHSS_MMC_CORECFG_SDMA BIT(0)
#define STI_FLASHSS_MMC_CORE_CONFIG3 \
(FLASHSS_MMC_CORECFG_SLOT_TYPE_EMMC | \
FLASHSS_MMC_CORECFG_ASYNCH_INTR_SUPPORT | \
FLASHSS_MMC_CORECFG_3P3_VOLT | \
FLASHSS_MMC_CORECFG_SUSP_RES_SUPPORT | \
FLASHSS_MMC_CORECFG_SDMA)
#define STI_FLASHSS_SDCARD_CORE_CONFIG3 \
(FLASHSS_MMC_CORECFG_ASYNCH_INTR_SUPPORT | \
FLASHSS_MMC_CORECFG_3P3_VOLT | \
FLASHSS_MMC_CORECFG_SUSP_RES_SUPPORT | \
FLASHSS_MMC_CORECFG_SDMA)
#define FLASHSS_MMC_CORE_CONFIG_4 0x40c
#define FLASHSS_MMC_CORECFG_D_DRIVER_SUPPORT BIT(20)
#define FLASHSS_MMC_CORECFG_C_DRIVER_SUPPORT BIT(16)
#define FLASHSS_MMC_CORECFG_A_DRIVER_SUPPORT BIT(12)
#define STI_FLASHSS_MMC_CORE_CONFIG4 \
(FLASHSS_MMC_CORECFG_D_DRIVER_SUPPORT | \
FLASHSS_MMC_CORECFG_C_DRIVER_SUPPORT | \
FLASHSS_MMC_CORECFG_A_DRIVER_SUPPORT)
#define ST_MMC_CCONFIG_REG_5 0x210
#define SYSCONF_MMC1_ENABLE_BIT 3
#endif /* _STI_SDHCI_H_ */