nxp,netc-blk-ctrl.yaml 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2. %YAML 1.2
  3. ---
  4. $id: http://devicetree.org/schemas/net/nxp,netc-blk-ctrl.yaml#
  5. $schema: http://devicetree.org/meta-schemas/core.yaml#
  6. title: NETC Blocks Control
  7. description:
  8. Usually, NETC has 2 blocks of 64KB registers, integrated endpoint register
  9. block (IERB) and privileged register block (PRB). IERB is used for pre-boot
  10. initialization for all NETC devices, such as ENETC, Timer, EMIDO and so on.
  11. And PRB controls global reset and global error handling for NETC. Moreover,
  12. for the i.MX platform, there is also a NETCMIX block for link configuration,
  13. such as MII protocol, PCS protocol, etc.
  14. maintainers:
  15. - Wei Fang <wei.fang@nxp.com>
  16. - Clark Wang <xiaoning.wang@nxp.com>
  17. properties:
  18. compatible:
  19. enum:
  20. - nxp,imx94-netc-blk-ctrl
  21. - nxp,imx95-netc-blk-ctrl
  22. reg:
  23. maxItems: 3
  24. reg-names:
  25. items:
  26. - const: ierb
  27. - const: prb
  28. - const: netcmix
  29. "#address-cells":
  30. const: 2
  31. "#size-cells":
  32. const: 2
  33. ranges: true
  34. clocks:
  35. maxItems: 1
  36. clock-names:
  37. items:
  38. - const: ipg
  39. power-domains:
  40. maxItems: 1
  41. patternProperties:
  42. "^pcie@[0-9a-f]+$":
  43. $ref: /schemas/pci/host-generic-pci.yaml#
  44. required:
  45. - compatible
  46. - reg
  47. - reg-names
  48. - "#address-cells"
  49. - "#size-cells"
  50. - ranges
  51. additionalProperties: false
  52. examples:
  53. - |
  54. bus {
  55. #address-cells = <2>;
  56. #size-cells = <2>;
  57. system-controller@4cde0000 {
  58. compatible = "nxp,imx95-netc-blk-ctrl";
  59. reg = <0x0 0x4cde0000 0x0 0x10000>,
  60. <0x0 0x4cdf0000 0x0 0x10000>,
  61. <0x0 0x4c81000c 0x0 0x18>;
  62. reg-names = "ierb", "prb", "netcmix";
  63. #address-cells = <2>;
  64. #size-cells = <2>;
  65. ranges;
  66. clocks = <&scmi_clk 98>;
  67. clock-names = "ipg";
  68. power-domains = <&scmi_devpd 18>;
  69. pcie@4cb00000 {
  70. compatible = "pci-host-ecam-generic";
  71. reg = <0x0 0x4cb00000 0x0 0x100000>;
  72. #address-cells = <3>;
  73. #size-cells = <2>;
  74. device_type = "pci";
  75. bus-range = <0x1 0x1>;
  76. ranges = <0x82000000 0x0 0x4cce0000 0x0 0x4cce0000 0x0 0x20000
  77. 0xc2000000 0x0 0x4cd10000 0x0 0x4cd10000 0x0 0x10000>;
  78. mdio@0,0 {
  79. compatible = "pci1131,ee00";
  80. reg = <0x010000 0 0 0 0>;
  81. #address-cells = <1>;
  82. #size-cells = <0>;
  83. };
  84. };
  85. };
  86. };