keystone-k2g-netcp.dtsi 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. // SPDX-License-Identifier: GPL-2.0
  2. /*
  3. * Device Tree Source for K2G Netcp driver
  4. *
  5. * Copyright (C) 2018 Texas Instruments Incorporated - http://www.ti.com/
  6. */
  7. qmss: qmss@4020000 {
  8. compatible = "ti,66ak2g-navss-qm";
  9. dma-coherent;
  10. #address-cells = <1>;
  11. #size-cells = <1>;
  12. power-domains = <&k2g_pds 0x0018>;
  13. clocks = <&k2g_clks 0x0018 0>;
  14. clock-names = "nss_vclk";
  15. ranges;
  16. queue-range = <0 0x80>;
  17. linkram0 = <0x4020000 0x7ff>;
  18. status = "disabled";
  19. qmgrs {
  20. #address-cells = <1>;
  21. #size-cells = <1>;
  22. ranges;
  23. qmgr0 {
  24. managed-queues = <0 0x80>;
  25. reg = <0x4100000 0x800>,
  26. <0x4040000 0x100>,
  27. <0x4080000 0x800>,
  28. <0x40c0000 0x800>;
  29. reg-names = "peek", "config",
  30. "region", "push";
  31. };
  32. };
  33. queue-pools {
  34. qpend {
  35. qpend-0 {
  36. qrange = <77 8>;
  37. interrupts =<0 308 0xf04 0 309 0xf04 0 310 0xf04
  38. 0 311 0xf04 0 312 0xf04 0 313 0xf04
  39. 0 314 0xf04 0 315 0xf04>;
  40. qalloc-by-id;
  41. };
  42. };
  43. general-purpose {
  44. gp-0 {
  45. qrange = <112 8>;
  46. };
  47. netcp-tx {
  48. qrange = <5 8>;
  49. qalloc-by-id;
  50. };
  51. };
  52. };
  53. descriptor-regions {
  54. #address-cells = <1>;
  55. #size-cells = <1>;
  56. ranges;
  57. region-12 {
  58. id = <12>;
  59. region-spec = <1023 128>; /* num_desc desc_size */
  60. link-index = <0x400>;
  61. };
  62. };
  63. }; /* qmss */
  64. knav_dmas: knav_dmas@0 {
  65. compatible = "ti,keystone-navigator-dma";
  66. #address-cells = <1>;
  67. #size-cells = <1>;
  68. status = "disabled";
  69. power-domains = <&k2g_pds 0x0018>;
  70. clocks = <&k2g_clks 0x0018 0>;
  71. clock-names = "nss_vclk";
  72. ranges;
  73. ti,navigator-cloud-address = <0x40c0000 0x40c0000 0x40c0000 0x40c0000>;
  74. dma_gbe: dma_gbe@0 {
  75. reg = <0x4010000 0x100>,
  76. <0x4011000 0x2a0>, /* 21 Tx channels */
  77. <0x4012000 0x400>, /* 32 Rx channels */
  78. <0x4010100 0x80>,
  79. <0x4013000 0x400>; /* 32 Rx flows */
  80. reg-names = "global", "txchan", "rxchan",
  81. "txsched", "rxflow";
  82. };
  83. };
  84. netcp: netcp@4000000 {
  85. reg = <0x2620110 0x8>;
  86. reg-names = "efuse";
  87. compatible = "ti,netcp-1.0";
  88. #address-cells = <1>;
  89. #size-cells = <1>;
  90. status = "disabled";
  91. power-domains = <&k2g_pds 0x0018>;
  92. clocks = <&k2g_clks 0x0018 3>, <&k2g_clks 0x0018 8>;
  93. clock-names = "ethss_clk", "cpts";
  94. /* NetCP address range */
  95. ranges = <0 0x4000000 0x1000000>;
  96. dma-coherent;
  97. ti,navigator-dmas = <&dma_gbe 0>, <&dma_gbe 5>;
  98. ti,navigator-dma-names = "netrx0", "nettx";
  99. netcp-devices {
  100. #address-cells = <1>;
  101. #size-cells = <1>;
  102. ranges;
  103. gbe: gbe@200000 {
  104. label = "netcp-gbe";
  105. compatible = "ti,netcp-gbe-2";
  106. reg = <0x200000 0x20>, <0x220000 0x20000>;
  107. enable-ale;
  108. tx-queue = <5>;
  109. tx-channel = "nettx";
  110. cpts-rftclk-sel = <0>;
  111. cpts-ext-ts-inputs = <8>;
  112. interfaces {
  113. gbe0: interface-0 {
  114. slave-port = <0>;
  115. link-interface = <5>;
  116. };
  117. };
  118. };
  119. };
  120. netcp-interfaces {
  121. interface-0 {
  122. rx-channel = "netrx0";
  123. rx-pool = <512 12>;
  124. tx-pool = <511 12>;
  125. rx-queue-depth = <128 128 0 0>;
  126. rx-buffer-size = <1518 4096 0 0>;
  127. rx-queue = <77>;
  128. tx-completion-queue = <78>;
  129. efuse-mac = <1>;
  130. netcp-gbe = <&gbe0>;
  131. };
  132. };
  133. };