1f126890aSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2f126890aSEmmanuel Vadot%YAML 1.2 3f126890aSEmmanuel Vadot--- 4f126890aSEmmanuel Vadot$id: http://devicetree.org/schemas/nvmem/rockchip,otp.yaml# 5f126890aSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6f126890aSEmmanuel Vadot 7f126890aSEmmanuel Vadottitle: Rockchip internal OTP (One Time Programmable) memory 8f126890aSEmmanuel Vadot 9f126890aSEmmanuel Vadotmaintainers: 10f126890aSEmmanuel Vadot - Heiko Stuebner <heiko@sntech.de> 11f126890aSEmmanuel Vadot 12f126890aSEmmanuel Vadotproperties: 13f126890aSEmmanuel Vadot compatible: 14f126890aSEmmanuel Vadot enum: 15f126890aSEmmanuel Vadot - rockchip,px30-otp 16f126890aSEmmanuel Vadot - rockchip,rk3308-otp 17f126890aSEmmanuel Vadot - rockchip,rk3588-otp 18f126890aSEmmanuel Vadot 19f126890aSEmmanuel Vadot reg: 20f126890aSEmmanuel Vadot maxItems: 1 21f126890aSEmmanuel Vadot 22f126890aSEmmanuel Vadot clocks: 23f126890aSEmmanuel Vadot minItems: 3 24f126890aSEmmanuel Vadot maxItems: 4 25f126890aSEmmanuel Vadot 26f126890aSEmmanuel Vadot clock-names: 27f126890aSEmmanuel Vadot minItems: 3 28f126890aSEmmanuel Vadot items: 29f126890aSEmmanuel Vadot - const: otp 30f126890aSEmmanuel Vadot - const: apb_pclk 31f126890aSEmmanuel Vadot - const: phy 32f126890aSEmmanuel Vadot - const: arb 33f126890aSEmmanuel Vadot 34f126890aSEmmanuel Vadot resets: 35f126890aSEmmanuel Vadot minItems: 1 36f126890aSEmmanuel Vadot maxItems: 3 37f126890aSEmmanuel Vadot 38f126890aSEmmanuel Vadot reset-names: 39f126890aSEmmanuel Vadot minItems: 1 40f126890aSEmmanuel Vadot maxItems: 3 41f126890aSEmmanuel Vadot 42f126890aSEmmanuel Vadotrequired: 43f126890aSEmmanuel Vadot - compatible 44f126890aSEmmanuel Vadot - reg 45f126890aSEmmanuel Vadot - clocks 46f126890aSEmmanuel Vadot - clock-names 47f126890aSEmmanuel Vadot - resets 48f126890aSEmmanuel Vadot - reset-names 49f126890aSEmmanuel Vadot 50f126890aSEmmanuel VadotallOf: 51f126890aSEmmanuel Vadot - $ref: nvmem.yaml# 52*84943d6fSEmmanuel Vadot - $ref: nvmem-deprecated-cells.yaml# 53f126890aSEmmanuel Vadot 54f126890aSEmmanuel Vadot - if: 55f126890aSEmmanuel Vadot properties: 56f126890aSEmmanuel Vadot compatible: 57f126890aSEmmanuel Vadot contains: 58f126890aSEmmanuel Vadot enum: 59f126890aSEmmanuel Vadot - rockchip,px30-otp 60f126890aSEmmanuel Vadot - rockchip,rk3308-otp 61f126890aSEmmanuel Vadot then: 62f126890aSEmmanuel Vadot properties: 63f126890aSEmmanuel Vadot clocks: 64f126890aSEmmanuel Vadot maxItems: 3 65f126890aSEmmanuel Vadot resets: 66f126890aSEmmanuel Vadot maxItems: 1 67f126890aSEmmanuel Vadot reset-names: 68f126890aSEmmanuel Vadot items: 69f126890aSEmmanuel Vadot - const: phy 70f126890aSEmmanuel Vadot 71f126890aSEmmanuel Vadot - if: 72f126890aSEmmanuel Vadot properties: 73f126890aSEmmanuel Vadot compatible: 74f126890aSEmmanuel Vadot contains: 75f126890aSEmmanuel Vadot enum: 76f126890aSEmmanuel Vadot - rockchip,rk3588-otp 77f126890aSEmmanuel Vadot then: 78f126890aSEmmanuel Vadot properties: 79f126890aSEmmanuel Vadot clocks: 80f126890aSEmmanuel Vadot minItems: 4 81f126890aSEmmanuel Vadot resets: 82f126890aSEmmanuel Vadot minItems: 3 83f126890aSEmmanuel Vadot reset-names: 84f126890aSEmmanuel Vadot items: 85f126890aSEmmanuel Vadot - const: otp 86f126890aSEmmanuel Vadot - const: apb 87f126890aSEmmanuel Vadot - const: arb 88f126890aSEmmanuel Vadot 89f126890aSEmmanuel VadotunevaluatedProperties: false 90f126890aSEmmanuel Vadot 91f126890aSEmmanuel Vadotexamples: 92f126890aSEmmanuel Vadot - | 93f126890aSEmmanuel Vadot #include <dt-bindings/clock/px30-cru.h> 94f126890aSEmmanuel Vadot 95f126890aSEmmanuel Vadot soc { 96f126890aSEmmanuel Vadot #address-cells = <2>; 97f126890aSEmmanuel Vadot #size-cells = <2>; 98f126890aSEmmanuel Vadot 99f126890aSEmmanuel Vadot otp: efuse@ff290000 { 100f126890aSEmmanuel Vadot compatible = "rockchip,px30-otp"; 101f126890aSEmmanuel Vadot reg = <0x0 0xff290000 0x0 0x4000>; 102f126890aSEmmanuel Vadot clocks = <&cru SCLK_OTP_USR>, <&cru PCLK_OTP_NS>, 103f126890aSEmmanuel Vadot <&cru PCLK_OTP_PHY>; 104f126890aSEmmanuel Vadot clock-names = "otp", "apb_pclk", "phy"; 105f126890aSEmmanuel Vadot resets = <&cru SRST_OTP_PHY>; 106f126890aSEmmanuel Vadot reset-names = "phy"; 107f126890aSEmmanuel Vadot #address-cells = <1>; 108f126890aSEmmanuel Vadot #size-cells = <1>; 109f126890aSEmmanuel Vadot 110f126890aSEmmanuel Vadot cpu_id: id@7 { 111f126890aSEmmanuel Vadot reg = <0x07 0x10>; 112f126890aSEmmanuel Vadot }; 113f126890aSEmmanuel Vadot 114f126890aSEmmanuel Vadot cpu_leakage: cpu-leakage@17 { 115f126890aSEmmanuel Vadot reg = <0x17 0x1>; 116f126890aSEmmanuel Vadot }; 117f126890aSEmmanuel Vadot 118f126890aSEmmanuel Vadot performance: performance@1e { 119f126890aSEmmanuel Vadot reg = <0x1e 0x1>; 120f126890aSEmmanuel Vadot bits = <4 3>; 121f126890aSEmmanuel Vadot }; 122f126890aSEmmanuel Vadot }; 123f126890aSEmmanuel Vadot }; 124