sun4i-a10.dtsi 29 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271
  1. /*
  2. * Copyright 2012 Stefan Roese
  3. * Stefan Roese <[email protected]>
  4. *
  5. * This file is dual-licensed: you can use it either under the terms
  6. * of the GPL or the X11 license, at your option. Note that this dual
  7. * licensing only applies to this file, and not this project as a
  8. * whole.
  9. *
  10. * a) This library is free software; you can redistribute it and/or
  11. * modify it under the terms of the GNU General Public License as
  12. * published by the Free Software Foundation; either version 2 of the
  13. * License, or (at your option) any later version.
  14. *
  15. * This library is distributed in the hope that it will be useful,
  16. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  17. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  18. * GNU General Public License for more details.
  19. *
  20. * Or, alternatively,
  21. *
  22. * b) Permission is hereby granted, free of charge, to any person
  23. * obtaining a copy of this software and associated documentation
  24. * files (the "Software"), to deal in the Software without
  25. * restriction, including without limitation the rights to use,
  26. * copy, modify, merge, publish, distribute, sublicense, and/or
  27. * sell copies of the Software, and to permit persons to whom the
  28. * Software is furnished to do so, subject to the following
  29. * conditions:
  30. *
  31. * The above copyright notice and this permission notice shall be
  32. * included in all copies or substantial portions of the Software.
  33. *
  34. * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
  35. * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
  36. * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
  37. * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
  38. * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
  39. * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
  40. * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
  41. * OTHER DEALINGS IN THE SOFTWARE.
  42. */
  43. #include <dt-bindings/thermal/thermal.h>
  44. #include <dt-bindings/dma/sun4i-a10.h>
  45. #include <dt-bindings/clock/sun4i-a10-ccu.h>
  46. #include <dt-bindings/reset/sun4i-a10-ccu.h>
  47. / {
  48. #address-cells = <1>;
  49. #size-cells = <1>;
  50. interrupt-parent = <&intc>;
  51. aliases {
  52. ethernet0 = &emac;
  53. };
  54. chosen {
  55. #address-cells = <1>;
  56. #size-cells = <1>;
  57. ranges;
  58. framebuffer-lcd0-hdmi {
  59. compatible = "allwinner,simple-framebuffer",
  60. "simple-framebuffer";
  61. allwinner,pipeline = "de_be0-lcd0-hdmi";
  62. clocks = <&ccu CLK_AHB_LCD0>, <&ccu CLK_AHB_HDMI0>,
  63. <&ccu CLK_AHB_DE_BE0>, <&ccu CLK_DE_BE0>,
  64. <&ccu CLK_TCON0_CH1>, <&ccu CLK_DRAM_DE_BE0>;
  65. status = "disabled";
  66. };
  67. framebuffer-fe0-lcd0-hdmi {
  68. compatible = "allwinner,simple-framebuffer",
  69. "simple-framebuffer";
  70. allwinner,pipeline = "de_fe0-de_be0-lcd0-hdmi";
  71. clocks = <&ccu CLK_AHB_LCD0>, <&ccu CLK_AHB_HDMI0>,
  72. <&ccu CLK_AHB_DE_BE0>, <&ccu CLK_AHB_DE_FE0>,
  73. <&ccu CLK_DE_BE0>, <&ccu CLK_DE_FE0>,
  74. <&ccu CLK_TCON0_CH1>, <&ccu CLK_HDMI>,
  75. <&ccu CLK_DRAM_DE_FE0>, <&ccu CLK_DRAM_DE_BE0>;
  76. status = "disabled";
  77. };
  78. framebuffer-fe0-lcd0 {
  79. compatible = "allwinner,simple-framebuffer",
  80. "simple-framebuffer";
  81. allwinner,pipeline = "de_fe0-de_be0-lcd0";
  82. clocks = <&ccu CLK_AHB_LCD0>, <&ccu CLK_AHB_DE_BE0>,
  83. <&ccu CLK_AHB_DE_FE0>, <&ccu CLK_DE_BE0>,
  84. <&ccu CLK_DE_FE0>, <&ccu CLK_TCON0_CH0>,
  85. <&ccu CLK_DRAM_DE_FE0>, <&ccu CLK_DRAM_DE_BE0>;
  86. status = "disabled";
  87. };
  88. framebuffer-fe0-lcd0-tve0 {
  89. compatible = "allwinner,simple-framebuffer",
  90. "simple-framebuffer";
  91. allwinner,pipeline = "de_fe0-de_be0-lcd0-tve0";
  92. clocks = <&ccu CLK_AHB_TVE0>, <&ccu CLK_AHB_LCD0>,
  93. <&ccu CLK_AHB_DE_BE0>, <&ccu CLK_AHB_DE_FE0>,
  94. <&ccu CLK_DE_BE0>, <&ccu CLK_DE_FE0>,
  95. <&ccu CLK_TCON0_CH1>, <&ccu CLK_DRAM_TVE0>,
  96. <&ccu CLK_DRAM_DE_FE0>, <&ccu CLK_DRAM_DE_BE0>;
  97. status = "disabled";
  98. };
  99. };
  100. cpus {
  101. #address-cells = <1>;
  102. #size-cells = <0>;
  103. cpu0: cpu@0 {
  104. device_type = "cpu";
  105. compatible = "arm,cortex-a8";
  106. reg = <0x0>;
  107. clocks = <&ccu CLK_CPU>;
  108. clock-latency = <244144>; /* 8 32k periods */
  109. operating-points =
  110. /* kHz uV */
  111. <1008000 1400000>,
  112. <912000 1350000>,
  113. <864000 1300000>,
  114. <624000 1250000>;
  115. #cooling-cells = <2>;
  116. };
  117. };
  118. thermal-zones {
  119. cpu-thermal {
  120. /* milliseconds */
  121. polling-delay-passive = <250>;
  122. polling-delay = <1000>;
  123. thermal-sensors = <&rtp>;
  124. cooling-maps {
  125. map0 {
  126. trip = <&cpu_alert0>;
  127. cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
  128. };
  129. };
  130. trips {
  131. cpu_alert0: cpu-alert0 {
  132. /* milliCelsius */
  133. temperature = <85000>;
  134. hysteresis = <2000>;
  135. type = "passive";
  136. };
  137. cpu_crit: cpu-crit {
  138. /* milliCelsius */
  139. temperature = <100000>;
  140. hysteresis = <2000>;
  141. type = "critical";
  142. };
  143. };
  144. };
  145. };
  146. clocks {
  147. #address-cells = <1>;
  148. #size-cells = <1>;
  149. ranges;
  150. osc24M: clk-24M {
  151. #clock-cells = <0>;
  152. compatible = "fixed-clock";
  153. clock-frequency = <24000000>;
  154. clock-output-names = "osc24M";
  155. };
  156. osc32k: clk-32k {
  157. #clock-cells = <0>;
  158. compatible = "fixed-clock";
  159. clock-frequency = <32768>;
  160. clock-output-names = "osc32k";
  161. };
  162. };
  163. de: display-engine {
  164. compatible = "allwinner,sun4i-a10-display-engine";
  165. allwinner,pipelines = <&fe0>, <&fe1>;
  166. status = "disabled";
  167. };
  168. pmu {
  169. compatible = "arm,cortex-a8-pmu";
  170. interrupts = <3>;
  171. };
  172. reserved-memory {
  173. #address-cells = <1>;
  174. #size-cells = <1>;
  175. ranges;
  176. /* Address must be kept in the lower 256 MiBs of DRAM for VE. */
  177. default-pool {
  178. compatible = "shared-dma-pool";
  179. size = <0x6000000>;
  180. alloc-ranges = <0x40000000 0x10000000>;
  181. reusable;
  182. linux,cma-default;
  183. };
  184. };
  185. soc {
  186. compatible = "simple-bus";
  187. #address-cells = <1>;
  188. #size-cells = <1>;
  189. ranges;
  190. system-control@1c00000 {
  191. compatible = "allwinner,sun4i-a10-system-control";
  192. reg = <0x01c00000 0x30>;
  193. #address-cells = <1>;
  194. #size-cells = <1>;
  195. ranges;
  196. sram_a: sram@0 {
  197. compatible = "mmio-sram";
  198. reg = <0x00000000 0xc000>;
  199. #address-cells = <1>;
  200. #size-cells = <1>;
  201. ranges = <0 0x00000000 0xc000>;
  202. emac_sram: sram-section@8000 {
  203. compatible = "allwinner,sun4i-a10-sram-a3-a4";
  204. reg = <0x8000 0x4000>;
  205. status = "disabled";
  206. };
  207. };
  208. sram_d: sram@10000 {
  209. compatible = "mmio-sram";
  210. reg = <0x00010000 0x1000>;
  211. #address-cells = <1>;
  212. #size-cells = <1>;
  213. ranges = <0 0x00010000 0x1000>;
  214. otg_sram: sram-section@0 {
  215. compatible = "allwinner,sun4i-a10-sram-d";
  216. reg = <0x0000 0x1000>;
  217. status = "disabled";
  218. };
  219. };
  220. sram_c: sram@1d00000 {
  221. compatible = "mmio-sram";
  222. reg = <0x01d00000 0xd0000>;
  223. #address-cells = <1>;
  224. #size-cells = <1>;
  225. ranges = <0 0x01d00000 0xd0000>;
  226. ve_sram: sram-section@0 {
  227. compatible = "allwinner,sun4i-a10-sram-c1";
  228. reg = <0x000000 0x80000>;
  229. };
  230. };
  231. };
  232. dma: dma-controller@1c02000 {
  233. compatible = "allwinner,sun4i-a10-dma";
  234. reg = <0x01c02000 0x1000>;
  235. interrupts = <27>;
  236. clocks = <&ccu CLK_AHB_DMA>;
  237. #dma-cells = <2>;
  238. };
  239. nfc: nand-controller@1c03000 {
  240. compatible = "allwinner,sun4i-a10-nand";
  241. reg = <0x01c03000 0x1000>;
  242. interrupts = <37>;
  243. clocks = <&ccu CLK_AHB_NAND>, <&ccu CLK_NAND>;
  244. clock-names = "ahb", "mod";
  245. dmas = <&dma SUN4I_DMA_DEDICATED 3>;
  246. dma-names = "rxtx";
  247. status = "disabled";
  248. #address-cells = <1>;
  249. #size-cells = <0>;
  250. };
  251. spi0: spi@1c05000 {
  252. compatible = "allwinner,sun4i-a10-spi";
  253. reg = <0x01c05000 0x1000>;
  254. interrupts = <10>;
  255. clocks = <&ccu CLK_AHB_SPI0>, <&ccu CLK_SPI0>;
  256. clock-names = "ahb", "mod";
  257. dmas = <&dma SUN4I_DMA_DEDICATED 27>,
  258. <&dma SUN4I_DMA_DEDICATED 26>;
  259. dma-names = "rx", "tx";
  260. status = "disabled";
  261. #address-cells = <1>;
  262. #size-cells = <0>;
  263. };
  264. spi1: spi@1c06000 {
  265. compatible = "allwinner,sun4i-a10-spi";
  266. reg = <0x01c06000 0x1000>;
  267. interrupts = <11>;
  268. clocks = <&ccu CLK_AHB_SPI1>, <&ccu CLK_SPI1>;
  269. clock-names = "ahb", "mod";
  270. dmas = <&dma SUN4I_DMA_DEDICATED 9>,
  271. <&dma SUN4I_DMA_DEDICATED 8>;
  272. dma-names = "rx", "tx";
  273. pinctrl-names = "default";
  274. pinctrl-0 = <&spi1_pins>, <&spi1_cs0_pin>;
  275. status = "disabled";
  276. #address-cells = <1>;
  277. #size-cells = <0>;
  278. };
  279. emac: ethernet@1c0b000 {
  280. compatible = "allwinner,sun4i-a10-emac";
  281. reg = <0x01c0b000 0x1000>;
  282. interrupts = <55>;
  283. clocks = <&ccu CLK_AHB_EMAC>;
  284. allwinner,sram = <&emac_sram 1>;
  285. pinctrl-names = "default";
  286. pinctrl-0 = <&emac_pins>;
  287. status = "disabled";
  288. };
  289. mdio: mdio@1c0b080 {
  290. compatible = "allwinner,sun4i-a10-mdio";
  291. reg = <0x01c0b080 0x14>;
  292. status = "disabled";
  293. #address-cells = <1>;
  294. #size-cells = <0>;
  295. };
  296. tcon0: lcd-controller@1c0c000 {
  297. compatible = "allwinner,sun4i-a10-tcon";
  298. reg = <0x01c0c000 0x1000>;
  299. interrupts = <44>;
  300. resets = <&ccu RST_TCON0>;
  301. reset-names = "lcd";
  302. clocks = <&ccu CLK_AHB_LCD0>,
  303. <&ccu CLK_TCON0_CH0>,
  304. <&ccu CLK_TCON0_CH1>;
  305. clock-names = "ahb",
  306. "tcon-ch0",
  307. "tcon-ch1";
  308. clock-output-names = "tcon0-pixel-clock";
  309. #clock-cells = <0>;
  310. dmas = <&dma SUN4I_DMA_DEDICATED 14>;
  311. ports {
  312. #address-cells = <1>;
  313. #size-cells = <0>;
  314. tcon0_in: port@0 {
  315. #address-cells = <1>;
  316. #size-cells = <0>;
  317. reg = <0>;
  318. tcon0_in_be0: endpoint@0 {
  319. reg = <0>;
  320. remote-endpoint = <&be0_out_tcon0>;
  321. };
  322. tcon0_in_be1: endpoint@1 {
  323. reg = <1>;
  324. remote-endpoint = <&be1_out_tcon0>;
  325. };
  326. };
  327. tcon0_out: port@1 {
  328. #address-cells = <1>;
  329. #size-cells = <0>;
  330. reg = <1>;
  331. tcon0_out_hdmi: endpoint@1 {
  332. reg = <1>;
  333. remote-endpoint = <&hdmi_in_tcon0>;
  334. allwinner,tcon-channel = <1>;
  335. };
  336. };
  337. };
  338. };
  339. tcon1: lcd-controller@1c0d000 {
  340. compatible = "allwinner,sun4i-a10-tcon";
  341. reg = <0x01c0d000 0x1000>;
  342. interrupts = <45>;
  343. resets = <&ccu RST_TCON1>;
  344. reset-names = "lcd";
  345. clocks = <&ccu CLK_AHB_LCD1>,
  346. <&ccu CLK_TCON1_CH0>,
  347. <&ccu CLK_TCON1_CH1>;
  348. clock-names = "ahb",
  349. "tcon-ch0",
  350. "tcon-ch1";
  351. clock-output-names = "tcon1-pixel-clock";
  352. #clock-cells = <0>;
  353. dmas = <&dma SUN4I_DMA_DEDICATED 15>;
  354. ports {
  355. #address-cells = <1>;
  356. #size-cells = <0>;
  357. tcon1_in: port@0 {
  358. #address-cells = <1>;
  359. #size-cells = <0>;
  360. reg = <0>;
  361. tcon1_in_be0: endpoint@0 {
  362. reg = <0>;
  363. remote-endpoint = <&be0_out_tcon1>;
  364. };
  365. tcon1_in_be1: endpoint@1 {
  366. reg = <1>;
  367. remote-endpoint = <&be1_out_tcon1>;
  368. };
  369. };
  370. tcon1_out: port@1 {
  371. #address-cells = <1>;
  372. #size-cells = <0>;
  373. reg = <1>;
  374. tcon1_out_hdmi: endpoint@1 {
  375. reg = <1>;
  376. remote-endpoint = <&hdmi_in_tcon1>;
  377. allwinner,tcon-channel = <1>;
  378. };
  379. };
  380. };
  381. };
  382. video-codec@1c0e000 {
  383. compatible = "allwinner,sun4i-a10-video-engine";
  384. reg = <0x01c0e000 0x1000>;
  385. clocks = <&ccu CLK_AHB_VE>, <&ccu CLK_VE>,
  386. <&ccu CLK_DRAM_VE>;
  387. clock-names = "ahb", "mod", "ram";
  388. resets = <&ccu RST_VE>;
  389. interrupts = <53>;
  390. allwinner,sram = <&ve_sram 1>;
  391. };
  392. mmc0: mmc@1c0f000 {
  393. compatible = "allwinner,sun4i-a10-mmc";
  394. reg = <0x01c0f000 0x1000>;
  395. clocks = <&ccu CLK_AHB_MMC0>, <&ccu CLK_MMC0>;
  396. clock-names = "ahb", "mmc";
  397. interrupts = <32>;
  398. pinctrl-names = "default";
  399. pinctrl-0 = <&mmc0_pins>;
  400. status = "disabled";
  401. #address-cells = <1>;
  402. #size-cells = <0>;
  403. };
  404. mmc1: mmc@1c10000 {
  405. compatible = "allwinner,sun4i-a10-mmc";
  406. reg = <0x01c10000 0x1000>;
  407. clocks = <&ccu CLK_AHB_MMC1>, <&ccu CLK_MMC1>;
  408. clock-names = "ahb", "mmc";
  409. interrupts = <33>;
  410. status = "disabled";
  411. #address-cells = <1>;
  412. #size-cells = <0>;
  413. };
  414. mmc2: mmc@1c11000 {
  415. compatible = "allwinner,sun4i-a10-mmc";
  416. reg = <0x01c11000 0x1000>;
  417. clocks = <&ccu CLK_AHB_MMC2>, <&ccu CLK_MMC2>;
  418. clock-names = "ahb", "mmc";
  419. interrupts = <34>;
  420. status = "disabled";
  421. #address-cells = <1>;
  422. #size-cells = <0>;
  423. };
  424. mmc3: mmc@1c12000 {
  425. compatible = "allwinner,sun4i-a10-mmc";
  426. reg = <0x01c12000 0x1000>;
  427. clocks = <&ccu CLK_AHB_MMC3>, <&ccu CLK_MMC3>;
  428. clock-names = "ahb", "mmc";
  429. interrupts = <35>;
  430. status = "disabled";
  431. #address-cells = <1>;
  432. #size-cells = <0>;
  433. };
  434. usb_otg: usb@1c13000 {
  435. compatible = "allwinner,sun4i-a10-musb";
  436. reg = <0x01c13000 0x0400>;
  437. clocks = <&ccu CLK_AHB_OTG>;
  438. interrupts = <38>;
  439. interrupt-names = "mc";
  440. phys = <&usbphy 0>;
  441. phy-names = "usb";
  442. extcon = <&usbphy 0>;
  443. allwinner,sram = <&otg_sram 1>;
  444. dr_mode = "otg";
  445. status = "disabled";
  446. };
  447. usbphy: phy@1c13400 {
  448. #phy-cells = <1>;
  449. compatible = "allwinner,sun4i-a10-usb-phy";
  450. reg = <0x01c13400 0x10>, <0x01c14800 0x4>, <0x01c1c800 0x4>;
  451. reg-names = "phy_ctrl", "pmu1", "pmu2";
  452. clocks = <&ccu CLK_USB_PHY>;
  453. clock-names = "usb_phy";
  454. resets = <&ccu RST_USB_PHY0>,
  455. <&ccu RST_USB_PHY1>,
  456. <&ccu RST_USB_PHY2>;
  457. reset-names = "usb0_reset", "usb1_reset", "usb2_reset";
  458. status = "disabled";
  459. };
  460. ehci0: usb@1c14000 {
  461. compatible = "allwinner,sun4i-a10-ehci", "generic-ehci";
  462. reg = <0x01c14000 0x100>;
  463. interrupts = <39>;
  464. clocks = <&ccu CLK_AHB_EHCI0>;
  465. phys = <&usbphy 1>;
  466. phy-names = "usb";
  467. status = "disabled";
  468. };
  469. ohci0: usb@1c14400 {
  470. compatible = "allwinner,sun4i-a10-ohci", "generic-ohci";
  471. reg = <0x01c14400 0x100>;
  472. interrupts = <64>;
  473. clocks = <&ccu CLK_USB_OHCI0>, <&ccu CLK_AHB_OHCI0>;
  474. phys = <&usbphy 1>;
  475. phy-names = "usb";
  476. status = "disabled";
  477. };
  478. crypto: crypto-engine@1c15000 {
  479. compatible = "allwinner,sun4i-a10-crypto";
  480. reg = <0x01c15000 0x1000>;
  481. interrupts = <86>;
  482. clocks = <&ccu CLK_AHB_SS>, <&ccu CLK_SS>;
  483. clock-names = "ahb", "mod";
  484. };
  485. hdmi: hdmi@1c16000 {
  486. compatible = "allwinner,sun4i-a10-hdmi";
  487. reg = <0x01c16000 0x1000>;
  488. interrupts = <58>;
  489. clocks = <&ccu CLK_AHB_HDMI0>, <&ccu CLK_HDMI>,
  490. <&ccu CLK_PLL_VIDEO0_2X>,
  491. <&ccu CLK_PLL_VIDEO1_2X>;
  492. clock-names = "ahb", "mod", "pll-0", "pll-1";
  493. dmas = <&dma SUN4I_DMA_NORMAL 16>,
  494. <&dma SUN4I_DMA_NORMAL 16>,
  495. <&dma SUN4I_DMA_DEDICATED 24>;
  496. dma-names = "ddc-tx", "ddc-rx", "audio-tx";
  497. status = "disabled";
  498. ports {
  499. #address-cells = <1>;
  500. #size-cells = <0>;
  501. hdmi_in: port@0 {
  502. #address-cells = <1>;
  503. #size-cells = <0>;
  504. reg = <0>;
  505. hdmi_in_tcon0: endpoint@0 {
  506. reg = <0>;
  507. remote-endpoint = <&tcon0_out_hdmi>;
  508. };
  509. hdmi_in_tcon1: endpoint@1 {
  510. reg = <1>;
  511. remote-endpoint = <&tcon1_out_hdmi>;
  512. };
  513. };
  514. hdmi_out: port@1 {
  515. reg = <1>;
  516. };
  517. };
  518. };
  519. spi2: spi@1c17000 {
  520. compatible = "allwinner,sun4i-a10-spi";
  521. reg = <0x01c17000 0x1000>;
  522. interrupts = <12>;
  523. clocks = <&ccu CLK_AHB_SPI2>, <&ccu CLK_SPI2>;
  524. clock-names = "ahb", "mod";
  525. dmas = <&dma SUN4I_DMA_DEDICATED 29>,
  526. <&dma SUN4I_DMA_DEDICATED 28>;
  527. dma-names = "rx", "tx";
  528. status = "disabled";
  529. #address-cells = <1>;
  530. #size-cells = <0>;
  531. };
  532. ahci: sata@1c18000 {
  533. compatible = "allwinner,sun4i-a10-ahci";
  534. reg = <0x01c18000 0x1000>;
  535. interrupts = <56>;
  536. clocks = <&ccu CLK_AHB_SATA>, <&ccu CLK_SATA>;
  537. status = "disabled";
  538. };
  539. ehci1: usb@1c1c000 {
  540. compatible = "allwinner,sun4i-a10-ehci", "generic-ehci";
  541. reg = <0x01c1c000 0x100>;
  542. interrupts = <40>;
  543. clocks = <&ccu CLK_AHB_EHCI1>;
  544. phys = <&usbphy 2>;
  545. phy-names = "usb";
  546. status = "disabled";
  547. };
  548. ohci1: usb@1c1c400 {
  549. compatible = "allwinner,sun4i-a10-ohci", "generic-ohci";
  550. reg = <0x01c1c400 0x100>;
  551. interrupts = <65>;
  552. clocks = <&ccu CLK_USB_OHCI1>, <&ccu CLK_AHB_OHCI1>;
  553. phys = <&usbphy 2>;
  554. phy-names = "usb";
  555. status = "disabled";
  556. };
  557. csi1: csi@1c1d000 {
  558. compatible = "allwinner,sun4i-a10-csi1";
  559. reg = <0x01c1d000 0x1000>;
  560. interrupts = <43>;
  561. clocks = <&ccu CLK_AHB_CSI1>, <&ccu CLK_DRAM_CSI1>;
  562. clock-names = "bus", "ram";
  563. resets = <&ccu RST_CSI1>;
  564. status = "disabled";
  565. };
  566. spi3: spi@1c1f000 {
  567. compatible = "allwinner,sun4i-a10-spi";
  568. reg = <0x01c1f000 0x1000>;
  569. interrupts = <50>;
  570. clocks = <&ccu CLK_AHB_SPI3>, <&ccu CLK_SPI3>;
  571. clock-names = "ahb", "mod";
  572. dmas = <&dma SUN4I_DMA_DEDICATED 31>,
  573. <&dma SUN4I_DMA_DEDICATED 30>;
  574. dma-names = "rx", "tx";
  575. status = "disabled";
  576. #address-cells = <1>;
  577. #size-cells = <0>;
  578. };
  579. ccu: clock@1c20000 {
  580. compatible = "allwinner,sun4i-a10-ccu";
  581. reg = <0x01c20000 0x400>;
  582. clocks = <&osc24M>, <&osc32k>;
  583. clock-names = "hosc", "losc";
  584. #clock-cells = <1>;
  585. #reset-cells = <1>;
  586. };
  587. intc: interrupt-controller@1c20400 {
  588. compatible = "allwinner,sun4i-a10-ic";
  589. reg = <0x01c20400 0x400>;
  590. interrupt-controller;
  591. #interrupt-cells = <1>;
  592. };
  593. pio: pinctrl@1c20800 {
  594. compatible = "allwinner,sun4i-a10-pinctrl";
  595. reg = <0x01c20800 0x400>;
  596. interrupts = <28>;
  597. clocks = <&ccu CLK_APB0_PIO>, <&osc24M>, <&osc32k>;
  598. clock-names = "apb", "hosc", "losc";
  599. gpio-controller;
  600. interrupt-controller;
  601. #interrupt-cells = <3>;
  602. #gpio-cells = <3>;
  603. can0_ph_pins: can0-ph-pins {
  604. pins = "PH20", "PH21";
  605. function = "can";
  606. };
  607. /omit-if-no-ref/
  608. csi1_8bits_pg_pins: csi1-8bits-pg-pins {
  609. pins = "PG0", "PG2", "PG3", "PG4", "PG5",
  610. "PG6", "PG7", "PG8", "PG9", "PG10",
  611. "PG11";
  612. function = "csi1";
  613. };
  614. /omit-if-no-ref/
  615. csi1_24bits_ph_pins: csi1-24bits-ph-pins {
  616. pins = "PH0", "PH1", "PH2", "PH3", "PH4",
  617. "PH5", "PH6", "PH7", "PH8", "PH9",
  618. "PH10", "PH11", "PH12", "PH13", "PH14",
  619. "PH15", "PH16", "PH17", "PH18", "PH19",
  620. "PH20", "PH21", "PH22", "PH23", "PH24",
  621. "PH25", "PH26", "PH27";
  622. function = "csi1";
  623. };
  624. /omit-if-no-ref/
  625. csi1_clk_pg_pin: csi1-clk-pg-pin {
  626. pins = "PG1";
  627. function = "csi1";
  628. };
  629. emac_pins: emac0-pins {
  630. pins = "PA0", "PA1", "PA2",
  631. "PA3", "PA4", "PA5", "PA6",
  632. "PA7", "PA8", "PA9", "PA10",
  633. "PA11", "PA12", "PA13", "PA14",
  634. "PA15", "PA16";
  635. function = "emac";
  636. };
  637. i2c0_pins: i2c0-pins {
  638. pins = "PB0", "PB1";
  639. function = "i2c0";
  640. };
  641. i2c1_pins: i2c1-pins {
  642. pins = "PB18", "PB19";
  643. function = "i2c1";
  644. };
  645. i2c2_pins: i2c2-pins {
  646. pins = "PB20", "PB21";
  647. function = "i2c2";
  648. };
  649. ir0_rx_pins: ir0-rx-pin {
  650. pins = "PB4";
  651. function = "ir0";
  652. };
  653. ir0_tx_pins: ir0-tx-pin {
  654. pins = "PB3";
  655. function = "ir0";
  656. };
  657. ir1_rx_pins: ir1-rx-pin {
  658. pins = "PB23";
  659. function = "ir1";
  660. };
  661. ir1_tx_pins: ir1-tx-pin {
  662. pins = "PB22";
  663. function = "ir1";
  664. };
  665. mmc0_pins: mmc0-pins {
  666. pins = "PF0", "PF1", "PF2",
  667. "PF3", "PF4", "PF5";
  668. function = "mmc0";
  669. drive-strength = <30>;
  670. bias-pull-up;
  671. };
  672. ps2_ch0_pins: ps2-ch0-pins {
  673. pins = "PI20", "PI21";
  674. function = "ps2";
  675. };
  676. ps2_ch1_ph_pins: ps2-ch1-ph-pins {
  677. pins = "PH12", "PH13";
  678. function = "ps2";
  679. };
  680. pwm0_pin: pwm0-pin {
  681. pins = "PB2";
  682. function = "pwm";
  683. };
  684. pwm1_pin: pwm1-pin {
  685. pins = "PI3";
  686. function = "pwm";
  687. };
  688. spdif_tx_pin: spdif-tx-pin {
  689. pins = "PB13";
  690. function = "spdif";
  691. bias-pull-up;
  692. };
  693. spi0_pi_pins: spi0-pi-pins {
  694. pins = "PI11", "PI12", "PI13";
  695. function = "spi0";
  696. };
  697. spi0_cs0_pi_pin: spi0-cs0-pi-pin {
  698. pins = "PI10";
  699. function = "spi0";
  700. };
  701. spi1_pins: spi1-pins {
  702. pins = "PI17", "PI18", "PI19";
  703. function = "spi1";
  704. };
  705. spi1_cs0_pin: spi1-cs0-pin {
  706. pins = "PI16";
  707. function = "spi1";
  708. };
  709. spi2_pb_pins: spi2-pb-pins {
  710. pins = "PB15", "PB16", "PB17";
  711. function = "spi2";
  712. };
  713. spi2_pc_pins: spi2-pc-pins {
  714. pins = "PC20", "PC21", "PC22";
  715. function = "spi2";
  716. };
  717. spi2_cs0_pb_pin: spi2-cs0-pb-pin {
  718. pins = "PB14";
  719. function = "spi2";
  720. };
  721. spi2_cs0_pc_pins: spi2-cs0-pc-pin {
  722. pins = "PC19";
  723. function = "spi2";
  724. };
  725. uart0_pb_pins: uart0-pb-pins {
  726. pins = "PB22", "PB23";
  727. function = "uart0";
  728. };
  729. uart0_pf_pins: uart0-pf-pins {
  730. pins = "PF2", "PF4";
  731. function = "uart0";
  732. };
  733. uart1_pins: uart1-pins {
  734. pins = "PA10", "PA11";
  735. function = "uart1";
  736. };
  737. };
  738. timer@1c20c00 {
  739. compatible = "allwinner,sun4i-a10-timer";
  740. reg = <0x01c20c00 0x90>;
  741. interrupts = <22>,
  742. <23>,
  743. <24>,
  744. <25>,
  745. <67>,
  746. <68>;
  747. clocks = <&osc24M>;
  748. };
  749. wdt: watchdog@1c20c90 {
  750. compatible = "allwinner,sun4i-a10-wdt";
  751. reg = <0x01c20c90 0x10>;
  752. interrupts = <24>;
  753. clocks = <&osc24M>;
  754. };
  755. rtc: rtc@1c20d00 {
  756. compatible = "allwinner,sun4i-a10-rtc";
  757. reg = <0x01c20d00 0x20>;
  758. interrupts = <24>;
  759. };
  760. pwm: pwm@1c20e00 {
  761. compatible = "allwinner,sun4i-a10-pwm";
  762. reg = <0x01c20e00 0xc>;
  763. clocks = <&osc24M>;
  764. #pwm-cells = <3>;
  765. status = "disabled";
  766. };
  767. spdif: spdif@1c21000 {
  768. #sound-dai-cells = <0>;
  769. compatible = "allwinner,sun4i-a10-spdif";
  770. reg = <0x01c21000 0x400>;
  771. interrupts = <13>;
  772. clocks = <&ccu CLK_APB0_SPDIF>, <&ccu CLK_SPDIF>;
  773. clock-names = "apb", "spdif";
  774. dmas = <&dma SUN4I_DMA_NORMAL 2>,
  775. <&dma SUN4I_DMA_NORMAL 2>;
  776. dma-names = "rx", "tx";
  777. status = "disabled";
  778. };
  779. ir0: ir@1c21800 {
  780. compatible = "allwinner,sun4i-a10-ir";
  781. clocks = <&ccu CLK_APB0_IR0>, <&ccu CLK_IR0>;
  782. clock-names = "apb", "ir";
  783. interrupts = <5>;
  784. reg = <0x01c21800 0x40>;
  785. status = "disabled";
  786. };
  787. ir1: ir@1c21c00 {
  788. compatible = "allwinner,sun4i-a10-ir";
  789. clocks = <&ccu CLK_APB0_IR1>, <&ccu CLK_IR1>;
  790. clock-names = "apb", "ir";
  791. interrupts = <6>;
  792. reg = <0x01c21c00 0x40>;
  793. status = "disabled";
  794. };
  795. i2s0: i2s@1c22400 {
  796. #sound-dai-cells = <0>;
  797. compatible = "allwinner,sun4i-a10-i2s";
  798. reg = <0x01c22400 0x400>;
  799. interrupts = <16>;
  800. clocks = <&ccu CLK_APB0_I2S0>, <&ccu CLK_I2S0>;
  801. clock-names = "apb", "mod";
  802. dmas = <&dma SUN4I_DMA_NORMAL 3>,
  803. <&dma SUN4I_DMA_NORMAL 3>;
  804. dma-names = "rx", "tx";
  805. status = "disabled";
  806. };
  807. lradc: lradc@1c22800 {
  808. compatible = "allwinner,sun4i-a10-lradc-keys";
  809. reg = <0x01c22800 0x100>;
  810. interrupts = <31>;
  811. status = "disabled";
  812. };
  813. codec: codec@1c22c00 {
  814. #sound-dai-cells = <0>;
  815. compatible = "allwinner,sun4i-a10-codec";
  816. reg = <0x01c22c00 0x40>;
  817. interrupts = <30>;
  818. clocks = <&ccu CLK_APB0_CODEC>, <&ccu CLK_CODEC>;
  819. clock-names = "apb", "codec";
  820. dmas = <&dma SUN4I_DMA_NORMAL 19>,
  821. <&dma SUN4I_DMA_NORMAL 19>;
  822. dma-names = "rx", "tx";
  823. status = "disabled";
  824. };
  825. sid: eeprom@1c23800 {
  826. compatible = "allwinner,sun4i-a10-sid";
  827. reg = <0x01c23800 0x10>;
  828. };
  829. rtp: rtp@1c25000 {
  830. compatible = "allwinner,sun4i-a10-ts";
  831. reg = <0x01c25000 0x100>;
  832. interrupts = <29>;
  833. #thermal-sensor-cells = <0>;
  834. };
  835. uart0: serial@1c28000 {
  836. compatible = "snps,dw-apb-uart";
  837. reg = <0x01c28000 0x400>;
  838. interrupts = <1>;
  839. reg-shift = <2>;
  840. reg-io-width = <4>;
  841. clocks = <&ccu CLK_APB1_UART0>;
  842. status = "disabled";
  843. };
  844. uart1: serial@1c28400 {
  845. compatible = "snps,dw-apb-uart";
  846. reg = <0x01c28400 0x400>;
  847. interrupts = <2>;
  848. reg-shift = <2>;
  849. reg-io-width = <4>;
  850. clocks = <&ccu CLK_APB1_UART1>;
  851. status = "disabled";
  852. };
  853. uart2: serial@1c28800 {
  854. compatible = "snps,dw-apb-uart";
  855. reg = <0x01c28800 0x400>;
  856. interrupts = <3>;
  857. reg-shift = <2>;
  858. reg-io-width = <4>;
  859. clocks = <&ccu CLK_APB1_UART2>;
  860. status = "disabled";
  861. };
  862. uart3: serial@1c28c00 {
  863. compatible = "snps,dw-apb-uart";
  864. reg = <0x01c28c00 0x400>;
  865. interrupts = <4>;
  866. reg-shift = <2>;
  867. reg-io-width = <4>;
  868. clocks = <&ccu CLK_APB1_UART3>;
  869. status = "disabled";
  870. };
  871. uart4: serial@1c29000 {
  872. compatible = "snps,dw-apb-uart";
  873. reg = <0x01c29000 0x400>;
  874. interrupts = <17>;
  875. reg-shift = <2>;
  876. reg-io-width = <4>;
  877. clocks = <&ccu CLK_APB1_UART4>;
  878. status = "disabled";
  879. };
  880. uart5: serial@1c29400 {
  881. compatible = "snps,dw-apb-uart";
  882. reg = <0x01c29400 0x400>;
  883. interrupts = <18>;
  884. reg-shift = <2>;
  885. reg-io-width = <4>;
  886. clocks = <&ccu CLK_APB1_UART5>;
  887. status = "disabled";
  888. };
  889. uart6: serial@1c29800 {
  890. compatible = "snps,dw-apb-uart";
  891. reg = <0x01c29800 0x400>;
  892. interrupts = <19>;
  893. reg-shift = <2>;
  894. reg-io-width = <4>;
  895. clocks = <&ccu CLK_APB1_UART6>;
  896. status = "disabled";
  897. };
  898. uart7: serial@1c29c00 {
  899. compatible = "snps,dw-apb-uart";
  900. reg = <0x01c29c00 0x400>;
  901. interrupts = <20>;
  902. reg-shift = <2>;
  903. reg-io-width = <4>;
  904. clocks = <&ccu CLK_APB1_UART7>;
  905. status = "disabled";
  906. };
  907. ps20: ps2@1c2a000 {
  908. compatible = "allwinner,sun4i-a10-ps2";
  909. reg = <0x01c2a000 0x400>;
  910. interrupts = <62>;
  911. clocks = <&ccu CLK_APB1_PS20>;
  912. status = "disabled";
  913. };
  914. ps21: ps2@1c2a400 {
  915. compatible = "allwinner,sun4i-a10-ps2";
  916. reg = <0x01c2a400 0x400>;
  917. interrupts = <63>;
  918. clocks = <&ccu CLK_APB1_PS21>;
  919. status = "disabled";
  920. };
  921. i2c0: i2c@1c2ac00 {
  922. compatible = "allwinner,sun4i-a10-i2c";
  923. reg = <0x01c2ac00 0x400>;
  924. interrupts = <7>;
  925. clocks = <&ccu CLK_APB1_I2C0>;
  926. pinctrl-names = "default";
  927. pinctrl-0 = <&i2c0_pins>;
  928. status = "disabled";
  929. #address-cells = <1>;
  930. #size-cells = <0>;
  931. };
  932. i2c1: i2c@1c2b000 {
  933. compatible = "allwinner,sun4i-a10-i2c";
  934. reg = <0x01c2b000 0x400>;
  935. interrupts = <8>;
  936. clocks = <&ccu CLK_APB1_I2C1>;
  937. pinctrl-names = "default";
  938. pinctrl-0 = <&i2c1_pins>;
  939. status = "disabled";
  940. #address-cells = <1>;
  941. #size-cells = <0>;
  942. };
  943. i2c2: i2c@1c2b400 {
  944. compatible = "allwinner,sun4i-a10-i2c";
  945. reg = <0x01c2b400 0x400>;
  946. interrupts = <9>;
  947. clocks = <&ccu CLK_APB1_I2C2>;
  948. pinctrl-names = "default";
  949. pinctrl-0 = <&i2c2_pins>;
  950. status = "disabled";
  951. #address-cells = <1>;
  952. #size-cells = <0>;
  953. };
  954. can0: can@1c2bc00 {
  955. compatible = "allwinner,sun4i-a10-can";
  956. reg = <0x01c2bc00 0x400>;
  957. interrupts = <26>;
  958. clocks = <&ccu CLK_APB1_CAN>;
  959. status = "disabled";
  960. };
  961. mali: gpu@1c40000 {
  962. compatible = "allwinner,sun4i-a10-mali", "arm,mali-400";
  963. reg = <0x01c40000 0x10000>;
  964. interrupts = <69>,
  965. <70>,
  966. <71>,
  967. <72>,
  968. <73>;
  969. interrupt-names = "gp",
  970. "gpmmu",
  971. "pp0",
  972. "ppmmu0",
  973. "pmu";
  974. clocks = <&ccu CLK_AHB_GPU>, <&ccu CLK_GPU>;
  975. clock-names = "bus", "core";
  976. resets = <&ccu RST_GPU>;
  977. assigned-clocks = <&ccu CLK_GPU>;
  978. assigned-clock-rates = <384000000>;
  979. };
  980. fe0: display-frontend@1e00000 {
  981. compatible = "allwinner,sun4i-a10-display-frontend";
  982. reg = <0x01e00000 0x20000>;
  983. interrupts = <47>;
  984. clocks = <&ccu CLK_AHB_DE_FE0>, <&ccu CLK_DE_FE0>,
  985. <&ccu CLK_DRAM_DE_FE0>;
  986. clock-names = "ahb", "mod",
  987. "ram";
  988. resets = <&ccu RST_DE_FE0>;
  989. ports {
  990. #address-cells = <1>;
  991. #size-cells = <0>;
  992. fe0_out: port@1 {
  993. #address-cells = <1>;
  994. #size-cells = <0>;
  995. reg = <1>;
  996. fe0_out_be0: endpoint@0 {
  997. reg = <0>;
  998. remote-endpoint = <&be0_in_fe0>;
  999. };
  1000. fe0_out_be1: endpoint@1 {
  1001. reg = <1>;
  1002. remote-endpoint = <&be1_in_fe0>;
  1003. };
  1004. };
  1005. };
  1006. };
  1007. fe1: display-frontend@1e20000 {
  1008. compatible = "allwinner,sun4i-a10-display-frontend";
  1009. reg = <0x01e20000 0x20000>;
  1010. interrupts = <48>;
  1011. clocks = <&ccu CLK_AHB_DE_FE1>, <&ccu CLK_DE_FE1>,
  1012. <&ccu CLK_DRAM_DE_FE1>;
  1013. clock-names = "ahb", "mod",
  1014. "ram";
  1015. resets = <&ccu RST_DE_FE1>;
  1016. ports {
  1017. #address-cells = <1>;
  1018. #size-cells = <0>;
  1019. fe1_out: port@1 {
  1020. #address-cells = <1>;
  1021. #size-cells = <0>;
  1022. reg = <1>;
  1023. fe1_out_be0: endpoint@0 {
  1024. reg = <0>;
  1025. remote-endpoint = <&be0_in_fe1>;
  1026. };
  1027. fe1_out_be1: endpoint@1 {
  1028. reg = <1>;
  1029. remote-endpoint = <&be1_in_fe1>;
  1030. };
  1031. };
  1032. };
  1033. };
  1034. be1: display-backend@1e40000 {
  1035. compatible = "allwinner,sun4i-a10-display-backend";
  1036. reg = <0x01e40000 0x10000>;
  1037. interrupts = <48>;
  1038. clocks = <&ccu CLK_AHB_DE_BE1>, <&ccu CLK_DE_BE1>,
  1039. <&ccu CLK_DRAM_DE_BE1>;
  1040. clock-names = "ahb", "mod",
  1041. "ram";
  1042. resets = <&ccu RST_DE_BE1>;
  1043. ports {
  1044. #address-cells = <1>;
  1045. #size-cells = <0>;
  1046. be1_in: port@0 {
  1047. #address-cells = <1>;
  1048. #size-cells = <0>;
  1049. reg = <0>;
  1050. be1_in_fe0: endpoint@0 {
  1051. reg = <0>;
  1052. remote-endpoint = <&fe0_out_be1>;
  1053. };
  1054. be1_in_fe1: endpoint@1 {
  1055. reg = <1>;
  1056. remote-endpoint = <&fe1_out_be1>;
  1057. };
  1058. };
  1059. be1_out: port@1 {
  1060. #address-cells = <1>;
  1061. #size-cells = <0>;
  1062. reg = <1>;
  1063. be1_out_tcon0: endpoint@0 {
  1064. reg = <0>;
  1065. remote-endpoint = <&tcon0_in_be1>;
  1066. };
  1067. be1_out_tcon1: endpoint@1 {
  1068. reg = <1>;
  1069. remote-endpoint = <&tcon1_in_be1>;
  1070. };
  1071. };
  1072. };
  1073. };
  1074. be0: display-backend@1e60000 {
  1075. compatible = "allwinner,sun4i-a10-display-backend";
  1076. reg = <0x01e60000 0x10000>;
  1077. interrupts = <47>;
  1078. clocks = <&ccu CLK_AHB_DE_BE0>, <&ccu CLK_DE_BE0>,
  1079. <&ccu CLK_DRAM_DE_BE0>;
  1080. clock-names = "ahb", "mod",
  1081. "ram";
  1082. resets = <&ccu RST_DE_BE0>;
  1083. ports {
  1084. #address-cells = <1>;
  1085. #size-cells = <0>;
  1086. be0_in: port@0 {
  1087. #address-cells = <1>;
  1088. #size-cells = <0>;
  1089. reg = <0>;
  1090. be0_in_fe0: endpoint@0 {
  1091. reg = <0>;
  1092. remote-endpoint = <&fe0_out_be0>;
  1093. };
  1094. be0_in_fe1: endpoint@1 {
  1095. reg = <1>;
  1096. remote-endpoint = <&fe1_out_be0>;
  1097. };
  1098. };
  1099. be0_out: port@1 {
  1100. #address-cells = <1>;
  1101. #size-cells = <0>;
  1102. reg = <1>;
  1103. be0_out_tcon0: endpoint@0 {
  1104. reg = <0>;
  1105. remote-endpoint = <&tcon0_in_be0>;
  1106. };
  1107. be0_out_tcon1: endpoint@1 {
  1108. reg = <1>;
  1109. remote-endpoint = <&tcon1_in_be0>;
  1110. };
  1111. };
  1112. };
  1113. };
  1114. };
  1115. };