File Index
Files and directories
Sign in
FILE

loongson,ls2k0500-mmc.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/mmc/loongson,ls2k0500-mmc.yaml YAML
  1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2%YAML 1.2
  3---
  4$id: http://devicetree.org/schemas/mmc/loongson,ls2k0500-mmc.yaml#
  5$schema: http://devicetree.org/meta-schemas/core.yaml#
  6
  7title: The SD/SDIO/eMMC host controller for Loongson-2K family SoCs
  8
  9description:
 10  The MMC host controller on the Loongson-2K0500/2K1000 (using an externally
 11  shared apbdma controller) provides the SD and SDIO device interfaces.
 12  The two MMC host controllers on the Loongson-2K2000 are similar,
 13  except that they use internal exclusive DMA. one controller provides
 14  the eMMC interface and the other provides the SD/SDIO interface.
 15
 16maintainers:
 17  - Binbin Zhou <zhoubinbin@loongson.cn>
 18
 19allOf:
 20  - $ref: mmc-controller.yaml#
 21
 22properties:
 23  compatible:
 24    enum:
 25      - loongson,ls2k0500-mmc
 26      - loongson,ls2k1000-mmc
 27      - loongson,ls2k2000-mmc
 28
 29  reg:
 30    minItems: 1
 31    items:
 32      - description: Loongson-2K MMC controller registers.
 33      - description: APB DMA config register for Loongson-2K MMC controller.
 34
 35  interrupts:
 36    maxItems: 1
 37
 38  clocks:
 39    maxItems: 1
 40
 41  dmas:
 42    maxItems: 1
 43
 44  dma-names:
 45    const: rx-tx
 46
 47required:
 48  - compatible
 49  - reg
 50  - interrupts
 51  - clocks
 52
 53unevaluatedProperties: false
 54
 55if:
 56  properties:
 57    compatible:
 58      contains:
 59        enum:
 60          - loongson,ls2k0500-mmc
 61          - loongson,ls2k1000-mmc
 62
 63then:
 64  properties:
 65    reg:
 66      minItems: 2
 67
 68  required:
 69    - dmas
 70    - dma-names
 71
 72else:
 73  properties:
 74    reg:
 75      maxItems: 1
 76
 77examples:
 78  - |
 79    #include <dt-bindings/gpio/gpio.h>
 80    #include <dt-bindings/interrupt-controller/irq.h>
 81    #include <dt-bindings/clock/loongson,ls2k-clk.h>
 82
 83    mmc@1fe2c000 {
 84        compatible = "loongson,ls2k1000-mmc";
 85        reg = <0x1fe2c000 0x68>,
 86              <0x1fe00438 0x8>;
 87        interrupt-parent = <&liointc0>;
 88        interrupts = <31 IRQ_TYPE_LEVEL_HIGH>;
 89        clocks = <&clk LOONGSON2_APB_CLK>;
 90        dmas = <&apbdma1 0>;
 91        dma-names = "rx-tx";
 92        bus-width = <4>;
 93        cd-gpios = <&gpio0 22 GPIO_ACTIVE_LOW>;
 94    };
 95
 96  - |
 97    #include <dt-bindings/interrupt-controller/irq.h>
 98    #include <dt-bindings/clock/loongson,ls2k-clk.h>
 99
100    mmc@79990000 {
101        compatible = "loongson,ls2k2000-mmc";
102        reg = <0x79990000 0x1000>;
103        interrupt-parent = <&pic>;
104        interrupts = <51 IRQ_TYPE_LEVEL_HIGH>;
105        clocks = <&clk LOONGSON2_EMMC_CLK>;
106        bus-width = <8>;
107        non-removable;
108        cap-mmc-highspeed;
109        mmc-hs200-1_8v;
110        no-sd;
111        no-sdio;
112    };
~/ Read-only file preview.