^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) %YAML 1.2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) ---
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) $id: http://devicetree.org/schemas/nvmem/imx-ocotp.yaml#
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) $schema: http://devicetree.org/meta-schemas/core.yaml#
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) title: Freescale i.MX6 On-Chip OTP Controller (OCOTP) device tree bindings
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) maintainers:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) - Anson Huang <Anson.Huang@nxp.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) description: |
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) This binding represents the on-chip eFuse OTP controller found on
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) i.MX6Q/D, i.MX6DL/S, i.MX6SL, i.MX6SX, i.MX6UL, i.MX6ULL/ULZ, i.MX6SLL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) i.MX7D/S, i.MX7ULP, i.MX8MQ, i.MX8MM, i.MX8MN and i.MX8MP SoCs.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) allOf:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) - $ref: "nvmem.yaml#"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) properties:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) compatible:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) oneOf:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) - items:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) - enum:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) - fsl,imx6q-ocotp
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) - fsl,imx6sl-ocotp
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) - fsl,imx6sx-ocotp
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) - fsl,imx6ul-ocotp
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) - fsl,imx6ull-ocotp
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) - fsl,imx7d-ocotp
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) - fsl,imx6sll-ocotp
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) - fsl,imx7ulp-ocotp
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) - fsl,imx8mq-ocotp
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) - fsl,imx8mm-ocotp
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) - const: syscon
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) - items:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) - enum:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) - fsl,imx8mn-ocotp
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) # i.MX8MP not really compatible with fsl,imx8mm-ocotp, however
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) # the code for getting SoC revision depends on fsl,imx8mm-ocotp
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) # compatible.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) - fsl,imx8mp-ocotp
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) - const: fsl,imx8mm-ocotp
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) - const: syscon
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) reg:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) maxItems: 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) "#address-cells":
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) const: 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) "#size-cells":
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) const: 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) clocks:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) maxItems: 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) required:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) - "#address-cells"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) - "#size-cells"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) - compatible
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) - reg
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) patternProperties:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) "^.*@[0-9a-f]+$":
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) type: object
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) properties:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) reg:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) maxItems: 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) Offset and size in bytes within the storage device.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) required:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) - reg
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) additionalProperties: false
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) unevaluatedProperties: false
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) examples:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) - |
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83) #include <dt-bindings/clock/imx6sx-clock.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) ocotp: efuse@21bc000 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) #address-cells = <1>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) #size-cells = <1>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88) compatible = "fsl,imx6sx-ocotp", "syscon";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) reg = <0x021bc000 0x4000>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90) clocks = <&clks IMX6SX_CLK_OCOTP>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92) cpu_speed_grade: speed-grade@10 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93) reg = <0x10 4>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 96) tempmon_calib: calib@38 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 97) reg = <0x38 4>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 98) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 99)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) tempmon_temp_grade: temp-grade@20 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) reg = <0x20 4>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) ...