light-a-val.dts 44 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. /*
  3. * Copyright (C) 2021-2022 Alibaba Group Holding Limited.
  4. */
  5. /dts-v1/;
  6. #include "light.dtsi"
  7. #include <dt-bindings/input/linux-event-codes.h>
  8. #include <dt-bindings/gpio/gpio.h>
  9. #include "light-vi-devices.dtsi"
  10. / {
  11. model = "T-HEAD Light val board";
  12. compatible = "thead,light-val", "thead,light";
  13. chosen {
  14. bootargs = "console=ttyS0,115200 crashkernel=256M-:128M earlycon clk_ignore_unused sram=0xffe0000000,0x180000";
  15. stdout-path = "serial0:115200n8";
  16. };
  17. leds {
  18. compatible = "gpio-leds";
  19. led0 {
  20. label = "SYS_STATUS";
  21. gpios = <&gpio1_porta 15 0>; /* GPIO_ACTIVE_HIGH: 0 */
  22. default-state = "off";
  23. };
  24. };
  25. lcd0_backlight: pwm-backlight@0 {
  26. compatible = "pwm-backlight";
  27. pwms = <&pwm 0 5000000>;
  28. brightness-levels = <0 4 8 16 32 64 128 255>;
  29. default-brightness-level = <7>;
  30. };
  31. lcd1_backlight: pwm-backlight@1 {
  32. compatible = "pwm-backlight";
  33. pwms = <&pwm 1 5000000>;
  34. brightness-levels = <0 4 8 16 32 64 128 255>;
  35. default-brightness-level = <7>;
  36. };
  37. light_iopmp: iopmp {
  38. compatible = "thead,light-iopmp";
  39. /* config#1: multiple valid regions */
  40. iopmp_emmc: IOPMP_EMMC {
  41. regions = <0x000000 0x100000>,
  42. <0x100000 0x200000>;
  43. attr = <0xFFFFFFFF>;
  44. dummy_slave= <0x800000>;
  45. };
  46. /* config#2: iopmp bypass */
  47. iopmp_sdio0: IOPMP_SDIO0 {
  48. bypass_en;
  49. };
  50. /* config#3: iopmp default region set */
  51. iopmp_sdio1: IOPMP_SDIO1 {
  52. attr = <0xFFFFFFFF>;
  53. is_default_region;
  54. };
  55. iopmp_usb0: IOPMP_USB0 {
  56. attr = <0xFFFFFFFF>;
  57. is_default_region;
  58. };
  59. iopmp_ao: IOPMP_AO {
  60. is_default_region;
  61. };
  62. iopmp_aud: IOPMP_AUD {
  63. is_default_region;
  64. };
  65. iopmp_chip_dbg: IOPMP_CHIP_DBG {
  66. is_default_region;
  67. };
  68. iopmp_eip120i: IOPMP_EIP120I {
  69. is_default_region;
  70. };
  71. iopmp_eip120ii: IOPMP_EIP120II {
  72. is_default_region;
  73. };
  74. iopmp_eip120iii: IOPMP_EIP120III {
  75. is_default_region;
  76. };
  77. iopmp_isp0: IOPMP_ISP0 {
  78. is_default_region;
  79. };
  80. iopmp_isp1: IOPMP_ISP1 {
  81. is_default_region;
  82. };
  83. iopmp_dw200: IOPMP_DW200 {
  84. is_default_region;
  85. };
  86. iopmp_vipre: IOPMP_VIPRE {
  87. is_default_region;
  88. };
  89. iopmp_venc: IOPMP_VENC {
  90. is_default_region;
  91. };
  92. iopmp_vdec: IOPMP_VDEC {
  93. is_default_region;
  94. };
  95. iopmp_g2d: IOPMP_G2D {
  96. is_default_region;
  97. };
  98. iopmp_fce: IOPMP_FCE {
  99. is_default_region;
  100. };
  101. iopmp_npu: IOPMP_NPU {
  102. is_default_region;
  103. };
  104. iopmp0_dpu: IOPMP0_DPU {
  105. bypass_en;
  106. };
  107. iopmp1_dpu: IOPMP1_DPU {
  108. bypass_en;
  109. };
  110. iopmp_gpu: IOPMP_GPU {
  111. is_default_region;
  112. };
  113. iopmp_gmac1: IOPMP_GMAC1 {
  114. is_default_region;
  115. };
  116. iopmp_gmac2: IOPMP_GMAC2 {
  117. is_default_region;
  118. };
  119. iopmp_dmac: IOPMP_DMAC {
  120. is_default_region;
  121. };
  122. iopmp_tee_dmac: IOPMP_TEE_DMAC {
  123. is_default_region;
  124. };
  125. iopmp_dsp0: IOPMP_DSP0 {
  126. is_default_region;
  127. };
  128. iopmp_dsp1: IOPMP_DSP1 {
  129. is_default_region;
  130. };
  131. };
  132. mbox_910t_client1: mbox_910t_client1 {
  133. compatible = "thead,light-mbox-client";
  134. mbox-names = "902";
  135. mboxes = <&mbox_910t 1 0>;
  136. status = "disabled";
  137. };
  138. mbox_910t_client2: mbox_910t_client2 {
  139. compatible = "thead,light-mbox-client";
  140. mbox-names = "906";
  141. mboxes = <&mbox_910t 2 0>;
  142. status = "disabled";
  143. };
  144. lightsound: lightsound@1 {
  145. compatible = "simple-audio-card";
  146. simple-audio-card,name = "Light-Sound-Card";
  147. #address-cells = <1>;
  148. #size-cells = <0>;
  149. status = "disabled";
  150. };
  151. dummy_codec: dummy_codec {
  152. #sound-dai-cells = <1>;
  153. compatible = "linux,bt-sco";
  154. status = "okay";
  155. };
  156. reg_vref_1v8: regulator-adc-verf {
  157. compatible = "regulator-fixed";
  158. regulator-name = "vref-1v8";
  159. regulator-min-microvolt = <1800000>;
  160. regulator-max-microvolt = <1800000>;
  161. status = "okay";
  162. };
  163. reg_tp_pwr_en: regulator-pwr-en {
  164. compatible = "regulator-fixed";
  165. regulator-name = "PWR_EN";
  166. regulator-min-microvolt = <2800000>;
  167. regulator-max-microvolt = <2800000>;
  168. gpio = <&pcal6408ahk_a 3 1>;
  169. enable-active-high;
  170. regulator-always-on;
  171. };
  172. reg_tp1_pwr_en: regulator-tp1-pwr-en {
  173. compatible = "regulator-fixed";
  174. regulator-name = "PWR_EN";
  175. regulator-min-microvolt = <2800000>;
  176. regulator-max-microvolt = <2800000>;
  177. gpio = <&pcal6408ahk_a 6 1>;
  178. enable-active-high;
  179. regulator-always-on;
  180. };
  181. lcd0_1v8: regulator-lcd0-vdd18 {
  182. compatible = "regulator-fixed";
  183. regulator-name = "lcd0_en";
  184. regulator-min-microvolt = <1800000>;
  185. regulator-max-microvolt = <1800000>;
  186. gpio = <&pcal6408ahk_a 2 0>;
  187. enable-active-high;
  188. };
  189. lcd0_5v7: regulator-lcd0-vspn57 {
  190. compatible = "regulator-fixed";
  191. regulator-name = "lcd0_bias_en";
  192. regulator-min-microvolt = <5700000>;
  193. regulator-max-microvolt = <5700000>;
  194. gpio = <&pcal6408ahk_a 4 0>;
  195. enable-active-high;
  196. };
  197. lcd1_1v8: regulator-lcd1-vdd18 {
  198. compatible = "regulator-fixed";
  199. regulator-name = "lcd1_en";
  200. regulator-min-microvolt = <1800000>;
  201. regulator-max-microvolt = <1800000>;
  202. gpio = <&pcal6408ahk_a 5 0>;
  203. enable-active-high;
  204. };
  205. lcd1_5v7: regulator-lcd1-vspn57 {
  206. compatible = "regulator-fixed";
  207. regulator-name = "lcd1_bias_en";
  208. regulator-min-microvolt = <5700000>;
  209. regulator-max-microvolt = <5700000>;
  210. gpio = <&pcal6408ahk_a 7 0>;
  211. enable-active-high;
  212. };
  213. wcn_wifi: wireless-wlan {
  214. compatible = "wlan-platdata";
  215. clock-names = "clk_wifi";
  216. ref-clock-frequency = <24000000>;
  217. keep_wifi_power_on;
  218. pinctrl-names = "default";
  219. wifi_chip_type = "rtl8723ds";
  220. WIFI,poweren_gpio = <&gpio2_porta 26 0>;
  221. WIFI,reset_n = <&gpio2_porta 28 0>;
  222. status = "disabled";
  223. };
  224. wcn_bt: wireless-bluetooth {
  225. compatible = "bluetooth-platdata";
  226. pinctrl-names = "default", "rts_gpio";
  227. BT,power_gpio = <&gpio2_porta 29 0>;
  228. status = "disabled";
  229. };
  230. gpio_keys: gpio_keys{
  231. compatible = "gpio-keys";
  232. pinctrl-0 = <&pinctrl_volume>;
  233. pinctrl-names = "default";
  234. status = "disabled";
  235. key-volumedown {
  236. label = "Volume Down Key";
  237. linux,code = <KEY_1>;
  238. debounce-interval = <2>;
  239. gpios = <&ao_gpio_porta 4 GPIO_ACTIVE_LOW>;
  240. };
  241. key-volumeup {
  242. label = "Volume Up Key";
  243. linux,code = <KEY_2>;
  244. debounce-interval = <2>;
  245. gpios = <&ao_gpio_porta 5 GPIO_ACTIVE_LOW>;
  246. };
  247. };
  248. aon {
  249. compatible = "thead,light-aon";
  250. mbox-names = "aon";
  251. mboxes = <&mbox_910t 1 0>;
  252. status = "okay";
  253. pd: light-aon-pd {
  254. compatible = "thead,light-aon-pd";
  255. #power-domain-cells = <1>;
  256. };
  257. aon_reg_dialog: light-dialog-reg {
  258. compatible = "thead,light-dialog-pmic";
  259. status = "okay";
  260. dvdd_cpu_reg: appcpu_dvdd {
  261. regulator-name = "appcpu_dvdd";
  262. regulator-min-microvolt = <300000>;
  263. regulator-max-microvolt = <1570000>;
  264. regulator-boot-on;
  265. regulator-always-on;
  266. };
  267. dvddm_cpu_reg: appcpu_dvddm {
  268. regulator-name = "appcpu_dvddm";
  269. regulator-min-microvolt = <300000>;
  270. regulator-max-microvolt = <1570000>;
  271. regulator-boot-on;
  272. regulator-always-on;
  273. };
  274. soc_dvdd18_aon_reg: soc_dvdd18_aon {
  275. regulator-name = "soc_dvdd18_aon";
  276. regulator-boot-on;
  277. regulator-always-on;
  278. };
  279. soc_avdd33_usb3_reg: soc_avdd33_usb3 {
  280. regulator-name = "soc_avdd33_usb3";
  281. regulator-boot-on;
  282. regulator-always-on;
  283. };
  284. soc_dvdd08_aon_reg: soc_dvdd08_aon {
  285. regulator-name = "soc_dvdd08_aon";
  286. regulator-boot-on;
  287. regulator-always-on;
  288. };
  289. soc_dvdd08_ddr_reg: soc_dvdd08_ddr {
  290. regulator-name = "soc_dvdd08_ddr";
  291. regulator-boot-on;
  292. regulator-always-on;
  293. };
  294. soc_vdd_ddr_1v8_reg: soc_vdd_ddr_1v8 {
  295. regulator-name = "soc_vdd_ddr_1v8";
  296. regulator-boot-on;
  297. regulator-always-on;
  298. };
  299. soc_vdd_ddr_1v1_reg: soc_vdd_ddr_1v1 {
  300. regulator-name = "soc_vdd_ddr_1v1";
  301. regulator-boot-on;
  302. regulator-always-on;
  303. };
  304. soc_vdd_ddr_0v6_reg: soc_vdd_ddr_0v6 {
  305. regulator-name = "soc_vdd_ddr_0v6";
  306. regulator-boot-on;
  307. regulator-always-on;
  308. };
  309. soc_dvdd18_ap_reg: soc_dvdd18_ap {
  310. regulator-name = "soc_dvdd18_ap";
  311. regulator-boot-on;
  312. regulator-always-on;
  313. };
  314. soc_avdd08_mipi_hdmi_reg: soc_avdd08_mipi_hdmi {
  315. regulator-name = "soc_avdd08_mipi_hdmi";
  316. regulator-boot-on;
  317. regulator-always-on;
  318. };
  319. soc_avdd18_mipi_hdmi_reg: soc_avdd18_mipi_hdmi {
  320. regulator-name = "soc_avdd18_mipi_hdmi";
  321. regulator-boot-on;
  322. regulator-always-on;
  323. };
  324. soc_vdd33_emmc_reg: soc_vdd33_emmc {
  325. regulator-name = "soc_vdd33_emmc";
  326. regulator-boot-on;
  327. regulator-always-on;
  328. };
  329. soc_vdd18_emmc_reg: soc_vdd18_emmc {
  330. regulator-name = "soc_vdd18_emmc";
  331. regulator-boot-on;
  332. regulator-always-on;
  333. };
  334. soc_dovdd18_scan_reg: soc_dovdd18_scan {
  335. regulator-name = "soc_dovdd18_scan";
  336. regulator-min-microvolt = <900000>;
  337. regulator-max-microvolt = <3600000>;
  338. };
  339. soc_vext_2v8_reg: soc_vext_2v8 {
  340. regulator-name = "soc_vext_2v8";
  341. regulator-boot-on;
  342. regulator-always-on;
  343. };
  344. soc_dvdd12_scan_reg: soc_dvdd12_scan {
  345. regulator-name = "soc_dvdd12_scan";
  346. regulator-min-microvolt = <900000>;
  347. regulator-max-microvolt = <3600000>;
  348. };
  349. soc_avdd28_scan_en_reg: soc_avdd28_scan_en {
  350. regulator-name = "soc_avdd28_scan_en";
  351. };
  352. soc_avdd28_rgb_reg: soc_avdd28_rgb {
  353. regulator-name = "soc_avdd28_rgb";
  354. regulator-min-microvolt = <2200000>;
  355. regulator-max-microvolt = <3475000>;
  356. regulator-boot-on;
  357. regulator-always-on;
  358. };
  359. soc_dovdd18_rgb_reg: soc_dovdd18_rgb {
  360. regulator-name = "soc_dovdd18_rgb";
  361. regulator-min-microvolt = <1200000>;
  362. regulator-max-microvolt = <3600000>;
  363. regulator-boot-on;
  364. regulator-always-on;
  365. };
  366. soc_dvdd12_rgb_reg: soc_dvdd12_rgb {
  367. regulator-name = "soc_dvdd12_rgb";
  368. regulator-min-microvolt = <400000>;
  369. regulator-max-microvolt = <1675000>;
  370. regulator-boot-on;
  371. regulator-always-on;
  372. };
  373. soc_avdd25_ir_reg: soc_avdd25_ir {
  374. regulator-name = "soc_avdd25_ir";
  375. regulator-min-microvolt = <2200000>;
  376. regulator-max-microvolt = <3475000>;
  377. regulator-boot-on;
  378. regulator-always-on;
  379. };
  380. soc_dovdd18_ir_reg: soc_dovdd18_ir {
  381. regulator-name = "soc_dovdd18_ir";
  382. regulator-min-microvolt = <1200000>;
  383. regulator-max-microvolt = <3600000>;
  384. regulator-boot-on;
  385. regulator-always-on;
  386. };
  387. soc_dvdd12_ir_reg: soc_dvdd12_ir {
  388. regulator-name = "soc_dvdd12_ir";
  389. regulator-min-microvolt = <400000>;
  390. regulator-max-microvolt = <1675000>;
  391. regulator-boot-on;
  392. regulator-always-on;
  393. };
  394. };
  395. c910_cpufreq {
  396. compatible = "thead,light-mpw-cpufreq";
  397. status = "okay";
  398. };
  399. test: light-aon-test {
  400. compatible = "thead,light-aon-test";
  401. };
  402. };
  403. };
  404. &cmamem {
  405. alloc-ranges = <0 0xe4000000 0 0x14000000>; // [0xE400_0000 ~ 0xF800_0000]
  406. };
  407. &resmem {
  408. #address-cells = <2>;
  409. #size-cells = <2>;
  410. ranges;
  411. tee_mem: memory@1a000000 {
  412. reg = <0x0 0x1a000000 0 0x4000000>;
  413. no-map;
  414. };
  415. dsp0_mem: memory@20000000 { /**0x2000_0000~0x2040_0000 4M**/
  416. reg = <0x0 0x20000000 0x0 0x00280000 /* DSP FW code&data section 2.5M*/
  417. 0x0 0x20280000 0x0 0x00001000 /* DSP communication area 4K*/
  418. 0x0 0x20281000 0x0 0x00007000 /* Panic/log page 28K */
  419. 0x0 0x20288000 0x0 0x00178000>; /* DSP shared memory 1.5M-32K*/
  420. no-map;
  421. };
  422. dsp1_mem: memory@20400000 { /**0x2040_0000~0x2080_0000 4M**/
  423. reg = <0x0 0x20400000 0x0 0x00280000 /* DSP FW code&data section */
  424. 0x0 0x20680000 0x0 0x00001000 /* DSP communication area */
  425. 0x0 0x20681000 0x0 0x00007000 /* Panic/log page*/
  426. 0x0 0x20688000 0x0 0x00178000>; /* DSP shared memory */
  427. no-map;
  428. };
  429. vi_mem: framebuffer@0f800000 {
  430. reg = <0x0 0x0F800000 0x0 0x05400000 /* vi_mem_pool_region[0] 84 MB (default) */
  431. 0x0 0x14C00000 0x0 0x01D00000 /* vi_mem_pool_region[1] 29 MB */
  432. 0x0 0x16900000 0x0 0x03200000>; /* vi_mem_pool_region[2] 50 MB */
  433. no-map;
  434. };
  435. facelib_mem: memory@22000000 {
  436. reg = <0x0 0x22000000 0x0 0x10000000>;
  437. no-map;
  438. };
  439. };
  440. &adc {
  441. vref-supply = <&reg_vref_1v8>;
  442. status = "okay";
  443. };
  444. &i2c0 {
  445. clock-frequency = <400000>;
  446. status = "okay";
  447. eeprom@50 {
  448. compatible = "atmel,24c32";
  449. reg = <0x50>;
  450. pagesize = <32>;
  451. };
  452. codec: wm8960@1a {
  453. #sound-dai-cells = <0>;
  454. compatible = "wlf,wm8960";
  455. reg = <0x1a>;
  456. wlf,shared-lrclk;
  457. wlf,hp-cfg = <3 2 3>;
  458. wlf,gpio-cfg = <1 3>;
  459. };
  460. touch@5d {
  461. #gpio-cells = <2>;
  462. compatible = "goodix,gt911";
  463. reg = <0x5d>;
  464. interrupt-parent = <&gpio1_porta>;
  465. interrupts = <8 0>;
  466. irq-gpios = <&gpio1_porta 8 0>;
  467. reset-gpios = <&gpio1_porta 7 0>;
  468. AVDD28-supply = <&reg_tp_pwr_en>;
  469. touchscreen-size-x = <720>;
  470. touchscreen-size-y = <1280>;
  471. };
  472. };
  473. &audio_i2c0 {
  474. clock-frequency = <100000>;
  475. status = "okay";
  476. es8156_audio_codec: es8156@8 {
  477. #sound-dai-cells = <0>;
  478. compatible = "everest,es8156";
  479. reg = <0x08>;
  480. };
  481. es7210_audio_codec: es7210@40 {
  482. #sound-dai-cells = <0>;
  483. compatible = "MicArray_0";
  484. reg = <0x40>;
  485. };
  486. };
  487. &i2c1 {
  488. clock-frequency = <400000>;
  489. status = "okay";
  490. touch1@5d {
  491. #gpio-cells = <2>;
  492. compatible = "goodix,gt911";
  493. reg = <0x5d>;
  494. interrupt-parent = <&gpio1_porta>;
  495. interrupts = <12 0>;
  496. irq-gpios = <&gpio1_porta 12 0>;
  497. reset-gpios = <&gpio1_porta 11 0>;
  498. AVDD28-supply = <&reg_tp1_pwr_en>;
  499. touchscreen-size-x = <720>;
  500. touchscreen-size-y = <1280>;
  501. };
  502. };
  503. &spi0 {
  504. num-cs = <1>;
  505. cs-gpios = <&gpio2_porta 15 0>; // GPIO_ACTIVE_HIGH: 0
  506. rx-sample-delay-ns = <10>;
  507. status = "okay";
  508. spi_norflash@0 {
  509. #address-cells = <1>;
  510. #size-cells = <1>;
  511. compatible = "winbond,w25q64jwm", "jedec,spi-nor";
  512. reg = <0>;
  513. spi-max-frequency = <50000000>;
  514. w25q,fast-read;
  515. };
  516. spidev@1 {
  517. compatible = "spidev";
  518. #address-cells = <0x1>;
  519. #size-cells = <0x1>;
  520. reg = <0x1>;
  521. spi-max-frequency = <50000000>;
  522. };
  523. };
  524. &uart0 {
  525. clock-frequency = <100000000>;
  526. };
  527. &qspi0 {
  528. num-cs = <1>;
  529. cs-gpios = <&gpio2_porta 3 0>;
  530. rx-sample-dly = <4>;
  531. status = "disabled";
  532. spi-flash@0 {
  533. #address-cells = <1>;
  534. #size-cells = <1>;
  535. compatible = "spi-nand";
  536. spi-max-frequency = <100000000>;
  537. spi-tx-bus-width = <4>;
  538. spi-rx-bus-width = <4>;
  539. reg = <0>;
  540. partition@0 {
  541. label = "ubi1";
  542. reg = <0x00000000 0x08000000>;
  543. };
  544. };
  545. };
  546. &qspi1 {
  547. num-cs = <1>;
  548. cs-gpios = <&gpio0_porta 1 0>;
  549. status = "disabled";
  550. spi-flash@0 {
  551. #address-cells = <1>;
  552. #size-cells = <1>;
  553. compatible = "spi-nand";
  554. spi-max-frequency = <66000000>;
  555. spi-tx-bus-width = <4>;
  556. spi-rx-bus-width = <4>;
  557. reg = <0>;
  558. partition@0 {
  559. label = "ubi2";
  560. reg = <0x00000000 0x08000000>;
  561. };
  562. };
  563. };
  564. &gmac0 {
  565. phy-mode = "rgmii-id";
  566. rx-clk-delay = <0x00>; /* for RGMII */
  567. tx-clk-delay = <0x00>; /* for RGMII */
  568. phy-handle = <&phy_88E1111_0>;
  569. status = "okay";
  570. mdio0 {
  571. #address-cells = <1>;
  572. #size-cells = <0>;
  573. compatible = "snps,dwmac-mdio";
  574. phy_88E1111_0: ethernet-phy@0 {
  575. reg = <0x1>;
  576. };
  577. phy_88E1111_1: ethernet-phy@1 {
  578. reg = <0x2>;
  579. };
  580. };
  581. };
  582. &gmac1 {
  583. phy-mode = "rgmii-id";
  584. rx-clk-delay = <0x00>; /* for RGMII */
  585. tx-clk-delay = <0x00>; /* for RGMII */
  586. phy-handle = <&phy_88E1111_1>;
  587. status = "okay";
  588. };
  589. &emmc {
  590. max-frequency = <198000000>;
  591. non-removable;
  592. mmc-hs400-1_8v;
  593. io_fixed_1v8;
  594. is_emmc;
  595. no-sdio;
  596. no-sd;
  597. pull_up;
  598. bus-width = <8>;
  599. status = "okay";
  600. };
  601. &sdhci0 {
  602. max-frequency = <198000000>;
  603. bus-width = <4>;
  604. pull_up;
  605. wprtn_ignore;
  606. status = "okay";
  607. };
  608. &sdhci1 {
  609. max-frequency = <100000000>;
  610. bus-width = <4>;
  611. pull_up;
  612. no-sd;
  613. no-mmc;
  614. non-removable;
  615. io_fixed_1v8;
  616. post-power-on-delay-ms = <50>;
  617. wprtn_ignore;
  618. cap-sd-highspeed;
  619. keep-power-in-suspend;
  620. wakeup-source;
  621. status = "disabled";
  622. };
  623. &padctrl0_apsys { /* right-pinctrl */
  624. light-evb-padctrl0 {
  625. /*
  626. * Pin Configuration Node:
  627. * Format: <pin_id mux_node config>
  628. */
  629. pinctrl_uart0: uart0grp {
  630. thead,pins = <
  631. FM_UART0_TXD 0x0 0x72
  632. FM_UART0_RXD 0x0 0x72
  633. >;
  634. };
  635. pinctrl_spi0: spi0grp {
  636. thead,pins = <
  637. FM_SPI_CSN 0x3 0x20a
  638. FM_SPI_SCLK 0x0 0x20a
  639. FM_SPI_MISO 0x0 0x23a
  640. FM_SPI_MOSI 0x0 0x23a
  641. >;
  642. };
  643. pinctrl_qspi0: qspi0grp {
  644. thead,pins = <
  645. FM_QSPI0_SCLK 0x0 0x20f
  646. FM_QSPI0_CSN0 0x3 0x20f
  647. FM_QSPI0_CSN1 0x0 0x20f
  648. FM_QSPI0_D0_MOSI 0x0 0x23f
  649. FM_QSPI0_D1_MISO 0x0 0x23f
  650. FM_QSPI0_D2_WP 0x0 0x23f
  651. FM_QSPI0_D3_HOLD 0x0 0x23f
  652. >;
  653. };
  654. pinctrl_audio_i2s0: i2s0grp {
  655. thead,pins = <
  656. FM_QSPI0_SCLK 0x2 0x208
  657. FM_QSPI0_CSN0 0x2 0x238
  658. FM_QSPI0_CSN1 0x2 0x208
  659. FM_QSPI0_D0_MOSI 0x2 0x238
  660. FM_QSPI0_D1_MISO 0x2 0x238
  661. FM_QSPI0_D2_WP 0x2 0x238
  662. FM_QSPI0_D3_HOLD 0x2 0x238
  663. >;
  664. };
  665. pinctrl_pwm: pwmgrp {
  666. thead,pins = <
  667. FM_GPIO3_2 0x1 0x208 /* pwm0 */
  668. FM_GPIO3_3 0x1 0x208 /* pwm1 */
  669. >;
  670. };
  671. };
  672. };
  673. &padctrl1_apsys { /* left-pinctrl */
  674. light-evb-padctrl1 {
  675. /*
  676. * Pin Configuration Node:
  677. * Format: <pin_id mux_node config>
  678. */
  679. pinctrl_uart3: uart3grp {
  680. thead,pins = <
  681. FM_UART3_TXD 0x0 0x72
  682. FM_UART3_RXD 0x0 0x72
  683. >;
  684. };
  685. pinctrl_uart4: uart4grp {
  686. thead,pins = <
  687. FM_UART4_TXD 0x0 0x72
  688. FM_UART4_RXD 0x0 0x72
  689. FM_UART4_CTSN 0x0 0x72
  690. FM_UART4_RTSN 0x0 0x72
  691. >;
  692. };
  693. pinctrl_qspi1: qspi1grp {
  694. thead,pins = <
  695. FM_QSPI1_SCLK 0x0 0x20a
  696. FM_QSPI1_CSN0 0x3 0x20a
  697. FM_QSPI1_D0_MOSI 0x0 0x23a
  698. FM_QSPI1_D1_MISO 0x0 0x23a
  699. FM_QSPI1_D2_WP 0x0 0x23a
  700. FM_QSPI1_D3_HOLD 0x0 0x23a
  701. >;
  702. };
  703. pinctrl_iso7816: iso7816grp {
  704. thead,pins = <
  705. FM_QSPI1_SCLK 0x1 0x208
  706. FM_QSPI1_D0_MOSI 0x1 0x238
  707. FM_QSPI1_D1_MISO 0x1 0x238
  708. FM_QSPI1_D2_WP 0x1 0x238
  709. FM_QSPI1_D3_HOLD 0x1 0x238
  710. >;
  711. };
  712. };
  713. };
  714. &padctrl_aosys {
  715. light-aon-padctrl {
  716. /*
  717. * Pin Configuration Node:
  718. * Format: <pin_id mux_node config>
  719. */
  720. pinctrl_audiopa1: audiopa1_grp {
  721. thead,pins = <
  722. FM_AUDIO_PA1 0x3 0x72
  723. >;
  724. };
  725. pinctrl_audiopa2: audiopa2_grp {
  726. thead,pins = <
  727. FM_AUDIO_PA2 0x0 0x72
  728. >;
  729. };
  730. pinctrl_volume: volume_grp {
  731. thead,pins = <
  732. FM_CPU_JTG_TDI 0x3 0x208
  733. FM_CPU_JTG_TDO 0x3 0x208
  734. >;
  735. };
  736. };
  737. };
  738. &i2c2 {
  739. clock-frequency = <400000>;
  740. status = "okay";
  741. eeprom@50 {
  742. compatible = "atmel,24c32";
  743. reg = <0x50>;
  744. pagesize = <32>;
  745. };
  746. };
  747. &i2c3 {
  748. clock-frequency = <400000>;
  749. status = "okay";
  750. eeprom@50 {
  751. compatible = "atmel,24c32";
  752. reg = <0x50>;
  753. pagesize = <32>;
  754. };
  755. };
  756. &i2c4 {
  757. clock-frequency = <400000>;
  758. status = "okay";
  759. eeprom@50 {
  760. compatible = "atmel,24c32";
  761. reg = <0x50>;
  762. pagesize = <32>;
  763. };
  764. pcal6408ahk_a: gpio@20 {
  765. compatible = "nxp,pcal9554b";
  766. reg = <0x20>;
  767. gpio-controller;
  768. #gpio-cells = <2>;
  769. };
  770. };
  771. &isp0 {
  772. status = "okay";
  773. };
  774. &isp1 {
  775. status = "okay";
  776. };
  777. &isp_ry0 {
  778. status = "okay";
  779. };
  780. &dewarp {
  781. status = "okay";
  782. };
  783. &dec400_isp0 {
  784. status = "okay";
  785. };
  786. &dec400_isp1 {
  787. status = "okay";
  788. };
  789. &dec400_isp2 {
  790. status = "okay";
  791. };
  792. &bm_visys {
  793. status = "okay";
  794. };
  795. &bm_csi0 {
  796. status = "okay";
  797. };
  798. &bm_csi1 {
  799. status = "okay";
  800. };
  801. &bm_csi2 {
  802. status = "okay";
  803. };
  804. &vi_pre {
  805. //vi_pre_irq_en = <1>;
  806. status = "okay";
  807. };
  808. &xtensa_dsp {
  809. status = "okay";
  810. };
  811. &xtensa_dsp0 {
  812. status = "okay";
  813. memory-region = <&dsp0_mem>;
  814. };
  815. &xtensa_dsp1{
  816. status = "okay";
  817. memory-region = <&dsp1_mem>;
  818. };
  819. &vvcam_flash_led0{
  820. flash_led_name = "aw36413_aw36515";
  821. floodlight_i2c_bus = /bits/ 8 <2>;
  822. floodlight_en_pin = <&gpio1_porta 25 0>;
  823. //projection_i2c_bus = /bits/ 8 <2>;
  824. flash_led_touch_pin = <&gpio1_porta 27 0>; //flash led touch pin
  825. status = "okay";
  826. };
  827. &vvcam_sensor0 {
  828. sensor_name = "SC2310";
  829. sensor_regulators = "DOVDD18_RGB", "DVDD12_RGB", "AVDD28_RGB";
  830. sensor_regulator_timing_us = <70 50 20>;
  831. sensor_rst = <&gpio1_porta 16 0>;
  832. sensor_pdn_delay_us = <4000>; //powerdown pin / shutdown pin actived till I2C ready
  833. DOVDD18_RGB-supply = <&soc_dovdd18_rgb_reg>;
  834. DVDD12_RGB-supply = <&soc_dvdd12_rgb_reg>;
  835. AVDD28_RGB-supply = <&soc_avdd28_rgb_reg>;
  836. i2c_reg_width = /bits/ 8 <2>;
  837. i2c_data_width = /bits/ 8 <1>;
  838. i2c_addr = /bits/ 8 <0x30>;
  839. i2c_bus = /bits/ 8 <3>;
  840. status = "okay";
  841. };
  842. &vvcam_sensor1 {
  843. sensor_name = "OV5693";
  844. i2c_bus = /bits/ 8 <3>;
  845. i2c_reg_width = /bits/ 8 <1>;
  846. i2c_data_width = /bits/ 8 <1>;
  847. status = "disabled";
  848. };
  849. &vvcam_sensor2 {
  850. sensor_name = "GC5035";
  851. sensor_regulators = "DOVDD18_SCAN", "DVDD12_SCAN", "AVDD28_SCAN";
  852. sensor_regulator_timing_us = <100 50 0>;
  853. sensor_pdn = <&gpio1_porta 30 0>; //powerdown pin / shutdown pin
  854. sensor_rst = <&gpio1_porta 29 0>;
  855. sensor_pdn_delay_us = <60>; //powerdown pin / shutdown pin actived till I2C ready
  856. DOVDD18_SCAN-supply = <&soc_dovdd18_scan_reg>;
  857. DVDD12_SCAN-supply = <&soc_dvdd12_scan_reg>;
  858. AVDD28_SCAN-supply = <&soc_avdd28_scan_en_reg>;
  859. i2c_addr = /bits/ 8 <0x37>;
  860. i2c_bus = /bits/ 8 <4>;
  861. i2c_reg_width = /bits/ 8 <1>;
  862. i2c_data_width = /bits/ 8 <1>;
  863. status = "okay";
  864. };
  865. &vvcam_sensor3 {
  866. sensor_name = "SC2310";
  867. sensor_regulators = "DOVDD18_SCAN", "DVDD12_SCAN", "AVDD28_SCAN";
  868. sensor_regulator_timing_us = <70 50 20>;
  869. sensor_pdn = <&gpio1_porta 30 0>; //powerdown pin / shutdown pin
  870. sensor_rst = <&gpio1_porta 29 0>;
  871. sensor_pdn_delay_us = <4000>; //powerdown pin / shutdown pin actived till I2C ready
  872. DOVDD18_SCAN-supply = <&soc_dovdd18_scan_reg>;
  873. DVDD12_SCAN-supply = <&soc_dvdd12_scan_reg>;
  874. AVDD28_SCAN-supply = <&soc_avdd28_scan_en_reg>;
  875. i2c_bus = /bits/ 8 <4>;
  876. status = "okay";
  877. };
  878. &vvcam_sensor4 {
  879. sensor_name = "SC132GS";
  880. sensor_regulators = "DOVDD18_IR", "DVDD12_IR", "AVDD25_IR";
  881. sensor_regulator_timing_us = <70 1000 2000>;
  882. i2c_addr = /bits/ 8 <0x31>;
  883. sensor_rst = <&gpio1_porta 24 0>;
  884. sensor_pdn_delay_us = <2000>; //powerdown pin / shutdown pin actived till I2C ready
  885. DOVDD18_IR-supply = <&soc_dovdd18_ir_reg>;
  886. DVDD12_IR-supply = <&soc_dvdd12_ir_reg>;
  887. AVDD25_IR-supply = <&soc_avdd25_ir_reg>;
  888. i2c_reg_width = /bits/ 8 <2>;
  889. i2c_data_width = /bits/ 8 <1>;
  890. i2c_bus = /bits/ 8 <2>;
  891. status = "okay";
  892. };
  893. &vvcam_sensor5 {
  894. sensor_name = "OV12870";
  895. sensor_regulators = "DOVDD18_RGB", "DVDD12_RGB", "AVDD28_RGB";
  896. sensor_regulator_timing_us = <100 50 0>;
  897. sensor_rst = <&gpio1_porta 16 0>;
  898. sensor_pdn_delay_us = <60>; //powerdown pin / shutdown pin actived till I2C ready
  899. DOVDD18_RGB-supply = <&soc_dovdd18_rgb_reg>;
  900. DVDD12_RGB-supply = <&soc_dvdd12_rgb_reg>;
  901. AVDD28_RGB-supply = <&soc_avdd28_rgb_reg>;
  902. i2c_addr = /bits/ 8 <0x10>;
  903. i2c_reg_width = /bits/ 8 <2>;
  904. i2c_data_width = /bits/ 8 <1>;
  905. i2c_bus = /bits/ 8 <3>;
  906. status = "okay";
  907. };
  908. &vvcam_sensor6 {
  909. sensor_name = "GC02M1B";
  910. sensor_regulators = "DOVDD18_RGB", "DVDD12_RGB", "AVDD28_RGB";
  911. sensor_regulator_timing_us = <70 50 20>;
  912. sensor_rst = <&gpio1_porta 16 0>;
  913. sensor_pdn_delay_us = <1000>; //powerdown pin / shutdown pin actived till I2C ready
  914. DOVDD18_RGB-supply = <&soc_dovdd18_rgb_reg>;
  915. DVDD12_RGB-supply = <&soc_dvdd12_rgb_reg>;
  916. AVDD28_RGB-supply = <&soc_avdd28_rgb_reg>;
  917. i2c_reg_width = /bits/ 8 <1>;
  918. i2c_data_width = /bits/ 8 <1>;
  919. i2c_addr = /bits/ 8 <0x37>;
  920. i2c_bus = /bits/ 8 <3>;
  921. status = "okay";
  922. };
  923. &video0{
  924. vi_mem_pool_region = <2>; // vi_mem: framebuffer, region[2]
  925. pipline0 {
  926. sensor0 {
  927. subdev_name = "vivcam";
  928. idx = <2>; //<2>=vivcam2 : gc5035
  929. csi_idx = <1>; //<1>=CSI2X2_B
  930. mode_idx = <3>;
  931. path_type = "SENSOR_1296x972_RAW10_LINER"; //SENSOR_VGA_RAW10_LINER//
  932. };
  933. sensor1 {
  934. subdev_name = "vivcam";
  935. idx = <3>; //<3>=vivcam3 : sc2310
  936. csi_idx = <1>; //<1>=CSI2X2_B
  937. mode_idx = <1>;
  938. path_type = "SENSOR_1920X1088_26FPS_RAW12_LINER";
  939. };
  940. isp {
  941. subdev_name = "isp";
  942. idx = <0>;
  943. path_type = "ISP_MI_PATH_MP";
  944. output {
  945. max_width = <1920>;
  946. max_height = <1088>;
  947. bit_per_pixel = <12>;
  948. frame_count = <3>;
  949. };
  950. };
  951. };
  952. pipline1 {
  953. sensor0 {
  954. subdev_name = "vivcam";
  955. idx = <2>; //<2>=vivcam2 : gc5035
  956. csi_idx = <1>; //<1>=CSI2X2_B
  957. mode_idx = <3>;
  958. path_type = "SENSOR_1296x972_RAW10_LINER"; //SENSOR_VGA_RAW10_LINER//
  959. };
  960. sensor1 {
  961. subdev_name = "vivcam";
  962. idx = <3>; //<3>=vivcam3 : sc2310
  963. csi_idx = <1>; //<1>=CSI2X2_B
  964. mode_idx = <1>;
  965. path_type = "SENSOR_1920X1088_26FPS_RAW12_LINER";
  966. };
  967. isp {
  968. subdev_name = "isp";
  969. idx = <0>;
  970. path_type = "ISP_MI_PATH_SP";
  971. output {
  972. max_width = <1920>;
  973. max_height = <1088>;
  974. bit_per_pixel = <12>;
  975. frame_count = <3>;
  976. };
  977. };
  978. };
  979. pipline2 {
  980. sensor0 {
  981. subdev_name = "vivcam";
  982. idx = <2>; //<2>=vivcam2 : gc5035
  983. csi_idx = <1>; //<1>=CSI2X2_B
  984. mode_idx = <3>;
  985. path_type = "SENSOR_1296x972_RAW10_LINER"; //SENSOR_VGA_RAW10_LINER//
  986. };
  987. sensor1 {
  988. subdev_name = "vivcam";
  989. idx = <3>; //<3>=vivcam3 : sc2310
  990. csi_idx = <1>; //<1>=CSI2X2_B
  991. mode_idx = <1>;
  992. path_type = "SENSOR_1920X1088_26FPS_RAW12_LINER";
  993. };
  994. isp {
  995. subdev_name = "isp";
  996. idx = <0>;
  997. path_type = "ISP_MI_PATH_SP2_BP";
  998. output {
  999. max_width = <1920>;
  1000. max_height = <1088>;
  1001. bit_per_pixel = <12>;
  1002. frame_count = <3>;
  1003. };
  1004. };
  1005. };
  1006. };
  1007. &video1{
  1008. vi_mem_pool_region = <2>; // vi_mem: framebuffer, region[2]
  1009. pipline0 {
  1010. sensor0 {
  1011. subdev_name = "vivcam";
  1012. idx = <2>; //<2>=vivcam2 : gc5035
  1013. csi_idx = <1>; //<1>=CSI2X2_B
  1014. mode_idx = <3>;
  1015. path_type = "SENSOR_1296x972_RAW10_LINER";
  1016. };
  1017. sensor1 {
  1018. subdev_name = "vivcam";
  1019. idx = <3>; //<3>=vivcam3 : sc2310
  1020. csi_idx = <1>; //<1>=CSI2X2_B
  1021. mode_idx = <1>;
  1022. path_type = "SENSOR_1920X1088_26FPS_RAW12_LINER";
  1023. };
  1024. isp {
  1025. subdev_name = "isp";
  1026. idx = <0>;
  1027. path_type = "ISP_MI_PATH_MP";
  1028. output {
  1029. max_width = <1920>;
  1030. max_height = <1088>;
  1031. bit_per_pixel = <12>;
  1032. frame_count = <3>;
  1033. };
  1034. };
  1035. dw {
  1036. subdev_name = "dw";
  1037. idx = <0>;
  1038. path_type = "DW_DWE_VSE0";
  1039. dw_dst_depth = <2>;
  1040. };
  1041. };
  1042. pipline1 {
  1043. sensor0 {
  1044. subdev_name = "vivcam";
  1045. idx = <2>; //<2>=vivcam2 : gc5035
  1046. csi_idx = <1>; //<1>=CSI2X2_B
  1047. mode_idx = <3>;
  1048. path_type = "SENSOR_1296x972_RAW10_LINER";
  1049. };
  1050. sensor1 {
  1051. subdev_name = "vivcam";
  1052. idx = <3>; //<3>=vivcam3 : sc2310
  1053. csi_idx = <1>; //<1>=CSI2X2_B
  1054. mode_idx = <1>;
  1055. path_type = "SENSOR_1920X1088_26FPS_RAW12_LINER";
  1056. };
  1057. isp {
  1058. subdev_name = "isp";
  1059. idx = <0>;
  1060. path_type = "ISP_MI_PATH_MP";
  1061. output {
  1062. max_width = <1920>;
  1063. max_height = <1088>;
  1064. bit_per_pixel = <12>;
  1065. frame_count = <3>;
  1066. };
  1067. };
  1068. dw {
  1069. subdev_name = "dw";
  1070. idx = <0>;
  1071. path_type = "DW_DWE_VSE1";
  1072. dw_dst_depth = <2>;
  1073. };
  1074. };
  1075. pipline2 {
  1076. sensor0 {
  1077. subdev_name = "vivcam";
  1078. idx = <2>; //<2>=vivcam2 : gc5035
  1079. csi_idx = <1>; //<1>=CSI2X2_B
  1080. mode_idx = <3>;
  1081. path_type = "SENSOR_1296x972_RAW10_LINER";
  1082. };
  1083. sensor1 {
  1084. subdev_name = "vivcam";
  1085. idx = <3>; //<3>=vivcam3 : sc2310
  1086. csi_idx = <1>; //<1>=CSI2X2_B
  1087. mode_idx = <1>;
  1088. path_type = "SENSOR_1920X1088_26FPS_RAW12_LINER";
  1089. };
  1090. isp {
  1091. subdev_name = "isp";
  1092. idx = <0>;
  1093. path_type = "ISP_MI_PATH_MP";
  1094. output {
  1095. max_width = <1920>;
  1096. max_height = <1088>;
  1097. bit_per_pixel = <12>;
  1098. frame_count = <3>;
  1099. };
  1100. };
  1101. dw {
  1102. subdev_name = "dw";
  1103. idx = <0>;
  1104. path_type = "DW_DWE_VSE2";
  1105. dw_dst_depth = <2>;
  1106. };
  1107. };
  1108. };
  1109. &video2{
  1110. vi_mem_pool_region = <0>; // vi_mem: framebuffer, region[0]
  1111. pipline0 {
  1112. sensor0 {
  1113. subdev_name = "vivcam";
  1114. idx = <0>; //sc2310
  1115. csi_idx = <0>; //<0>=CSI2
  1116. mode_idx = <1>;
  1117. path_type = "SENSOR_1920X1088_26FPS_RAW12_LINER";
  1118. };
  1119. sensor1 {
  1120. subdev_name = "vivcam";
  1121. idx = <6>; //gc02m1b
  1122. csi_idx = <0>; //<0>=CSI2
  1123. mode_idx = <0>;
  1124. path_type = "SENSOR_1600x1200_RAW10_LINER";
  1125. };
  1126. isp {
  1127. subdev_name = "isp";
  1128. idx = <1>;
  1129. path_type = "ISP_MI_PATH_MP";
  1130. output {
  1131. max_width = <1920>;
  1132. max_height = <1088>;
  1133. bit_per_pixel = <16>;
  1134. frame_count = <3>;
  1135. };
  1136. };
  1137. };
  1138. pipline1 {
  1139. sensor0 {
  1140. subdev_name = "vivcam";
  1141. idx = <0>; //sc2310
  1142. csi_idx = <0>; //<0>=CSI2
  1143. mode_idx = <1>;
  1144. path_type = "SENSOR_1920X1088_26FPS_RAW12_LINER";
  1145. };
  1146. sensor1 {
  1147. subdev_name = "vivcam";
  1148. idx = <6>; //gc02m1b
  1149. csi_idx = <0>; //<0>=CSI2
  1150. mode_idx = <0>;
  1151. path_type = "SENSOR_1600x1200_RAW10_LINER";
  1152. };
  1153. isp {
  1154. subdev_name = "isp";
  1155. idx = <1>;
  1156. path_type = "ISP_MI_PATH_SP";
  1157. output {
  1158. max_width = <1920>;
  1159. max_height = <1088>;
  1160. bit_per_pixel = <16>;
  1161. frame_count = <3>;
  1162. };
  1163. };
  1164. };
  1165. pipline2 {
  1166. sensor0 {
  1167. subdev_name = "vivcam";
  1168. idx = <0>; //sc2310
  1169. csi_idx = <0>; //<0>=CSI2
  1170. mode_idx = <1>;
  1171. path_type = "SENSOR_1920X1088_26FPS_RAW12_LINER";
  1172. };
  1173. sensor1 {
  1174. subdev_name = "vivcam";
  1175. idx = <6>; //gc02m1b
  1176. csi_idx = <0>; //<0>=CSI2
  1177. mode_idx = <0>;
  1178. path_type = "SENSOR_1600x1200_RAW10_LINER";
  1179. };
  1180. isp {
  1181. subdev_name = "isp";
  1182. idx = <1>;
  1183. path_type = "ISP_MI_PATH_SP2_BP";
  1184. output {
  1185. max_width = <1920>;
  1186. max_height = <1088>;
  1187. bit_per_pixel = <16>;
  1188. frame_count = <3>;
  1189. };
  1190. };
  1191. };
  1192. };
  1193. &video3{
  1194. vi_mem_pool_region = <0>; // vi_mem: framebuffer, region[0]
  1195. pipline0 {
  1196. sensor0 {
  1197. subdev_name = "vivcam";
  1198. idx = <0>; //sc2310
  1199. csi_idx = <0>; //<0>=CSI2
  1200. mode_idx = <1>;
  1201. path_type = "SENSOR_1920X1088_26FPS_RAW12_LINER";
  1202. };
  1203. sensor1 {
  1204. subdev_name = "vivcam";
  1205. idx = <6>; //gc02m1b
  1206. csi_idx = <0>; //<0>=CSI2
  1207. mode_idx = <0>;
  1208. path_type = "SENSOR_1600x1200_RAW10_LINER";
  1209. };
  1210. isp {
  1211. subdev_name = "isp";
  1212. idx = <1>;
  1213. path_type = "ISP_MI_PATH_MP";
  1214. output {
  1215. max_width = <1920>;
  1216. max_height = <1088>;
  1217. bit_per_pixel = <12>;
  1218. frame_count = <3>;
  1219. };
  1220. };
  1221. dw {
  1222. subdev_name = "dw";
  1223. idx = <0>;
  1224. path_type = "DW_DWE_VSE0";
  1225. dw_dst_depth = <2>;
  1226. };
  1227. };
  1228. pipline1 {
  1229. sensor0 {
  1230. subdev_name = "vivcam";
  1231. idx = <0>; //sc2310
  1232. csi_idx = <0>; //<0>=CSI2
  1233. mode_idx = <1>;
  1234. path_type = "SENSOR_1920X1088_26FPS_RAW12_LINER";
  1235. };
  1236. sensor1 {
  1237. subdev_name = "vivcam";
  1238. idx = <6>; //gc02m1b
  1239. csi_idx = <0>; //<0>=CSI2
  1240. mode_idx = <0>;
  1241. path_type = "SENSOR_1600x1200_RAW10_LINER";
  1242. };
  1243. isp {
  1244. subdev_name = "isp";
  1245. idx = <1>;
  1246. path_type = "ISP_MI_PATH_MP";
  1247. output {
  1248. max_width = <1920>;
  1249. max_height = <1088>;
  1250. bit_per_pixel = <12>;
  1251. frame_count = <3>;
  1252. };
  1253. };
  1254. dw {
  1255. subdev_name = "dw";
  1256. idx = <0>;
  1257. path_type = "DW_DWE_VSE1";
  1258. dw_dst_depth = <2>;
  1259. };
  1260. };
  1261. pipline2 {
  1262. sensor0 {
  1263. subdev_name = "vivcam";
  1264. idx = <0>; //sc2310
  1265. csi_idx = <0>; //<0>=CSI2
  1266. mode_idx = <1>;
  1267. path_type = "SENSOR_1920X1088_26FPS_RAW12_LINER";
  1268. };
  1269. sensor1 {
  1270. subdev_name = "vivcam";
  1271. idx = <6>; //gc02m1b
  1272. csi_idx = <0>; //<0>=CSI2
  1273. mode_idx = <0>;
  1274. path_type = "SENSOR_1600x1200_RAW10_LINER";
  1275. };
  1276. isp {
  1277. subdev_name = "isp";
  1278. idx = <1>;
  1279. path_type = "ISP_MI_PATH_MP";
  1280. output {
  1281. max_width = <1920>;
  1282. max_height = <1088>;
  1283. bit_per_pixel = <12>;
  1284. frame_count = <3>;
  1285. };
  1286. };
  1287. dw {
  1288. subdev_name = "dw";
  1289. idx = <0>;
  1290. path_type = "DW_DWE_VSE2";
  1291. dw_dst_depth = <2>;
  1292. };
  1293. };
  1294. };
  1295. &video4{
  1296. vi_mem_pool_region = <0>; // vi_mem: framebuffer, region[0]
  1297. pipline0 {
  1298. sensor0 {
  1299. subdev_name = "vivcam";
  1300. idx = <0>; //sc2310
  1301. csi_idx = <0>; //<0>=CSI2
  1302. mode_idx = <1>;
  1303. path_type = "SENSOR_1920X1088_26FPS_RAW12_LINER";
  1304. };
  1305. sensor1 {
  1306. subdev_name = "vivcam";
  1307. idx = <6>; //gc02m1b
  1308. csi_idx = <0>; //<0>=CSI2
  1309. mode_idx = <0>;
  1310. path_type = "SENSOR_1600x1200_RAW10_LINER";
  1311. };
  1312. isp {
  1313. subdev_name = "isp";
  1314. idx = <1>;
  1315. path_type = "ISP_MI_PATH_PP";
  1316. output {
  1317. max_width = <1920>;
  1318. max_height = <1088>;
  1319. bit_per_pixel = <12>;
  1320. frame_count = <3>;
  1321. };
  1322. };
  1323. dsp {
  1324. subdev_name = "dsp";
  1325. idx = <0>;
  1326. path_type = "DSP_PATH_ISP_RY";
  1327. output {
  1328. max_width = <1920>;
  1329. max_height = <1088>;
  1330. bit_per_pixel = <12>;
  1331. frame_count = <3>;
  1332. };
  1333. };
  1334. ry {
  1335. subdev_name = "ry";
  1336. idx = <0>;
  1337. path_type = "ISP_RY_MI_PATH_MP";
  1338. output {
  1339. max_width = <1920>;
  1340. max_height = <1088>;
  1341. bit_per_pixel = <12>;
  1342. frame_count = <3>;
  1343. };
  1344. };
  1345. };
  1346. pipline1 {
  1347. sensor0 {
  1348. subdev_name = "vivcam";
  1349. idx = <0>; //sc2310
  1350. csi_idx = <0>; //<0>=CSI2
  1351. mode_idx = <1>;
  1352. path_type = "SENSOR_1920X1088_26FPS_RAW12_LINER";
  1353. };
  1354. sensor1 {
  1355. subdev_name = "vivcam";
  1356. idx = <6>; //gc02m1b
  1357. csi_idx = <0>; //<0>=CSI2
  1358. mode_idx = <0>;
  1359. path_type = "SENSOR_1600x1200_RAW10_LINER";
  1360. };
  1361. isp {
  1362. subdev_name = "isp";
  1363. idx = <1>;
  1364. path_type = "ISP_MI_PATH_PP";
  1365. output {
  1366. max_width = <1920>;
  1367. max_height = <1088>;
  1368. bit_per_pixel = <12>;
  1369. frame_count = <3>;
  1370. };
  1371. };
  1372. dsp {
  1373. subdev_name = "dsp";
  1374. idx = <0>;
  1375. path_type = "DSP_PATH_ISP_RY";
  1376. output {
  1377. max_width = <1920>;
  1378. max_height = <1088>;
  1379. bit_per_pixel = <12>;
  1380. frame_count = <3>;
  1381. };
  1382. };
  1383. ry {
  1384. subdev_name = "ry";
  1385. idx = <0>;
  1386. path_type = "ISP_RY_MI_PATH_SP";
  1387. output {
  1388. max_width = <1920>;
  1389. max_height = <1088>;
  1390. bit_per_pixel = <12>;
  1391. frame_count = <3>;
  1392. };
  1393. };
  1394. };
  1395. pipline2 {
  1396. sensor0 {
  1397. subdev_name = "vivcam";
  1398. idx = <0>; //sc2310
  1399. csi_idx = <0>; //<0>=CSI2
  1400. mode_idx = <1>;
  1401. path_type = "SENSOR_1920X1088_26FPS_RAW12_LINER";
  1402. };
  1403. sensor1 {
  1404. subdev_name = "vivcam";
  1405. idx = <6>; //gc02m1b
  1406. csi_idx = <0>; //<0>=CSI2
  1407. mode_idx = <0>;
  1408. path_type = "SENSOR_1600x1200_RAW10_LINER";
  1409. };
  1410. isp {
  1411. subdev_name = "isp";
  1412. idx = <1>;
  1413. path_type = "ISP_MI_PATH_PP";
  1414. output {
  1415. max_width = <1920>;
  1416. max_height = <1088>;
  1417. bit_per_pixel = <12>;
  1418. frame_count = <3>;
  1419. };
  1420. };
  1421. dsp {
  1422. subdev_name = "dsp";
  1423. idx = <0>;
  1424. path_type = "DSP_PATH_ISP_RY";
  1425. output {
  1426. max_width = <1920>;
  1427. max_height = <1088>;
  1428. bit_per_pixel = <12>;
  1429. frame_count = <3>;
  1430. };
  1431. };
  1432. ry {
  1433. subdev_name = "ry";
  1434. idx = <0>;
  1435. path_type = "ISP_RY_MI_PATH_SP2_BP";
  1436. output {
  1437. max_width = <1920>;
  1438. max_height = <1088>;
  1439. bit_per_pixel = <12>;
  1440. frame_count = <3>;
  1441. };
  1442. };
  1443. };
  1444. };
  1445. &video5{
  1446. vi_mem_pool_region = <0>; // vi_mem: framebuffer, region[0]
  1447. pipline0 {
  1448. sensor0 {
  1449. subdev_name = "vivcam";
  1450. idx = <0>; //sc2310
  1451. csi_idx = <0>; //<0>=CSI2
  1452. mode_idx = <1>;
  1453. path_type = "SENSOR_1920X1088_26FPS_RAW12_LINER";
  1454. };
  1455. sensor1 {
  1456. subdev_name = "vivcam";
  1457. idx = <6>; //gc02m1b
  1458. csi_idx = <0>; //<0>=CSI2
  1459. mode_idx = <0>;
  1460. path_type = "SENSOR_1600x1200_RAW10_LINER";
  1461. };
  1462. isp {
  1463. subdev_name = "isp";
  1464. idx = <1>;
  1465. path_type = "ISP_MI_PATH_PP";
  1466. output {
  1467. max_width = <1920>;
  1468. max_height = <1088>;
  1469. bit_per_pixel = <12>;
  1470. frame_count = <3>;
  1471. };
  1472. };
  1473. dsp {
  1474. subdev_name = "dsp";
  1475. idx = <0>;
  1476. path_type = "DSP_PATH_ISP_RY";
  1477. output {
  1478. max_width = <1920>;
  1479. max_height = <1088>;
  1480. bit_per_pixel = <12>;
  1481. frame_count = <3>;
  1482. };
  1483. };
  1484. ry {
  1485. subdev_name = "ry";
  1486. idx = <0>;
  1487. path_type = "ISP_RY_MI_PATH_MP";
  1488. output {
  1489. max_width = <1920>;
  1490. max_height = <1088>;
  1491. bit_per_pixel = <12>;
  1492. frame_count = <3>;
  1493. };
  1494. };
  1495. dw {
  1496. subdev_name = "dw";
  1497. idx = <0>;
  1498. path_type = "DW_DWE_VSE0";
  1499. dw_dst_depth = <2>;
  1500. };
  1501. };
  1502. pipline1 {
  1503. sensor0 {
  1504. subdev_name = "vivcam";
  1505. idx = <0>; //sc2310
  1506. csi_idx = <0>; //<0>=CSI2
  1507. mode_idx = <1>;
  1508. path_type = "SENSOR_1920X1088_26FPS_RAW12_LINER";
  1509. };
  1510. sensor1 {
  1511. subdev_name = "vivcam";
  1512. idx = <6>; //gc02m1b
  1513. csi_idx = <0>; //<0>=CSI2
  1514. mode_idx = <0>;
  1515. path_type = "SENSOR_1600x1200_RAW10_LINER";
  1516. };
  1517. isp {
  1518. subdev_name = "isp";
  1519. idx = <1>;
  1520. path_type = "ISP_MI_PATH_PP";
  1521. output {
  1522. max_width = <1920>;
  1523. max_height = <1088>;
  1524. bit_per_pixel = <12>;
  1525. frame_count = <3>;
  1526. };
  1527. };
  1528. dsp {
  1529. subdev_name = "dsp";
  1530. idx = <0>;
  1531. path_type = "DSP_PATH_ISP_RY";
  1532. output {
  1533. max_width = <1920>;
  1534. max_height = <1088>;
  1535. bit_per_pixel = <12>;
  1536. frame_count = <3>;
  1537. };
  1538. };
  1539. ry {
  1540. subdev_name = "ry";
  1541. idx = <0>;
  1542. path_type = "ISP_RY_MI_PATH_MP";
  1543. output {
  1544. max_width = <1920>;
  1545. max_height = <1088>;
  1546. bit_per_pixel = <12>;
  1547. frame_count = <3>;
  1548. };
  1549. };
  1550. dw {
  1551. subdev_name = "dw";
  1552. idx = <0>;
  1553. path_type = "DW_DWE_VSE1";
  1554. dw_dst_depth = <2>;
  1555. };
  1556. };
  1557. pipline2 {
  1558. sensor0 {
  1559. subdev_name = "vivcam";
  1560. idx = <0>; //sc2310
  1561. csi_idx = <0>; //<0>=CSI2
  1562. mode_idx = <1>;
  1563. path_type = "SENSOR_1920X1088_26FPS_RAW12_LINER";
  1564. };
  1565. sensor1 {
  1566. subdev_name = "vivcam";
  1567. idx = <6>; //gc02m1b
  1568. csi_idx = <0>; //<0>=CSI2
  1569. mode_idx = <0>;
  1570. path_type = "SENSOR_1600x1200_RAW10_LINER";
  1571. };
  1572. isp {
  1573. subdev_name = "isp";
  1574. idx = <1>;
  1575. path_type = "ISP_MI_PATH_PP";
  1576. output {
  1577. max_width = <1920>;
  1578. max_height = <1088>;
  1579. bit_per_pixel = <12>;
  1580. frame_count = <3>;
  1581. };
  1582. };
  1583. dsp {
  1584. subdev_name = "dsp";
  1585. idx = <0>;
  1586. path_type = "DSP_PATH_ISP_RY";
  1587. output {
  1588. max_width = <1920>;
  1589. max_height = <1088>;
  1590. bit_per_pixel = <12>;
  1591. frame_count = <3>;
  1592. };
  1593. };
  1594. ry {
  1595. subdev_name = "ry";
  1596. idx = <0>;
  1597. path_type = "ISP_RY_MI_PATH_MP";
  1598. output {
  1599. max_width = <1920>;
  1600. max_height = <1088>;
  1601. bit_per_pixel = <12>;
  1602. frame_count = <3>;
  1603. };
  1604. };
  1605. dw {
  1606. subdev_name = "dw";
  1607. idx = <0>;
  1608. path_type = "DW_DWE_VSE2";
  1609. dw_dst_depth = <2>;
  1610. };
  1611. };
  1612. };
  1613. &video6{
  1614. vi_mem_pool_region = <1>; // vi_mem: framebuffer, region[1]
  1615. pipline0 {
  1616. sensor0 {
  1617. subdev_name = "vivcam";
  1618. idx = <4>; //sc132gs
  1619. csi_idx = <2>; //<2>=CSI2X2_A
  1620. flash_led_idx = <0>;
  1621. mode_idx = <0>;
  1622. path_type = "SENSOR_1080X1280_30FPS_RAW10_LINER";
  1623. };
  1624. dsp{
  1625. output {
  1626. max_width = <1080>;
  1627. max_height = <1280>;
  1628. bit_per_pixel = <16>;
  1629. frame_count = <3>;
  1630. };
  1631. };
  1632. };
  1633. pipline1 {
  1634. sensor0 {
  1635. subdev_name = "vivcam";
  1636. idx = <4>; //sc132gs
  1637. csi_idx = <2>; //<2>=CSI2X2_A
  1638. flash_led_idx = <0>;
  1639. mode_idx = <0>;
  1640. path_type = "SENSOR_1080X1280_30FPS_RAW10_LINER";
  1641. };
  1642. dsp{
  1643. output {
  1644. max_width = <1080>;
  1645. max_height = <1280>;
  1646. bit_per_pixel = <16>;
  1647. frame_count = <3>;
  1648. };
  1649. };
  1650. };
  1651. };
  1652. &video7{
  1653. pipline0 {
  1654. sensor0 {
  1655. subdev_name = "vivcam";
  1656. idx = <2>; //<2>=vivcam2 : gc5035
  1657. csi_idx = <1>; //<1>=CSI2X2_B
  1658. mode_idx = <3>;
  1659. path_type = "SENSOR_1296x972_RAW10_LINER"; //SENSOR_VGA_RAW10_LINER//
  1660. };
  1661. sensor1 {
  1662. subdev_name = "vivcam";
  1663. idx = <3>; //<3>=vivcam3 : sc2310
  1664. csi_idx = <1>; //<1>=CSI2X2_B
  1665. mode_idx = <1>;
  1666. path_type = "SENSOR_1920X1088_26FPS_RAW12_LINER";
  1667. };
  1668. isp {
  1669. subdev_name = "isp";
  1670. idx = <0>;
  1671. path_type = "ISP_MI_PATH_PP";
  1672. output {
  1673. max_width = <1920>;
  1674. max_height = <1088>;
  1675. bit_per_pixel = <12>;
  1676. frame_count = <3>;
  1677. };
  1678. };
  1679. dsp {
  1680. subdev_name = "dsp";
  1681. idx = <1>;
  1682. path_type = "DSP_PATH_ISP_RY";
  1683. output {
  1684. max_width = <1920>;
  1685. max_height = <1088>;
  1686. bit_per_pixel = <12>;
  1687. frame_count = <3>;
  1688. };
  1689. };
  1690. ry {
  1691. subdev_name = "ry";
  1692. idx = <0>;
  1693. path_type = "ISP_RY_MI_PATH_MP";
  1694. output {
  1695. max_width = <1920>;
  1696. max_height = <1088>;
  1697. bit_per_pixel = <12>;
  1698. frame_count = <3>;
  1699. };
  1700. };
  1701. dw {
  1702. subdev_name = "dw";
  1703. idx = <0>;
  1704. path_type = "DW_DWE_VSE0";
  1705. dw_dst_depth = <2>;
  1706. };
  1707. };
  1708. pipline1 {
  1709. sensor0 {
  1710. subdev_name = "vivcam";
  1711. idx = <2>; //<2>=vivcam2 : gc5035
  1712. csi_idx = <1>; //<1>=CSI2X2_B
  1713. mode_idx = <3>;
  1714. path_type = "SENSOR_1296x972_RAW10_LINER"; //SENSOR_VGA_RAW10_LINER//
  1715. };
  1716. sensor1 {
  1717. subdev_name = "vivcam";
  1718. idx = <3>; //<3>=vivcam3 : sc2310
  1719. csi_idx = <1>; //<1>=CSI2X2_B
  1720. mode_idx = <1>;
  1721. path_type = "SENSOR_1920X1088_26FPS_RAW12_LINER";
  1722. };
  1723. isp {
  1724. subdev_name = "isp";
  1725. idx = <0>;
  1726. path_type = "ISP_MI_PATH_PP";
  1727. output {
  1728. max_width = <1920>;
  1729. max_height = <1088>;
  1730. bit_per_pixel = <12>;
  1731. frame_count = <3>;
  1732. };
  1733. };
  1734. dsp {
  1735. subdev_name = "dsp";
  1736. idx = <1>;
  1737. path_type = "DSP_PATH_ISP_RY";
  1738. output {
  1739. max_width = <1920>;
  1740. max_height = <1088>;
  1741. bit_per_pixel = <12>;
  1742. frame_count = <3>;
  1743. };
  1744. };
  1745. ry {
  1746. subdev_name = "ry";
  1747. idx = <0>;
  1748. path_type = "ISP_RY_MI_PATH_MP";
  1749. output {
  1750. max_width = <1920>;
  1751. max_height = <1088>;
  1752. bit_per_pixel = <12>;
  1753. frame_count = <3>;
  1754. };
  1755. };
  1756. dw {
  1757. subdev_name = "dw";
  1758. idx = <0>;
  1759. path_type = "DW_DWE_VSE1";
  1760. dw_dst_depth = <2>;
  1761. };
  1762. };
  1763. pipline2 {
  1764. sensor0 {
  1765. subdev_name = "vivcam";
  1766. idx = <2>; //<2>=vivcam2 : gc5035
  1767. csi_idx = <1>; //<1>=CSI2X2_B
  1768. mode_idx = <3>;
  1769. path_type = "SENSOR_1296x972_RAW10_LINER"; //SENSOR_VGA_RAW10_LINER//
  1770. };
  1771. sensor1 {
  1772. subdev_name = "vivcam";
  1773. idx = <3>; //<3>=vivcam3 : sc2310
  1774. csi_idx = <1>; //<1>=CSI2X2_B
  1775. mode_idx = <1>;
  1776. path_type = "SENSOR_1920X1088_26FPS_RAW12_LINER";
  1777. };
  1778. isp {
  1779. subdev_name = "isp";
  1780. idx = <0>;
  1781. path_type = "ISP_MI_PATH_PP";
  1782. output {
  1783. max_width = <1920>;
  1784. max_height = <1088>;
  1785. bit_per_pixel = <12>;
  1786. frame_count = <3>;
  1787. };
  1788. };
  1789. dsp {
  1790. subdev_name = "dsp";
  1791. idx = <1>;
  1792. path_type = "DSP_PATH_ISP_RY";
  1793. output {
  1794. max_width = <1920>;
  1795. max_height = <1088>;
  1796. bit_per_pixel = <12>;
  1797. frame_count = <3>;
  1798. };
  1799. };
  1800. ry {
  1801. subdev_name = "ry";
  1802. idx = <0>;
  1803. path_type = "ISP_RY_MI_PATH_MP";
  1804. output {
  1805. max_width = <1920>;
  1806. max_height = <1088>;
  1807. bit_per_pixel = <12>;
  1808. frame_count = <3>;
  1809. };
  1810. };
  1811. dw {
  1812. subdev_name = "dw";
  1813. idx = <0>;
  1814. path_type = "DW_DWE_VSE2";
  1815. dw_dst_depth = <2>;
  1816. };
  1817. };
  1818. };
  1819. &video8{
  1820. vi_mem_pool_region = <1>; // vi_mem: framebuffer, region[1]
  1821. pipline0 {
  1822. sensor0 {
  1823. subdev_name = "vivcam";
  1824. idx = <2>; //<2>=vivcam2 : gc5035
  1825. csi_idx = <1>; //<1>=CSI2X2_B
  1826. mode_idx = <3>;
  1827. path_type = "SENSOR_1296x972_RAW10_LINER"; //SENSOR_VGA_RAW10_LINER//
  1828. };
  1829. sensor1 {
  1830. subdev_name = "vivcam";
  1831. idx = <3>; //<3>=vivcam3 : sc2310
  1832. csi_idx = <1>; //<1>=CSI2X2_B
  1833. mode_idx = <1>;
  1834. path_type = "SENSOR_1920X1088_26FPS_RAW12_LINER";
  1835. };
  1836. dsp {
  1837. subdev_name = "dsp";
  1838. idx = <0>;
  1839. path_type = "DSP_PATH_VIPRE_DDR";
  1840. output {
  1841. max_width = <1920>;
  1842. max_height = <1088>;
  1843. bit_per_pixel = <12>;
  1844. frame_count = <3>;
  1845. };
  1846. };
  1847. };
  1848. };
  1849. &video9{
  1850. pipline0 {
  1851. sensor0 {
  1852. subdev_name = "vivcam";
  1853. idx = <4>; //sc132gs
  1854. csi_idx = <2>; //<2>=CSI2X2_A
  1855. mode_idx = <0>;
  1856. path_type = "SENSOR_1080X1280_30FPS_RAW10_LINER";
  1857. };
  1858. dsp{
  1859. output {
  1860. max_width = <1080>;
  1861. max_height = <1280>;
  1862. bit_per_pixel = <16>;
  1863. frame_count = <3>;
  1864. };
  1865. };
  1866. };
  1867. };
  1868. &video10{
  1869. pipline0 {
  1870. sensor0 {
  1871. subdev_name = "vivcam";
  1872. idx = <2>; //<2>=vivcam2 : gc5035
  1873. csi_idx = <1>; //<1>=CSI2X2_B
  1874. mode_idx = <1>;
  1875. path_type = "SENSOR_1080P_RAW10_LINER"; //SENSOR_VGA_RAW10_LINER//
  1876. skip_init = <1>;
  1877. };
  1878. sensor1 {
  1879. subdev_name = "vivcam";
  1880. idx = <3>; //<3>=vivcam3 : sc2310
  1881. csi_idx = <1>; //<1>=CSI2X2_B
  1882. mode_idx = <1>;
  1883. path_type = "SENSOR_1920X1088_26FPS_RAW12_LINER";
  1884. skip_init = <1>;
  1885. };
  1886. };
  1887. };
  1888. &video11{
  1889. pipline0 {
  1890. pipline_id = <0>;
  1891. status = "okay";
  1892. sensor0 {
  1893. subdev_name = "vivcam";
  1894. idx = <4>; //sc132gs
  1895. csi_idx = <2>; //<2>=CSI2X2_A
  1896. flash_led_idx = <0>;
  1897. mode_idx = <0>;
  1898. path_type = "SENSOR_1080X1280_30FPS_RAW10_LINER";
  1899. };
  1900. isp {
  1901. subdev_name = "isp";
  1902. idx = <0>;
  1903. path_type = "ISP_MI_PATH_MP";
  1904. output {
  1905. max_width = <1920>;
  1906. max_height = <1088>;
  1907. bit_per_pixel = <12>;
  1908. frame_count = <3>;
  1909. };
  1910. };
  1911. };
  1912. };
  1913. &video12{ // TUNINGTOOL
  1914. pipline0 { // CSI2
  1915. sensor0 {
  1916. subdev_name = "vivcam";
  1917. idx = <0>; //sc2310
  1918. csi_idx = <0>; //<0>=CSI2
  1919. mode_idx = <1>;
  1920. path_type = "SENSOR_1920X1088_26FPS_RAW12_LINER";
  1921. skip_init = <1>;
  1922. };
  1923. sensor1 {
  1924. subdev_name = "vivcam";
  1925. idx = <6>; //gc02m1b
  1926. csi_idx = <0>; //<0>=CSI2
  1927. mode_idx = <0>;
  1928. path_type = "SENSOR_1600x1200_RAW10_LINER";
  1929. skip_init = <1>;
  1930. };
  1931. };
  1932. };
  1933. &trng {
  1934. status = "disabled";
  1935. };
  1936. &eip_28 {
  1937. status = "okay";
  1938. };
  1939. &vdec {
  1940. status = "okay";
  1941. };
  1942. &venc {
  1943. status = "okay";
  1944. };
  1945. &isp_venc_shake {
  1946. status = "okay";
  1947. };
  1948. &vidmem {
  1949. status = "okay";
  1950. memory-region = <&vi_mem>;
  1951. };
  1952. &gpu {
  1953. status = "okay";
  1954. };
  1955. &npu {
  1956. vha_clk_rate = <1000000000>;
  1957. status = "okay";
  1958. };
  1959. &fce {
  1960. memory-region = <&facelib_mem>;
  1961. status = "okay";
  1962. };
  1963. &cpus {
  1964. c910_0: cpu@0 {
  1965. operating-points = <
  1966. /* kHz uV */
  1967. 300000 650000
  1968. 800000 700000
  1969. 1500000 800000
  1970. 1848000 1000000
  1971. >;
  1972. light,dvddm-operating-points = <
  1973. /* kHz uV */
  1974. 300000 800000
  1975. 800000 800000
  1976. 1500000 800000
  1977. 1848000 1000000
  1978. >;
  1979. };
  1980. c910_1: cpu@1 {
  1981. operating-points = <
  1982. /* kHz uV */
  1983. 300000 650000
  1984. 800000 700000
  1985. 1500000 800000
  1986. 1848000 1000000
  1987. >;
  1988. light,dvddm-operating-points = <
  1989. /* kHz uV */
  1990. 300000 800000
  1991. 800000 800000
  1992. 1500000 800000
  1993. 1848000 1000000
  1994. >;
  1995. };
  1996. c910_2: cpu@2 {
  1997. operating-points = <
  1998. /* kHz uV */
  1999. 300000 650000
  2000. 800000 700000
  2001. 1500000 800000
  2002. 1848000 1000000
  2003. >;
  2004. light,dvddm-operating-points = <
  2005. /* kHz uV */
  2006. 300000 800000
  2007. 800000 800000
  2008. 1500000 800000
  2009. 1848000 1000000
  2010. >;
  2011. };
  2012. c910_3: cpu@3 {
  2013. operating-points = <
  2014. /* kHz uV */
  2015. 300000 650000
  2016. 800000 700000
  2017. 1500000 800000
  2018. 1848000 1000000
  2019. >;
  2020. light,dvddm-operating-points = <
  2021. /* kHz uV */
  2022. 300000 800000
  2023. 800000 800000
  2024. 1500000 800000
  2025. 1848000 1000000
  2026. >;
  2027. };
  2028. };