light-beagle.dts 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. /*
  3. * Copyright (C) 2021 Alibaba Group Holding Limited.
  4. */
  5. /dts-v1/;
  6. #include "light-ant-ref.dts"
  7. &vvcam_sensor4 { // beagle board J5 CSI0 connector
  8. sensor_name = "IMX219";
  9. sensor_pdn = <&gpio2_porta 23 0>; //powerdown pin / shutdown pin
  10. sensor_pdn_delay_us = <2000>; //powerdown pin / shutdown pin actived till I2C ready
  11. i2c_addr = /bits/ 8 <0x10>;
  12. i2c_bus = /bits/ 8 <1>;
  13. i2c_reg_width = /bits/ 8 <2>;
  14. i2c_data_width = /bits/ 8 <1>;
  15. status = "okay";
  16. };
  17. &vvcam_sensor5 { // beagle board J4 CSI1 connector
  18. sensor_name = "IMX219";
  19. sensor_pdn = <&gpio2_porta 24 0>; //powerdown pin / shutdown pin
  20. sensor_pdn_delay_us = <2000>; //powerdown pin / shutdown pin actived till I2C ready
  21. i2c_addr = /bits/ 8 <0x10>;
  22. i2c_bus = /bits/ 8 <3>;
  23. i2c_reg_width = /bits/ 8 <2>;
  24. i2c_data_width = /bits/ 8 <1>;
  25. status = "okay";
  26. };
  27. /*
  28. sensor imx219 mounted on beagle board J4
  29. video0: sensor-vipre-isp0
  30. video1: sensor-vipre-isp0-dw
  31. video7: sensor-vipre-isp0-dsp1-ry-dw
  32. video10: tuningtool
  33. sensor imx219 mounted on beagle board J5
  34. video2: sensor-vipre-isp1
  35. video3: sensor-vipre-isp1-dw
  36. video4: sensor-vipre-isp1-dsp0-ry
  37. video5: sensor-vipre-isp1-dsp0-ry-dw
  38. video12: tuningtool
  39. */
  40. &video2 {
  41. vi_mem_pool_region = <0>; // vi_mem: framebuffer, region[0]
  42. status = "okay";
  43. pipline0 {
  44. pipline_id = <0>;
  45. status = "okay";
  46. sensor0 {
  47. subdev_name = "vivcam";
  48. idx = <4>; // imx219
  49. csi_idx = <0>; //<0>=CSI2
  50. mode_idx = <0>;
  51. path_type = "SENSOR_1080P_RAW10_LINER";
  52. };
  53. sensor1 {
  54. subdev_name = "vivcam";
  55. idx = <0xff>; // invalid
  56. csi_idx = <0xff>;
  57. path_type = "SENSOR_VGA_RAW10_LINER";
  58. };
  59. dma {
  60. subdev_name = "vipre";
  61. idx = <0>;
  62. path_type = "VIPRE_CSI0_ISP1";
  63. };
  64. isp {
  65. subdev_name = "isp";
  66. idx = <1>;
  67. path_type = "ISP_MI_PATH_MP";
  68. output {
  69. max_width = <1920>;
  70. max_height = <1088>;
  71. bit_per_pixel = <16>;
  72. frame_count = <3>;
  73. };
  74. };
  75. };
  76. pipline1 {
  77. pipline_id = <1>;
  78. status = "okay";
  79. sensor0 {
  80. subdev_name = "vivcam";
  81. idx = <4>; // imx219
  82. csi_idx = <0>; //<0>=CSI2
  83. mode_idx = <0>;
  84. path_type = "SENSOR_1080P_RAW10_LINER";
  85. };
  86. sensor1 {
  87. subdev_name = "vivcam";
  88. idx = <0xff>; // invalid
  89. csi_idx = <0xff>;
  90. path_type = "SENSOR_VGA_RAW10_LINER";
  91. };
  92. dma {
  93. subdev_name = "vipre";
  94. idx = <0>;
  95. path_type = "VIPRE_CSI0_ISP1";
  96. };
  97. isp {
  98. subdev_name = "isp";
  99. idx = <1>;
  100. path_type = "ISP_MI_PATH_SP";
  101. output {
  102. max_width = <1920>;
  103. max_height = <1088>;
  104. bit_per_pixel = <16>;
  105. frame_count = <3>;
  106. };
  107. };
  108. };
  109. pipline2 {
  110. pipline_id = <2>;
  111. status = "okay";
  112. sensor0 {
  113. subdev_name = "vivcam";
  114. idx = <4>; // imx219
  115. csi_idx = <0>; //<0>=CSI2
  116. mode_idx = <0>;
  117. path_type = "SENSOR_1080P_RAW10_LINER";
  118. };
  119. sensor1 {
  120. subdev_name = "vivcam";
  121. idx = <0xff>; // invalid
  122. csi_idx = <0xff>;
  123. path_type = "SENSOR_VGA_RAW10_LINER";
  124. };
  125. dma {
  126. subdev_name = "vipre";
  127. idx = <0>;
  128. path_type = "VIPRE_CSI0_ISP1";
  129. };
  130. isp {
  131. subdev_name = "isp";
  132. idx = <1>;
  133. path_type = "ISP_MI_PATH_SP2_BP";
  134. output {
  135. max_width = <1920>;
  136. max_height = <1088>;
  137. bit_per_pixel = <16>;
  138. frame_count = <3>;
  139. };
  140. };
  141. };
  142. };
  143. &video3{
  144. vi_mem_pool_region = <0>; // vi_mem: framebuffer, region[0]
  145. pipline0 {
  146. sensor0 {
  147. subdev_name = "vivcam";
  148. idx = <4>; // imx219
  149. csi_idx = <0>; //<0>=CSI2
  150. mode_idx = <0>;
  151. path_type = "SENSOR_1080P_RAW10_LINER";
  152. };
  153. sensor1 {
  154. subdev_name = "vivcam";
  155. idx = <0xff>; // invalid
  156. csi_idx = <0xff>;
  157. path_type = "SENSOR_VGA_RAW10_LINER";
  158. };
  159. dma {
  160. subdev_name = "vipre";
  161. idx = <0>;
  162. path_type = "VIPRE_CSI0_ISP1";
  163. };
  164. isp {
  165. subdev_name = "isp";
  166. idx = <1>;
  167. path_type = "ISP_MI_PATH_MP";
  168. output {
  169. max_width = <1920>;
  170. max_height = <1088>;
  171. bit_per_pixel = <12>;
  172. frame_count = <3>;
  173. };
  174. };
  175. dw {
  176. subdev_name = "dw";
  177. idx = <0>;
  178. path_type = "DW_DWE_VSE0";
  179. dw_dst_depth = <2>;
  180. };
  181. };
  182. pipline1 {
  183. sensor0 {
  184. subdev_name = "vivcam";
  185. idx = <4>; // imx219
  186. csi_idx = <0>; //<0>=CSI2
  187. mode_idx = <0>;
  188. path_type = "SENSOR_1080P_RAW10_LINER";
  189. };
  190. sensor1 {
  191. subdev_name = "vivcam";
  192. idx = <0xff>; // invalid
  193. csi_idx = <0xff>;
  194. path_type = "SENSOR_VGA_RAW10_LINER";
  195. };
  196. dma {
  197. subdev_name = "vipre";
  198. idx = <0>;
  199. path_type = "VIPRE_CSI0_ISP1";
  200. };
  201. isp {
  202. subdev_name = "isp";
  203. idx = <1>;
  204. path_type = "ISP_MI_PATH_MP";
  205. output {
  206. max_width = <1920>;
  207. max_height = <1088>;
  208. bit_per_pixel = <12>;
  209. frame_count = <3>;
  210. };
  211. };
  212. dw {
  213. subdev_name = "dw";
  214. idx = <0>;
  215. path_type = "DW_DWE_VSE1";
  216. dw_dst_depth = <2>;
  217. };
  218. };
  219. pipline2 {
  220. sensor0 {
  221. subdev_name = "vivcam";
  222. idx = <4>; // imx219
  223. csi_idx = <0>; //<0>=CSI2
  224. mode_idx = <0>;
  225. path_type = "SENSOR_1080P_RAW10_LINER";
  226. };
  227. sensor1 {
  228. subdev_name = "vivcam";
  229. idx = <0xff>; // invalid
  230. csi_idx = <0xff>;
  231. path_type = "SENSOR_VGA_RAW10_LINER";
  232. };
  233. dma {
  234. subdev_name = "vipre";
  235. idx = <0>;
  236. path_type = "VIPRE_CSI0_ISP1";
  237. };
  238. isp {
  239. subdev_name = "isp";
  240. idx = <1>;
  241. path_type = "ISP_MI_PATH_MP";
  242. output {
  243. max_width = <1920>;
  244. max_height = <1088>;
  245. bit_per_pixel = <12>;
  246. frame_count = <3>;
  247. };
  248. };
  249. dw {
  250. subdev_name = "dw";
  251. idx = <0>;
  252. path_type = "DW_DWE_VSE2";
  253. dw_dst_depth = <2>;
  254. };
  255. };
  256. };
  257. &video4{
  258. vi_mem_pool_region = <0>; // vi_mem: framebuffer, region[0]
  259. pipline0 {
  260. sensor0 {
  261. subdev_name = "vivcam";
  262. idx = <4>; // imx219
  263. csi_idx = <0>; //<0>=CSI2
  264. mode_idx = <0>;
  265. path_type = "SENSOR_1080P_RAW10_LINER";
  266. };
  267. sensor1 {
  268. subdev_name = "vivcam";
  269. idx = <0xff>; // invalid
  270. csi_idx = <0xff>;
  271. path_type = "SENSOR_VGA_RAW10_LINER";
  272. };
  273. dma {
  274. subdev_name = "vipre";
  275. idx = <0>;
  276. path_type = "VIPRE_CSI0_ISP1";
  277. };
  278. isp {
  279. subdev_name = "isp";
  280. idx = <1>;
  281. path_type = "ISP_MI_PATH_PP";
  282. output {
  283. max_width = <1920>;
  284. max_height = <1088>;
  285. bit_per_pixel = <12>;
  286. frame_count = <3>;
  287. };
  288. };
  289. dsp {
  290. subdev_name = "dsp";
  291. idx = <0>;
  292. path_type = "DSP_PATH_ISP_RY";
  293. output {
  294. max_width = <1920>;
  295. max_height = <1088>;
  296. bit_per_pixel = <12>;
  297. frame_count = <3>;
  298. };
  299. };
  300. ry {
  301. subdev_name = "ry";
  302. idx = <0>;
  303. path_type = "ISP_RY_MI_PATH_MP";
  304. output {
  305. max_width = <1920>;
  306. max_height = <1088>;
  307. bit_per_pixel = <12>;
  308. frame_count = <3>;
  309. };
  310. };
  311. };
  312. pipline1 {
  313. sensor0 {
  314. subdev_name = "vivcam";
  315. idx = <4>; // imx219
  316. csi_idx = <0>; //<0>=CSI2
  317. mode_idx = <0>;
  318. path_type = "SENSOR_1080P_RAW10_LINER";
  319. };
  320. sensor1 {
  321. subdev_name = "vivcam";
  322. idx = <0xff>; // invalid
  323. csi_idx = <0xff>;
  324. path_type = "SENSOR_VGA_RAW10_LINER";
  325. };
  326. dma {
  327. subdev_name = "vipre";
  328. idx = <0>;
  329. path_type = "VIPRE_CSI0_ISP1";
  330. };
  331. isp {
  332. subdev_name = "isp";
  333. idx = <1>;
  334. path_type = "ISP_MI_PATH_PP";
  335. output {
  336. max_width = <1920>;
  337. max_height = <1088>;
  338. bit_per_pixel = <12>;
  339. frame_count = <3>;
  340. };
  341. };
  342. dsp {
  343. subdev_name = "dsp";
  344. idx = <0>;
  345. path_type = "DSP_PATH_ISP_RY";
  346. output {
  347. max_width = <1920>;
  348. max_height = <1088>;
  349. bit_per_pixel = <12>;
  350. frame_count = <3>;
  351. };
  352. };
  353. ry {
  354. subdev_name = "ry";
  355. idx = <0>;
  356. path_type = "ISP_RY_MI_PATH_SP";
  357. output {
  358. max_width = <1920>;
  359. max_height = <1088>;
  360. bit_per_pixel = <12>;
  361. frame_count = <3>;
  362. };
  363. };
  364. };
  365. pipline2 {
  366. sensor0 {
  367. subdev_name = "vivcam";
  368. idx = <4>; // imx219
  369. csi_idx = <0>; //<0>=CSI2
  370. mode_idx = <0>;
  371. path_type = "SENSOR_1080P_RAW10_LINER";
  372. };
  373. sensor1 {
  374. subdev_name = "vivcam";
  375. idx = <0xff>; // invalid
  376. csi_idx = <0xff>;
  377. path_type = "SENSOR_VGA_RAW10_LINER";
  378. };
  379. dma {
  380. subdev_name = "vipre";
  381. idx = <0>;
  382. path_type = "VIPRE_CSI0_ISP1";
  383. };
  384. isp {
  385. subdev_name = "isp";
  386. idx = <1>;
  387. path_type = "ISP_MI_PATH_PP";
  388. output {
  389. max_width = <1920>;
  390. max_height = <1088>;
  391. bit_per_pixel = <12>;
  392. frame_count = <3>;
  393. };
  394. };
  395. dsp {
  396. subdev_name = "dsp";
  397. idx = <0>;
  398. path_type = "DSP_PATH_ISP_RY";
  399. output {
  400. max_width = <1920>;
  401. max_height = <1088>;
  402. bit_per_pixel = <12>;
  403. frame_count = <3>;
  404. };
  405. };
  406. ry {
  407. subdev_name = "ry";
  408. idx = <0>;
  409. path_type = "ISP_RY_MI_PATH_SP2_BP";
  410. output {
  411. max_width = <1920>;
  412. max_height = <1088>;
  413. bit_per_pixel = <12>;
  414. frame_count = <3>;
  415. };
  416. };
  417. };
  418. };
  419. &video5{
  420. vi_mem_pool_region = <0>; // vi_mem: framebuffer, region[0]
  421. pipline0 {
  422. sensor0 {
  423. subdev_name = "vivcam";
  424. idx = <4>; // imx219
  425. csi_idx = <0>; //<0>=CSI2
  426. mode_idx = <0>;
  427. path_type = "SENSOR_1080P_RAW10_LINER";
  428. };
  429. sensor1 {
  430. subdev_name = "vivcam";
  431. idx = <0xff>; // invalid
  432. csi_idx = <0xff>;
  433. path_type = "SENSOR_VGA_RAW10_LINER";
  434. };
  435. dma {
  436. subdev_name = "vipre";
  437. idx = <0>;
  438. path_type = "VIPRE_CSI0_ISP1";
  439. };
  440. isp {
  441. subdev_name = "isp";
  442. idx = <1>;
  443. path_type = "ISP_MI_PATH_PP";
  444. output {
  445. max_width = <1920>;
  446. max_height = <1088>;
  447. bit_per_pixel = <12>;
  448. frame_count = <3>;
  449. };
  450. };
  451. dsp {
  452. subdev_name = "dsp";
  453. idx = <0>;
  454. path_type = "DSP_PATH_ISP_RY";
  455. output {
  456. max_width = <1920>;
  457. max_height = <1088>;
  458. bit_per_pixel = <12>;
  459. frame_count = <3>;
  460. };
  461. };
  462. ry {
  463. subdev_name = "ry";
  464. idx = <0>;
  465. path_type = "ISP_RY_MI_PATH_MP";
  466. output {
  467. max_width = <1920>;
  468. max_height = <1088>;
  469. bit_per_pixel = <12>;
  470. frame_count = <3>;
  471. };
  472. };
  473. dw {
  474. subdev_name = "dw";
  475. idx = <0>;
  476. path_type = "DW_DWE_VSE0";
  477. dw_dst_depth = <2>;
  478. };
  479. };
  480. pipline1 {
  481. sensor0 {
  482. subdev_name = "vivcam";
  483. idx = <4>; // imx219
  484. csi_idx = <0>; //<0>=CSI2
  485. mode_idx = <0>;
  486. path_type = "SENSOR_1080P_RAW10_LINER";
  487. };
  488. sensor1 {
  489. subdev_name = "vivcam";
  490. idx = <0xff>; // invalid
  491. csi_idx = <0xff>;
  492. path_type = "SENSOR_VGA_RAW10_LINER";
  493. };
  494. dma {
  495. subdev_name = "vipre";
  496. idx = <0>;
  497. path_type = "VIPRE_CSI0_ISP1";
  498. };
  499. isp {
  500. subdev_name = "isp";
  501. idx = <1>;
  502. path_type = "ISP_MI_PATH_PP";
  503. output {
  504. max_width = <1920>;
  505. max_height = <1088>;
  506. bit_per_pixel = <12>;
  507. frame_count = <3>;
  508. };
  509. };
  510. dsp {
  511. subdev_name = "dsp";
  512. idx = <0>;
  513. path_type = "DSP_PATH_ISP_RY";
  514. output {
  515. max_width = <1920>;
  516. max_height = <1088>;
  517. bit_per_pixel = <12>;
  518. frame_count = <3>;
  519. };
  520. };
  521. ry {
  522. subdev_name = "ry";
  523. idx = <0>;
  524. path_type = "ISP_RY_MI_PATH_MP";
  525. output {
  526. max_width = <1920>;
  527. max_height = <1088>;
  528. bit_per_pixel = <12>;
  529. frame_count = <3>;
  530. };
  531. };
  532. dw {
  533. subdev_name = "dw";
  534. idx = <0>;
  535. path_type = "DW_DWE_VSE1";
  536. dw_dst_depth = <2>;
  537. };
  538. };
  539. pipline2 {
  540. sensor0 {
  541. subdev_name = "vivcam";
  542. idx = <4>; // imx219
  543. csi_idx = <0>; //<0>=CSI2
  544. mode_idx = <0>;
  545. path_type = "SENSOR_1080P_RAW10_LINER";
  546. };
  547. sensor1 {
  548. subdev_name = "vivcam";
  549. idx = <0xff>; // invalid
  550. csi_idx = <0xff>;
  551. path_type = "SENSOR_VGA_RAW10_LINER";
  552. };
  553. dma {
  554. subdev_name = "vipre";
  555. idx = <0>;
  556. path_type = "VIPRE_CSI0_ISP1";
  557. };
  558. isp {
  559. subdev_name = "isp";
  560. idx = <1>;
  561. path_type = "ISP_MI_PATH_PP";
  562. output {
  563. max_width = <1920>;
  564. max_height = <1088>;
  565. bit_per_pixel = <12>;
  566. frame_count = <3>;
  567. };
  568. };
  569. dsp {
  570. subdev_name = "dsp";
  571. idx = <0>;
  572. path_type = "DSP_PATH_ISP_RY";
  573. output {
  574. max_width = <1920>;
  575. max_height = <1088>;
  576. bit_per_pixel = <12>;
  577. frame_count = <3>;
  578. };
  579. };
  580. ry {
  581. subdev_name = "ry";
  582. idx = <0>;
  583. path_type = "ISP_RY_MI_PATH_MP";
  584. output {
  585. max_width = <1920>;
  586. max_height = <1088>;
  587. bit_per_pixel = <12>;
  588. frame_count = <3>;
  589. };
  590. };
  591. dw {
  592. subdev_name = "dw";
  593. idx = <0>;
  594. path_type = "DW_DWE_VSE2";
  595. dw_dst_depth = <2>;
  596. };
  597. };
  598. };