# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
# Copyright (C) 2025 Texas Instruments Incorporated
%YAML 1.2
---
$id: http://devicetree.org/schemas/soc/ti/ti,j784s4-bist.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Texas Instruments K3 BIST

maintainers:
  - Neha Malcom Francis <n-francis@ti.com>

allOf:
  - $ref: /schemas/arm/keystone/ti,k3-sci-common.yaml#

description:
  The BIST (Built-In Self Test) module is an IP block present in K3 devices
  that support triggering of BIST tests, both PBIST (Memory BIST) and LBIST
  (Logic BIST) on a core. Both tests are destructive in nature. At boot, BIST
  is executed by hardware for the MCU domain automatically as part of HW POST.

properties:
  compatible:
    const: ti,j784s4-bist

  reg:
    maxItems: 2

  reg-names:
    items:
      - const: cfg
      - const: ctrl_mmr

  clocks:
    maxItems: 1

  power-domains:
    maxItems: 1

required:
  - compatible
  - reg
  - reg-names
  - ti,sci-dev-id

unevaluatedProperties: false

examples:
  - |
    #include <dt-bindings/soc/ti,sci_pm_domain.h>
    bus {
        #address-cells = <2>;
        #size-cells = <2>;
        safety-selftest@33c0000 {
            compatible = "ti,j784s4-bist";
            reg = <0x00 0x033c0000 0x00 0x400>,
                  <0x00 0x0010c1a0 0x00 0x01c>;
            reg-names = "cfg", "ctrl_mmr";
            clocks = <&k3_clks 237 7>;
            power-domains = <&k3_pds 237 TI_SCI_PD_EXCLUSIVE>;
            ti,sci-dev-id = <234>;
        };
    };
