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 17*2d87a3b1SCristian Ciocaltea - rockchip,rk3588-otp 182827a58cSCristian Ciocaltea 192827a58cSCristian Ciocaltea reg: 202827a58cSCristian Ciocaltea maxItems: 1 212827a58cSCristian Ciocaltea 222827a58cSCristian Ciocaltea clocks: 23*2d87a3b1SCristian Ciocaltea minItems: 3 24*2d87a3b1SCristian Ciocaltea maxItems: 4 252827a58cSCristian Ciocaltea 262827a58cSCristian Ciocaltea clock-names: 27*2d87a3b1SCristian Ciocaltea minItems: 3 282827a58cSCristian Ciocaltea items: 292827a58cSCristian Ciocaltea - const: otp 302827a58cSCristian Ciocaltea - const: apb_pclk 312827a58cSCristian Ciocaltea - const: phy 32*2d87a3b1SCristian Ciocaltea - const: arb 332827a58cSCristian Ciocaltea 342827a58cSCristian Ciocaltea resets: 35*2d87a3b1SCristian Ciocaltea minItems: 1 36*2d87a3b1SCristian Ciocaltea maxItems: 3 372827a58cSCristian Ciocaltea 382827a58cSCristian Ciocaltea reset-names: 39*2d87a3b1SCristian Ciocaltea minItems: 1 40*2d87a3b1SCristian 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 50*2d87a3b1SCristian CiocalteaallOf: 51*2d87a3b1SCristian Ciocaltea - $ref: nvmem.yaml# 52*2d87a3b1SCristian Ciocaltea 53*2d87a3b1SCristian Ciocaltea - if: 54*2d87a3b1SCristian Ciocaltea properties: 55*2d87a3b1SCristian Ciocaltea compatible: 56*2d87a3b1SCristian Ciocaltea contains: 57*2d87a3b1SCristian Ciocaltea enum: 58*2d87a3b1SCristian Ciocaltea - rockchip,px30-otp 59*2d87a3b1SCristian Ciocaltea - rockchip,rk3308-otp 60*2d87a3b1SCristian Ciocaltea then: 61*2d87a3b1SCristian Ciocaltea properties: 62*2d87a3b1SCristian Ciocaltea clocks: 63*2d87a3b1SCristian Ciocaltea maxItems: 3 64*2d87a3b1SCristian Ciocaltea resets: 65*2d87a3b1SCristian Ciocaltea maxItems: 1 66*2d87a3b1SCristian Ciocaltea reset-names: 67*2d87a3b1SCristian Ciocaltea items: 68*2d87a3b1SCristian Ciocaltea - const: phy 69*2d87a3b1SCristian Ciocaltea 70*2d87a3b1SCristian Ciocaltea - if: 71*2d87a3b1SCristian Ciocaltea properties: 72*2d87a3b1SCristian Ciocaltea compatible: 73*2d87a3b1SCristian Ciocaltea contains: 74*2d87a3b1SCristian Ciocaltea enum: 75*2d87a3b1SCristian Ciocaltea - rockchip,rk3588-otp 76*2d87a3b1SCristian Ciocaltea then: 77*2d87a3b1SCristian Ciocaltea properties: 78*2d87a3b1SCristian Ciocaltea clocks: 79*2d87a3b1SCristian Ciocaltea minItems: 4 80*2d87a3b1SCristian Ciocaltea resets: 81*2d87a3b1SCristian Ciocaltea minItems: 3 82*2d87a3b1SCristian Ciocaltea reset-names: 83*2d87a3b1SCristian Ciocaltea items: 84*2d87a3b1SCristian Ciocaltea - const: otp 85*2d87a3b1SCristian Ciocaltea - const: apb 86*2d87a3b1SCristian Ciocaltea - const: arb 87*2d87a3b1SCristian Ciocaltea 882827a58cSCristian CiocalteaunevaluatedProperties: false 892827a58cSCristian Ciocaltea 902827a58cSCristian Ciocalteaexamples: 912827a58cSCristian Ciocaltea - | 922827a58cSCristian Ciocaltea #include <dt-bindings/clock/px30-cru.h> 932827a58cSCristian Ciocaltea 942827a58cSCristian Ciocaltea soc { 952827a58cSCristian Ciocaltea #address-cells = <2>; 962827a58cSCristian Ciocaltea #size-cells = <2>; 972827a58cSCristian Ciocaltea 982827a58cSCristian Ciocaltea otp: efuse@ff290000 { 992827a58cSCristian Ciocaltea compatible = "rockchip,px30-otp"; 1002827a58cSCristian Ciocaltea reg = <0x0 0xff290000 0x0 0x4000>; 1012827a58cSCristian Ciocaltea clocks = <&cru SCLK_OTP_USR>, <&cru PCLK_OTP_NS>, 1022827a58cSCristian Ciocaltea <&cru PCLK_OTP_PHY>; 1032827a58cSCristian Ciocaltea clock-names = "otp", "apb_pclk", "phy"; 1042827a58cSCristian Ciocaltea resets = <&cru SRST_OTP_PHY>; 1052827a58cSCristian Ciocaltea reset-names = "phy"; 1062827a58cSCristian Ciocaltea #address-cells = <1>; 1072827a58cSCristian Ciocaltea #size-cells = <1>; 1082827a58cSCristian Ciocaltea 1092827a58cSCristian Ciocaltea cpu_id: id@7 { 1102827a58cSCristian Ciocaltea reg = <0x07 0x10>; 1112827a58cSCristian Ciocaltea }; 1122827a58cSCristian Ciocaltea 1132827a58cSCristian Ciocaltea cpu_leakage: cpu-leakage@17 { 1142827a58cSCristian Ciocaltea reg = <0x17 0x1>; 1152827a58cSCristian Ciocaltea }; 1162827a58cSCristian Ciocaltea 1172827a58cSCristian Ciocaltea performance: performance@1e { 1182827a58cSCristian Ciocaltea reg = <0x1e 0x1>; 1192827a58cSCristian Ciocaltea bits = <4 3>; 1202827a58cSCristian Ciocaltea }; 1212827a58cSCristian Ciocaltea }; 1222827a58cSCristian Ciocaltea }; 123