[PATCH v6 1/4] dt-bindings: nvmem: convert mtk-efuse.txt to YAML schema

Matthias Brugger matthias.bgg at gmail.com
Wed Jun 22 07:10:00 PDT 2022



On 20/06/2022 09:11, Chunfeng Yun wrote:
> Hi Matthias,
> 
> On Fri, 2022-06-17 at 12:41 -0700, Srinivas Kandagatla wrote:
>>
>> On 17/06/2022 02:31, Chunfeng Yun wrote:
>>> Convert mtk-efuse.txt to YAML schema mediatek,efuse.yaml
>>>
>>> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski at linaro.org>
>>> Reviewed-by: Rob Herring <robh at kernel.org>
>>> Signed-off-by: Chunfeng Yun <chunfeng.yun at mediatek.com>
>>> ---
>>
>> Applied 1/4 and 2/4, dts patches need to go via SoC maintainer.
> Could you please help to pick up 3/4, 4/4?

Applied, thanks!

> 
> thanks
> 
>>
>>
>> thanks,
>> -srini
>>
>>
>>> v6: no changes, based on kernel 5.19-rc1
>>>
>>> v5:
>>> sync with the series:
>>>
> https://patchwork.kernel.org/project/linux-mediatek/list/?series=640196
>>>      1. change title suggested by Krzysztof;
>>>      2. No need drop 'reviewed-by Rob' suggested by Krzysztof
>>>      3. add maintainer Lala who maintain efuse driver now;
>>>
>>> v4: fix duplicated unit-address in example;
>>>       drop reviewed-by Rob, due to changes;
>>>
>>> v3: add reviewed-by Rob
>>>
>>> v2:
>>>      1. remove description of subnodes which is covered by
>>> nvmem.yaml
>>> suggested by Rob
>>>      2. change the example which is commoner than mt8173's
>>> ---
>>>    .../bindings/nvmem/mediatek,efuse.yaml        | 87
>>> +++++++++++++++++++
>>>    .../devicetree/bindings/nvmem/mtk-efuse.txt   | 43 ---------
>>>    2 files changed, 87 insertions(+), 43 deletions(-)
>>>    create mode 100644
>>> Documentation/devicetree/bindings/nvmem/mediatek,efuse.yaml
>>>    delete mode 100644 Documentation/devicetree/bindings/nvmem/mtk-
>>> efuse.txt
>>>
>>> diff --git
>>> a/Documentation/devicetree/bindings/nvmem/mediatek,efuse.yaml
>>> b/Documentation/devicetree/bindings/nvmem/mediatek,efuse.yaml
>>> new file mode 100644
>>> index 000000000000..f6e01ddb7499
>>> --- /dev/null
>>> +++ b/Documentation/devicetree/bindings/nvmem/mediatek,efuse.yaml
>>> @@ -0,0 +1,87 @@
>>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>>> +%YAML 1.2
>>> +---
>>> +$id: http://devicetree.org/schemas/nvmem/mediatek,efuse.yaml#
>>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>>> +
>>> +title: MediaTek efuse
>>> +
>>> +description: |
>>> +  MediaTek's efuse is used for storing calibration data, it can be
>>> accessed
>>> +  on ARM devices usiong I/O mapped memory.
>>> +
>>> +maintainers:
>>> +  - Andrew-CT Chen <andrew-ct.chen at mediatek.com>
>>> +  - Lala Lin <lala.lin at mediatek.com>
>>> +
>>> +allOf:
>>> +  - $ref: "nvmem.yaml#"
>>> +
>>> +properties:
>>> +  $nodename:
>>> +    pattern: "^efuse@[0-9a-f]+$"
>>> +
>>> +  compatible:
>>> +    oneOf:
>>> +      - items:
>>> +          - enum:
>>> +              - mediatek,mt7622-efuse
>>> +              - mediatek,mt7623-efuse
>>> +              - mediatek,mt8173-efuse
>>> +              - mediatek,mt8192-efuse
>>> +              - mediatek,mt8195-efuse
>>> +              - mediatek,mt8516-efuse
>>> +          - const: mediatek,efuse
>>> +      - const: mediatek,mt8173-efuse
>>> +        deprecated: true
>>> +
>>> +  reg:
>>> +    maxItems: 1
>>> +
>>> +required:
>>> +  - compatible
>>> +  - reg
>>> +
>>> +unevaluatedProperties: false
>>> +
>>> +examples:
>>> +  - |
>>> +    efuse at 11c10000 {
>>> +        compatible = "mediatek,mt8195-efuse", "mediatek,efuse";
>>> +        reg = <0x11c10000 0x1000>;
>>> +        #address-cells = <1>;
>>> +        #size-cells = <1>;
>>> +
>>> +        u3_tx_imp_p0: usb3-tx-imp at 184,1 {
>>> +            reg = <0x184 0x1>;
>>> +            bits = <0 5>;
>>> +        };
>>> +        u3_rx_imp_p0: usb3-rx-imp at 184,2 {
>>> +            reg = <0x184 0x2>;
>>> +            bits = <5 5>;
>>> +        };
>>> +        u3_intr_p0: usb3-intr at 185 {
>>> +            reg = <0x185 0x1>;
>>> +            bits = <2 6>;
>>> +        };
>>> +        comb_tx_imp_p1: usb3-tx-imp at 186,1 {
>>> +            reg = <0x186 0x1>;
>>> +            bits = <0 5>;
>>> +        };
>>> +        comb_rx_imp_p1: usb3-rx-imp at 186,2 {
>>> +            reg = <0x186 0x2>;
>>> +            bits = <5 5>;
>>> +        };
>>> +        comb_intr_p1: usb3-intr at 187 {
>>> +            reg = <0x187 0x1>;
>>> +            bits = <2 6>;
>>> +        };
>>> +        u2_intr_p0: usb2-intr-p0 at 188,1 {
>>> +            reg = <0x188 0x1>;
>>> +            bits = <0 5>;
>>> +        };
>>> +        u2_intr_p1: usb2-intr-p1 at 188,2 {
>>> +            reg = <0x188 0x2>;
>>> +            bits = <5 5>;
>>> +        };
>>> +    };
>>> diff --git a/Documentation/devicetree/bindings/nvmem/mtk-efuse.txt
>>> b/Documentation/devicetree/bindings/nvmem/mtk-efuse.txt
>>> deleted file mode 100644
>>> index 39d529599444..000000000000
>>> --- a/Documentation/devicetree/bindings/nvmem/mtk-efuse.txt
>>> +++ /dev/null
>>> @@ -1,43 +0,0 @@
>>> -= Mediatek MTK-EFUSE device tree bindings =
>>> -
>>> -This binding is intended to represent MTK-EFUSE which is found in
>>> most Mediatek SOCs.
>>> -
>>> -Required properties:
>>> -- compatible: should be
>>> -	      "mediatek,mt7622-efuse", "mediatek,efuse": for MT7622
>>> -	      "mediatek,mt7623-efuse", "mediatek,efuse": for MT7623
>>> -	      "mediatek,mt8173-efuse" or "mediatek,efuse": for MT8173
>>> -	      "mediatek,mt8192-efuse", "mediatek,efuse": for MT8192
>>> -	      "mediatek,mt8195-efuse", "mediatek,efuse": for MT8195
>>> -	      "mediatek,mt8516-efuse", "mediatek,efuse": for MT8516
>>> -- reg: Should contain registers location and length
>>> -- bits: contain the bits range by offset and size
>>> -
>>> -= Data cells =
>>> -Are child nodes of MTK-EFUSE, bindings of which as described in
>>> -bindings/nvmem/nvmem.txt
>>> -
>>> -Example:
>>> -
>>> -	efuse: efuse at 10206000 {
>>> -		compatible = "mediatek,mt8173-efuse";
>>> -		reg	   = <0 0x10206000 0 0x1000>;
>>> -		#address-cells = <1>;
>>> -		#size-cells = <1>;
>>> -
>>> -		/* Data cells */
>>> -		thermal_calibration: calib at 528 {
>>> -			reg = <0x528 0xc>;
>>> -		};
>>> -	};
>>> -
>>> -= Data consumers =
>>> -Are device nodes which consume nvmem data cells.
>>> -
>>> -For example:
>>> -
>>> -	thermal {
>>> -		...
>>> -		nvmem-cells = <&thermal_calibration>;
>>> -		nvmem-cell-names = "calibration";
>>> -	};
> 



More information about the Linux-mediatek mailing list