linux/drivers/mmc/host/sdhci-bcm-kona.c

// SPDX-License-Identifier: GPL-2.0-only
// Copyright (C) 2013 Broadcom Corporation

#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/delay.h>
#include <linux/highmem.h>
#include <linux/platform_device.h>
#include <linux/mmc/host.h>
#include <linux/io.h>
#include <linux/clk.h>
#include <linux/regulator/consumer.h>
#include <linux/of.h>
#include <linux/mmc/slot-gpio.h>

#include "sdhci-pltfm.h"
#include "sdhci.h"

#define SDHCI_SOFT_RESET
#define KONA_SDHOST_CORECTRL
#define KONA_SDHOST_CD_PINCTRL
#define KONA_SDHOST_STOP_HCLK
#define KONA_SDHOST_RESET
#define KONA_SDHOST_EN

#define KONA_SDHOST_CORESTAT
#define KONA_SDHOST_WP
#define KONA_SDHOST_CD_SW

#define KONA_SDHOST_COREIMR
#define KONA_SDHOST_IP

#define KONA_SDHOST_COREISR
#define KONA_SDHOST_COREIMSR
#define KONA_SDHOST_COREDBG1
#define KONA_SDHOST_COREGPO_MASK

#define SD_DETECT_GPIO_DEBOUNCE_128MS

#define KONA_MMC_AUTOSUSPEND_DELAY

struct sdhci_bcm_kona_dev {};


static int sdhci_bcm_kona_sd_reset(struct sdhci_host *host)
{}

static void sdhci_bcm_kona_sd_init(struct sdhci_host *host)
{}

/*
 * Software emulation of the SD card insertion/removal. Set insert=1 for insert
 * and insert=0 for removal. The card detection is done by GPIO. For Broadcom
 * IP to function properly the bit 0 of CORESTAT register needs to be set/reset
* to generate the CD IRQ handled in sdhci.c
 */
static int sdhci_bcm_kona_sd_card_emulate(struct sdhci_host *host, int insert)
{}

/*
 * SD card interrupt event callback
 */
static void sdhci_bcm_kona_card_event(struct sdhci_host *host)
{}

static void sdhci_bcm_kona_init_74_clocks(struct sdhci_host *host,
				u8 power_mode)
{}

static const struct sdhci_ops sdhci_bcm_kona_ops =;

static const struct sdhci_pltfm_data sdhci_pltfm_data_kona =;

static const struct of_device_id sdhci_bcm_kona_of_match[] =;
MODULE_DEVICE_TABLE(of, sdhci_bcm_kona_of_match);

static int sdhci_bcm_kona_probe(struct platform_device *pdev)
{}

static void sdhci_bcm_kona_remove(struct platform_device *pdev)
{}

static struct platform_driver sdhci_bcm_kona_driver =;
module_platform_driver();

MODULE_DESCRIPTION();
MODULE_AUTHOR();
MODULE_LICENSE();