hi3798cv200.dtsi 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623
  1. /*
  2. * DTS File for HiSilicon Hi3798cv200 SoC.
  3. *
  4. * Copyright (c) 2016-2017 HiSilicon Technologies Co., Ltd.
  5. *
  6. * Released under the GPLv2 only.
  7. * SPDX-License-Identifier: GPL-2.0
  8. */
  9. #include <dt-bindings/clock/histb-clock.h>
  10. #include <dt-bindings/gpio/gpio.h>
  11. #include <dt-bindings/interrupt-controller/arm-gic.h>
  12. #include <dt-bindings/phy/phy.h>
  13. #include <dt-bindings/reset/ti-syscon.h>
  14. / {
  15. compatible = "hisilicon,hi3798cv200";
  16. interrupt-parent = <&gic>;
  17. #address-cells = <2>;
  18. #size-cells = <2>;
  19. psci {
  20. compatible = "arm,psci-0.2";
  21. method = "smc";
  22. };
  23. cpus {
  24. #address-cells = <2>;
  25. #size-cells = <0>;
  26. cpu@0 {
  27. compatible = "arm,cortex-a53";
  28. device_type = "cpu";
  29. reg = <0x0 0x0>;
  30. enable-method = "psci";
  31. };
  32. cpu@1 {
  33. compatible = "arm,cortex-a53";
  34. device_type = "cpu";
  35. reg = <0x0 0x1>;
  36. enable-method = "psci";
  37. };
  38. cpu@2 {
  39. compatible = "arm,cortex-a53";
  40. device_type = "cpu";
  41. reg = <0x0 0x2>;
  42. enable-method = "psci";
  43. };
  44. cpu@3 {
  45. compatible = "arm,cortex-a53";
  46. device_type = "cpu";
  47. reg = <0x0 0x3>;
  48. enable-method = "psci";
  49. };
  50. };
  51. gic: interrupt-controller@f1001000 {
  52. compatible = "arm,gic-400";
  53. reg = <0x0 0xf1001000 0x0 0x1000>, /* GICD */
  54. <0x0 0xf1002000 0x0 0x100>; /* GICC */
  55. #address-cells = <0>;
  56. #interrupt-cells = <3>;
  57. interrupt-controller;
  58. };
  59. timer {
  60. compatible = "arm,armv8-timer";
  61. interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) |
  62. IRQ_TYPE_LEVEL_LOW)>,
  63. <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) |
  64. IRQ_TYPE_LEVEL_LOW)>,
  65. <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) |
  66. IRQ_TYPE_LEVEL_LOW)>,
  67. <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) |
  68. IRQ_TYPE_LEVEL_LOW)>;
  69. };
  70. soc: soc@f0000000 {
  71. compatible = "simple-bus";
  72. #address-cells = <1>;
  73. #size-cells = <1>;
  74. ranges = <0x0 0x0 0xf0000000 0x10000000>;
  75. crg: clock-reset-controller@8a22000 {
  76. compatible = "hisilicon,hi3798cv200-crg", "syscon", "simple-mfd";
  77. reg = <0x8a22000 0x1000>;
  78. #clock-cells = <1>;
  79. #reset-cells = <2>;
  80. gmacphyrst: reset-controller {
  81. compatible = "ti,syscon-reset";
  82. #reset-cells = <1>;
  83. ti,reset-bits =
  84. <0xcc 12 0xcc 12 0 0 (ASSERT_CLEAR |
  85. DEASSERT_SET|STATUS_NONE)>,
  86. <0xcc 13 0xcc 13 0 0 (ASSERT_CLEAR |
  87. DEASSERT_SET|STATUS_NONE)>;
  88. };
  89. };
  90. sysctrl: system-controller@8000000 {
  91. compatible = "hisilicon,hi3798cv200-sysctrl", "syscon";
  92. reg = <0x8000000 0x1000>;
  93. #clock-cells = <1>;
  94. #reset-cells = <2>;
  95. };
  96. perictrl: peripheral-controller@8a20000 {
  97. compatible = "hisilicon,hi3798cv200-perictrl", "syscon",
  98. "simple-mfd";
  99. reg = <0x8a20000 0x1000>;
  100. #address-cells = <1>;
  101. #size-cells = <1>;
  102. ranges = <0x0 0x8a20000 0x1000>;
  103. usb2_phy1: usb2-phy@120 {
  104. compatible = "hisilicon,hi3798cv200-usb2-phy";
  105. reg = <0x120 0x4>;
  106. clocks = <&crg HISTB_USB2_PHY1_REF_CLK>;
  107. resets = <&crg 0xbc 4>;
  108. #address-cells = <1>;
  109. #size-cells = <0>;
  110. usb2_phy1_port0: phy@0 {
  111. reg = <0>;
  112. #phy-cells = <0>;
  113. resets = <&crg 0xbc 8>;
  114. };
  115. usb2_phy1_port1: phy@1 {
  116. reg = <1>;
  117. #phy-cells = <0>;
  118. resets = <&crg 0xbc 9>;
  119. };
  120. };
  121. usb2_phy2: usb2-phy@124 {
  122. compatible = "hisilicon,hi3798cv200-usb2-phy";
  123. reg = <0x124 0x4>;
  124. clocks = <&crg HISTB_USB2_PHY2_REF_CLK>;
  125. resets = <&crg 0xbc 6>;
  126. #address-cells = <1>;
  127. #size-cells = <0>;
  128. usb2_phy2_port0: phy@0 {
  129. reg = <0>;
  130. #phy-cells = <0>;
  131. resets = <&crg 0xbc 10>;
  132. };
  133. };
  134. combphy0: phy@850 {
  135. compatible = "hisilicon,hi3798cv200-combphy";
  136. reg = <0x850 0x8>;
  137. #phy-cells = <1>;
  138. clocks = <&crg HISTB_COMBPHY0_CLK>;
  139. resets = <&crg 0x188 4>;
  140. assigned-clocks = <&crg HISTB_COMBPHY0_CLK>;
  141. assigned-clock-rates = <100000000>;
  142. hisilicon,fixed-mode = <PHY_TYPE_USB3>;
  143. };
  144. combphy1: phy@858 {
  145. compatible = "hisilicon,hi3798cv200-combphy";
  146. reg = <0x858 0x8>;
  147. #phy-cells = <1>;
  148. clocks = <&crg HISTB_COMBPHY1_CLK>;
  149. resets = <&crg 0x188 12>;
  150. assigned-clocks = <&crg HISTB_COMBPHY1_CLK>;
  151. assigned-clock-rates = <100000000>;
  152. hisilicon,mode-select-bits = <0x0008 11 (0x3 << 11)>;
  153. };
  154. };
  155. pmx0: pinconf@8a21000 {
  156. compatible = "pinconf-single";
  157. reg = <0x8a21000 0x180>;
  158. pinctrl-single,register-width = <32>;
  159. pinctrl-single,function-mask = <7>;
  160. pinctrl-single,gpio-range = <
  161. &range 0 8 2 /* GPIO 0 */
  162. &range 8 1 0 /* GPIO 1 */
  163. &range 9 4 2
  164. &range 13 1 0
  165. &range 14 1 1
  166. &range 15 1 0
  167. &range 16 5 0 /* GPIO 2 */
  168. &range 21 3 1
  169. &range 24 4 1 /* GPIO 3 */
  170. &range 28 2 2
  171. &range 86 1 1
  172. &range 87 1 0
  173. &range 30 4 2 /* GPIO 4 */
  174. &range 34 3 0
  175. &range 37 1 2
  176. &range 38 3 2 /* GPIO 6 */
  177. &range 41 5 0
  178. &range 46 8 1 /* GPIO 7 */
  179. &range 54 8 1 /* GPIO 8 */
  180. &range 64 7 1 /* GPIO 9 */
  181. &range 71 1 0
  182. &range 72 6 1 /* GPIO 10 */
  183. &range 78 1 0
  184. &range 79 1 1
  185. &range 80 6 1 /* GPIO 11 */
  186. &range 70 2 1
  187. &range 88 8 0 /* GPIO 12 */
  188. >;
  189. range: gpio-range {
  190. #pinctrl-single,gpio-range-cells = <3>;
  191. };
  192. };
  193. uart0: serial@8b00000 {
  194. compatible = "arm,pl011", "arm,primecell";
  195. reg = <0x8b00000 0x1000>;
  196. interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
  197. clocks = <&sysctrl HISTB_UART0_CLK>;
  198. clock-names = "apb_pclk";
  199. status = "disabled";
  200. };
  201. uart2: serial@8b02000 {
  202. compatible = "arm,pl011", "arm,primecell";
  203. reg = <0x8b02000 0x1000>;
  204. interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
  205. clocks = <&crg HISTB_UART2_CLK>;
  206. clock-names = "apb_pclk";
  207. status = "disabled";
  208. };
  209. i2c0: i2c@8b10000 {
  210. compatible = "hisilicon,hix5hd2-i2c";
  211. reg = <0x8b10000 0x1000>;
  212. #address-cells = <1>;
  213. #size-cells = <0>;
  214. interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
  215. clock-frequency = <400000>;
  216. clocks = <&crg HISTB_I2C0_CLK>;
  217. status = "disabled";
  218. };
  219. i2c1: i2c@8b11000 {
  220. compatible = "hisilicon,hix5hd2-i2c";
  221. reg = <0x8b11000 0x1000>;
  222. #address-cells = <1>;
  223. #size-cells = <0>;
  224. interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
  225. clock-frequency = <400000>;
  226. clocks = <&crg HISTB_I2C1_CLK>;
  227. status = "disabled";
  228. };
  229. i2c2: i2c@8b12000 {
  230. compatible = "hisilicon,hix5hd2-i2c";
  231. reg = <0x8b12000 0x1000>;
  232. #address-cells = <1>;
  233. #size-cells = <0>;
  234. interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
  235. clock-frequency = <400000>;
  236. clocks = <&crg HISTB_I2C2_CLK>;
  237. status = "disabled";
  238. };
  239. i2c3: i2c@8b13000 {
  240. compatible = "hisilicon,hix5hd2-i2c";
  241. reg = <0x8b13000 0x1000>;
  242. #address-cells = <1>;
  243. #size-cells = <0>;
  244. interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
  245. clock-frequency = <400000>;
  246. clocks = <&crg HISTB_I2C3_CLK>;
  247. status = "disabled";
  248. };
  249. i2c4: i2c@8b14000 {
  250. compatible = "hisilicon,hix5hd2-i2c";
  251. reg = <0x8b14000 0x1000>;
  252. #address-cells = <1>;
  253. #size-cells = <0>;
  254. interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
  255. clock-frequency = <400000>;
  256. clocks = <&crg HISTB_I2C4_CLK>;
  257. status = "disabled";
  258. };
  259. spi0: spi@8b1a000 {
  260. compatible = "arm,pl022", "arm,primecell";
  261. reg = <0x8b1a000 0x1000>;
  262. interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
  263. num-cs = <1>;
  264. cs-gpios = <&gpio7 1 0>;
  265. clocks = <&crg HISTB_SPI0_CLK>;
  266. clock-names = "apb_pclk";
  267. #address-cells = <1>;
  268. #size-cells = <0>;
  269. status = "disabled";
  270. };
  271. sd0: mmc@9820000 {
  272. compatible = "snps,dw-mshc";
  273. reg = <0x9820000 0x10000>;
  274. interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
  275. clocks = <&crg HISTB_SDIO0_CIU_CLK>,
  276. <&crg HISTB_SDIO0_BIU_CLK>;
  277. clock-names = "ciu", "biu";
  278. resets = <&crg 0x9c 4>;
  279. reset-names = "reset";
  280. status = "disabled";
  281. };
  282. emmc: mmc@9830000 {
  283. compatible = "hisilicon,hi3798cv200-dw-mshc";
  284. reg = <0x9830000 0x10000>;
  285. interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
  286. clocks = <&crg HISTB_MMC_CIU_CLK>,
  287. <&crg HISTB_MMC_BIU_CLK>,
  288. <&crg HISTB_MMC_SAMPLE_CLK>,
  289. <&crg HISTB_MMC_DRV_CLK>;
  290. clock-names = "ciu", "biu", "ciu-sample", "ciu-drive";
  291. resets = <&crg 0xa0 4>;
  292. reset-names = "reset";
  293. status = "disabled";
  294. };
  295. gpio0: gpio@8b20000 {
  296. compatible = "arm,pl061", "arm,primecell";
  297. reg = <0x8b20000 0x1000>;
  298. interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
  299. gpio-controller;
  300. #gpio-cells = <2>;
  301. interrupt-controller;
  302. #interrupt-cells = <2>;
  303. gpio-ranges = <&pmx0 0 0 8>;
  304. clocks = <&crg HISTB_APB_CLK>;
  305. clock-names = "apb_pclk";
  306. status = "disabled";
  307. };
  308. gpio1: gpio@8b21000 {
  309. compatible = "arm,pl061", "arm,primecell";
  310. reg = <0x8b21000 0x1000>;
  311. interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>;
  312. gpio-controller;
  313. #gpio-cells = <2>;
  314. interrupt-controller;
  315. #interrupt-cells = <2>;
  316. gpio-ranges = <
  317. &pmx0 0 8 1
  318. &pmx0 1 9 4
  319. &pmx0 5 13 1
  320. &pmx0 6 14 1
  321. &pmx0 7 15 1
  322. >;
  323. clocks = <&crg HISTB_APB_CLK>;
  324. clock-names = "apb_pclk";
  325. status = "disabled";
  326. };
  327. gpio2: gpio@8b22000 {
  328. compatible = "arm,pl061", "arm,primecell";
  329. reg = <0x8b22000 0x1000>;
  330. interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
  331. gpio-controller;
  332. #gpio-cells = <2>;
  333. interrupt-controller;
  334. #interrupt-cells = <2>;
  335. gpio-ranges = <&pmx0 0 16 5 &pmx0 5 21 3>;
  336. clocks = <&crg HISTB_APB_CLK>;
  337. clock-names = "apb_pclk";
  338. status = "disabled";
  339. };
  340. gpio3: gpio@8b23000 {
  341. compatible = "arm,pl061", "arm,primecell";
  342. reg = <0x8b23000 0x1000>;
  343. interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
  344. gpio-controller;
  345. #gpio-cells = <2>;
  346. interrupt-controller;
  347. #interrupt-cells = <2>;
  348. gpio-ranges = <
  349. &pmx0 0 24 4
  350. &pmx0 4 28 2
  351. &pmx0 6 86 1
  352. &pmx0 7 87 1
  353. >;
  354. clocks = <&crg HISTB_APB_CLK>;
  355. clock-names = "apb_pclk";
  356. status = "disabled";
  357. };
  358. gpio4: gpio@8b24000 {
  359. compatible = "arm,pl061", "arm,primecell";
  360. reg = <0x8b24000 0x1000>;
  361. interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
  362. gpio-controller;
  363. #gpio-cells = <2>;
  364. interrupt-controller;
  365. #interrupt-cells = <2>;
  366. gpio-ranges = <&pmx0 0 30 4 &pmx0 4 34 3 &pmx0 7 37 1>;
  367. clocks = <&crg HISTB_APB_CLK>;
  368. clock-names = "apb_pclk";
  369. status = "disabled";
  370. };
  371. gpio5: gpio@8004000 {
  372. compatible = "arm,pl061", "arm,primecell";
  373. reg = <0x8004000 0x1000>;
  374. interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
  375. gpio-controller;
  376. #gpio-cells = <2>;
  377. interrupt-controller;
  378. #interrupt-cells = <2>;
  379. clocks = <&crg HISTB_APB_CLK>;
  380. clock-names = "apb_pclk";
  381. status = "disabled";
  382. };
  383. gpio6: gpio@8b26000 {
  384. compatible = "arm,pl061", "arm,primecell";
  385. reg = <0x8b26000 0x1000>;
  386. interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
  387. gpio-controller;
  388. #gpio-cells = <2>;
  389. interrupt-controller;
  390. #interrupt-cells = <2>;
  391. gpio-ranges = <&pmx0 0 38 3 &pmx0 0 41 5>;
  392. clocks = <&crg HISTB_APB_CLK>;
  393. clock-names = "apb_pclk";
  394. status = "disabled";
  395. };
  396. gpio7: gpio@8b27000 {
  397. compatible = "arm,pl061", "arm,primecell";
  398. reg = <0x8b27000 0x1000>;
  399. interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
  400. gpio-controller;
  401. #gpio-cells = <2>;
  402. interrupt-controller;
  403. #interrupt-cells = <2>;
  404. gpio-ranges = <&pmx0 0 46 8>;
  405. clocks = <&crg HISTB_APB_CLK>;
  406. clock-names = "apb_pclk";
  407. status = "disabled";
  408. };
  409. gpio8: gpio@8b28000 {
  410. compatible = "arm,pl061", "arm,primecell";
  411. reg = <0x8b28000 0x1000>;
  412. interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
  413. gpio-controller;
  414. #gpio-cells = <2>;
  415. interrupt-controller;
  416. #interrupt-cells = <2>;
  417. gpio-ranges = <&pmx0 0 54 8>;
  418. clocks = <&crg HISTB_APB_CLK>;
  419. clock-names = "apb_pclk";
  420. status = "disabled";
  421. };
  422. gpio9: gpio@8b29000 {
  423. compatible = "arm,pl061", "arm,primecell";
  424. reg = <0x8b29000 0x1000>;
  425. interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
  426. gpio-controller;
  427. #gpio-cells = <2>;
  428. interrupt-controller;
  429. #interrupt-cells = <2>;
  430. gpio-ranges = <&pmx0 0 64 7 &pmx0 71 1>;
  431. clocks = <&crg HISTB_APB_CLK>;
  432. clock-names = "apb_pclk";
  433. status = "disabled";
  434. };
  435. gpio10: gpio@8b2a000 {
  436. compatible = "arm,pl061", "arm,primecell";
  437. reg = <0x8b2a000 0x1000>;
  438. interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
  439. gpio-controller;
  440. #gpio-cells = <2>;
  441. interrupt-controller;
  442. #interrupt-cells = <2>;
  443. gpio-ranges = <&pmx0 0 72 6 &pmx0 6 78 1 &pmx0 7 79 1>;
  444. clocks = <&crg HISTB_APB_CLK>;
  445. clock-names = "apb_pclk";
  446. status = "disabled";
  447. };
  448. gpio11: gpio@8b2b000 {
  449. compatible = "arm,pl061", "arm,primecell";
  450. reg = <0x8b2b000 0x1000>;
  451. interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;
  452. gpio-controller;
  453. #gpio-cells = <2>;
  454. interrupt-controller;
  455. #interrupt-cells = <2>;
  456. gpio-ranges = <&pmx0 0 80 6 &pmx0 6 70 2>;
  457. clocks = <&crg HISTB_APB_CLK>;
  458. clock-names = "apb_pclk";
  459. status = "disabled";
  460. };
  461. gpio12: gpio@8b2c000 {
  462. compatible = "arm,pl061", "arm,primecell";
  463. reg = <0x8b2c000 0x1000>;
  464. interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
  465. gpio-controller;
  466. #gpio-cells = <2>;
  467. interrupt-controller;
  468. #interrupt-cells = <2>;
  469. gpio-ranges = <&pmx0 0 88 8>;
  470. clocks = <&crg HISTB_APB_CLK>;
  471. clock-names = "apb_pclk";
  472. status = "disabled";
  473. };
  474. gmac0: ethernet@9840000 {
  475. compatible = "hisilicon,hi3798cv200-gmac", "hisilicon,hisi-gmac-v2";
  476. reg = <0x9840000 0x1000>,
  477. <0x984300c 0x4>;
  478. interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
  479. clocks = <&crg HISTB_ETH0_MAC_CLK>,
  480. <&crg HISTB_ETH0_MACIF_CLK>;
  481. clock-names = "mac_core", "mac_ifc";
  482. resets = <&crg 0xcc 8>,
  483. <&crg 0xcc 10>,
  484. <&gmacphyrst 0>;
  485. reset-names = "mac_core", "mac_ifc", "phy";
  486. status = "disabled";
  487. };
  488. gmac1: ethernet@9841000 {
  489. compatible = "hisilicon,hi3798cv200-gmac", "hisilicon,hisi-gmac-v2";
  490. reg = <0x9841000 0x1000>,
  491. <0x9843010 0x4>;
  492. interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
  493. clocks = <&crg HISTB_ETH1_MAC_CLK>,
  494. <&crg HISTB_ETH1_MACIF_CLK>;
  495. clock-names = "mac_core", "mac_ifc";
  496. resets = <&crg 0xcc 9>,
  497. <&crg 0xcc 11>,
  498. <&gmacphyrst 1>;
  499. reset-names = "mac_core", "mac_ifc", "phy";
  500. status = "disabled";
  501. };
  502. ir: ir@8001000 {
  503. compatible = "hisilicon,hix5hd2-ir";
  504. reg = <0x8001000 0x1000>;
  505. interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
  506. clocks = <&sysctrl HISTB_IR_CLK>;
  507. status = "disabled";
  508. };
  509. pcie: pcie@9860000 {
  510. compatible = "hisilicon,hi3798cv200-pcie";
  511. reg = <0x9860000 0x1000>,
  512. <0x0 0x2000>,
  513. <0x2000000 0x01000000>;
  514. reg-names = "control", "rc-dbi", "config";
  515. #address-cells = <3>;
  516. #size-cells = <2>;
  517. device_type = "pci";
  518. bus-range = <0 15>;
  519. num-lanes = <1>;
  520. ranges = <0x81000000 0x0 0x00000000 0x4f00000 0x0 0x100000
  521. 0x82000000 0x0 0x3000000 0x3000000 0x0 0x01f00000>;
  522. interrupts = <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>;
  523. interrupt-names = "msi";
  524. #interrupt-cells = <1>;
  525. interrupt-map-mask = <0 0 0 0>;
  526. interrupt-map = <0 0 0 0 &gic 0 131 IRQ_TYPE_LEVEL_HIGH>;
  527. clocks = <&crg HISTB_PCIE_AUX_CLK>,
  528. <&crg HISTB_PCIE_PIPE_CLK>,
  529. <&crg HISTB_PCIE_SYS_CLK>,
  530. <&crg HISTB_PCIE_BUS_CLK>;
  531. clock-names = "aux", "pipe", "sys", "bus";
  532. resets = <&crg 0x18c 6>, <&crg 0x18c 5>, <&crg 0x18c 4>;
  533. reset-names = "soft", "sys", "bus";
  534. phys = <&combphy1 PHY_TYPE_PCIE>;
  535. phy-names = "phy";
  536. status = "disabled";
  537. };
  538. ohci: ohci@9880000 {
  539. compatible = "generic-ohci";
  540. reg = <0x9880000 0x10000>;
  541. interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>;
  542. clocks = <&crg HISTB_USB2_BUS_CLK>,
  543. <&crg HISTB_USB2_12M_CLK>,
  544. <&crg HISTB_USB2_48M_CLK>;
  545. clock-names = "bus", "clk12", "clk48";
  546. resets = <&crg 0xb8 12>;
  547. reset-names = "bus";
  548. phys = <&usb2_phy1_port0>;
  549. phy-names = "usb";
  550. status = "disabled";
  551. };
  552. ehci: ehci@9890000 {
  553. compatible = "generic-ehci";
  554. reg = <0x9890000 0x10000>;
  555. interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>;
  556. clocks = <&crg HISTB_USB2_BUS_CLK>,
  557. <&crg HISTB_USB2_PHY_CLK>,
  558. <&crg HISTB_USB2_UTMI_CLK>;
  559. clock-names = "bus", "phy", "utmi";
  560. resets = <&crg 0xb8 12>,
  561. <&crg 0xb8 16>,
  562. <&crg 0xb8 13>;
  563. reset-names = "bus", "phy", "utmi";
  564. phys = <&usb2_phy1_port0>;
  565. phy-names = "usb";
  566. status = "disabled";
  567. };
  568. };
  569. };