keystone-k2g-netcp.dtsi 3.3 KB

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