mirror of
https://github.com/Dasharo/linux.git
synced 2026-03-06 15:25:10 -08:00
Merge tag 'mmc-v6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc
Pull MMC updates from Ulf Hansson: "MMC core: - Drop the use of BLK_BOUNCE_HIGH - Fix partition switch for GP3 - Remove usage of the deprecated ida_simple API MMC host: - cqhci: Update bouncing email-addresses in MAINTAINERS - davinci_mmc: Use sg_miter for PIO - dw_mmc-hi3798cv200: Convert the DT bindings to YAML - dw_mmc-hi3798mv200: Add driver for the new dw_mmc variant - fsl-imx-esdhc: A couple of corrections/updates to the DT bindings - meson-mx-sdhc: Drop use of the ->card_hw_reset() callback - moxart-mmc: Use sg_miter for PIO - moxart-mmc: Fix accounting for DMA transfers - mvsdio: Use sg_miter for PIO - mxcmmc: Use sg_miter for PIO - omap: Use sg_miter for PIO - renesas,sdhi: Add support for R-Car V4M variant - sdhci-esdhc-mcf: Use sg_miter for swapping - sdhci-of-dwcmshc: Add support for Sophgo CV1800B and SG2002 variants - sh_mmcif: Use sg_miter for PIO - tmio: Avoid concurrent runs of mmc_request_done()" * tag 'mmc-v6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc: (44 commits) mmc: core: make mmc_host_class constant mmc: core: Fix switch on gp3 partition mmc: tmio: comment the ERR_PTR usage in this driver mmc: mmc_spi: Don't mention DMA direction mmc: dw_mmc: Remove unused of_gpio.h mmc: dw_mmc: add support for hi3798mv200 dt-bindings: mmc: hisilicon,hi3798cv200-dw-mshc: add Hi3798MV200 binding dt-bindings: mmc: dw-mshc-hi3798cv200: convert to YAML mmc: dw_mmc-hi3798cv200: remove MODULE_ALIAS() mmc: core: Use a struct device* as in-param to mmc_of_parse_clk_phase() mmc: wmt-sdmmc: remove an incorrect release_mem_region() call in the .remove function mmc: tmio: avoid concurrent runs of mmc_request_done() dt-bindings: mmc: fsl-imx-mmc: Document the required clocks mmc: sh_mmcif: Advance sg_miter before reading blocks mmc: sh_mmcif: sg_miter must not be atomic mmc: sdhci-esdhc-mcf: Flag the sg_miter as atomic dt-bindings: mmc: fsl-imx-esdhc: add default and 100mhz state mmc: core: constify the struct device_type usage mmc: sdhci-of-dwcmshc: Add support for Sophgo CV1800B and SG2002 dt-bindings: mmc: sdhci-of-dwcmhsc: Add Sophgo CV1800B and SG2002 support ...
This commit is contained in:
@@ -55,8 +55,9 @@ properties:
|
||||
- enum:
|
||||
- fsl,imx8mn-usdhc
|
||||
- fsl,imx8mp-usdhc
|
||||
- fsl,imx93-usdhc
|
||||
- fsl,imx8ulp-usdhc
|
||||
- fsl,imx93-usdhc
|
||||
- fsl,imx95-usdhc
|
||||
- const: fsl,imx8mm-usdhc
|
||||
- items:
|
||||
- enum:
|
||||
@@ -162,6 +163,9 @@ properties:
|
||||
- const: ahb
|
||||
- const: per
|
||||
|
||||
iommus:
|
||||
maxItems: 1
|
||||
|
||||
power-domains:
|
||||
maxItems: 1
|
||||
|
||||
@@ -173,6 +177,11 @@ properties:
|
||||
- const: state_100mhz
|
||||
- const: state_200mhz
|
||||
- const: sleep
|
||||
- minItems: 2
|
||||
items:
|
||||
- const: default
|
||||
- const: state_100mhz
|
||||
- const: sleep
|
||||
- minItems: 1
|
||||
items:
|
||||
- const: default
|
||||
|
||||
@@ -24,6 +24,14 @@ properties:
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
clocks:
|
||||
maxItems: 2
|
||||
|
||||
clock-names:
|
||||
items:
|
||||
- const: ipg
|
||||
- const: per
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
@@ -34,6 +42,8 @@ properties:
|
||||
const: rx-tx
|
||||
|
||||
required:
|
||||
- clocks
|
||||
- clock-names
|
||||
- compatible
|
||||
- reg
|
||||
- interrupts
|
||||
@@ -46,6 +56,8 @@ examples:
|
||||
compatible = "fsl,imx27-mmc", "fsl,imx21-mmc";
|
||||
reg = <0x10014000 0x1000>;
|
||||
interrupts = <11>;
|
||||
clocks = <&clks 29>, <&clks 60>;
|
||||
clock-names = "ipg", "per";
|
||||
dmas = <&dma 7>;
|
||||
dma-names = "rx-tx";
|
||||
bus-width = <4>;
|
||||
|
||||
@@ -1,40 +0,0 @@
|
||||
* Hisilicon Hi3798CV200 specific extensions to the Synopsys Designware Mobile
|
||||
Storage Host Controller
|
||||
|
||||
Read synopsys-dw-mshc.txt for more details
|
||||
|
||||
The Synopsys designware mobile storage host controller is used to interface
|
||||
a SoC with storage medium such as eMMC or SD/MMC cards. This file documents
|
||||
differences between the core Synopsys dw mshc controller properties described
|
||||
by synopsys-dw-mshc.txt and the properties used by the Hisilicon Hi3798CV200
|
||||
specific extensions to the Synopsys Designware Mobile Storage Host Controller.
|
||||
|
||||
Required Properties:
|
||||
- compatible: Should contain "hisilicon,hi3798cv200-dw-mshc".
|
||||
- clocks: A list of phandle + clock-specifier pairs for the clocks listed
|
||||
in clock-names.
|
||||
- clock-names: Should contain the following:
|
||||
"ciu" - The ciu clock described in synopsys-dw-mshc.txt.
|
||||
"biu" - The biu clock described in synopsys-dw-mshc.txt.
|
||||
"ciu-sample" - Hi3798CV200 extended phase clock for ciu sampling.
|
||||
"ciu-drive" - Hi3798CV200 extended phase clock for ciu driving.
|
||||
|
||||
Example:
|
||||
|
||||
emmc: mmc@9830000 {
|
||||
compatible = "hisilicon,hi3798cv200-dw-mshc";
|
||||
reg = <0x9830000 0x10000>;
|
||||
interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&crg HISTB_MMC_CIU_CLK>,
|
||||
<&crg HISTB_MMC_BIU_CLK>,
|
||||
<&crg HISTB_MMC_SAMPLE_CLK>,
|
||||
<&crg HISTB_MMC_DRV_CLK>;
|
||||
clock-names = "ciu", "biu", "ciu-sample", "ciu-drive";
|
||||
fifo-depth = <256>;
|
||||
clock-frequency = <200000000>;
|
||||
cap-mmc-highspeed;
|
||||
mmc-ddr-1_8v;
|
||||
mmc-hs200-1_8v;
|
||||
non-removable;
|
||||
bus-width = <8>;
|
||||
};
|
||||
@@ -0,0 +1,97 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/mmc/hisilicon,hi3798cv200-dw-mshc.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Hisilicon HiSTB SoCs specific extensions to the Synopsys DWMMC controller
|
||||
|
||||
maintainers:
|
||||
- Yang Xiwen <forbidden405@outlook.com>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- hisilicon,hi3798cv200-dw-mshc
|
||||
- hisilicon,hi3798mv200-dw-mshc
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
clocks:
|
||||
items:
|
||||
- description: bus interface unit clock
|
||||
- description: card interface unit clock
|
||||
- description: card input sample phase clock
|
||||
- description: controller output drive phase clock
|
||||
|
||||
clock-names:
|
||||
items:
|
||||
- const: ciu
|
||||
- const: biu
|
||||
- const: ciu-sample
|
||||
- const: ciu-drive
|
||||
|
||||
hisilicon,sap-dll-reg:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle-array
|
||||
description: |
|
||||
DWMMC core on Hi3798MV2x SoCs has a delay-locked-loop(DLL) attached to card data input path.
|
||||
It is integrated into CRG core on the SoC and has to be controlled during tuning.
|
||||
items:
|
||||
- description: A phandle pointed to the CRG syscon node
|
||||
- description: Sample DLL register offset in CRG address space
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- interrupts
|
||||
- clocks
|
||||
- clock-names
|
||||
|
||||
allOf:
|
||||
- $ref: synopsys-dw-mshc-common.yaml#
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
const: hisilicon,hi3798mv200-dw-mshc
|
||||
then:
|
||||
required:
|
||||
- hisilicon,sap-dll-reg
|
||||
else:
|
||||
properties:
|
||||
hisilicon,sap-dll-reg: false
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/clock/histb-clock.h>
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
|
||||
mmc@9830000 {
|
||||
compatible = "hisilicon,hi3798cv200-dw-mshc";
|
||||
reg = <0x9830000 0x10000>;
|
||||
interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&crg HISTB_MMC_CIU_CLK>,
|
||||
<&crg HISTB_MMC_BIU_CLK>,
|
||||
<&crg HISTB_MMC_SAMPLE_CLK>,
|
||||
<&crg HISTB_MMC_DRV_CLK>;
|
||||
clock-names = "ciu", "biu", "ciu-sample", "ciu-drive";
|
||||
resets = <&crg 0xa0 4>;
|
||||
reset-names = "reset";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&emmc_pins_1 &emmc_pins_2
|
||||
&emmc_pins_3 &emmc_pins_4>;
|
||||
fifo-depth = <256>;
|
||||
clock-frequency = <200000000>;
|
||||
cap-mmc-highspeed;
|
||||
mmc-ddr-1_8v;
|
||||
mmc-hs200-1_8v;
|
||||
non-removable;
|
||||
bus-width = <8>;
|
||||
};
|
||||
@@ -67,6 +67,7 @@ properties:
|
||||
- renesas,sdhi-r8a779a0 # R-Car V3U
|
||||
- renesas,sdhi-r8a779f0 # R-Car S4-8
|
||||
- renesas,sdhi-r8a779g0 # R-Car V4H
|
||||
- renesas,sdhi-r8a779h0 # R-Car V4M
|
||||
- const: renesas,rcar-gen4-sdhi # R-Car Gen4
|
||||
|
||||
reg:
|
||||
|
||||
@@ -19,6 +19,8 @@ properties:
|
||||
- rockchip,rk3568-dwcmshc
|
||||
- rockchip,rk3588-dwcmshc
|
||||
- snps,dwcmshc-sdhci
|
||||
- sophgo,cv1800b-dwcmshc
|
||||
- sophgo,sg2002-dwcmshc
|
||||
- thead,th1520-dwcmshc
|
||||
|
||||
reg:
|
||||
|
||||
@@ -7809,8 +7809,8 @@ F: drivers/media/usb/em28xx/
|
||||
|
||||
EMMC CMDQ HOST CONTROLLER INTERFACE (CQHCI) DRIVER
|
||||
M: Adrian Hunter <adrian.hunter@intel.com>
|
||||
M: Ritesh Harjani <riteshh@codeaurora.org>
|
||||
M: Asutosh Das <asutoshd@codeaurora.org>
|
||||
M: Asutosh Das <quic_asutoshd@quicinc.com>
|
||||
R: Ritesh Harjani <ritesh.list@gmail.com>
|
||||
L: linux-mmc@vger.kernel.org
|
||||
S: Supported
|
||||
F: drivers/mmc/host/cqhci*
|
||||
|
||||
@@ -164,7 +164,7 @@ static struct attribute *memstick_dev_attrs[] = {
|
||||
};
|
||||
ATTRIBUTE_GROUPS(memstick_dev);
|
||||
|
||||
static struct bus_type memstick_bus_type = {
|
||||
static const struct bus_type memstick_bus_type = {
|
||||
.name = "memstick",
|
||||
.dev_groups = memstick_dev_groups,
|
||||
.match = memstick_bus_match,
|
||||
|
||||
@@ -144,7 +144,7 @@ struct mmc_blk_data {
|
||||
static dev_t mmc_rpmb_devt;
|
||||
|
||||
/* Bus type for RPMB character devices */
|
||||
static struct bus_type mmc_rpmb_bus_type = {
|
||||
static const struct bus_type mmc_rpmb_bus_type = {
|
||||
.name = "mmc_rpmb",
|
||||
};
|
||||
|
||||
@@ -206,7 +206,7 @@ static void mmc_blk_kref_release(struct kref *ref)
|
||||
int devidx;
|
||||
|
||||
devidx = mmc_get_devidx(md->disk);
|
||||
ida_simple_remove(&mmc_blk_ida, devidx);
|
||||
ida_free(&mmc_blk_ida, devidx);
|
||||
|
||||
mutex_lock(&open_lock);
|
||||
md->disk->private_data = NULL;
|
||||
@@ -874,10 +874,11 @@ static const struct block_device_operations mmc_bdops = {
|
||||
static int mmc_blk_part_switch_pre(struct mmc_card *card,
|
||||
unsigned int part_type)
|
||||
{
|
||||
const unsigned int mask = EXT_CSD_PART_CONFIG_ACC_RPMB;
|
||||
const unsigned int mask = EXT_CSD_PART_CONFIG_ACC_MASK;
|
||||
const unsigned int rpmb = EXT_CSD_PART_CONFIG_ACC_RPMB;
|
||||
int ret = 0;
|
||||
|
||||
if ((part_type & mask) == mask) {
|
||||
if ((part_type & mask) == rpmb) {
|
||||
if (card->ext_csd.cmdq_en) {
|
||||
ret = mmc_cmdq_disable(card);
|
||||
if (ret)
|
||||
@@ -892,10 +893,11 @@ static int mmc_blk_part_switch_pre(struct mmc_card *card,
|
||||
static int mmc_blk_part_switch_post(struct mmc_card *card,
|
||||
unsigned int part_type)
|
||||
{
|
||||
const unsigned int mask = EXT_CSD_PART_CONFIG_ACC_RPMB;
|
||||
const unsigned int mask = EXT_CSD_PART_CONFIG_ACC_MASK;
|
||||
const unsigned int rpmb = EXT_CSD_PART_CONFIG_ACC_RPMB;
|
||||
int ret = 0;
|
||||
|
||||
if ((part_type & mask) == mask) {
|
||||
if ((part_type & mask) == rpmb) {
|
||||
mmc_retune_unpause(card->host);
|
||||
if (card->reenable_cmdq && !card->ext_csd.cmdq_en)
|
||||
ret = mmc_cmdq_enable(card);
|
||||
@@ -2467,7 +2469,7 @@ static struct mmc_blk_data *mmc_blk_alloc_req(struct mmc_card *card,
|
||||
bool cache_enabled = false;
|
||||
bool fua_enabled = false;
|
||||
|
||||
devidx = ida_simple_get(&mmc_blk_ida, 0, max_devices, GFP_KERNEL);
|
||||
devidx = ida_alloc_max(&mmc_blk_ida, max_devices - 1, GFP_KERNEL);
|
||||
if (devidx < 0) {
|
||||
/*
|
||||
* We get -ENOSPC because there are no more any available
|
||||
@@ -2577,7 +2579,7 @@ static struct mmc_blk_data *mmc_blk_alloc_req(struct mmc_card *card,
|
||||
err_kfree:
|
||||
kfree(md);
|
||||
out:
|
||||
ida_simple_remove(&mmc_blk_ida, devidx);
|
||||
ida_free(&mmc_blk_ida, devidx);
|
||||
return ERR_PTR(ret);
|
||||
}
|
||||
|
||||
@@ -2703,7 +2705,7 @@ static void mmc_blk_rpmb_device_release(struct device *dev)
|
||||
{
|
||||
struct mmc_rpmb_data *rpmb = dev_get_drvdata(dev);
|
||||
|
||||
ida_simple_remove(&mmc_rpmb_ida, rpmb->id);
|
||||
ida_free(&mmc_rpmb_ida, rpmb->id);
|
||||
kfree(rpmb);
|
||||
}
|
||||
|
||||
@@ -2719,13 +2721,13 @@ static int mmc_blk_alloc_rpmb_part(struct mmc_card *card,
|
||||
struct mmc_rpmb_data *rpmb;
|
||||
|
||||
/* This creates the minor number for the RPMB char device */
|
||||
devidx = ida_simple_get(&mmc_rpmb_ida, 0, max_devices, GFP_KERNEL);
|
||||
devidx = ida_alloc_max(&mmc_rpmb_ida, max_devices - 1, GFP_KERNEL);
|
||||
if (devidx < 0)
|
||||
return devidx;
|
||||
|
||||
rpmb = kzalloc(sizeof(*rpmb), GFP_KERNEL);
|
||||
if (!rpmb) {
|
||||
ida_simple_remove(&mmc_rpmb_ida, devidx);
|
||||
ida_free(&mmc_rpmb_ida, devidx);
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
|
||||
@@ -214,7 +214,7 @@ static const struct dev_pm_ops mmc_bus_pm_ops = {
|
||||
SET_SYSTEM_SLEEP_PM_OPS(mmc_bus_suspend, mmc_bus_resume)
|
||||
};
|
||||
|
||||
static struct bus_type mmc_bus_type = {
|
||||
static const struct bus_type mmc_bus_type = {
|
||||
.name = "mmc",
|
||||
.dev_groups = mmc_dev_groups,
|
||||
.uevent = mmc_bus_uevent,
|
||||
@@ -272,7 +272,7 @@ static void mmc_release_card(struct device *dev)
|
||||
/*
|
||||
* Allocate and initialise a new MMC card structure.
|
||||
*/
|
||||
struct mmc_card *mmc_alloc_card(struct mmc_host *host, struct device_type *type)
|
||||
struct mmc_card *mmc_alloc_card(struct mmc_host *host, const struct device_type *type)
|
||||
{
|
||||
struct mmc_card *card;
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ static ssize_t mmc_##name##_show (struct device *dev, struct device_attribute *a
|
||||
static DEVICE_ATTR(name, S_IRUGO, mmc_##name##_show, NULL)
|
||||
|
||||
struct mmc_card *mmc_alloc_card(struct mmc_host *host,
|
||||
struct device_type *type);
|
||||
const struct device_type *type);
|
||||
int mmc_add_card(struct mmc_card *card);
|
||||
void mmc_remove_card(struct mmc_card *card);
|
||||
|
||||
|
||||
@@ -76,7 +76,7 @@ static void mmc_host_classdev_release(struct device *dev)
|
||||
struct mmc_host *host = cls_dev_to_mmc_host(dev);
|
||||
wakeup_source_unregister(host->ws);
|
||||
if (of_alias_get_id(host->parent->of_node, "mmc") < 0)
|
||||
ida_simple_remove(&mmc_host_ida, host->index);
|
||||
ida_free(&mmc_host_ida, host->index);
|
||||
kfree(host);
|
||||
}
|
||||
|
||||
@@ -88,7 +88,7 @@ static int mmc_host_classdev_shutdown(struct device *dev)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct class mmc_host_class = {
|
||||
static const struct class mmc_host_class = {
|
||||
.name = "mmc_host",
|
||||
.dev_release = mmc_host_classdev_release,
|
||||
.shutdown_pre = mmc_host_classdev_shutdown,
|
||||
@@ -234,10 +234,8 @@ static void mmc_of_parse_timing_phase(struct device *dev, const char *prop,
|
||||
}
|
||||
|
||||
void
|
||||
mmc_of_parse_clk_phase(struct mmc_host *host, struct mmc_clk_phase_map *map)
|
||||
mmc_of_parse_clk_phase(struct device *dev, struct mmc_clk_phase_map *map)
|
||||
{
|
||||
struct device *dev = host->parent;
|
||||
|
||||
mmc_of_parse_timing_phase(dev, "clk-phase-legacy",
|
||||
&map->phase[MMC_TIMING_LEGACY]);
|
||||
mmc_of_parse_timing_phase(dev, "clk-phase-mmc-hs",
|
||||
@@ -538,7 +536,8 @@ struct mmc_host *mmc_alloc_host(int extra, struct device *dev)
|
||||
min_idx = mmc_first_nonreserved_index();
|
||||
max_idx = 0;
|
||||
|
||||
index = ida_simple_get(&mmc_host_ida, min_idx, max_idx, GFP_KERNEL);
|
||||
index = ida_alloc_range(&mmc_host_ida, min_idx, max_idx - 1,
|
||||
GFP_KERNEL);
|
||||
if (index < 0) {
|
||||
kfree(host);
|
||||
return NULL;
|
||||
|
||||
@@ -883,7 +883,7 @@ static struct attribute *mmc_std_attrs[] = {
|
||||
};
|
||||
ATTRIBUTE_GROUPS(mmc_std);
|
||||
|
||||
static struct device_type mmc_type = {
|
||||
static const struct device_type mmc_type = {
|
||||
.groups = mmc_std_groups,
|
||||
};
|
||||
|
||||
|
||||
@@ -353,9 +353,6 @@ static struct gendisk *mmc_alloc_disk(struct mmc_queue *mq,
|
||||
if (mmc_can_erase(card))
|
||||
mmc_queue_setup_discard(card, &lim);
|
||||
|
||||
if (!mmc_dev(host)->dma_mask || !*mmc_dev(host)->dma_mask)
|
||||
lim.bounce = BLK_BOUNCE_HIGH;
|
||||
|
||||
lim.max_hw_sectors = min(host->max_blk_count, host->max_req_size / 512);
|
||||
|
||||
if (mmc_card_mmc(card) && card->ext_csd.data_sector_size)
|
||||
|
||||
@@ -805,7 +805,7 @@ static const struct attribute_group sd_std_group = {
|
||||
};
|
||||
__ATTRIBUTE_GROUPS(sd_std);
|
||||
|
||||
struct device_type sd_type = {
|
||||
const struct device_type sd_type = {
|
||||
.groups = sd_std_groups,
|
||||
};
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
extern struct device_type sd_type;
|
||||
extern const struct device_type sd_type;
|
||||
|
||||
struct mmc_host;
|
||||
struct mmc_card;
|
||||
|
||||
@@ -66,7 +66,7 @@ static struct attribute *sdio_std_attrs[] = {
|
||||
};
|
||||
ATTRIBUTE_GROUPS(sdio_std);
|
||||
|
||||
static struct device_type sdio_type = {
|
||||
static const struct device_type sdio_type = {
|
||||
.groups = sdio_std_groups,
|
||||
};
|
||||
|
||||
|
||||
@@ -244,7 +244,7 @@ static const struct dev_pm_ops sdio_bus_pm_ops = {
|
||||
)
|
||||
};
|
||||
|
||||
static struct bus_type sdio_bus_type = {
|
||||
static const struct bus_type sdio_bus_type = {
|
||||
.name = "sdio",
|
||||
.dev_groups = sdio_dev_groups,
|
||||
.match = sdio_bus_match,
|
||||
|
||||
@@ -798,6 +798,15 @@ config MMC_DW_HI3798CV200
|
||||
Synopsys DesignWare Memory Card Interface driver. Select this option
|
||||
for platforms based on HiSilicon Hi3798CV200 SoC.
|
||||
|
||||
config MMC_DW_HI3798MV200
|
||||
tristate "Hi3798MV200 specific extensions for Synopsys DW Memory Card Interface"
|
||||
depends on MMC_DW
|
||||
select MMC_DW_PLTFM
|
||||
help
|
||||
This selects support for HiSilicon Hi3798MV200 SoC specific extensions to the
|
||||
Synopsys DesignWare Memory Card Interface driver. Select this option
|
||||
for platforms based on HiSilicon Hi3798MV200 SoC.
|
||||
|
||||
config MMC_DW_K3
|
||||
tristate "K3 specific extensions for Synopsys DW Memory Card Interface"
|
||||
depends on MMC_DW
|
||||
|
||||
@@ -51,6 +51,7 @@ obj-$(CONFIG_MMC_DW_PLTFM) += dw_mmc-pltfm.o
|
||||
obj-$(CONFIG_MMC_DW_BLUEFIELD) += dw_mmc-bluefield.o
|
||||
obj-$(CONFIG_MMC_DW_EXYNOS) += dw_mmc-exynos.o
|
||||
obj-$(CONFIG_MMC_DW_HI3798CV200) += dw_mmc-hi3798cv200.o
|
||||
obj-$(CONFIG_MMC_DW_HI3798MV200) += dw_mmc-hi3798mv200.o
|
||||
obj-$(CONFIG_MMC_DW_K3) += dw_mmc-k3.o
|
||||
obj-$(CONFIG_MMC_DW_PCI) += dw_mmc-pci.o
|
||||
obj-$(CONFIG_MMC_DW_ROCKCHIP) += dw_mmc-rockchip.o
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user