2020-09-23 16:22:01 +05:30
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
# Copyright (C) 2020 Texas Instruments Incorporated - http://www.ti.com/
%YAML 1.2
---
2022-12-04 10:47:14 +01:00
$id : http://devicetree.org/schemas/mmc/sdhci-am654.yaml#
$schema : http://devicetree.org/meta-schemas/core.yaml#
2020-09-23 16:22:01 +05:30
title : TI AM654 MMC Controller
maintainers :
- Ulf Hansson <ulf.hansson@linaro.org>
allOf :
2022-12-04 10:47:13 +01:00
- $ref : sdhci-common.yaml#
2020-09-23 16:22:01 +05:30
properties :
compatible :
dt-bindings: mmc: sdhci-am654: fix compatible for j7200
On TI J7200 SoC the SDHCI controller compatible defined as
"ti,j7200-sdhci-8bit", "ti,j721e-sdhci-8bit"
or
"ti,j7200-sdhci-4bit", "ti,j721e-sdhci-4bit"
which causes dtbs_check warnings:
mmc@4f80000: compatible: ['ti,j7200-sdhci-8bit', 'ti,j721e-sdhci-8bit'] is too long
mmc@4f80000: compatible: Additional items are not allowed ('ti,j721e-sdhci-8bit' was unexpected)
mmc@4fb0000: compatible:0: 'ti,j7200-sdhci-4bit' is not one of ['ti,am654-sdhci-5.1', 'ti,j721e-sdhci-8bit',
'ti,j721e-sdhci-4bit', 'ti,j7200-sdhci-8bit', 'ti,j721e-sdhci-4bit', 'ti,am64-sdhci-8bit', 'ti,am64-sdhci-4bit']
mmc@4fb0000: compatible: ['ti,j7200-sdhci-4bit', 'ti,j721e-sdhci-4bit'] is too long
mmc@4fb0000: compatible: Additional items are not allowed ('ti,j721e-sdhci-4bit' was unexpected)
Fix it by adding missing compatible strings and their combinations.
Fixes: 407d0c2cdd12 ("dt-bindings: mmc: sdhci-am654: Convert sdhci-am654 controller documentation to json schema")
Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Link: https://lore.kernel.org/r/20210115193218.5809-1-grygorii.strashko@ti.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2021-01-15 21:32:18 +02:00
oneOf :
2022-12-04 10:47:14 +01:00
- enum :
- ti,am62-sdhci
- ti,am64-sdhci-4bit
- ti,am64-sdhci-8bit
- ti,am654-sdhci-5.1
- ti,j721e-sdhci-4bit
- ti,j721e-sdhci-8bit
dt-bindings: mmc: sdhci-am654: fix compatible for j7200
On TI J7200 SoC the SDHCI controller compatible defined as
"ti,j7200-sdhci-8bit", "ti,j721e-sdhci-8bit"
or
"ti,j7200-sdhci-4bit", "ti,j721e-sdhci-4bit"
which causes dtbs_check warnings:
mmc@4f80000: compatible: ['ti,j7200-sdhci-8bit', 'ti,j721e-sdhci-8bit'] is too long
mmc@4f80000: compatible: Additional items are not allowed ('ti,j721e-sdhci-8bit' was unexpected)
mmc@4fb0000: compatible:0: 'ti,j7200-sdhci-4bit' is not one of ['ti,am654-sdhci-5.1', 'ti,j721e-sdhci-8bit',
'ti,j721e-sdhci-4bit', 'ti,j7200-sdhci-8bit', 'ti,j721e-sdhci-4bit', 'ti,am64-sdhci-8bit', 'ti,am64-sdhci-4bit']
mmc@4fb0000: compatible: ['ti,j7200-sdhci-4bit', 'ti,j721e-sdhci-4bit'] is too long
mmc@4fb0000: compatible: Additional items are not allowed ('ti,j721e-sdhci-4bit' was unexpected)
Fix it by adding missing compatible strings and their combinations.
Fixes: 407d0c2cdd12 ("dt-bindings: mmc: sdhci-am654: Convert sdhci-am654 controller documentation to json schema")
Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Link: https://lore.kernel.org/r/20210115193218.5809-1-grygorii.strashko@ti.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2021-01-15 21:32:18 +02:00
- items :
- const : ti,j7200-sdhci-8bit
- const : ti,j721e-sdhci-8bit
- items :
- const : ti,j7200-sdhci-4bit
- const : ti,j721e-sdhci-4bit
2020-09-23 16:22:01 +05:30
reg :
maxItems : 2
interrupts :
maxItems : 1
power-domains :
maxItems : 1
clocks :
minItems : 1
maxItems : 2
description : Handles to input clocks
clock-names :
minItems : 1
items :
- const : clk_ahb
- const : clk_xin
2022-08-20 00:37:28 +05:30
dma-coherent :
type : boolean
2020-09-23 16:22:01 +05:30
# PHY output tap delays:
# Used to delay the data valid window and align it to the sampling clock.
# Binding needs to be provided for each supported speed mode otherwise the
# corresponding mode will be disabled.
ti,otap-del-sel-legacy :
description : Output tap delay for SD/MMC legacy timing
2022-12-04 10:47:14 +01:00
$ref : /schemas/types.yaml#/definitions/uint32
2020-09-23 16:22:01 +05:30
minimum : 0
maximum : 0xf
ti,otap-del-sel-mmc-hs :
description : Output tap delay for MMC high speed timing
2022-12-04 10:47:14 +01:00
$ref : /schemas/types.yaml#/definitions/uint32
2020-09-23 16:22:01 +05:30
minimum : 0
maximum : 0xf
ti,otap-del-sel-sd-hs :
description : Output tap delay for SD high speed timing
2022-12-04 10:47:14 +01:00
$ref : /schemas/types.yaml#/definitions/uint32
2020-09-23 16:22:01 +05:30
minimum : 0
maximum : 0xf
ti,otap-del-sel-sdr12 :
description : Output tap delay for SD UHS SDR12 timing
2022-12-04 10:47:14 +01:00
$ref : /schemas/types.yaml#/definitions/uint32
2020-09-23 16:22:01 +05:30
minimum : 0
maximum : 0xf
ti,otap-del-sel-sdr25 :
description : Output tap delay for SD UHS SDR25 timing
2022-12-04 10:47:14 +01:00
$ref : /schemas/types.yaml#/definitions/uint32
2020-09-23 16:22:01 +05:30
minimum : 0
maximum : 0xf
ti,otap-del-sel-sdr50 :
description : Output tap delay for SD UHS SDR50 timing
2022-12-04 10:47:14 +01:00
$ref : /schemas/types.yaml#/definitions/uint32
2020-09-23 16:22:01 +05:30
minimum : 0
maximum : 0xf
ti,otap-del-sel-sdr104 :
description : Output tap delay for SD UHS SDR104 timing
2022-12-04 10:47:14 +01:00
$ref : /schemas/types.yaml#/definitions/uint32
2020-09-23 16:22:01 +05:30
minimum : 0
maximum : 0xf
ti,otap-del-sel-ddr50 :
description : Output tap delay for SD UHS DDR50 timing
2022-12-04 10:47:14 +01:00
$ref : /schemas/types.yaml#/definitions/uint32
2020-09-23 16:22:01 +05:30
minimum : 0
maximum : 0xf
ti,otap-del-sel-ddr52 :
description : Output tap delay for eMMC DDR52 timing
2022-12-04 10:47:14 +01:00
$ref : /schemas/types.yaml#/definitions/uint32
2020-09-23 16:22:01 +05:30
minimum : 0
maximum : 0xf
ti,otap-del-sel-hs200 :
description : Output tap delay for eMMC HS200 timing
2022-12-04 10:47:14 +01:00
$ref : /schemas/types.yaml#/definitions/uint32
2020-09-23 16:22:01 +05:30
minimum : 0
maximum : 0xf
ti,otap-del-sel-hs400 :
description : Output tap delay for eMMC HS400 timing
2022-12-04 10:47:14 +01:00
$ref : /schemas/types.yaml#/definitions/uint32
2020-09-23 16:22:01 +05:30
minimum : 0
maximum : 0xf
2020-09-23 16:22:02 +05:30
# PHY input tap delays:
# Used to delay the data valid window and align it to the sampling clock for
# modes that don't support tuning
ti,itap-del-sel-legacy :
description : Input tap delay for SD/MMC legacy timing
2022-12-04 10:47:14 +01:00
$ref : /schemas/types.yaml#/definitions/uint32
2020-09-23 16:22:02 +05:30
minimum : 0
maximum : 0x1f
ti,itap-del-sel-mmc-hs :
description : Input tap delay for MMC high speed timing
2022-12-04 10:47:14 +01:00
$ref : /schemas/types.yaml#/definitions/uint32
2020-09-23 16:22:02 +05:30
minimum : 0
maximum : 0x1f
ti,itap-del-sel-sd-hs :
description : Input tap delay for SD high speed timing
2022-12-04 10:47:14 +01:00
$ref : /schemas/types.yaml#/definitions/uint32
2020-09-23 16:22:02 +05:30
minimum : 0
maximum : 0x1f
ti,itap-del-sel-sdr12 :
description : Input tap delay for SD UHS SDR12 timing
2022-12-04 10:47:14 +01:00
$ref : /schemas/types.yaml#/definitions/uint32
2020-09-23 16:22:02 +05:30
minimum : 0
maximum : 0x1f
ti,itap-del-sel-sdr25 :
description : Input tap delay for SD UHS SDR25 timing
2022-12-04 10:47:14 +01:00
$ref : /schemas/types.yaml#/definitions/uint32
2020-09-23 16:22:02 +05:30
minimum : 0
maximum : 0x1f
2022-10-12 19:40:21 -07:00
ti,itap-del-sel-ddr50 :
description : Input tap delay for MMC DDR50 timing
2022-12-04 10:47:14 +01:00
$ref : /schemas/types.yaml#/definitions/uint32
2022-10-12 19:40:21 -07:00
minimum : 0
maximum : 0x1f
2020-09-23 16:22:02 +05:30
ti,itap-del-sel-ddr52 :
description : Input tap delay for MMC DDR52 timing
2022-12-04 10:47:14 +01:00
$ref : /schemas/types.yaml#/definitions/uint32
2020-09-23 16:22:02 +05:30
minimum : 0
maximum : 0x1f
2020-09-23 16:22:01 +05:30
ti,trm-icp :
description : DLL trim select
2022-12-04 10:47:14 +01:00
$ref : /schemas/types.yaml#/definitions/uint32
2020-09-23 16:22:01 +05:30
minimum : 0
maximum : 0xf
ti,driver-strength-ohm :
description : DLL drive strength in ohms
2022-12-04 10:47:14 +01:00
$ref : /schemas/types.yaml#/definitions/uint32
2020-04-20 21:24:47 -05:00
enum :
- 33
- 40
- 50
- 66
- 100
2020-09-23 16:22:01 +05:30
ti,strobe-sel :
description : strobe select delay for HS400 speed mode.
2022-12-04 10:47:14 +01:00
$ref : /schemas/types.yaml#/definitions/uint32
2020-09-23 16:22:01 +05:30
ti,clkbuf-sel :
description : Clock Delay Buffer Select
2022-12-04 10:47:14 +01:00
$ref : /schemas/types.yaml#/definitions/uint32
2020-09-23 16:22:01 +05:30
2022-04-25 12:01:19 +05:30
ti,fails-without-test-cd :
$ref : /schemas/types.yaml#/definitions/flag
description :
When present, indicates that the CD line is not connected
and the controller is required to be forced into Test mode
to set the TESTCD bit.
2020-09-23 16:22:01 +05:30
required :
- compatible
- reg
- interrupts
- clocks
- clock-names
- ti,otap-del-sel-legacy
2020-10-06 12:19:08 -05:00
unevaluatedProperties : false
2020-09-23 16:22:01 +05:30
examples :
- |
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
bus {
#address-cells = <2>;
#size-cells = <2>;
mmc0 : mmc@4f80000 {
compatible = "ti,am654-sdhci-5.1";
reg = <0x0 0x4f80000 0x0 0x260>, <0x0 0x4f90000 0x0 0x134>;
power-domains = <&k3_pds 47>;
clocks = <&k3_clks 47 0>, <&k3_clks 47 1>;
clock-names = "clk_ahb", "clk_xin";
interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
sdhci-caps-mask = <0x80000007 0x0>;
mmc-ddr-1_8v;
ti,otap-del-sel-legacy = <0x0>;
ti,otap-del-sel-mmc-hs = <0x0>;
ti,otap-del-sel-ddr52 = <0x5>;
ti,otap-del-sel-hs200 = <0x5>;
ti,otap-del-sel-hs400 = <0x0>;
2020-09-23 16:22:02 +05:30
ti,itap-del-sel-legacy = <0x10>;
ti,itap-del-sel-mmc-hs = <0xa>;
ti,itap-del-sel-ddr52 = <0x3>;
2020-09-23 16:22:01 +05:30
ti,trm-icp = <0x8>;
};
};