Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

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

authored by

Krzysztof Kozlowski and committed by
Rob Herring
516075a2 462c5c0a

+90 -42
+90
Documentation/devicetree/bindings/ufs/hisilicon,ufs.yaml
··· 1 + # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/ufs/hisilicon,ufs.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: HiSilicon Universal Flash Storage (UFS) Controller 8 + 9 + maintainers: 10 + - Li Wei <liwei213@huawei.com> 11 + 12 + # Select only our matches, not all jedec,ufs 13 + select: 14 + properties: 15 + compatible: 16 + contains: 17 + enum: 18 + - hisilicon,hi3660-ufs 19 + - hisilicon,hi3670-ufs 20 + required: 21 + - compatible 22 + 23 + allOf: 24 + - $ref: ufs-common.yaml 25 + 26 + properties: 27 + compatible: 28 + oneOf: 29 + - items: 30 + - const: hisilicon,hi3660-ufs 31 + - const: jedec,ufs-1.1 32 + - items: 33 + - enum: 34 + - hisilicon,hi3670-ufs 35 + - const: jedec,ufs-2.1 36 + 37 + clocks: 38 + minItems: 2 39 + maxItems: 2 40 + 41 + clock-names: 42 + items: 43 + - const: ref_clk 44 + - const: phy_clk 45 + 46 + reg: 47 + items: 48 + - description: UFS register address space 49 + - description: UFS SYS CTRL register address space 50 + 51 + resets: 52 + maxItems: 1 53 + 54 + reset-names: 55 + items: 56 + - const: rst 57 + 58 + required: 59 + - compatible 60 + - reg 61 + - resets 62 + - reset-names 63 + 64 + unevaluatedProperties: false 65 + 66 + examples: 67 + - | 68 + #include <dt-bindings/clock/hi3670-clock.h> 69 + #include <dt-bindings/interrupt-controller/arm-gic.h> 70 + 71 + soc { 72 + #address-cells = <2>; 73 + #size-cells = <2>; 74 + 75 + ufs@ff3c0000 { 76 + compatible = "hisilicon,hi3670-ufs", "jedec,ufs-2.1"; 77 + reg = <0x0 0xff3c0000 0x0 0x1000>, 78 + <0x0 0xff3e0000 0x0 0x1000>; 79 + interrupt-parent = <&gic>; 80 + interrupts = <GIC_SPI 278 IRQ_TYPE_LEVEL_HIGH>; 81 + clocks = <&crg_ctrl HI3670_CLK_GATE_UFSIO_REF>, 82 + <&crg_ctrl HI3670_CLK_GATE_UFS_SUBSYS>; 83 + clock-names = "ref_clk", "phy_clk"; 84 + freq-table-hz = <0 0>, 85 + <0 0>; 86 + 87 + resets = <&crg_rst 0x84 12>; 88 + reset-names = "rst"; 89 + }; 90 + };
-42
Documentation/devicetree/bindings/ufs/ufs-hisi.txt
··· 1 - * Hisilicon Universal Flash Storage (UFS) Host Controller 2 - 3 - UFS nodes are defined to describe on-chip UFS hardware macro. 4 - Each UFS Host Controller should have its own node. 5 - 6 - Required properties: 7 - - compatible : compatible list, contains one of the following - 8 - "hisilicon,hi3660-ufs", "jedec,ufs-1.1" for hisi ufs 9 - host controller present on Hi3660 chipset. 10 - "hisilicon,hi3670-ufs", "jedec,ufs-2.1" for hisi ufs 11 - host controller present on Hi3670 chipset. 12 - - reg : should contain UFS register address space & UFS SYS CTRL register address, 13 - - interrupts : interrupt number 14 - - clocks : List of phandle and clock specifier pairs 15 - - clock-names : List of clock input name strings sorted in the same 16 - order as the clocks property. "ref_clk", "phy_clk" is optional 17 - - freq-table-hz : Array of <min max> operating frequencies stored in the same 18 - order as the clocks property. If this property is not 19 - defined or a value in the array is "0" then it is assumed 20 - that the frequency is set by the parent clock or a 21 - fixed rate clock source. 22 - - resets : describe reset node register 23 - - reset-names : reset node register, the "rst" corresponds to reset the whole UFS IP. 24 - 25 - Example: 26 - 27 - ufs: ufs@ff3b0000 { 28 - compatible = "hisilicon,hi3660-ufs", "jedec,ufs-1.1"; 29 - /* 0: HCI standard */ 30 - /* 1: UFS SYS CTRL */ 31 - reg = <0x0 0xff3b0000 0x0 0x1000>, 32 - <0x0 0xff3b1000 0x0 0x1000>; 33 - interrupt-parent = <&gic>; 34 - interrupts = <GIC_SPI 278 IRQ_TYPE_LEVEL_HIGH>; 35 - clocks = <&crg_ctrl HI3660_CLK_GATE_UFSIO_REF>, 36 - <&crg_ctrl HI3660_CLK_GATE_UFSPHY_CFG>; 37 - clock-names = "ref_clk", "phy_clk"; 38 - freq-table-hz = <0 0>, <0 0>; 39 - /* offset: 0x84; bit: 12 */ 40 - resets = <&crg_rst 0x84 12>; 41 - reset-names = "rst"; 42 - };