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