The 72116B0 has improved SDIO controllers that allow the max clock rate to be increased from a max of 100MHz to a max of 150MHz. Optional "sdio_freq" clock is used to drive the bus clock if present optional property "clock-frequency" specifies a base clock frequency in Hz that overrides the base clock frequency in the CAPS registers. Signed-off-by: Kamal Dasu <kdasu.kdev@gmail.com> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Acked-by: Florian Fainelli <f.fainelli@gmail.com> Link: https://lore.kernel.org/r/20220520183108.47358-2-kdasu.kdev@gmail.com Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
119 lines
2.6 KiB
YAML
119 lines
2.6 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/mmc/brcm,sdhci-brcmstb.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Broadcom BRCMSTB/BMIPS SDHCI Controller binding
|
|
|
|
maintainers:
|
|
- Al Cooper <alcooperx@gmail.com>
|
|
- Florian Fainelli <f.fainelli@gmail.com>
|
|
|
|
properties:
|
|
compatible:
|
|
oneOf:
|
|
- items:
|
|
- enum:
|
|
- brcm,bcm7216-sdhci
|
|
- const: brcm,bcm7445-sdhci
|
|
- const: brcm,sdhci-brcmstb
|
|
- items:
|
|
- enum:
|
|
- brcm,bcm7445-sdhci
|
|
- const: brcm,sdhci-brcmstb
|
|
- items:
|
|
- enum:
|
|
- brcm,bcm7425-sdhci
|
|
- const: brcm,sdhci-brcmstb
|
|
|
|
reg:
|
|
maxItems: 2
|
|
|
|
reg-names:
|
|
items:
|
|
- const: host
|
|
- const: cfg
|
|
|
|
interrupts:
|
|
maxItems: 1
|
|
|
|
clocks:
|
|
minItems: 1
|
|
items:
|
|
- description: handle to core clock for the sdhci controller
|
|
- description: handle to improved 150Mhz clock for sdhci controller (Optional clock)
|
|
|
|
clock-names:
|
|
minItems: 1
|
|
items:
|
|
- const: sw_sdio
|
|
- const: sdio_freq # Optional clock
|
|
|
|
clock-frequency:
|
|
description:
|
|
Maximum operating frequency of sdio_freq sdhci controller clock
|
|
$ref: /schemas/types.yaml#/definitions/uint32
|
|
minimum: 100000000
|
|
maximum: 150000000
|
|
|
|
sdhci,auto-cmd12:
|
|
type: boolean
|
|
description: Specifies that controller should use auto CMD12
|
|
|
|
allOf:
|
|
- $ref: mmc-controller.yaml#
|
|
- if:
|
|
properties:
|
|
clock-names:
|
|
contains:
|
|
const: sdio_freq
|
|
|
|
then:
|
|
required:
|
|
- clock-frequency
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
- interrupts
|
|
- clocks
|
|
- clock-names
|
|
|
|
unevaluatedProperties: false
|
|
|
|
examples:
|
|
- |
|
|
mmc@84b0000 {
|
|
compatible = "brcm,bcm7216-sdhci",
|
|
"brcm,bcm7445-sdhci",
|
|
"brcm,sdhci-brcmstb";
|
|
reg = <0x84b0000 0x260>, <0x84b0300 0x200>;
|
|
reg-names = "host", "cfg";
|
|
sd-uhs-sdr50;
|
|
sd-uhs-ddr50;
|
|
sd-uhs-sdr104;
|
|
sdhci,auto-cmd12;
|
|
interrupts = <0x0 0x26 0x4>;
|
|
clocks = <&scmi_clk 245>;
|
|
clock-names = "sw_sdio";
|
|
};
|
|
|
|
mmc@84b1000 {
|
|
compatible = "brcm,bcm7216-sdhci",
|
|
"brcm,bcm7445-sdhci",
|
|
"brcm,sdhci-brcmstb";
|
|
reg = <0x84b1000 0x260>, <0x84b1300 0x200>;
|
|
reg-names = "host", "cfg";
|
|
mmc-ddr-1_8v;
|
|
mmc-hs200-1_8v;
|
|
mmc-hs400-1_8v;
|
|
mmc-hs400-enhanced-strobe;
|
|
supports-cqe;
|
|
non-removable;
|
|
bus-width = <0x8>;
|
|
interrupts = <0x0 0x27 0x4>;
|
|
clocks = <&scmi_clk 245>;
|
|
clock-names = "sw_sdio";
|
|
};
|