qcom-ipq4029-ap-303.dts 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419
  1. // SPDX-License-Identifier: GPL-2.0 OR MIT
  2. #include "qcom-ipq4019.dtsi"
  3. #include <dt-bindings/gpio/gpio.h>
  4. #include <dt-bindings/input/input.h>
  5. #include <dt-bindings/soc/qcom,tcsr.h>
  6. / {
  7. model = "Aruba AP-303";
  8. compatible = "aruba,ap-303";
  9. aliases {
  10. led-boot = &led_system_green;
  11. led-failsafe = &led_system_red;
  12. led-running = &led_system_green;
  13. led-upgrade = &led_system_red;
  14. };
  15. memory {
  16. device_type = "memory";
  17. reg = <0x80000000 0x10000000>;
  18. };
  19. soc {
  20. rng@22000 {
  21. status = "okay";
  22. };
  23. mdio@90000 {
  24. status = "okay";
  25. pinctrl-0 = <&mdio_pins>;
  26. pinctrl-names = "default";
  27. /delete-node/ ethernet-phy@0;
  28. /delete-node/ ethernet-phy@2;
  29. /delete-node/ ethernet-phy@3;
  30. /delete-node/ ethernet-phy@4;
  31. ethernet-phy@5 {
  32. reg = <0x5>;
  33. };
  34. };
  35. counter@4a1000 {
  36. compatible = "qcom,qca-gcnt";
  37. reg = <0x4a1000 0x4>;
  38. };
  39. ess_tcsr@1953000 {
  40. compatible = "qcom,tcsr";
  41. reg = <0x1953000 0x1000>;
  42. qcom,ess-interface-select = <TCSR_ESS_PSGMII_RGMII5>;
  43. };
  44. tcsr@1949000 {
  45. compatible = "qcom,tcsr";
  46. reg = <0x1949000 0x100>;
  47. qcom,wifi_glb_cfg = <TCSR_WIFI_GLB_CFG>;
  48. };
  49. tcsr@1957000 {
  50. compatible = "qcom,tcsr";
  51. reg = <0x1957000 0x100>;
  52. qcom,wifi_noc_memtype_m0_m2 = <TCSR_WIFI_NOC_MEMTYPE_M0_M2>;
  53. };
  54. crypto@8e3a000 {
  55. status = "okay";
  56. };
  57. watchdog@b017000 {
  58. status = "okay";
  59. };
  60. ess-switch@c000000 {
  61. switch_mac_mode = <0x3>; /* mac mode for RGMII RMII */
  62. switch_lan_bmp = <0x0>; /* lan port bitmap */
  63. switch_wan_bmp = <0x10>; /* wan port bitmap */
  64. };
  65. edma@c080000 {
  66. qcom,single-phy;
  67. qcom,num_gmac = <1>;
  68. phy-mode = "rgmii-id";
  69. status = "okay";
  70. };
  71. i2c_0: i2c@78b7000 {
  72. pinctrl-0 = <&i2c_0_pins>;
  73. pinctrl-names = "default";
  74. status = "ok";
  75. tpm@29 {
  76. /* No Driver */
  77. compatible = "atmel,at97sc3203";
  78. reg = <0x29>;
  79. read-only;
  80. };
  81. };
  82. };
  83. leds {
  84. compatible = "gpio-leds";
  85. wifi_green {
  86. label = "ap-303:green:wifi";
  87. gpios = <&tlmm 39 GPIO_ACTIVE_HIGH>;
  88. linux,default-trigger = "phy0tpt";
  89. };
  90. wifi_amber {
  91. label = "ap-303:amber:wifi";
  92. gpios = <&tlmm 40 GPIO_ACTIVE_HIGH>;
  93. linux,default-trigger = "phy1tpt";
  94. };
  95. led_system_red: system_red {
  96. label = "ap-303:red:system";
  97. gpios = <&tlmm 46 GPIO_ACTIVE_HIGH>;
  98. };
  99. led_system_green: system_green {
  100. label = "ap-303:green:system";
  101. gpios = <&tlmm 47 GPIO_ACTIVE_HIGH>;
  102. };
  103. };
  104. keys {
  105. compatible = "gpio-keys";
  106. reset {
  107. label = "Reset button";
  108. gpios = <&tlmm 50 GPIO_ACTIVE_LOW>;
  109. linux,code = <KEY_RESTART>;
  110. };
  111. };
  112. };
  113. &blsp_dma {
  114. status = "okay";
  115. };
  116. &blsp1_uart1 {
  117. /* Texas Instruments CC2540T BLE radio */
  118. pinctrl-0 = <&serial_0_pins>;
  119. pinctrl-names = "default";
  120. status = "okay";
  121. };
  122. &blsp1_uart2 {
  123. pinctrl-0 = <&serial_1_pins>;
  124. pinctrl-names = "default";
  125. status = "okay";
  126. };
  127. &cryptobam {
  128. status = "okay";
  129. };
  130. &gmac0 {
  131. qcom,phy_mdio_addr = <5>;
  132. qcom,poll_required = <1>;
  133. vlan_tag = <0 0x20>;
  134. };
  135. &qpic_bam {
  136. status = "okay";
  137. };
  138. &tlmm {
  139. /*
  140. * In addition to the Pins listed below,
  141. * the following GPIOs have "features":
  142. * 54 - out - active low to force HW reset
  143. * 41 - out - active low to reset TPM
  144. * 43 - out - active low to reset BLE radio
  145. * 19 - in - active high when DC powered
  146. */
  147. mdio_pins: mdio_pinmux {
  148. mux_1 {
  149. pins = "gpio6";
  150. function = "mdio";
  151. bias-pull-up;
  152. };
  153. mux_2 {
  154. pins = "gpio7";
  155. function = "mdc";
  156. bias-pull-up;
  157. };
  158. };
  159. nand_pins: nand_pins {
  160. pullups {
  161. pins = "gpio53", "gpio58", "gpio59";
  162. function = "qpic";
  163. bias-pull-up;
  164. };
  165. pulldowns {
  166. pins = "gpio54", "gpio55", "gpio56",
  167. "gpio57", "gpio60", "gpio61",
  168. "gpio62", "gpio63", "gpio64",
  169. "gpio65", "gpio66", "gpio67",
  170. "gpio68", "gpio69";
  171. function = "qpic";
  172. bias-pull-down;
  173. };
  174. };
  175. spi_0_pins: spi_0_pinmux {
  176. pin {
  177. function = "blsp_spi0";
  178. pins = "gpio13", "gpio14", "gpio15";
  179. drive-strength = <12>;
  180. bias-disable;
  181. };
  182. pin_cs {
  183. function = "gpio";
  184. pins = "gpio12";
  185. drive-strength = <2>;
  186. bias-disable;
  187. output-high;
  188. };
  189. };
  190. i2c_0_pins: i2c_0_pinmux {
  191. mux {
  192. pins = "gpio10", "gpio11";
  193. function = "blsp_i2c0";
  194. drive-strength = <4>;
  195. bias-disable;
  196. };
  197. };
  198. serial_0_pins: serial_0_pinmux {
  199. mux {
  200. pins = "gpio16", "gpio17";
  201. function = "blsp_uart0";
  202. bias-disable;
  203. };
  204. };
  205. serial_1_pins: serial_1_pinmux {
  206. mux {
  207. pins = "gpio8", "gpio9";
  208. function = "blsp_uart1";
  209. bias-disable;
  210. };
  211. };
  212. phy-reset {
  213. line-name = "PHY-reset";
  214. gpios = <42 GPIO_ACTIVE_HIGH>;
  215. gpio-hog;
  216. output-high;
  217. };
  218. };
  219. &nand {
  220. pinctrl-0 = <&nand_pins>;
  221. pinctrl-names = "default";
  222. status = "okay";
  223. nand@0 {
  224. partitions {
  225. compatible = "fixed-partitions";
  226. #address-cells = <1>;
  227. #size-cells = <1>;
  228. partition@0 {
  229. /* 'aos0' in Aruba firmware */
  230. label = "aos0";
  231. reg = <0x0 0x2000000>;
  232. read-only;
  233. };
  234. partition@2000000 {
  235. /* 'aos1' in AVM firmware */
  236. label = "ubi";
  237. reg = <0x2000000 0x2000000>;
  238. };
  239. partition@4000000 {
  240. label = "aruba-ubifs";
  241. reg = <0x4000000 0x4000000>;
  242. read-only;
  243. };
  244. };
  245. };
  246. };
  247. &blsp1_spi1 {
  248. pinctrl-0 = <&spi_0_pins>;
  249. pinctrl-names = "default";
  250. status = "okay";
  251. cs-gpios = <&tlmm 12 GPIO_ACTIVE_HIGH>;
  252. flash@0 {
  253. compatible = "jedec,spi-nor";
  254. reg = <0>;
  255. spi-max-frequency = <24000000>;
  256. partitions {
  257. compatible = "fixed-partitions";
  258. #address-cells = <1>;
  259. #size-cells = <1>;
  260. /*
  261. * There is no partition map for the NOR flash
  262. * in the stock firmware.
  263. *
  264. * All partitions here are based on offsets
  265. * found in the U-Boot GPL code and information
  266. * from smem.
  267. */
  268. partition@0 {
  269. label = "sbl1";
  270. reg = <0x0 0x40000>;
  271. read-only;
  272. };
  273. partition@40000 {
  274. label = "mibib";
  275. reg = <0x40000 0x20000>;
  276. read-only;
  277. };
  278. partition@60000 {
  279. label = "qsee";
  280. reg = <0x60000 0x60000>;
  281. read-only;
  282. };
  283. partition@c0000 {
  284. label = "cdt";
  285. reg = <0xc0000 0x10000>;
  286. read-only;
  287. };
  288. partition@d0000 {
  289. label = "ddrparams";
  290. reg = <0xd0000 0x10000>;
  291. read-only;
  292. };
  293. partition@e0000 {
  294. label = "ART";
  295. reg = <0xe0000 0x10000>;
  296. read-only;
  297. };
  298. partition@f0000 {
  299. label = "appsbl";
  300. reg = <0xf0000 0xf0000>;
  301. read-only;
  302. };
  303. partition@1e0000 {
  304. label = "mfginfo";
  305. reg = <0x1e0000 0x10000>;
  306. read-only;
  307. };
  308. partition@1f0000 {
  309. label = "apcd";
  310. reg = <0x1f0000 0x10000>;
  311. read-only;
  312. };
  313. partition@200000 {
  314. label = "osss";
  315. reg = <0x200000 0x180000>;
  316. read-only;
  317. };
  318. partition@380000 {
  319. /* This is empty */
  320. label = "appsblenv";
  321. reg = <0x380000 0x10000>;
  322. read-only;
  323. };
  324. partition@390000 {
  325. label = "pds";
  326. reg = <0x390000 0x10000>;
  327. read-only;
  328. };
  329. partition@3a0000 {
  330. label = "fcache";
  331. reg = <0x3a0000 0x10000>;
  332. read-only;
  333. };
  334. partition@3b0000 {
  335. /* Called osss1 in smem */
  336. label = "u-boot-env-bak";
  337. reg = <0x3b0000 0x10000>;
  338. read-only;
  339. };
  340. partition@3f0000 {
  341. label = "u-boot-env";
  342. reg = <0x3f0000 0x10000>;
  343. read-only;
  344. };
  345. };
  346. };
  347. };
  348. &wifi0 {
  349. status = "okay";
  350. qcom,ath10k-calibration-variant = "Aruba-AP-303";
  351. };
  352. &wifi1 {
  353. status = "okay";
  354. qcom,ath10k-calibration-variant = "Aruba-AP-303";
  355. };