# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/net/nxp,netc-blk-ctrl.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: NETC Blocks Control

description:
  Usually, NETC has 2 blocks of 64KB registers, integrated endpoint register
  block (IERB) and privileged register block (PRB). IERB is used for pre-boot
  initialization for all NETC devices, such as ENETC, Timer, EMIDO and so on.
  And PRB controls global reset and global error handling for NETC. Moreover,
  for the i.MX platform, there is also a NETCMIX block for link configuration,
  such as MII protocol, PCS protocol, etc.

maintainers:
  - Wei Fang <wei.fang@nxp.com>
  - Clark Wang <xiaoning.wang@nxp.com>

properties:
  compatible:
    enum:
      - nxp,imx95-netc-blk-ctrl

  reg:
    maxItems: 3

  reg-names:
    items:
      - const: ierb
      - const: prb
      - const: netcmix

  "#address-cells":
    const: 2

  "#size-cells":
    const: 2

  ranges: true

  clocks:
    maxItems: 1

  clock-names:
    items:
      - const: ipg

  power-domains:
    maxItems: 1

patternProperties:
  "^pcie@[0-9a-f]+$":
    $ref: /schemas/pci/host-generic-pci.yaml#

required:
  - compatible
  - reg
  - reg-names
  - "#address-cells"
  - "#size-cells"
  - ranges

additionalProperties: false

examples:
  - |
    bus {
        #address-cells = <2>;
        #size-cells = <2>;

        system-controller@4cde0000 {
            compatible = "nxp,imx95-netc-blk-ctrl";
            reg = <0x0 0x4cde0000 0x0 0x10000>,
                  <0x0 0x4cdf0000 0x0 0x10000>,
                  <0x0 0x4c81000c 0x0 0x18>;
            reg-names = "ierb", "prb", "netcmix";
            #address-cells = <2>;
            #size-cells = <2>;
            ranges;
            clocks = <&scmi_clk 98>;
            clock-names = "ipg";
            power-domains = <&scmi_devpd 18>;

            pcie@4cb00000 {
                compatible = "pci-host-ecam-generic";
                reg = <0x0 0x4cb00000 0x0 0x100000>;
                #address-cells = <3>;
                #size-cells = <2>;
                device_type = "pci";
                bus-range = <0x1 0x1>;
                ranges = <0x82000000 0x0 0x4cce0000  0x0 0x4cce0000  0x0 0x20000
                          0xc2000000 0x0 0x4cd10000  0x0 0x4cd10000  0x0 0x10000>;

                mdio@0,0 {
                    compatible = "pci1131,ee00";
                    reg = <0x010000 0 0 0 0>;
                    #address-cells = <1>;
                    #size-cells = <0>;
                };
            };
        };
    };
