dt-bindings: ufs: hisilicon,ufs: convert to dtschema
Convert the HiSilicon Universal Flash Storage (UFS) Controller to DT schema format. Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com> Reviewed-by: Rob Herring <robh@kernel.org> Signed-off-by: Rob Herring <robh@kernel.org> Link: https://lore.kernel.org/r/20220306111125.116455-7-krzysztof.kozlowski@canonical.com
This commit is contained in:
parent
462c5c0aa7
commit
516075a230
|
@ -0,0 +1,90 @@
|
|||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/ufs/hisilicon,ufs.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: HiSilicon Universal Flash Storage (UFS) Controller
|
||||
|
||||
maintainers:
|
||||
- Li Wei <liwei213@huawei.com>
|
||||
|
||||
# Select only our matches, not all jedec,ufs
|
||||
select:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- hisilicon,hi3660-ufs
|
||||
- hisilicon,hi3670-ufs
|
||||
required:
|
||||
- compatible
|
||||
|
||||
allOf:
|
||||
- $ref: ufs-common.yaml
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
oneOf:
|
||||
- items:
|
||||
- const: hisilicon,hi3660-ufs
|
||||
- const: jedec,ufs-1.1
|
||||
- items:
|
||||
- enum:
|
||||
- hisilicon,hi3670-ufs
|
||||
- const: jedec,ufs-2.1
|
||||
|
||||
clocks:
|
||||
minItems: 2
|
||||
maxItems: 2
|
||||
|
||||
clock-names:
|
||||
items:
|
||||
- const: ref_clk
|
||||
- const: phy_clk
|
||||
|
||||
reg:
|
||||
items:
|
||||
- description: UFS register address space
|
||||
- description: UFS SYS CTRL register address space
|
||||
|
||||
resets:
|
||||
maxItems: 1
|
||||
|
||||
reset-names:
|
||||
items:
|
||||
- const: rst
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- resets
|
||||
- reset-names
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/clock/hi3670-clock.h>
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
|
||||
soc {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
|
||||
ufs@ff3c0000 {
|
||||
compatible = "hisilicon,hi3670-ufs", "jedec,ufs-2.1";
|
||||
reg = <0x0 0xff3c0000 0x0 0x1000>,
|
||||
<0x0 0xff3e0000 0x0 0x1000>;
|
||||
interrupt-parent = <&gic>;
|
||||
interrupts = <GIC_SPI 278 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&crg_ctrl HI3670_CLK_GATE_UFSIO_REF>,
|
||||
<&crg_ctrl HI3670_CLK_GATE_UFS_SUBSYS>;
|
||||
clock-names = "ref_clk", "phy_clk";
|
||||
freq-table-hz = <0 0>,
|
||||
<0 0>;
|
||||
|
||||
resets = <&crg_rst 0x84 12>;
|
||||
reset-names = "rst";
|
||||
};
|
||||
};
|
|
@ -1,42 +0,0 @@
|
|||
* Hisilicon Universal Flash Storage (UFS) Host Controller
|
||||
|
||||
UFS nodes are defined to describe on-chip UFS hardware macro.
|
||||
Each UFS Host Controller should have its own node.
|
||||
|
||||
Required properties:
|
||||
- compatible : compatible list, contains one of the following -
|
||||
"hisilicon,hi3660-ufs", "jedec,ufs-1.1" for hisi ufs
|
||||
host controller present on Hi3660 chipset.
|
||||
"hisilicon,hi3670-ufs", "jedec,ufs-2.1" for hisi ufs
|
||||
host controller present on Hi3670 chipset.
|
||||
- reg : should contain UFS register address space & UFS SYS CTRL register address,
|
||||
- interrupts : interrupt number
|
||||
- clocks : List of phandle and clock specifier pairs
|
||||
- clock-names : List of clock input name strings sorted in the same
|
||||
order as the clocks property. "ref_clk", "phy_clk" is optional
|
||||
- freq-table-hz : Array of <min max> operating frequencies stored in the same
|
||||
order as the clocks property. If this property is not
|
||||
defined or a value in the array is "0" then it is assumed
|
||||
that the frequency is set by the parent clock or a
|
||||
fixed rate clock source.
|
||||
- resets : describe reset node register
|
||||
- reset-names : reset node register, the "rst" corresponds to reset the whole UFS IP.
|
||||
|
||||
Example:
|
||||
|
||||
ufs: ufs@ff3b0000 {
|
||||
compatible = "hisilicon,hi3660-ufs", "jedec,ufs-1.1";
|
||||
/* 0: HCI standard */
|
||||
/* 1: UFS SYS CTRL */
|
||||
reg = <0x0 0xff3b0000 0x0 0x1000>,
|
||||
<0x0 0xff3b1000 0x0 0x1000>;
|
||||
interrupt-parent = <&gic>;
|
||||
interrupts = <GIC_SPI 278 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&crg_ctrl HI3660_CLK_GATE_UFSIO_REF>,
|
||||
<&crg_ctrl HI3660_CLK_GATE_UFSPHY_CFG>;
|
||||
clock-names = "ref_clk", "phy_clk";
|
||||
freq-table-hz = <0 0>, <0 0>;
|
||||
/* offset: 0x84; bit: 12 */
|
||||
resets = <&crg_rst 0x84 12>;
|
||||
reset-names = "rst";
|
||||
};
|
Loading…
Reference in New Issue