xref: /linux/Documentation/devicetree/bindings/nvmem/rockchip,otp.yaml (revision 0ea5c948cb64bab5bc7a5516774eb8536f05aa0d)
12827a58cSCristian Ciocaltea# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
22827a58cSCristian Ciocaltea%YAML 1.2
32827a58cSCristian Ciocaltea---
42827a58cSCristian Ciocaltea$id: http://devicetree.org/schemas/nvmem/rockchip,otp.yaml#
52827a58cSCristian Ciocaltea$schema: http://devicetree.org/meta-schemas/core.yaml#
62827a58cSCristian Ciocaltea
72827a58cSCristian Ciocalteatitle: Rockchip internal OTP (One Time Programmable) memory
82827a58cSCristian Ciocaltea
92827a58cSCristian Ciocalteamaintainers:
102827a58cSCristian Ciocaltea  - Heiko Stuebner <heiko@sntech.de>
112827a58cSCristian Ciocaltea
122827a58cSCristian Ciocalteaproperties:
132827a58cSCristian Ciocaltea  compatible:
142827a58cSCristian Ciocaltea    enum:
152827a58cSCristian Ciocaltea      - rockchip,px30-otp
162827a58cSCristian Ciocaltea      - rockchip,rk3308-otp
172d87a3b1SCristian Ciocaltea      - rockchip,rk3588-otp
182827a58cSCristian Ciocaltea
192827a58cSCristian Ciocaltea  reg:
202827a58cSCristian Ciocaltea    maxItems: 1
212827a58cSCristian Ciocaltea
222827a58cSCristian Ciocaltea  clocks:
232d87a3b1SCristian Ciocaltea    minItems: 3
242d87a3b1SCristian Ciocaltea    maxItems: 4
252827a58cSCristian Ciocaltea
262827a58cSCristian Ciocaltea  clock-names:
272d87a3b1SCristian Ciocaltea    minItems: 3
282827a58cSCristian Ciocaltea    items:
292827a58cSCristian Ciocaltea      - const: otp
302827a58cSCristian Ciocaltea      - const: apb_pclk
312827a58cSCristian Ciocaltea      - const: phy
322d87a3b1SCristian Ciocaltea      - const: arb
332827a58cSCristian Ciocaltea
342827a58cSCristian Ciocaltea  resets:
352d87a3b1SCristian Ciocaltea    minItems: 1
362d87a3b1SCristian Ciocaltea    maxItems: 3
372827a58cSCristian Ciocaltea
382827a58cSCristian Ciocaltea  reset-names:
392d87a3b1SCristian Ciocaltea    minItems: 1
402d87a3b1SCristian Ciocaltea    maxItems: 3
412827a58cSCristian Ciocaltea
422827a58cSCristian Ciocaltearequired:
432827a58cSCristian Ciocaltea  - compatible
442827a58cSCristian Ciocaltea  - reg
452827a58cSCristian Ciocaltea  - clocks
462827a58cSCristian Ciocaltea  - clock-names
472827a58cSCristian Ciocaltea  - resets
482827a58cSCristian Ciocaltea  - reset-names
492827a58cSCristian Ciocaltea
502d87a3b1SCristian CiocalteaallOf:
512d87a3b1SCristian Ciocaltea  - $ref: nvmem.yaml#
52*c5330723SRafał Miłecki  - $ref: nvmem-deprecated-cells.yaml#
532d87a3b1SCristian Ciocaltea
542d87a3b1SCristian Ciocaltea  - if:
552d87a3b1SCristian Ciocaltea      properties:
562d87a3b1SCristian Ciocaltea        compatible:
572d87a3b1SCristian Ciocaltea          contains:
582d87a3b1SCristian Ciocaltea            enum:
592d87a3b1SCristian Ciocaltea              - rockchip,px30-otp
602d87a3b1SCristian Ciocaltea              - rockchip,rk3308-otp
612d87a3b1SCristian Ciocaltea    then:
622d87a3b1SCristian Ciocaltea      properties:
632d87a3b1SCristian Ciocaltea        clocks:
642d87a3b1SCristian Ciocaltea          maxItems: 3
652d87a3b1SCristian Ciocaltea        resets:
662d87a3b1SCristian Ciocaltea          maxItems: 1
672d87a3b1SCristian Ciocaltea        reset-names:
682d87a3b1SCristian Ciocaltea          items:
692d87a3b1SCristian Ciocaltea            - const: phy
702d87a3b1SCristian Ciocaltea
712d87a3b1SCristian Ciocaltea  - if:
722d87a3b1SCristian Ciocaltea      properties:
732d87a3b1SCristian Ciocaltea        compatible:
742d87a3b1SCristian Ciocaltea          contains:
752d87a3b1SCristian Ciocaltea            enum:
762d87a3b1SCristian Ciocaltea              - rockchip,rk3588-otp
772d87a3b1SCristian Ciocaltea    then:
782d87a3b1SCristian Ciocaltea      properties:
792d87a3b1SCristian Ciocaltea        clocks:
802d87a3b1SCristian Ciocaltea          minItems: 4
812d87a3b1SCristian Ciocaltea        resets:
822d87a3b1SCristian Ciocaltea          minItems: 3
832d87a3b1SCristian Ciocaltea        reset-names:
842d87a3b1SCristian Ciocaltea          items:
852d87a3b1SCristian Ciocaltea            - const: otp
862d87a3b1SCristian Ciocaltea            - const: apb
872d87a3b1SCristian Ciocaltea            - const: arb
882d87a3b1SCristian Ciocaltea
892827a58cSCristian CiocalteaunevaluatedProperties: false
902827a58cSCristian Ciocaltea
912827a58cSCristian Ciocalteaexamples:
922827a58cSCristian Ciocaltea  - |
932827a58cSCristian Ciocaltea    #include <dt-bindings/clock/px30-cru.h>
942827a58cSCristian Ciocaltea
952827a58cSCristian Ciocaltea    soc {
962827a58cSCristian Ciocaltea        #address-cells = <2>;
972827a58cSCristian Ciocaltea        #size-cells = <2>;
982827a58cSCristian Ciocaltea
992827a58cSCristian Ciocaltea        otp: efuse@ff290000 {
1002827a58cSCristian Ciocaltea            compatible = "rockchip,px30-otp";
1012827a58cSCristian Ciocaltea            reg = <0x0 0xff290000 0x0 0x4000>;
1022827a58cSCristian Ciocaltea            clocks = <&cru SCLK_OTP_USR>, <&cru PCLK_OTP_NS>,
1032827a58cSCristian Ciocaltea                     <&cru PCLK_OTP_PHY>;
1042827a58cSCristian Ciocaltea            clock-names = "otp", "apb_pclk", "phy";
1052827a58cSCristian Ciocaltea            resets = <&cru SRST_OTP_PHY>;
1062827a58cSCristian Ciocaltea            reset-names = "phy";
1072827a58cSCristian Ciocaltea            #address-cells = <1>;
1082827a58cSCristian Ciocaltea            #size-cells = <1>;
1092827a58cSCristian Ciocaltea
1102827a58cSCristian Ciocaltea            cpu_id: id@7 {
1112827a58cSCristian Ciocaltea                reg = <0x07 0x10>;
1122827a58cSCristian Ciocaltea            };
1132827a58cSCristian Ciocaltea
1142827a58cSCristian Ciocaltea            cpu_leakage: cpu-leakage@17 {
1152827a58cSCristian Ciocaltea                reg = <0x17 0x1>;
1162827a58cSCristian Ciocaltea            };
1172827a58cSCristian Ciocaltea
1182827a58cSCristian Ciocaltea            performance: performance@1e {
1192827a58cSCristian Ciocaltea                reg = <0x1e 0x1>;
1202827a58cSCristian Ciocaltea                bits = <4 3>;
1212827a58cSCristian Ciocaltea            };
1222827a58cSCristian Ciocaltea        };
1232827a58cSCristian Ciocaltea    };
124