LoongArch: Introduce the Loongson-2K MMC host controller driver
From: | Binbin Zhou <zhoubinbin-AT-loongson.cn> | |
To: | Binbin Zhou <zhoubb.aaron-AT-gmail.com>, Huacai Chen <chenhuacai-AT-loongson.cn>, Rob Herring <robh+dt-AT-kernel.org>, Krzysztof Kozlowski <krzk+dt-AT-kernel.org>, Conor Dooley <conor+dt-AT-kernel.org>, Ulf Hansson <ulf.hansson-AT-linaro.org> | |
Subject: | [PATCH v2 0/4] LoongArch: Introduce the Loongson-2K MMC host controller driver | |
Date: | Wed, 07 May 2025 15:28:04 +0800 | |
Message-ID: | <cover.1746581751.git.zhoubinbin@loongson.cn> | |
Cc: | Huacai Chen <chenhuacai-AT-kernel.org>, Xuerui Wang <kernel-AT-xen0n.name>, loongarch-AT-lists.linux.dev, devicetree-AT-vger.kernel.org, linux-mmc-AT-vger.kernel.org, Binbin Zhou <zhoubinbin-AT-loongson.cn> | |
Archive-link: | Article |
Hi all: This patchset introduce the MMC host controller on Loongson-2K series CPUs. They are similar, except for the interface characteristics and the use of DMA engine, specifically, the Loongson-2K0500/Loongson-2K1000 use an externally shared APBDMA engine, while the Loongson-2K2000 uses an internally exclusive DMA. Based on this, I'm splitting the driver into two patches. List of the patchset: Patch1: bindings for Loongson-2K0500/Loongson-2K1000; Patch2: driver for MMC controller using externally shared APBDMA engine; Patch3: bindings for Loongson-2K2000; Patch4: driver for MMC controller using internally exclusive DMA. Thanks. ------- V2: patch(1/4): - Add reg define for each reg entry. patch(2/4): - Put all code in the c-file; - Use mmc_from_priv() instead of host->mmc; - Use sdio_signal_irq() instead of mmc_signal_sdio_irq(); - Use devm_mmc_alloc_host() instead of mmc_alloc_host(); - Use mmc_regulator_get_supply(); patch(4/4): - Add fix_cmd_interrupt function which is needed by Loongson-2K2000. Link to V1: https://lore.kernel.org/linux-mmc/cover.1744273956.git.zh... Binbin Zhou (4): dt-bindings: mmc: Add Loongson-2K SD/SDIO/eMMC controller binding mmc: loongson2: Add Loongson-2K SD/SDIO controller driver dt-bindings: mmc: loongson,ls2k-mmc: Add compatible for Loongson-2K2000 mmc: loongson2: Add Loongson-2K2000 SD/SDIO/eMMC controller driver .../bindings/mmc/loongson,ls2k-mmc.yaml | 112 ++ MAINTAINERS | 7 + drivers/mmc/host/Kconfig | 13 + drivers/mmc/host/Makefile | 1 + drivers/mmc/host/loongson2-mmc.c | 1007 +++++++++++++++++ 5 files changed, 1140 insertions(+) create mode 100644 Documentation/devicetree/bindings/mmc/loongson,ls2k-mmc.yaml create mode 100644 drivers/mmc/host/loongson2-mmc.c base-commit: 9e12816f9a6195f1f5b7c5dc2e388c2458411b97 -- 2.47.1