qcom-ipq8064-c2600.dts 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412
  1. #include "qcom-ipq8064-v1.0.dtsi"
  2. #include <dt-bindings/input/input.h>
  3. / {
  4. model = "TP-Link Archer C2600";
  5. compatible = "tplink,c2600", "qcom,ipq8064";
  6. memory@0 {
  7. reg = <0x42000000 0x1e000000>;
  8. device_type = "memory";
  9. };
  10. reserved-memory {
  11. #address-cells = <1>;
  12. #size-cells = <1>;
  13. ranges;
  14. rsvd@41200000 {
  15. reg = <0x41200000 0x300000>;
  16. no-map;
  17. };
  18. };
  19. aliases {
  20. serial0 = &uart4;
  21. mdio-gpio0 = &mdio0;
  22. };
  23. chosen {
  24. linux,stdout-path = "serial0:115200n8";
  25. };
  26. soc {
  27. pinmux@800000 {
  28. i2c4_pins: i2c4_pinmux {
  29. pins = "gpio12", "gpio13";
  30. function = "gsbi4";
  31. bias-disable;
  32. };
  33. spi_pins: spi_pins {
  34. mux {
  35. pins = "gpio18", "gpio19", "gpio21";
  36. function = "gsbi5";
  37. drive-strength = <10>;
  38. bias-none;
  39. };
  40. };
  41. nand_pins: nand_pins {
  42. mux {
  43. pins = "gpio34", "gpio35", "gpio36",
  44. "gpio37", "gpio38", "gpio39",
  45. "gpio40", "gpio41", "gpio42",
  46. "gpio43", "gpio44", "gpio45",
  47. "gpio46", "gpio47";
  48. function = "nand";
  49. drive-strength = <10>;
  50. bias-disable;
  51. };
  52. pullups {
  53. pins = "gpio39";
  54. bias-pull-up;
  55. };
  56. hold {
  57. pins = "gpio40", "gpio41", "gpio42",
  58. "gpio43", "gpio44", "gpio45",
  59. "gpio46", "gpio47";
  60. bias-bus-hold;
  61. };
  62. };
  63. mdio0_pins: mdio0_pins {
  64. mux {
  65. pins = "gpio0", "gpio1";
  66. function = "gpio";
  67. drive-strength = <8>;
  68. bias-disable;
  69. };
  70. };
  71. rgmii2_pins: rgmii2_pins {
  72. mux {
  73. pins = "gpio27", "gpio28", "gpio29", "gpio30", "gpio31", "gpio32",
  74. "gpio51", "gpio52", "gpio59", "gpio60", "gpio61", "gpio62" ;
  75. function = "rgmii2";
  76. drive-strength = <8>;
  77. bias-disable;
  78. };
  79. };
  80. };
  81. gsbi@16300000 {
  82. qcom,mode = <GSBI_PROT_I2C_UART>;
  83. status = "ok";
  84. serial@16340000 {
  85. status = "ok";
  86. };
  87. /*
  88. * The i2c device on gsbi4 should not be enabled.
  89. * On ipq806x designs gsbi4 i2c is meant for exclusive
  90. * RPM usage. Turning this on in kernel manifests as
  91. * i2c failure for the RPM.
  92. */
  93. };
  94. gsbi5: gsbi@1a200000 {
  95. qcom,mode = <GSBI_PROT_SPI>;
  96. status = "ok";
  97. spi4: spi@1a280000 {
  98. status = "ok";
  99. spi-max-frequency = <50000000>;
  100. pinctrl-0 = <&spi_pins>;
  101. pinctrl-names = "default";
  102. cs-gpios = <&qcom_pinmux 20 0>;
  103. flash: m25p80@0 {
  104. compatible = "s25fl256s1";
  105. #address-cells = <1>;
  106. #size-cells = <1>;
  107. spi-max-frequency = <50000000>;
  108. reg = <0>;
  109. SBL1@0 {
  110. label = "SBL1";
  111. reg = <0x0 0x20000>;
  112. read-only;
  113. };
  114. MIBIB@20000 {
  115. label = "MIBIB";
  116. reg = <0x20000 0x20000>;
  117. read-only;
  118. };
  119. SBL2@40000 {
  120. label = "SBL2";
  121. reg = <0x40000 0x20000>;
  122. read-only;
  123. };
  124. SBL3@60000 {
  125. label = "SBL3";
  126. reg = <0x60000 0x30000>;
  127. read-only;
  128. };
  129. DDRCONFIG@90000 {
  130. label = "DDRCONFIG";
  131. reg = <0x90000 0x10000>;
  132. read-only;
  133. };
  134. SSD@a0000 {
  135. label = "SSD";
  136. reg = <0xa0000 0x10000>;
  137. read-only;
  138. };
  139. TZ@b0000 {
  140. label = "TZ";
  141. reg = <0xb0000 0x30000>;
  142. read-only;
  143. };
  144. RPM@e0000 {
  145. label = "RPM";
  146. reg = <0xe0000 0x20000>;
  147. read-only;
  148. };
  149. fs-uboot@100000 {
  150. label = "fs-uboot";
  151. reg = <0x100000 0x70000>;
  152. read-only;
  153. };
  154. uboot-env@170000 {
  155. label = "uboot-env";
  156. reg = <0x170000 0x40000>;
  157. read-only;
  158. };
  159. radio@1b0000 {
  160. label = "radio";
  161. reg = <0x1b0000 0x40000>;
  162. read-only;
  163. };
  164. os-image@1f0000 {
  165. label = "os-image";
  166. reg = <0x1f0000 0x200000>;
  167. };
  168. rootfs@3f0000 {
  169. label = "rootfs";
  170. reg = <0x3f0000 0x1b00000>;
  171. };
  172. defaultmac: default-mac@1ef0000 {
  173. label = "default-mac";
  174. reg = <0x1ef0000 0x00200>;
  175. read-only;
  176. };
  177. pin@1ef0200 {
  178. label = "pin";
  179. reg = <0x1ef0200 0x00200>;
  180. read-only;
  181. };
  182. product-info@1ef0400 {
  183. label = "product-info";
  184. reg = <0x1ef0400 0x0fc00>;
  185. read-only;
  186. };
  187. partition-table@1f00000 {
  188. label = "partition-table";
  189. reg = <0x1f00000 0x10000>;
  190. read-only;
  191. };
  192. soft-version@1f10000 {
  193. label = "soft-version";
  194. reg = <0x1f10000 0x10000>;
  195. read-only;
  196. };
  197. support-list@1f20000 {
  198. label = "support-list";
  199. reg = <0x1f20000 0x10000>;
  200. read-only;
  201. };
  202. profile@1f30000 {
  203. label = "profile";
  204. reg = <0x1f30000 0x10000>;
  205. read-only;
  206. };
  207. default-config@1f40000 {
  208. label = "default-config";
  209. reg = <0x1f40000 0x10000>;
  210. read-only;
  211. };
  212. user-config@1f50000 {
  213. label = "user-config";
  214. reg = <0x1f50000 0x40000>;
  215. read-only;
  216. };
  217. qos-db@1f90000 {
  218. label = "qos-db";
  219. reg = <0x1f90000 0x40000>;
  220. read-only;
  221. };
  222. usb-config@1fd0000 {
  223. label = "usb-config";
  224. reg = <0x1fd0000 0x10000>;
  225. read-only;
  226. };
  227. log@1fe0000 {
  228. label = "log";
  229. reg = <0x1fe0000 0x20000>;
  230. read-only;
  231. };
  232. };
  233. };
  234. };
  235. phy@100f8800 { /* USB3 port 1 HS phy */
  236. status = "ok";
  237. };
  238. phy@100f8830 { /* USB3 port 1 SS phy */
  239. status = "ok";
  240. };
  241. phy@110f8800 { /* USB3 port 0 HS phy */
  242. status = "ok";
  243. };
  244. phy@110f8830 { /* USB3 port 0 SS phy */
  245. status = "ok";
  246. };
  247. usb30@0 {
  248. status = "ok";
  249. };
  250. usb30@1 {
  251. status = "ok";
  252. };
  253. pcie0: pci@1b500000 {
  254. status = "ok";
  255. phy-tx0-term-offset = <7>;
  256. };
  257. pcie1: pci@1b700000 {
  258. status = "ok";
  259. phy-tx0-term-offset = <7>;
  260. };
  261. mdio0: mdio {
  262. compatible = "virtual,mdio-gpio";
  263. #address-cells = <1>;
  264. #size-cells = <0>;
  265. gpios = <&qcom_pinmux 1 0 &qcom_pinmux 0 0>;
  266. pinctrl-0 = <&mdio0_pins>;
  267. pinctrl-names = "default";
  268. phy0: ethernet-phy@0 {
  269. device_type = "ethernet-phy";
  270. reg = <0>;
  271. qca,ar8327-initvals = <
  272. 0x00004 0x7600000 /* PAD0_MODE */
  273. 0x00008 0x1000000 /* PAD5_MODE */
  274. 0x0000c 0x80 /* PAD6_MODE */
  275. 0x000e4 0x6a545 /* MAC_POWER_SEL */
  276. 0x000e0 0xc74164de /* SGMII_CTRL */
  277. 0x0007c 0x4e /* PORT0_STATUS */
  278. 0x00094 0x4e /* PORT6_STATUS */
  279. >;
  280. };
  281. phy4: ethernet-phy@4 {
  282. device_type = "ethernet-phy";
  283. reg = <4>;
  284. };
  285. };
  286. gmac1: ethernet@37200000 {
  287. status = "ok";
  288. phy-mode = "rgmii";
  289. qcom,id = <1>;
  290. pinctrl-0 = <&rgmii2_pins>;
  291. pinctrl-names = "default";
  292. mtd-mac-address = <&defaultmac 0x8>;
  293. mtd-mac-address-increment = <1>;
  294. fixed-link {
  295. speed = <1000>;
  296. full-duplex;
  297. };
  298. };
  299. gmac2: ethernet@37400000 {
  300. status = "ok";
  301. phy-mode = "sgmii";
  302. qcom,id = <2>;
  303. mtd-mac-address = <&defaultmac 0x8>;
  304. fixed-link {
  305. speed = <1000>;
  306. full-duplex;
  307. };
  308. };
  309. };
  310. gpio-keys {
  311. compatible = "gpio-keys";
  312. wifi {
  313. label = "wifi";
  314. gpios = <&qcom_pinmux 49 1>;
  315. linux,code = <KEY_WLAN>;
  316. };
  317. reset {
  318. label = "reset";
  319. gpios = <&qcom_pinmux 64 1>;
  320. linux,code = <KEY_RESTART>;
  321. };
  322. wps {
  323. label = "wps";
  324. gpios = <&qcom_pinmux 65 1>;
  325. linux,code = <KEY_WPS_BUTTON>;
  326. };
  327. ledgeneral {
  328. label = "ledgeneral";
  329. gpios = <&qcom_pinmux 16 1>;
  330. linux,code = <KEY_DOLLAR>;
  331. };
  332. };
  333. gpio-leds {
  334. compatible = "gpio-leds";
  335. lan {
  336. label = "lan:blue";
  337. gpios = <&qcom_pinmux 6 0>;
  338. };
  339. usb4 {
  340. label = "usb_4:blue";
  341. gpios = <&qcom_pinmux 7 0>;
  342. };
  343. usb2 {
  344. label = "usb_2:blue";
  345. gpios = <&qcom_pinmux 8 0>;
  346. };
  347. wps {
  348. label = "wps:blue";
  349. gpios = <&qcom_pinmux 9 0>;
  350. };
  351. wan_blue {
  352. label = "wan:blue";
  353. gpios = <&qcom_pinmux 33 1>;
  354. };
  355. status {
  356. label = "status:blue";
  357. gpios = <&qcom_pinmux 53 0>;
  358. default-state = "on";
  359. };
  360. ledgnr {
  361. label = "ledgnr:blue";
  362. gpios = <&qcom_pinmux 66 0>;
  363. };
  364. };
  365. };
  366. &adm_dma {
  367. status = "ok";
  368. };