2
0

ws-ap3825i.dts 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352
  1. // SPDX-License-Identifier: GPL-2.0-or-later or MIT
  2. /include/ "fsl/p1020si-pre.dtsi"
  3. #include <dt-bindings/gpio/gpio.h>
  4. #include <dt-bindings/input/input.h>
  5. / {
  6. model = "Extreme Networks WS-AP3825i";
  7. compatible = "extreme-networks,ws-ap3825i";
  8. aliases {
  9. ethernet0 = &enet0;
  10. ethernet1 = &enet2;
  11. led-boot = &led_power_green;
  12. led-failsafe = &led_power_red;
  13. led-running = &led_power_green;
  14. led-upgrade = &led_power_red;
  15. };
  16. chosen {
  17. bootargs-override = "console=ttyS0,115200";
  18. stdout-path = &serial0;
  19. };
  20. memory {
  21. device_type = "memory";
  22. };
  23. leds {
  24. compatible = "gpio-leds";
  25. wifi1 {
  26. gpios = <&spi_gpio 3 GPIO_ACTIVE_HIGH>;
  27. label = "green:radio1";
  28. linux,default-trigger = "phy0tpt";
  29. };
  30. wifi2 {
  31. gpios = <&spi_gpio 2 GPIO_ACTIVE_HIGH>;
  32. label = "green:radio2";
  33. linux,default-trigger = "phy1tpt";
  34. };
  35. led_power_green: power_green {
  36. gpios = <&spi_gpio 0 GPIO_ACTIVE_HIGH>;
  37. label = "green:power";
  38. };
  39. led_power_red: power_red {
  40. gpios = <&spi_gpio 1 GPIO_ACTIVE_HIGH>;
  41. label = "red:power";
  42. };
  43. lan1_red {
  44. gpios = <&spi_gpio 6 GPIO_ACTIVE_HIGH>;
  45. label = "red:lan1";
  46. };
  47. lan1_green {
  48. gpios = <&spi_gpio 4 GPIO_ACTIVE_HIGH>;
  49. label = "green:lan1";
  50. };
  51. lan2_red {
  52. gpios = <&spi_gpio 7 GPIO_ACTIVE_HIGH>;
  53. label = "red:lan2";
  54. };
  55. lan2_green {
  56. gpios = <&spi_gpio 5 GPIO_ACTIVE_HIGH>;
  57. label = "green:lan2";
  58. };
  59. };
  60. keys {
  61. compatible = "gpio-keys";
  62. reset {
  63. label = "Reset button";
  64. gpios = <&gpio0 8 GPIO_ACTIVE_LOW>;
  65. linux,code = <KEY_RESTART>;
  66. };
  67. };
  68. lbc: localbus@ffe05000 {
  69. reg = <0 0xffe05000 0 0x1000>;
  70. ranges = <0x0 0x0 0x0 0xec000000 0x4000000>;
  71. nor@0 {
  72. #address-cells = <1>;
  73. #size-cells = <1>;
  74. compatible = "cfi-flash";
  75. reg = <0x0 0x0 0x4000000>;
  76. bank-width = <2>;
  77. device-width = <1>;
  78. partitions {
  79. compatible = "fixed-partitions";
  80. #address-cells = <1>;
  81. #size-cells = <1>;
  82. partition@0 {
  83. compatible = "denx,fit";
  84. reg = <0x0 0x3d60000>;
  85. label = "firmware";
  86. };
  87. partition@3d60000 {
  88. reg = <0x3d60000 0x20000>;
  89. label = "calib";
  90. read-only;
  91. };
  92. partition@3d80000{
  93. reg = <0x3d80000 0x80000>;
  94. label = "u-boot";
  95. read-only;
  96. };
  97. partition@3e00000{
  98. reg = <0x3e00000 0x100000>;
  99. label = "nvram";
  100. read-only;
  101. };
  102. partition@3f00000 {
  103. reg = <0x3f00000 0x20000>;
  104. label = "cfg2";
  105. };
  106. partition@3f20000 {
  107. reg = <0x3f20000 0x20000>;
  108. label = "cfg1";
  109. };
  110. };
  111. };
  112. };
  113. soc: soc@ffe00000 {
  114. ranges = <0x0 0x0 0xffe00000 0x100000>;
  115. gpio0: gpio-controller@fc00 {
  116. };
  117. mdio@24000 {
  118. phy0: ethernet-phy@0 {
  119. /* interrupts = <3 1 0 0>; */
  120. reg = <0x5>;
  121. reset-gpios = <&gpio0 6 GPIO_ACTIVE_LOW>;
  122. reset-assert-us = <10000>;
  123. reset-deassert-us = <10000>;
  124. };
  125. phy2: ethernet-phy@2 {
  126. /* interrupts = <1 1 0 0>; */
  127. reg = <0x6>;
  128. reset-gpios = <&gpio0 7 GPIO_ACTIVE_LOW>;
  129. reset-assert-us = <10000>;
  130. reset-deassert-us = <10000>;
  131. };
  132. };
  133. mdio@25000 {
  134. status = "disabled";
  135. };
  136. mdio@26000 {
  137. status = "disabled";
  138. };
  139. enet0: ethernet@b0000 {
  140. status = "okay";
  141. phy-handle = <&phy0>;
  142. phy-connection-type = "rgmii-id";
  143. };
  144. enet1: ethernet@b1000 {
  145. status = "disabled";
  146. };
  147. enet2: ethernet@b2000 {
  148. status = "okay";
  149. phy-handle = <&phy2>;
  150. phy-connection-type = "rgmii-id";
  151. };
  152. usb@22000 {
  153. phy_type = "ulpi";
  154. dr_mode = "host";
  155. };
  156. usb@23000 {
  157. status = "disabled";
  158. };
  159. };
  160. pci0: pcie@ffe09000 {
  161. ranges = <0x2000000 0x0 0xa0000000 0 0xa0000000 0x0 0x20000000
  162. 0x1000000 0x0 0x00000000 0 0xffc10000 0x0 0x10000>;
  163. reg = <0 0xffe09000 0 0x1000>;
  164. /* Filled by U-Boot */
  165. bus-range = <0x00 0x01>;
  166. dma-ranges = <0x2000000 0x00 0xfff00000 0x00 0xffe00000
  167. 0x00 0x100000 0x42000000 0x00 0x00 0x00
  168. 0x00 0x00 0x10000000>;
  169. pcie@0 {
  170. ranges = <0x2000000 0x0 0xa0000000
  171. 0x2000000 0x0 0xa0000000
  172. 0x0 0x20000000
  173. 0x1000000 0x0 0x0
  174. 0x1000000 0x0 0x0
  175. 0x0 0x100000>;
  176. };
  177. };
  178. pci1: pcie@ffe0a000 {
  179. reg = <0 0xffe0a000 0 0x1000>;
  180. ranges = <0x2000000 0x0 0x80000000 0 0x80000000 0x0 0x20000000
  181. 0x1000000 0x0 0x00000000 0 0xffc00000 0x0 0x10000>;
  182. /* Filled by U-Boot */
  183. bus-range = <0x00 0x01>;
  184. dma-ranges = <0x2000000 0x00 0xfff00000 0x00
  185. 0xffe00000 0x00 0x100000 0x42000000
  186. 0x00 0x00 0x00 0x00 0x00 0x10000000>;
  187. pcie@0 {
  188. ranges = <0x2000000 0x0 0x80000000
  189. 0x2000000 0x0 0x80000000
  190. 0x0 0x20000000
  191. 0x1000000 0x0 0x0
  192. 0x1000000 0x0 0x0
  193. 0x0 0x100000>;
  194. };
  195. };
  196. };
  197. &soc {
  198. led_spi {
  199. /*
  200. * This is currently non-functioning because the spi-gpio
  201. * driver refuses to register when presented with this node.
  202. */
  203. compatible = "spi-gpio";
  204. #address-cells = <1>;
  205. #size-cells = <0>;
  206. sck-gpios = <&gpio0 14 GPIO_ACTIVE_HIGH>;
  207. mosi-gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>;
  208. num-chipselects = <0>;
  209. spi_gpio: led_gpio@0 {
  210. compatible = "fairchild,74hc595";
  211. reg = <0>;
  212. gpio-controller;
  213. #gpio-cells = <2>;
  214. registers-number = <1>;
  215. spi-max-frequency = <100000>;
  216. };
  217. };
  218. };
  219. /include/ "fsl/p1020si-post.dtsi"
  220. / {
  221. cpus {
  222. PowerPC,P1020@0 {
  223. bus-frequency = <399999996>;
  224. timebase-frequency = <50000000>;
  225. clock-frequency = <799999992>;
  226. d-cache-block-size = <0x20>;
  227. d-cache-size = <0x8000>;
  228. d-cache-sets = <0x80>;
  229. i-cache-block-size = <0x20>;
  230. i-cache-size = <0x8000>;
  231. i-cache-sets = <0x80>;
  232. cpu-release-addr = <0x0 0x0ffff280>;
  233. status = "okay";
  234. enable-method = "spin-table";
  235. };
  236. PowerPC,P1020@1 {
  237. bus-frequency = <399999996>;
  238. timebase-frequency = <50000000>;
  239. clock-frequency = <799999992>;
  240. d-cache-block-size = <0x20>;
  241. d-cache-size = <0x8000>;
  242. d-cache-sets = <0x80>;
  243. i-cache-block-size = <0x20>;
  244. i-cache-size = <0x8000>;
  245. i-cache-sets = <0x80>;
  246. cpu-release-addr = <0x0 0x0ffff2a0>;
  247. status = "disabled";
  248. enable-method = "spin-table";
  249. };
  250. };
  251. memory {
  252. /* Reserve upper MB for second-core-bootpage */
  253. reg = <0x0 0x0 0x0 0xff00000>;
  254. };
  255. soc@ffe00000 {
  256. bus-frequency = <399999996>;
  257. serial@4600 {
  258. clock-frequency = <399999996>;
  259. };
  260. serial@4500 {
  261. clock-frequency = <399999996>;
  262. };
  263. pic@40000 {
  264. clock-frequency = <399999996>;
  265. };
  266. };
  267. localbus@ffe05000 {
  268. bus-frequency = <24999999>;
  269. };
  270. };
  271. &enet0 {
  272. rx-stash-idx = <0x00>;
  273. rx-stash-len = <0x60>;
  274. bd-stash;
  275. };
  276. &enet2 {
  277. rx-stash-idx = <0x00>;
  278. rx-stash-len = <0x60>;
  279. bd-stash;
  280. };
  281. /*
  282. * For the OpenWrt 22.03 release, since Linux 5.10.138 now uses
  283. * aliases to determine PCI domain numbers, drop aliases so as not to
  284. * change the sysfs path of our wireless netdevs.
  285. */
  286. / {
  287. aliases {
  288. /delete-property/ pci0;
  289. /delete-property/ pci1;
  290. };
  291. };