light-a-val.dts 45 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205
  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_voltage_uV = <1800000 1200000 2800000>;
  831. sensor_regulator_timing_us = <70 50 20>;
  832. sensor_rst = <&gpio1_porta 16 0>;
  833. sensor_pdn_delay_us = <4000>; //powerdown pin / shutdown pin actived till I2C ready
  834. DOVDD18_RGB-supply = <&soc_dovdd18_rgb_reg>;
  835. DVDD12_RGB-supply = <&soc_dvdd12_rgb_reg>;
  836. AVDD28_RGB-supply = <&soc_avdd28_rgb_reg>;
  837. i2c_reg_width = /bits/ 8 <2>;
  838. i2c_data_width = /bits/ 8 <1>;
  839. i2c_addr = /bits/ 8 <0x30>;
  840. i2c_bus = /bits/ 8 <3>;
  841. status = "okay";
  842. };
  843. &vvcam_sensor1 {
  844. sensor_name = "OV5693";
  845. i2c_bus = /bits/ 8 <3>;
  846. i2c_reg_width = /bits/ 8 <1>;
  847. i2c_data_width = /bits/ 8 <1>;
  848. status = "disabled";
  849. };
  850. &vvcam_sensor2 {
  851. sensor_name = "GC5035";
  852. sensor_regulators = "DOVDD18_SCAN", "DVDD12_SCAN", "AVDD28_SCAN";
  853. sensor_regulator_timing_us = <100 50 0>;
  854. sensor_pdn = <&gpio1_porta 30 0>; //powerdown pin / shutdown pin
  855. sensor_rst = <&gpio1_porta 29 0>;
  856. sensor_pdn_delay_us = <60>; //powerdown pin / shutdown pin actived till I2C ready
  857. DOVDD18_SCAN-supply = <&soc_dovdd18_scan_reg>;
  858. DVDD12_SCAN-supply = <&soc_dvdd12_scan_reg>;
  859. AVDD28_SCAN-supply = <&soc_avdd28_scan_en_reg>;
  860. i2c_addr = /bits/ 8 <0x37>;
  861. i2c_bus = /bits/ 8 <4>;
  862. i2c_reg_width = /bits/ 8 <1>;
  863. i2c_data_width = /bits/ 8 <1>;
  864. status = "okay";
  865. };
  866. &vvcam_sensor3 {
  867. sensor_name = "SC2310";
  868. sensor_regulators = "DOVDD18_SCAN", "DVDD12_SCAN", "AVDD28_SCAN";
  869. sensor_regulator_timing_us = <70 50 20>;
  870. sensor_pdn = <&gpio1_porta 30 0>; //powerdown pin / shutdown pin
  871. sensor_rst = <&gpio1_porta 29 0>;
  872. sensor_pdn_delay_us = <4000>; //powerdown pin / shutdown pin actived till I2C ready
  873. DOVDD18_SCAN-supply = <&soc_dovdd18_scan_reg>;
  874. DVDD12_SCAN-supply = <&soc_dvdd12_scan_reg>;
  875. AVDD28_SCAN-supply = <&soc_avdd28_scan_en_reg>;
  876. i2c_bus = /bits/ 8 <4>;
  877. status = "okay";
  878. };
  879. &vvcam_sensor4 {
  880. sensor_name = "SC132GS";
  881. sensor_regulators = "DOVDD18_IR", "DVDD12_IR", "AVDD25_IR";
  882. sensor_regulator_timing_us = <70 1000 2000>;
  883. i2c_addr = /bits/ 8 <0x31>;
  884. sensor_rst = <&gpio1_porta 24 0>;
  885. sensor_pdn_delay_us = <2000>; //powerdown pin / shutdown pin actived till I2C ready
  886. DOVDD18_IR-supply = <&soc_dovdd18_ir_reg>;
  887. DVDD12_IR-supply = <&soc_dvdd12_ir_reg>;
  888. AVDD25_IR-supply = <&soc_avdd25_ir_reg>;
  889. i2c_reg_width = /bits/ 8 <2>;
  890. i2c_data_width = /bits/ 8 <1>;
  891. i2c_bus = /bits/ 8 <2>;
  892. status = "okay";
  893. };
  894. &vvcam_sensor5 {
  895. sensor_name = "OV12870";
  896. sensor_regulators = "DOVDD18_RGB", "DVDD12_RGB", "AVDD28_RGB";
  897. sensor_regulator_voltage_uV = <1800000 1200000 2800000>;
  898. sensor_regulator_timing_us = <100 50 0>;
  899. sensor_rst = <&gpio1_porta 16 0>;
  900. sensor_pdn_delay_us = <60>; //powerdown pin / shutdown pin actived till I2C ready
  901. DOVDD18_RGB-supply = <&soc_dovdd18_rgb_reg>;
  902. DVDD12_RGB-supply = <&soc_dvdd12_rgb_reg>;
  903. AVDD28_RGB-supply = <&soc_avdd28_rgb_reg>;
  904. i2c_addr = /bits/ 8 <0x10>;
  905. i2c_reg_width = /bits/ 8 <2>;
  906. i2c_data_width = /bits/ 8 <1>;
  907. i2c_bus = /bits/ 8 <3>;
  908. status = "okay";
  909. };
  910. &vvcam_sensor6 {
  911. sensor_name = "GC02M1B";
  912. sensor_regulators = "DOVDD18_RGB", "DVDD12_RGB", "AVDD28_RGB";
  913. sensor_regulator_voltage_uV = <1800000 1675000 2800000>;
  914. sensor_regulator_timing_us = <70 50 20>;
  915. sensor_rst = <&gpio1_porta 16 0>;
  916. sensor_pdn_delay_us = <1000>; //powerdown pin / shutdown pin actived till I2C ready
  917. DOVDD18_RGB-supply = <&soc_dovdd18_rgb_reg>;
  918. DVDD12_RGB-supply = <&soc_dvdd12_rgb_reg>;
  919. AVDD28_RGB-supply = <&soc_avdd28_rgb_reg>;
  920. i2c_reg_width = /bits/ 8 <1>;
  921. i2c_data_width = /bits/ 8 <1>;
  922. i2c_addr = /bits/ 8 <0x37>;
  923. i2c_bus = /bits/ 8 <3>;
  924. status = "okay";
  925. };
  926. &video0{
  927. vi_mem_pool_region = <2>; // vi_mem: framebuffer, region[2]
  928. channel0 {
  929. sensor0 {
  930. subdev_name = "vivcam";
  931. idx = <2>; //<2>=vivcam2 : gc5035
  932. csi_idx = <1>; //<1>=CSI2X2_B
  933. mode_idx = <3>;
  934. path_type = "SENSOR_1296x972_RAW10_LINER"; //SENSOR_VGA_RAW10_LINER//
  935. };
  936. sensor1 {
  937. subdev_name = "vivcam";
  938. idx = <3>; //<3>=vivcam3 : sc2310
  939. csi_idx = <1>; //<1>=CSI2X2_B
  940. mode_idx = <1>;
  941. path_type = "SENSOR_1920X1088_26FPS_RAW12_LINER";
  942. };
  943. isp {
  944. subdev_name = "isp";
  945. idx = <0>;
  946. path_type = "ISP_MI_PATH_MP";
  947. output {
  948. max_width = <1920>;
  949. max_height = <1088>;
  950. bit_per_pixel = <12>;
  951. frame_count = <3>;
  952. };
  953. };
  954. };
  955. channel1 {
  956. sensor0 {
  957. subdev_name = "vivcam";
  958. idx = <2>; //<2>=vivcam2 : gc5035
  959. csi_idx = <1>; //<1>=CSI2X2_B
  960. mode_idx = <3>;
  961. path_type = "SENSOR_1296x972_RAW10_LINER"; //SENSOR_VGA_RAW10_LINER//
  962. };
  963. sensor1 {
  964. subdev_name = "vivcam";
  965. idx = <3>; //<3>=vivcam3 : sc2310
  966. csi_idx = <1>; //<1>=CSI2X2_B
  967. mode_idx = <1>;
  968. path_type = "SENSOR_1920X1088_26FPS_RAW12_LINER";
  969. };
  970. isp {
  971. subdev_name = "isp";
  972. idx = <0>;
  973. path_type = "ISP_MI_PATH_SP";
  974. output {
  975. max_width = <1920>;
  976. max_height = <1088>;
  977. bit_per_pixel = <12>;
  978. frame_count = <3>;
  979. };
  980. };
  981. };
  982. channel2 {
  983. sensor0 {
  984. subdev_name = "vivcam";
  985. idx = <2>; //<2>=vivcam2 : gc5035
  986. csi_idx = <1>; //<1>=CSI2X2_B
  987. mode_idx = <3>;
  988. path_type = "SENSOR_1296x972_RAW10_LINER"; //SENSOR_VGA_RAW10_LINER//
  989. };
  990. sensor1 {
  991. subdev_name = "vivcam";
  992. idx = <3>; //<3>=vivcam3 : sc2310
  993. csi_idx = <1>; //<1>=CSI2X2_B
  994. mode_idx = <1>;
  995. path_type = "SENSOR_1920X1088_26FPS_RAW12_LINER";
  996. };
  997. isp {
  998. subdev_name = "isp";
  999. idx = <0>;
  1000. path_type = "ISP_MI_PATH_SP2_BP";
  1001. output {
  1002. max_width = <1920>;
  1003. max_height = <1088>;
  1004. bit_per_pixel = <12>;
  1005. frame_count = <3>;
  1006. };
  1007. };
  1008. };
  1009. };
  1010. &video1{
  1011. vi_mem_pool_region = <2>; // vi_mem: framebuffer, region[2]
  1012. channel0 {
  1013. sensor0 {
  1014. subdev_name = "vivcam";
  1015. idx = <2>; //<2>=vivcam2 : gc5035
  1016. csi_idx = <1>; //<1>=CSI2X2_B
  1017. mode_idx = <3>;
  1018. path_type = "SENSOR_1296x972_RAW10_LINER";
  1019. };
  1020. sensor1 {
  1021. subdev_name = "vivcam";
  1022. idx = <3>; //<3>=vivcam3 : sc2310
  1023. csi_idx = <1>; //<1>=CSI2X2_B
  1024. mode_idx = <1>;
  1025. path_type = "SENSOR_1920X1088_26FPS_RAW12_LINER";
  1026. };
  1027. isp {
  1028. subdev_name = "isp";
  1029. idx = <0>;
  1030. path_type = "ISP_MI_PATH_MP";
  1031. output {
  1032. max_width = <1920>;
  1033. max_height = <1088>;
  1034. bit_per_pixel = <12>;
  1035. frame_count = <3>;
  1036. };
  1037. };
  1038. dw {
  1039. subdev_name = "dw";
  1040. idx = <0>;
  1041. path_type = "DW_DWE_VSE0";
  1042. dw_dst_depth = <2>;
  1043. };
  1044. };
  1045. channel1 {
  1046. sensor0 {
  1047. subdev_name = "vivcam";
  1048. idx = <2>; //<2>=vivcam2 : gc5035
  1049. csi_idx = <1>; //<1>=CSI2X2_B
  1050. mode_idx = <3>;
  1051. path_type = "SENSOR_1296x972_RAW10_LINER";
  1052. };
  1053. sensor1 {
  1054. subdev_name = "vivcam";
  1055. idx = <3>; //<3>=vivcam3 : sc2310
  1056. csi_idx = <1>; //<1>=CSI2X2_B
  1057. mode_idx = <1>;
  1058. path_type = "SENSOR_1920X1088_26FPS_RAW12_LINER";
  1059. };
  1060. isp {
  1061. subdev_name = "isp";
  1062. idx = <0>;
  1063. path_type = "ISP_MI_PATH_MP";
  1064. output {
  1065. max_width = <1920>;
  1066. max_height = <1088>;
  1067. bit_per_pixel = <12>;
  1068. frame_count = <3>;
  1069. };
  1070. };
  1071. dw {
  1072. subdev_name = "dw";
  1073. idx = <0>;
  1074. path_type = "DW_DWE_VSE1";
  1075. dw_dst_depth = <2>;
  1076. };
  1077. };
  1078. channel2 {
  1079. sensor0 {
  1080. subdev_name = "vivcam";
  1081. idx = <2>; //<2>=vivcam2 : gc5035
  1082. csi_idx = <1>; //<1>=CSI2X2_B
  1083. mode_idx = <3>;
  1084. path_type = "SENSOR_1296x972_RAW10_LINER";
  1085. };
  1086. sensor1 {
  1087. subdev_name = "vivcam";
  1088. idx = <3>; //<3>=vivcam3 : sc2310
  1089. csi_idx = <1>; //<1>=CSI2X2_B
  1090. mode_idx = <1>;
  1091. path_type = "SENSOR_1920X1088_26FPS_RAW12_LINER";
  1092. };
  1093. isp {
  1094. subdev_name = "isp";
  1095. idx = <0>;
  1096. path_type = "ISP_MI_PATH_MP";
  1097. output {
  1098. max_width = <1920>;
  1099. max_height = <1088>;
  1100. bit_per_pixel = <12>;
  1101. frame_count = <3>;
  1102. };
  1103. };
  1104. dw {
  1105. subdev_name = "dw";
  1106. idx = <0>;
  1107. path_type = "DW_DWE_VSE2";
  1108. dw_dst_depth = <2>;
  1109. };
  1110. };
  1111. };
  1112. &video2{
  1113. vi_mem_pool_region = <0>; // vi_mem: framebuffer, region[0]
  1114. channel0 {
  1115. sensor0 {
  1116. subdev_name = "vivcam";
  1117. idx = <0>; //sc2310
  1118. csi_idx = <0>; //<0>=CSI2
  1119. mode_idx = <1>;
  1120. path_type = "SENSOR_1920X1088_26FPS_RAW12_LINER";
  1121. };
  1122. sensor1 {
  1123. subdev_name = "vivcam";
  1124. idx = <6>; //gc02m1b
  1125. csi_idx = <0>; //<0>=CSI2
  1126. mode_idx = <0>;
  1127. path_type = "SENSOR_1600x1200_RAW10_LINER";
  1128. };
  1129. isp {
  1130. subdev_name = "isp";
  1131. idx = <1>;
  1132. path_type = "ISP_MI_PATH_MP";
  1133. output {
  1134. max_width = <1920>;
  1135. max_height = <1088>;
  1136. bit_per_pixel = <16>;
  1137. frame_count = <3>;
  1138. };
  1139. };
  1140. };
  1141. channel1 {
  1142. sensor0 {
  1143. subdev_name = "vivcam";
  1144. idx = <0>; //sc2310
  1145. csi_idx = <0>; //<0>=CSI2
  1146. mode_idx = <1>;
  1147. path_type = "SENSOR_1920X1088_26FPS_RAW12_LINER";
  1148. };
  1149. sensor1 {
  1150. subdev_name = "vivcam";
  1151. idx = <6>; //gc02m1b
  1152. csi_idx = <0>; //<0>=CSI2
  1153. mode_idx = <0>;
  1154. path_type = "SENSOR_1600x1200_RAW10_LINER";
  1155. };
  1156. isp {
  1157. subdev_name = "isp";
  1158. idx = <1>;
  1159. path_type = "ISP_MI_PATH_SP";
  1160. output {
  1161. max_width = <1920>;
  1162. max_height = <1088>;
  1163. bit_per_pixel = <16>;
  1164. frame_count = <3>;
  1165. };
  1166. };
  1167. };
  1168. channel2 {
  1169. sensor0 {
  1170. subdev_name = "vivcam";
  1171. idx = <0>; //sc2310
  1172. csi_idx = <0>; //<0>=CSI2
  1173. mode_idx = <1>;
  1174. path_type = "SENSOR_1920X1088_26FPS_RAW12_LINER";
  1175. };
  1176. sensor1 {
  1177. subdev_name = "vivcam";
  1178. idx = <6>; //gc02m1b
  1179. csi_idx = <0>; //<0>=CSI2
  1180. mode_idx = <0>;
  1181. path_type = "SENSOR_1600x1200_RAW10_LINER";
  1182. };
  1183. isp {
  1184. subdev_name = "isp";
  1185. idx = <1>;
  1186. path_type = "ISP_MI_PATH_SP2_BP";
  1187. output {
  1188. max_width = <1920>;
  1189. max_height = <1088>;
  1190. bit_per_pixel = <16>;
  1191. frame_count = <3>;
  1192. };
  1193. };
  1194. };
  1195. };
  1196. &video3{
  1197. vi_mem_pool_region = <0>; // vi_mem: framebuffer, region[0]
  1198. channel0 {
  1199. sensor0 {
  1200. subdev_name = "vivcam";
  1201. idx = <0>; //sc2310
  1202. csi_idx = <0>; //<0>=CSI2
  1203. mode_idx = <1>;
  1204. path_type = "SENSOR_1920X1088_26FPS_RAW12_LINER";
  1205. };
  1206. sensor1 {
  1207. subdev_name = "vivcam";
  1208. idx = <6>; //gc02m1b
  1209. csi_idx = <0>; //<0>=CSI2
  1210. mode_idx = <0>;
  1211. path_type = "SENSOR_1600x1200_RAW10_LINER";
  1212. };
  1213. isp {
  1214. subdev_name = "isp";
  1215. idx = <1>;
  1216. path_type = "ISP_MI_PATH_MP";
  1217. output {
  1218. max_width = <1920>;
  1219. max_height = <1088>;
  1220. bit_per_pixel = <12>;
  1221. frame_count = <3>;
  1222. };
  1223. };
  1224. dw {
  1225. subdev_name = "dw";
  1226. idx = <0>;
  1227. path_type = "DW_DWE_VSE0";
  1228. dw_dst_depth = <2>;
  1229. };
  1230. };
  1231. channel1 {
  1232. sensor0 {
  1233. subdev_name = "vivcam";
  1234. idx = <0>; //sc2310
  1235. csi_idx = <0>; //<0>=CSI2
  1236. mode_idx = <1>;
  1237. path_type = "SENSOR_1920X1088_26FPS_RAW12_LINER";
  1238. };
  1239. sensor1 {
  1240. subdev_name = "vivcam";
  1241. idx = <6>; //gc02m1b
  1242. csi_idx = <0>; //<0>=CSI2
  1243. mode_idx = <0>;
  1244. path_type = "SENSOR_1600x1200_RAW10_LINER";
  1245. };
  1246. isp {
  1247. subdev_name = "isp";
  1248. idx = <1>;
  1249. path_type = "ISP_MI_PATH_MP";
  1250. output {
  1251. max_width = <1920>;
  1252. max_height = <1088>;
  1253. bit_per_pixel = <12>;
  1254. frame_count = <3>;
  1255. };
  1256. };
  1257. dw {
  1258. subdev_name = "dw";
  1259. idx = <0>;
  1260. path_type = "DW_DWE_VSE1";
  1261. dw_dst_depth = <2>;
  1262. };
  1263. };
  1264. channel2 {
  1265. sensor0 {
  1266. subdev_name = "vivcam";
  1267. idx = <0>; //sc2310
  1268. csi_idx = <0>; //<0>=CSI2
  1269. mode_idx = <1>;
  1270. path_type = "SENSOR_1920X1088_26FPS_RAW12_LINER";
  1271. };
  1272. sensor1 {
  1273. subdev_name = "vivcam";
  1274. idx = <6>; //gc02m1b
  1275. csi_idx = <0>; //<0>=CSI2
  1276. mode_idx = <0>;
  1277. path_type = "SENSOR_1600x1200_RAW10_LINER";
  1278. };
  1279. isp {
  1280. subdev_name = "isp";
  1281. idx = <1>;
  1282. path_type = "ISP_MI_PATH_MP";
  1283. output {
  1284. max_width = <1920>;
  1285. max_height = <1088>;
  1286. bit_per_pixel = <12>;
  1287. frame_count = <3>;
  1288. };
  1289. };
  1290. dw {
  1291. subdev_name = "dw";
  1292. idx = <0>;
  1293. path_type = "DW_DWE_VSE2";
  1294. dw_dst_depth = <2>;
  1295. };
  1296. };
  1297. };
  1298. &video4{
  1299. vi_mem_pool_region = <0>; // vi_mem: framebuffer, region[0]
  1300. channel0 {
  1301. sensor0 {
  1302. subdev_name = "vivcam";
  1303. idx = <0>; //sc2310
  1304. csi_idx = <0>; //<0>=CSI2
  1305. mode_idx = <1>;
  1306. path_type = "SENSOR_1920X1088_26FPS_RAW12_LINER";
  1307. };
  1308. sensor1 {
  1309. subdev_name = "vivcam";
  1310. idx = <6>; //gc02m1b
  1311. csi_idx = <0>; //<0>=CSI2
  1312. mode_idx = <0>;
  1313. path_type = "SENSOR_1600x1200_RAW10_LINER";
  1314. };
  1315. isp {
  1316. subdev_name = "isp";
  1317. idx = <1>;
  1318. path_type = "ISP_MI_PATH_PP";
  1319. output {
  1320. max_width = <1920>;
  1321. max_height = <1088>;
  1322. bit_per_pixel = <12>;
  1323. frame_count = <3>;
  1324. };
  1325. };
  1326. dsp {
  1327. subdev_name = "dsp";
  1328. idx = <0>;
  1329. path_type = "DSP_PATH_ISP_RY";
  1330. output {
  1331. max_width = <1920>;
  1332. max_height = <1088>;
  1333. bit_per_pixel = <12>;
  1334. frame_count = <3>;
  1335. };
  1336. };
  1337. ry {
  1338. subdev_name = "ry";
  1339. idx = <0>;
  1340. path_type = "ISP_RY_MI_PATH_MP";
  1341. output {
  1342. max_width = <1920>;
  1343. max_height = <1088>;
  1344. bit_per_pixel = <12>;
  1345. frame_count = <3>;
  1346. };
  1347. };
  1348. };
  1349. channel1 {
  1350. sensor0 {
  1351. subdev_name = "vivcam";
  1352. idx = <0>; //sc2310
  1353. csi_idx = <0>; //<0>=CSI2
  1354. mode_idx = <1>;
  1355. path_type = "SENSOR_1920X1088_26FPS_RAW12_LINER";
  1356. };
  1357. sensor1 {
  1358. subdev_name = "vivcam";
  1359. idx = <6>; //gc02m1b
  1360. csi_idx = <0>; //<0>=CSI2
  1361. mode_idx = <0>;
  1362. path_type = "SENSOR_1600x1200_RAW10_LINER";
  1363. };
  1364. isp {
  1365. subdev_name = "isp";
  1366. idx = <1>;
  1367. path_type = "ISP_MI_PATH_PP";
  1368. output {
  1369. max_width = <1920>;
  1370. max_height = <1088>;
  1371. bit_per_pixel = <12>;
  1372. frame_count = <3>;
  1373. };
  1374. };
  1375. dsp {
  1376. subdev_name = "dsp";
  1377. idx = <0>;
  1378. path_type = "DSP_PATH_ISP_RY";
  1379. output {
  1380. max_width = <1920>;
  1381. max_height = <1088>;
  1382. bit_per_pixel = <12>;
  1383. frame_count = <3>;
  1384. };
  1385. };
  1386. ry {
  1387. subdev_name = "ry";
  1388. idx = <0>;
  1389. path_type = "ISP_RY_MI_PATH_SP";
  1390. output {
  1391. max_width = <1920>;
  1392. max_height = <1088>;
  1393. bit_per_pixel = <12>;
  1394. frame_count = <3>;
  1395. };
  1396. };
  1397. };
  1398. channel2 {
  1399. sensor0 {
  1400. subdev_name = "vivcam";
  1401. idx = <0>; //sc2310
  1402. csi_idx = <0>; //<0>=CSI2
  1403. mode_idx = <1>;
  1404. path_type = "SENSOR_1920X1088_26FPS_RAW12_LINER";
  1405. };
  1406. sensor1 {
  1407. subdev_name = "vivcam";
  1408. idx = <6>; //gc02m1b
  1409. csi_idx = <0>; //<0>=CSI2
  1410. mode_idx = <0>;
  1411. path_type = "SENSOR_1600x1200_RAW10_LINER";
  1412. };
  1413. isp {
  1414. subdev_name = "isp";
  1415. idx = <1>;
  1416. path_type = "ISP_MI_PATH_PP";
  1417. output {
  1418. max_width = <1920>;
  1419. max_height = <1088>;
  1420. bit_per_pixel = <12>;
  1421. frame_count = <3>;
  1422. };
  1423. };
  1424. dsp {
  1425. subdev_name = "dsp";
  1426. idx = <0>;
  1427. path_type = "DSP_PATH_ISP_RY";
  1428. output {
  1429. max_width = <1920>;
  1430. max_height = <1088>;
  1431. bit_per_pixel = <12>;
  1432. frame_count = <3>;
  1433. };
  1434. };
  1435. ry {
  1436. subdev_name = "ry";
  1437. idx = <0>;
  1438. path_type = "ISP_RY_MI_PATH_SP2_BP";
  1439. output {
  1440. max_width = <1920>;
  1441. max_height = <1088>;
  1442. bit_per_pixel = <12>;
  1443. frame_count = <3>;
  1444. };
  1445. };
  1446. };
  1447. };
  1448. &video5{
  1449. vi_mem_pool_region = <0>; // vi_mem: framebuffer, region[0]
  1450. channel0 {
  1451. sensor0 {
  1452. subdev_name = "vivcam";
  1453. idx = <0>; //sc2310
  1454. csi_idx = <0>; //<0>=CSI2
  1455. mode_idx = <1>;
  1456. path_type = "SENSOR_1920X1088_26FPS_RAW12_LINER";
  1457. };
  1458. sensor1 {
  1459. subdev_name = "vivcam";
  1460. idx = <6>; //gc02m1b
  1461. csi_idx = <0>; //<0>=CSI2
  1462. mode_idx = <0>;
  1463. path_type = "SENSOR_1600x1200_RAW10_LINER";
  1464. };
  1465. isp {
  1466. subdev_name = "isp";
  1467. idx = <1>;
  1468. path_type = "ISP_MI_PATH_PP";
  1469. output {
  1470. max_width = <1920>;
  1471. max_height = <1088>;
  1472. bit_per_pixel = <12>;
  1473. frame_count = <3>;
  1474. };
  1475. };
  1476. dsp {
  1477. subdev_name = "dsp";
  1478. idx = <0>;
  1479. path_type = "DSP_PATH_ISP_RY";
  1480. output {
  1481. max_width = <1920>;
  1482. max_height = <1088>;
  1483. bit_per_pixel = <12>;
  1484. frame_count = <3>;
  1485. };
  1486. };
  1487. ry {
  1488. subdev_name = "ry";
  1489. idx = <0>;
  1490. path_type = "ISP_RY_MI_PATH_MP";
  1491. output {
  1492. max_width = <1920>;
  1493. max_height = <1088>;
  1494. bit_per_pixel = <12>;
  1495. frame_count = <3>;
  1496. };
  1497. };
  1498. dw {
  1499. subdev_name = "dw";
  1500. idx = <0>;
  1501. path_type = "DW_DWE_VSE0";
  1502. dw_dst_depth = <2>;
  1503. };
  1504. };
  1505. channel1 {
  1506. sensor0 {
  1507. subdev_name = "vivcam";
  1508. idx = <0>; //sc2310
  1509. csi_idx = <0>; //<0>=CSI2
  1510. mode_idx = <1>;
  1511. path_type = "SENSOR_1920X1088_26FPS_RAW12_LINER";
  1512. };
  1513. sensor1 {
  1514. subdev_name = "vivcam";
  1515. idx = <6>; //gc02m1b
  1516. csi_idx = <0>; //<0>=CSI2
  1517. mode_idx = <0>;
  1518. path_type = "SENSOR_1600x1200_RAW10_LINER";
  1519. };
  1520. isp {
  1521. subdev_name = "isp";
  1522. idx = <1>;
  1523. path_type = "ISP_MI_PATH_PP";
  1524. output {
  1525. max_width = <1920>;
  1526. max_height = <1088>;
  1527. bit_per_pixel = <12>;
  1528. frame_count = <3>;
  1529. };
  1530. };
  1531. dsp {
  1532. subdev_name = "dsp";
  1533. idx = <0>;
  1534. path_type = "DSP_PATH_ISP_RY";
  1535. output {
  1536. max_width = <1920>;
  1537. max_height = <1088>;
  1538. bit_per_pixel = <12>;
  1539. frame_count = <3>;
  1540. };
  1541. };
  1542. ry {
  1543. subdev_name = "ry";
  1544. idx = <0>;
  1545. path_type = "ISP_RY_MI_PATH_MP";
  1546. output {
  1547. max_width = <1920>;
  1548. max_height = <1088>;
  1549. bit_per_pixel = <12>;
  1550. frame_count = <3>;
  1551. };
  1552. };
  1553. dw {
  1554. subdev_name = "dw";
  1555. idx = <0>;
  1556. path_type = "DW_DWE_VSE1";
  1557. dw_dst_depth = <2>;
  1558. };
  1559. };
  1560. channel2 {
  1561. sensor0 {
  1562. subdev_name = "vivcam";
  1563. idx = <0>; //sc2310
  1564. csi_idx = <0>; //<0>=CSI2
  1565. mode_idx = <1>;
  1566. path_type = "SENSOR_1920X1088_26FPS_RAW12_LINER";
  1567. };
  1568. sensor1 {
  1569. subdev_name = "vivcam";
  1570. idx = <6>; //gc02m1b
  1571. csi_idx = <0>; //<0>=CSI2
  1572. mode_idx = <0>;
  1573. path_type = "SENSOR_1600x1200_RAW10_LINER";
  1574. };
  1575. isp {
  1576. subdev_name = "isp";
  1577. idx = <1>;
  1578. path_type = "ISP_MI_PATH_PP";
  1579. output {
  1580. max_width = <1920>;
  1581. max_height = <1088>;
  1582. bit_per_pixel = <12>;
  1583. frame_count = <3>;
  1584. };
  1585. };
  1586. dsp {
  1587. subdev_name = "dsp";
  1588. idx = <0>;
  1589. path_type = "DSP_PATH_ISP_RY";
  1590. output {
  1591. max_width = <1920>;
  1592. max_height = <1088>;
  1593. bit_per_pixel = <12>;
  1594. frame_count = <3>;
  1595. };
  1596. };
  1597. ry {
  1598. subdev_name = "ry";
  1599. idx = <0>;
  1600. path_type = "ISP_RY_MI_PATH_MP";
  1601. output {
  1602. max_width = <1920>;
  1603. max_height = <1088>;
  1604. bit_per_pixel = <12>;
  1605. frame_count = <3>;
  1606. };
  1607. };
  1608. dw {
  1609. subdev_name = "dw";
  1610. idx = <0>;
  1611. path_type = "DW_DWE_VSE2";
  1612. dw_dst_depth = <2>;
  1613. };
  1614. };
  1615. };
  1616. &video6{
  1617. vi_mem_pool_region = <1>; // vi_mem: framebuffer, region[1]
  1618. channel0 {
  1619. sensor0 {
  1620. subdev_name = "vivcam";
  1621. idx = <4>; //sc132gs
  1622. csi_idx = <2>; //<2>=CSI2X2_A
  1623. flash_led_idx = <0>;
  1624. mode_idx = <0>;
  1625. path_type = "SENSOR_1080X1280_30FPS_RAW10_LINER";
  1626. };
  1627. dsp{
  1628. output {
  1629. max_width = <1080>;
  1630. max_height = <1280>;
  1631. bit_per_pixel = <16>;
  1632. frame_count = <3>;
  1633. };
  1634. };
  1635. };
  1636. channel1 {
  1637. sensor0 {
  1638. subdev_name = "vivcam";
  1639. idx = <4>; //sc132gs
  1640. csi_idx = <2>; //<2>=CSI2X2_A
  1641. flash_led_idx = <0>;
  1642. mode_idx = <0>;
  1643. path_type = "SENSOR_1080X1280_30FPS_RAW10_LINER";
  1644. };
  1645. dsp{
  1646. output {
  1647. max_width = <1080>;
  1648. max_height = <1280>;
  1649. bit_per_pixel = <16>;
  1650. frame_count = <3>;
  1651. };
  1652. };
  1653. };
  1654. };
  1655. &video7{
  1656. channel0 {
  1657. sensor0 {
  1658. subdev_name = "vivcam";
  1659. idx = <2>; //<2>=vivcam2 : gc5035
  1660. csi_idx = <1>; //<1>=CSI2X2_B
  1661. mode_idx = <3>;
  1662. path_type = "SENSOR_1296x972_RAW10_LINER"; //SENSOR_VGA_RAW10_LINER//
  1663. };
  1664. sensor1 {
  1665. subdev_name = "vivcam";
  1666. idx = <3>; //<3>=vivcam3 : sc2310
  1667. csi_idx = <1>; //<1>=CSI2X2_B
  1668. mode_idx = <1>;
  1669. path_type = "SENSOR_1920X1088_26FPS_RAW12_LINER";
  1670. };
  1671. isp {
  1672. subdev_name = "isp";
  1673. idx = <0>;
  1674. path_type = "ISP_MI_PATH_PP";
  1675. output {
  1676. max_width = <1920>;
  1677. max_height = <1088>;
  1678. bit_per_pixel = <12>;
  1679. frame_count = <3>;
  1680. };
  1681. };
  1682. dsp {
  1683. subdev_name = "dsp";
  1684. idx = <1>;
  1685. path_type = "DSP_PATH_ISP_RY";
  1686. output {
  1687. max_width = <1920>;
  1688. max_height = <1088>;
  1689. bit_per_pixel = <12>;
  1690. frame_count = <3>;
  1691. };
  1692. };
  1693. ry {
  1694. subdev_name = "ry";
  1695. idx = <0>;
  1696. path_type = "ISP_RY_MI_PATH_MP";
  1697. output {
  1698. max_width = <1920>;
  1699. max_height = <1088>;
  1700. bit_per_pixel = <12>;
  1701. frame_count = <3>;
  1702. };
  1703. };
  1704. dw {
  1705. subdev_name = "dw";
  1706. idx = <0>;
  1707. path_type = "DW_DWE_VSE0";
  1708. dw_dst_depth = <2>;
  1709. };
  1710. };
  1711. channel1 {
  1712. sensor0 {
  1713. subdev_name = "vivcam";
  1714. idx = <2>; //<2>=vivcam2 : gc5035
  1715. csi_idx = <1>; //<1>=CSI2X2_B
  1716. mode_idx = <3>;
  1717. path_type = "SENSOR_1296x972_RAW10_LINER"; //SENSOR_VGA_RAW10_LINER//
  1718. };
  1719. sensor1 {
  1720. subdev_name = "vivcam";
  1721. idx = <3>; //<3>=vivcam3 : sc2310
  1722. csi_idx = <1>; //<1>=CSI2X2_B
  1723. mode_idx = <1>;
  1724. path_type = "SENSOR_1920X1088_26FPS_RAW12_LINER";
  1725. };
  1726. isp {
  1727. subdev_name = "isp";
  1728. idx = <0>;
  1729. path_type = "ISP_MI_PATH_PP";
  1730. output {
  1731. max_width = <1920>;
  1732. max_height = <1088>;
  1733. bit_per_pixel = <12>;
  1734. frame_count = <3>;
  1735. };
  1736. };
  1737. dsp {
  1738. subdev_name = "dsp";
  1739. idx = <1>;
  1740. path_type = "DSP_PATH_ISP_RY";
  1741. output {
  1742. max_width = <1920>;
  1743. max_height = <1088>;
  1744. bit_per_pixel = <12>;
  1745. frame_count = <3>;
  1746. };
  1747. };
  1748. ry {
  1749. subdev_name = "ry";
  1750. idx = <0>;
  1751. path_type = "ISP_RY_MI_PATH_MP";
  1752. output {
  1753. max_width = <1920>;
  1754. max_height = <1088>;
  1755. bit_per_pixel = <12>;
  1756. frame_count = <3>;
  1757. };
  1758. };
  1759. dw {
  1760. subdev_name = "dw";
  1761. idx = <0>;
  1762. path_type = "DW_DWE_VSE1";
  1763. dw_dst_depth = <2>;
  1764. };
  1765. };
  1766. channel2 {
  1767. sensor0 {
  1768. subdev_name = "vivcam";
  1769. idx = <2>; //<2>=vivcam2 : gc5035
  1770. csi_idx = <1>; //<1>=CSI2X2_B
  1771. mode_idx = <3>;
  1772. path_type = "SENSOR_1296x972_RAW10_LINER"; //SENSOR_VGA_RAW10_LINER//
  1773. };
  1774. sensor1 {
  1775. subdev_name = "vivcam";
  1776. idx = <3>; //<3>=vivcam3 : sc2310
  1777. csi_idx = <1>; //<1>=CSI2X2_B
  1778. mode_idx = <1>;
  1779. path_type = "SENSOR_1920X1088_26FPS_RAW12_LINER";
  1780. };
  1781. isp {
  1782. subdev_name = "isp";
  1783. idx = <0>;
  1784. path_type = "ISP_MI_PATH_PP";
  1785. output {
  1786. max_width = <1920>;
  1787. max_height = <1088>;
  1788. bit_per_pixel = <12>;
  1789. frame_count = <3>;
  1790. };
  1791. };
  1792. dsp {
  1793. subdev_name = "dsp";
  1794. idx = <1>;
  1795. path_type = "DSP_PATH_ISP_RY";
  1796. output {
  1797. max_width = <1920>;
  1798. max_height = <1088>;
  1799. bit_per_pixel = <12>;
  1800. frame_count = <3>;
  1801. };
  1802. };
  1803. ry {
  1804. subdev_name = "ry";
  1805. idx = <0>;
  1806. path_type = "ISP_RY_MI_PATH_MP";
  1807. output {
  1808. max_width = <1920>;
  1809. max_height = <1088>;
  1810. bit_per_pixel = <12>;
  1811. frame_count = <3>;
  1812. };
  1813. };
  1814. dw {
  1815. subdev_name = "dw";
  1816. idx = <0>;
  1817. path_type = "DW_DWE_VSE2";
  1818. dw_dst_depth = <2>;
  1819. };
  1820. };
  1821. };
  1822. &video8{
  1823. vi_mem_pool_region = <1>; // vi_mem: framebuffer, region[1]
  1824. channel0 {
  1825. sensor0 {
  1826. subdev_name = "vivcam";
  1827. idx = <2>; //<2>=vivcam2 : gc5035
  1828. csi_idx = <1>; //<1>=CSI2X2_B
  1829. mode_idx = <3>;
  1830. path_type = "SENSOR_1296x972_RAW10_LINER"; //SENSOR_VGA_RAW10_LINER//
  1831. };
  1832. sensor1 {
  1833. subdev_name = "vivcam";
  1834. idx = <3>; //<3>=vivcam3 : sc2310
  1835. csi_idx = <1>; //<1>=CSI2X2_B
  1836. mode_idx = <1>;
  1837. path_type = "SENSOR_1920X1088_26FPS_RAW12_LINER";
  1838. };
  1839. dsp {
  1840. subdev_name = "dsp";
  1841. idx = <0>;
  1842. path_type = "DSP_PATH_VIPRE_DDR";
  1843. output {
  1844. max_width = <1920>;
  1845. max_height = <1088>;
  1846. bit_per_pixel = <12>;
  1847. frame_count = <3>;
  1848. };
  1849. };
  1850. };
  1851. };
  1852. &video9{
  1853. channel0 {
  1854. sensor0 {
  1855. subdev_name = "vivcam";
  1856. idx = <4>; //sc132gs
  1857. csi_idx = <2>; //<2>=CSI2X2_A
  1858. mode_idx = <0>;
  1859. path_type = "SENSOR_1080X1280_30FPS_RAW10_LINER";
  1860. };
  1861. dsp{
  1862. output {
  1863. max_width = <1080>;
  1864. max_height = <1280>;
  1865. bit_per_pixel = <16>;
  1866. frame_count = <3>;
  1867. };
  1868. };
  1869. };
  1870. };
  1871. &video10{
  1872. channel0 {
  1873. sensor0 {
  1874. subdev_name = "vivcam";
  1875. idx = <2>; //<2>=vivcam2 : gc5035
  1876. csi_idx = <1>; //<1>=CSI2X2_B
  1877. mode_idx = <1>;
  1878. path_type = "SENSOR_1080P_RAW10_LINER"; //SENSOR_VGA_RAW10_LINER//
  1879. skip_init = <1>;
  1880. };
  1881. sensor1 {
  1882. subdev_name = "vivcam";
  1883. idx = <3>; //<3>=vivcam3 : sc2310
  1884. csi_idx = <1>; //<1>=CSI2X2_B
  1885. mode_idx = <1>;
  1886. path_type = "SENSOR_1920X1088_26FPS_RAW12_LINER";
  1887. skip_init = <1>;
  1888. };
  1889. };
  1890. };
  1891. &video11{
  1892. channel0 {
  1893. channel_id = <0>;
  1894. status = "okay";
  1895. sensor0 {
  1896. subdev_name = "vivcam";
  1897. idx = <4>; //sc132gs
  1898. csi_idx = <2>; //<2>=CSI2X2_A
  1899. flash_led_idx = <0>;
  1900. mode_idx = <0>;
  1901. path_type = "SENSOR_1080X1280_30FPS_RAW10_LINER";
  1902. };
  1903. isp {
  1904. subdev_name = "isp";
  1905. idx = <0>;
  1906. path_type = "ISP_MI_PATH_MP";
  1907. output {
  1908. max_width = <1920>;
  1909. max_height = <1088>;
  1910. bit_per_pixel = <12>;
  1911. frame_count = <3>;
  1912. };
  1913. };
  1914. };
  1915. };
  1916. &video12{ // TUNINGTOOL
  1917. channel0 { // CSI2
  1918. sensor0 {
  1919. subdev_name = "vivcam";
  1920. idx = <0>; //sc2310
  1921. csi_idx = <0>; //<0>=CSI2
  1922. mode_idx = <1>;
  1923. path_type = "SENSOR_1920X1088_26FPS_RAW12_LINER";
  1924. skip_init = <1>;
  1925. };
  1926. sensor1 {
  1927. subdev_name = "vivcam";
  1928. idx = <6>; //gc02m1b
  1929. csi_idx = <0>; //<0>=CSI2
  1930. mode_idx = <0>;
  1931. path_type = "SENSOR_1600x1200_RAW10_LINER";
  1932. skip_init = <1>;
  1933. };
  1934. };
  1935. };
  1936. &trng {
  1937. status = "disabled";
  1938. };
  1939. &eip_28 {
  1940. status = "okay";
  1941. };
  1942. &vdec {
  1943. status = "okay";
  1944. };
  1945. &venc {
  1946. status = "okay";
  1947. };
  1948. &isp_venc_shake {
  1949. status = "okay";
  1950. };
  1951. &vidmem {
  1952. status = "okay";
  1953. memory-region = <&vi_mem>;
  1954. };
  1955. &gpu {
  1956. status = "okay";
  1957. };
  1958. &npu {
  1959. vha_clk_rate = <1000000000>;
  1960. status = "okay";
  1961. };
  1962. &fce {
  1963. memory-region = <&facelib_mem>;
  1964. status = "okay";
  1965. };
  1966. &cpus {
  1967. c910_0: cpu@0 {
  1968. operating-points = <
  1969. /* kHz uV */
  1970. 300000 650000
  1971. 800000 700000
  1972. 1500000 800000
  1973. 1848000 1000000
  1974. >;
  1975. light,dvddm-operating-points = <
  1976. /* kHz uV */
  1977. 300000 800000
  1978. 800000 800000
  1979. 1500000 800000
  1980. 1848000 1000000
  1981. >;
  1982. };
  1983. c910_1: cpu@1 {
  1984. operating-points = <
  1985. /* kHz uV */
  1986. 300000 650000
  1987. 800000 700000
  1988. 1500000 800000
  1989. 1848000 1000000
  1990. >;
  1991. light,dvddm-operating-points = <
  1992. /* kHz uV */
  1993. 300000 800000
  1994. 800000 800000
  1995. 1500000 800000
  1996. 1848000 1000000
  1997. >;
  1998. };
  1999. c910_2: cpu@2 {
  2000. operating-points = <
  2001. /* kHz uV */
  2002. 300000 650000
  2003. 800000 700000
  2004. 1500000 800000
  2005. 1848000 1000000
  2006. >;
  2007. light,dvddm-operating-points = <
  2008. /* kHz uV */
  2009. 300000 800000
  2010. 800000 800000
  2011. 1500000 800000
  2012. 1848000 1000000
  2013. >;
  2014. };
  2015. c910_3: cpu@3 {
  2016. operating-points = <
  2017. /* kHz uV */
  2018. 300000 650000
  2019. 800000 700000
  2020. 1500000 800000
  2021. 1848000 1000000
  2022. >;
  2023. light,dvddm-operating-points = <
  2024. /* kHz uV */
  2025. 300000 800000
  2026. 800000 800000
  2027. 1500000 800000
  2028. 1848000 1000000
  2029. >;
  2030. };
  2031. };