dt-bindings: mmc: ti,omap2430-sdhci: convert to DT schema
Convert TI OMAP SDHCI Controller binding to YAML format. Changes during Conversion: - Define new properties like "clocks", "clock-names", "pbias-supply" and "power-domains" to resolve dtb_check errors. - Remove "pinctrl-names" and "pinctrl-<n>" from required as they are not necessary for all DTS files. - Remove "ti,hwmods" property entirely from the YAML as the DTS doesn't contain this property for the given compatibles and the text binding is misleading. - Add "clocks", "clock-names" and "max-frequency" to the required properties based on the compatible and the text binding doesn't mention these properties as required. - Add missing strings like "default-rev11", "sdr12-rev11", "sdr25-rev11", "hs-rev11", "sdr25-rev11" and "sleep" to pinctrl-names string array to resolve errors detected by dtb_check. Signed-off-by: Charan Pedumuru <charan.pedumuru@gmail.com> Reviewed-by: Rob Herring (Arm) <robh@kernel.org> Link: https://lore.kernel.org/r/20251024-ti-sdhci-omap-v5-3-df5f6f033a38@gmail.com Signed-off-by: Kevin Hilman <khilman@baylibre.com>pull/1354/merge
parent
9485ba8ab3
commit
333fa35fbd
|
|
@ -1,43 +0,0 @@
|
|||
* TI OMAP SDHCI Controller
|
||||
|
||||
Refer to mmc.txt for standard MMC bindings.
|
||||
|
||||
For UHS devices which require tuning, the device tree should have a "cpu_thermal" node which maps to the appropriate thermal zone. This is used to get the temperature of the zone during tuning.
|
||||
|
||||
Required properties:
|
||||
- compatible: Should be "ti,omap2430-sdhci" for omap2430 controllers
|
||||
Should be "ti,omap3-sdhci" for omap3 controllers
|
||||
Should be "ti,omap4-sdhci" for omap4 and ti81 controllers
|
||||
Should be "ti,omap5-sdhci" for omap5 controllers
|
||||
Should be "ti,dra7-sdhci" for DRA7 and DRA72 controllers
|
||||
Should be "ti,k2g-sdhci" for K2G
|
||||
Should be "ti,am335-sdhci" for am335x controllers
|
||||
Should be "ti,am437-sdhci" for am437x controllers
|
||||
- ti,hwmods: Must be "mmc<n>", <n> is controller instance starting 1
|
||||
(Not required for K2G).
|
||||
- pinctrl-names: Should be subset of "default", "hs", "sdr12", "sdr25", "sdr50",
|
||||
"ddr50-rev11", "sdr104-rev11", "ddr50", "sdr104",
|
||||
"ddr_1_8v-rev11", "ddr_1_8v" or "ddr_3_3v", "hs200_1_8v-rev11",
|
||||
"hs200_1_8v",
|
||||
- pinctrl-<n> : Pinctrl states as described in bindings/pinctrl/pinctrl-bindings.txt
|
||||
|
||||
Optional properties:
|
||||
- dmas: List of DMA specifiers with the controller specific format as described
|
||||
in the generic DMA client binding. A tx and rx specifier is required.
|
||||
- dma-names: List of DMA request names. These strings correspond 1:1 with the
|
||||
DMA specifiers listed in dmas. The string naming is to be "tx"
|
||||
and "rx" for TX and RX DMA requests, respectively.
|
||||
|
||||
Deprecated properties:
|
||||
- ti,non-removable: Compatible with the generic non-removable property
|
||||
|
||||
Example:
|
||||
mmc1: mmc@4809c000 {
|
||||
compatible = "ti,dra7-sdhci";
|
||||
reg = <0x4809c000 0x400>;
|
||||
ti,hwmods = "mmc1";
|
||||
bus-width = <4>;
|
||||
vmmc-supply = <&vmmc>; /* phandle to regulator node */
|
||||
dmas = <&sdma 61 &sdma 62>;
|
||||
dma-names = "tx", "rx";
|
||||
};
|
||||
|
|
@ -0,0 +1,169 @@
|
|||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/mmc/ti,omap2430-sdhci.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: TI OMAP SDHCI Controller
|
||||
|
||||
maintainers:
|
||||
- Kishon Vijay Abraham I <kishon@ti.com>
|
||||
|
||||
description:
|
||||
For UHS devices which require tuning, the device tree should have a
|
||||
cpu_thermal node which maps to the appropriate thermal zone. This
|
||||
is used to get the temperature of the zone during tuning.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- ti,omap2430-sdhci
|
||||
- ti,omap3-sdhci
|
||||
- ti,omap4-sdhci
|
||||
- ti,omap5-sdhci
|
||||
- ti,dra7-sdhci
|
||||
- ti,k2g-sdhci
|
||||
- ti,am335-sdhci
|
||||
- ti,am437-sdhci
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
clocks:
|
||||
maxItems: 2
|
||||
|
||||
clock-names:
|
||||
items:
|
||||
- const: fck
|
||||
- const: mmchsdb_fck
|
||||
|
||||
dmas:
|
||||
maxItems: 2
|
||||
|
||||
dma-names:
|
||||
items:
|
||||
- const: tx
|
||||
- const: rx
|
||||
|
||||
pinctrl-names:
|
||||
minItems: 1
|
||||
maxItems: 14
|
||||
items:
|
||||
enum:
|
||||
- default
|
||||
- default-rev11
|
||||
- hs
|
||||
- sdr12
|
||||
- sdr12-rev11
|
||||
- sdr25
|
||||
- sdr25-rev11
|
||||
- sdr50
|
||||
- ddr50-rev11
|
||||
- sdr104-rev11
|
||||
- ddr50
|
||||
- sdr104
|
||||
- ddr_1_8v-rev11
|
||||
- ddr_1_8v
|
||||
- ddr_3_3v
|
||||
- hs-rev11
|
||||
- hs200_1_8v-rev11
|
||||
- hs200_1_8v
|
||||
- sleep
|
||||
|
||||
pinctrl-0:
|
||||
maxItems: 1
|
||||
|
||||
pinctrl-1:
|
||||
maxItems: 1
|
||||
|
||||
pinctrl-2:
|
||||
maxItems: 1
|
||||
|
||||
pinctrl-3:
|
||||
maxItems: 1
|
||||
|
||||
pinctrl-4:
|
||||
maxItems: 1
|
||||
|
||||
pinctrl-5:
|
||||
maxItems: 1
|
||||
|
||||
pinctrl-6:
|
||||
maxItems: 1
|
||||
|
||||
pinctrl-7:
|
||||
maxItems: 1
|
||||
|
||||
pinctrl-8:
|
||||
maxItems: 1
|
||||
|
||||
power-domains:
|
||||
maxItems: 1
|
||||
|
||||
pbias-supply:
|
||||
description:
|
||||
It is used to specify the voltage regulator that provides the bias
|
||||
voltage for certain analog or I/O pads.
|
||||
|
||||
ti,non-removable:
|
||||
description:
|
||||
It indicates that a component is not meant to be easily removed or
|
||||
replaced by the user, such as an embedded battery or a non-removable
|
||||
storage slot like eMMC.
|
||||
type: boolean
|
||||
deprecated: true
|
||||
|
||||
clock-frequency:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description:
|
||||
It represents the speed at which a clock signal associated with a device
|
||||
or bus operates, measured in Hertz (Hz). This value is crucial for configuring
|
||||
hardware components that require a specific clock speed.
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- interrupts
|
||||
|
||||
allOf:
|
||||
- $ref: sdhci-common.yaml#
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- ti,dra7-sdhci
|
||||
- ti,k2g-sdhci
|
||||
then:
|
||||
required:
|
||||
- max-frequency
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
const: ti,k2g-sdhci
|
||||
then:
|
||||
required:
|
||||
- clocks
|
||||
- clock-names
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
mmc@4809c000 {
|
||||
compatible = "ti,dra7-sdhci";
|
||||
reg = <0x4809c000 0x400>;
|
||||
interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
|
||||
max-frequency = <192000000>;
|
||||
sdhci-caps-mask = <0x0 0x400000>;
|
||||
bus-width = <4>;
|
||||
vmmc-supply = <&vmmc>; /* phandle to regulator node */
|
||||
dmas = <&sdma 61>, <&sdma 62>;
|
||||
dma-names = "tx", "rx";
|
||||
};
|
||||
...
|
||||
Loading…
Reference in New Issue