From 04dd17822334871b23ea2862f7798fb0e0007777 Mon Sep 17 00:00:00 2001 From: hc <hc@nodka.com> Date: Sat, 11 May 2024 08:53:19 +0000 Subject: [PATCH] change otg to host mode --- kernel/include/linux/mmc/mmc.h | 22 +++++++++++++++++++++- 1 files changed, 21 insertions(+), 1 deletions(-) diff --git a/kernel/include/linux/mmc/mmc.h b/kernel/include/linux/mmc/mmc.h index 897a87c..9051aca 100644 --- a/kernel/include/linux/mmc/mmc.h +++ b/kernel/include/linux/mmc/mmc.h @@ -161,6 +161,16 @@ #define R1_STATE_PRG 7 #define R1_STATE_DIS 8 +static inline bool mmc_ready_for_data(u32 status) +{ + /* + * Some cards mishandle the status bits, so make sure to check both the + * busy indication and the card state. + */ + return status & R1_READY_FOR_DATA && + R1_CURRENT_STATE(status) == R1_STATE_TRAN; +} + /* * MMC/SD in SPI mode reports R1 status always, and R2 for SEND_STATUS * R1 is the low order byte; R2 is the next highest byte, when present. @@ -315,6 +325,7 @@ */ #define EXT_CSD_WR_REL_PARAM_EN (1<<2) +#define EXT_CSD_WR_REL_PARAM_EN_RPMB_REL_WR (1<<4) #define EXT_CSD_BOOT_WP_B_PWR_WP_DIS (0x40) #define EXT_CSD_BOOT_WP_B_PERM_WP_DIS (0x10) @@ -434,8 +445,17 @@ #define MMC_SECURE_TRIM1_ARG 0x80000001 #define MMC_SECURE_TRIM2_ARG 0x80008000 #define MMC_SECURE_ARGS 0x80000000 -#define MMC_TRIM_ARGS 0x00008001 +#define MMC_TRIM_OR_DISCARD_ARGS 0x00008003 #define mmc_driver_type_mask(n) (1 << (n)) +struct mmc_card; + +extern int mmc_select_bus_width(struct mmc_card *card); +extern int mmc_select_hs(struct mmc_card *card); +extern int mmc_select_hs_ddr(struct mmc_card *card); +extern int mmc_select_hs400(struct mmc_card *card); +extern int mmc_hs200_tuning(struct mmc_card *card); +extern int mmc_select_timing(struct mmc_card *card); + #endif /* LINUX_MMC_MMC_H */ -- Gitblit v1.6.2