mirror of https://github.com/torvalds/linux.git
195 lines
4.5 KiB
YAML
195 lines
4.5 KiB
YAML
# SPDX-License-Identifier: GPL-2.0-only
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/mmc/snps,dwcmshc-sdhci.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Synopsys Designware Mobile Storage Host Controller
|
|
|
|
maintainers:
|
|
- Ulf Hansson <ulf.hansson@linaro.org>
|
|
- Jisheng Zhang <Jisheng.Zhang@synaptics.com>
|
|
|
|
properties:
|
|
compatible:
|
|
oneOf:
|
|
- items:
|
|
- enum:
|
|
- rockchip,rk3528-dwcmshc
|
|
- rockchip,rk3562-dwcmshc
|
|
- rockchip,rk3576-dwcmshc
|
|
- const: rockchip,rk3588-dwcmshc
|
|
- items:
|
|
- const: sophgo,sg2044-dwcmshc
|
|
- const: sophgo,sg2042-dwcmshc
|
|
- enum:
|
|
- rockchip,rk3568-dwcmshc
|
|
- rockchip,rk3588-dwcmshc
|
|
- snps,dwcmshc-sdhci
|
|
- sophgo,cv1800b-dwcmshc
|
|
- sophgo,sg2002-dwcmshc
|
|
- sophgo,sg2042-dwcmshc
|
|
- thead,th1520-dwcmshc
|
|
- eswin,eic7700-dwcmshc
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
interrupts:
|
|
maxItems: 1
|
|
|
|
clocks:
|
|
minItems: 1
|
|
maxItems: 5
|
|
|
|
clock-names:
|
|
minItems: 1
|
|
maxItems: 5
|
|
|
|
power-domains:
|
|
maxItems: 1
|
|
|
|
resets:
|
|
maxItems: 5
|
|
|
|
reset-names:
|
|
maxItems: 5
|
|
|
|
rockchip,txclk-tapnum:
|
|
description: Specify the number of delay for tx sampling.
|
|
$ref: /schemas/types.yaml#/definitions/uint8
|
|
|
|
eswin,hsp-sp-csr:
|
|
$ref: /schemas/types.yaml#/definitions/phandle-array
|
|
items:
|
|
- items:
|
|
- description: Phandle to HSP(High-Speed Peripheral) device
|
|
- description: Offset of the stability status register for internal
|
|
clock.
|
|
- description: Offset of the stability register for host regulator
|
|
voltage.
|
|
description:
|
|
HSP CSR is to control and get status of different high-speed peripherals
|
|
(such as Ethernet, USB, SATA, etc.) via register, which can tune
|
|
board-level's parameters of PHY, etc.
|
|
|
|
eswin,drive-impedance-ohms:
|
|
description: Specifies the drive impedance in Ohm.
|
|
enum: [33, 40, 50, 66, 100]
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
- interrupts
|
|
- clocks
|
|
- clock-names
|
|
|
|
allOf:
|
|
- $ref: mmc-controller.yaml#
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
const: sophgo,sg2042-dwcmshc
|
|
|
|
then:
|
|
properties:
|
|
clocks:
|
|
items:
|
|
- description: core clock
|
|
- description: bus clock
|
|
- description: timer clock
|
|
clock-names:
|
|
items:
|
|
- const: core
|
|
- const: bus
|
|
- const: timer
|
|
else:
|
|
properties:
|
|
clocks:
|
|
minItems: 1
|
|
items:
|
|
- description: core clock
|
|
- description: bus clock for optional
|
|
- description: axi clock for rockchip specified
|
|
- description: block clock for rockchip specified
|
|
- description: timer clock for rockchip specified
|
|
clock-names:
|
|
minItems: 1
|
|
items:
|
|
- const: core
|
|
- const: bus
|
|
- const: axi
|
|
- const: block
|
|
- const: timer
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
const: eswin,eic7700-dwcmshc
|
|
then:
|
|
properties:
|
|
resets:
|
|
minItems: 4
|
|
maxItems: 4
|
|
reset-names:
|
|
items:
|
|
- const: axi
|
|
- const: phy
|
|
- const: prstn
|
|
- const: txrx
|
|
required:
|
|
- eswin,hsp-sp-csr
|
|
- eswin,drive-impedance-ohms
|
|
else:
|
|
properties:
|
|
resets:
|
|
maxItems: 5
|
|
reset-names:
|
|
items:
|
|
- const: core
|
|
- const: bus
|
|
- const: axi
|
|
- const: block
|
|
- const: timer
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
const: rockchip,rk3576-dwcmshc
|
|
|
|
then:
|
|
required:
|
|
- power-domains
|
|
|
|
unevaluatedProperties: false
|
|
|
|
examples:
|
|
- |
|
|
mmc@fe310000 {
|
|
compatible = "rockchip,rk3568-dwcmshc";
|
|
reg = <0xfe310000 0x10000>;
|
|
interrupts = <0 25 0x4>;
|
|
clocks = <&cru 17>, <&cru 18>, <&cru 19>, <&cru 20>, <&cru 21>;
|
|
clock-names = "core", "bus", "axi", "block", "timer";
|
|
bus-width = <8>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
};
|
|
- |
|
|
mmc@aa0000 {
|
|
compatible = "snps,dwcmshc-sdhci";
|
|
reg = <0xaa000 0x1000>;
|
|
interrupts = <0 25 0x4>;
|
|
clocks = <&cru 17>, <&cru 18>;
|
|
clock-names = "core", "bus";
|
|
bus-width = <8>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
};
|
|
|
|
...
|