linux/include/linux/platform_data/mmc-mxcmmc.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0 */
   2#ifndef ASMARM_ARCH_MMC_H
   3#define ASMARM_ARCH_MMC_H
   4
   5#include <linux/interrupt.h>
   6#include <linux/mmc/host.h>
   7
   8struct device;
   9
  10/* board specific SDHC data, optional.
  11 * If not present, a writable card with 3,3V is assumed.
  12 */
  13struct imxmmc_platform_data {
  14        /* Return values for the get_ro callback should be:
  15         *   0 for a read/write card
  16         *   1 for a read-only card
  17         *   -ENOSYS when not supported (equal to NULL callback)
  18         *   or a negative errno value when something bad happened
  19         */
  20        int (*get_ro)(struct device *);
  21
  22        /* board specific hook to (de)initialize the SD slot.
  23         * The board code can call 'handler' on a card detection
  24         * change giving data as argument.
  25         */
  26        int (*init)(struct device *dev, irq_handler_t handler, void *data);
  27        void (*exit)(struct device *dev, void *data);
  28
  29        /* available voltages. If not given, assume
  30         * MMC_VDD_32_33 | MMC_VDD_33_34
  31         */
  32        unsigned int ocr_avail;
  33
  34        /* adjust slot voltage */
  35        void (*setpower)(struct device *, unsigned int vdd);
  36
  37        /* enable card detect using DAT3 */
  38        int dat3_card_detect;
  39};
  40
  41#endif
  42