mirror of
https://github.com/revyos/thead-kernel.git
synced 2026-09-18 13:22:15 +02:00
2516 lines
54 KiB
Plaintext
2516 lines
54 KiB
Plaintext
/* SPDX-License-Identifier: GPL-2.0 */
|
|
/*
|
|
* Copyright (C) 2021-2022 Alibaba Group Holding Limited.
|
|
*/
|
|
|
|
/dts-v1/;
|
|
|
|
#include "light.dtsi"
|
|
#include <dt-bindings/input/linux-event-codes.h>
|
|
#include <dt-bindings/gpio/gpio.h>
|
|
#include "light-vi-devices.dtsi"
|
|
|
|
/ {
|
|
model = "T-HEAD Light val board";
|
|
compatible = "thead,light-val", "thead,light";
|
|
|
|
chosen {
|
|
bootargs = "console=ttyS0,115200 crashkernel=256M-:128M earlycon clk_ignore_unused sram=0xffe0000000,0x180000";
|
|
stdout-path = "serial0:115200n8";
|
|
};
|
|
|
|
leds {
|
|
compatible = "gpio-leds";
|
|
|
|
led0 {
|
|
label = "SYS_STATUS";
|
|
gpios = <&gpio1_porta 15 0>; /* GPIO_ACTIVE_HIGH: 0 */
|
|
default-state = "off";
|
|
};
|
|
};
|
|
|
|
lcd0_backlight: pwm-backlight@0 {
|
|
compatible = "pwm-backlight";
|
|
pwms = <&pwm 0 5000000>;
|
|
brightness-levels = <0 4 8 16 32 64 128 255>;
|
|
default-brightness-level = <7>;
|
|
};
|
|
|
|
lcd1_backlight: pwm-backlight@1 {
|
|
compatible = "pwm-backlight";
|
|
pwms = <&pwm 1 5000000>;
|
|
brightness-levels = <0 4 8 16 32 64 128 255>;
|
|
default-brightness-level = <7>;
|
|
};
|
|
|
|
light_iopmp: iopmp {
|
|
compatible = "thead,light-iopmp";
|
|
|
|
/* config#1: multiple valid regions */
|
|
iopmp_emmc: IOPMP_EMMC {
|
|
regions = <0x000000 0x100000>,
|
|
<0x100000 0x200000>;
|
|
attr = <0xFFFFFFFF>;
|
|
dummy_slave= <0x800000>;
|
|
};
|
|
|
|
/* config#2: iopmp bypass */
|
|
iopmp_sdio0: IOPMP_SDIO0 {
|
|
bypass_en;
|
|
};
|
|
|
|
/* config#3: iopmp default region set */
|
|
iopmp_sdio1: IOPMP_SDIO1 {
|
|
attr = <0xFFFFFFFF>;
|
|
is_default_region;
|
|
};
|
|
|
|
iopmp_usb0: IOPMP_USB0 {
|
|
attr = <0xFFFFFFFF>;
|
|
is_default_region;
|
|
};
|
|
|
|
iopmp_ao: IOPMP_AO {
|
|
is_default_region;
|
|
};
|
|
|
|
iopmp_aud: IOPMP_AUD {
|
|
is_default_region;
|
|
};
|
|
|
|
iopmp_chip_dbg: IOPMP_CHIP_DBG {
|
|
is_default_region;
|
|
};
|
|
|
|
iopmp_eip120i: IOPMP_EIP120I {
|
|
is_default_region;
|
|
};
|
|
|
|
iopmp_eip120ii: IOPMP_EIP120II {
|
|
is_default_region;
|
|
};
|
|
|
|
iopmp_eip120iii: IOPMP_EIP120III {
|
|
is_default_region;
|
|
};
|
|
|
|
iopmp_isp0: IOPMP_ISP0 {
|
|
is_default_region;
|
|
};
|
|
|
|
iopmp_isp1: IOPMP_ISP1 {
|
|
is_default_region;
|
|
};
|
|
|
|
iopmp_dw200: IOPMP_DW200 {
|
|
is_default_region;
|
|
};
|
|
|
|
iopmp_vipre: IOPMP_VIPRE {
|
|
is_default_region;
|
|
};
|
|
|
|
iopmp_venc: IOPMP_VENC {
|
|
is_default_region;
|
|
};
|
|
|
|
iopmp_vdec: IOPMP_VDEC {
|
|
is_default_region;
|
|
};
|
|
|
|
iopmp_g2d: IOPMP_G2D {
|
|
is_default_region;
|
|
};
|
|
|
|
iopmp_fce: IOPMP_FCE {
|
|
is_default_region;
|
|
};
|
|
|
|
iopmp_npu: IOPMP_NPU {
|
|
is_default_region;
|
|
};
|
|
|
|
iopmp0_dpu: IOPMP0_DPU {
|
|
bypass_en;
|
|
};
|
|
|
|
iopmp1_dpu: IOPMP1_DPU {
|
|
bypass_en;
|
|
};
|
|
|
|
iopmp_gpu: IOPMP_GPU {
|
|
is_default_region;
|
|
};
|
|
|
|
iopmp_gmac1: IOPMP_GMAC1 {
|
|
is_default_region;
|
|
};
|
|
|
|
iopmp_gmac2: IOPMP_GMAC2 {
|
|
is_default_region;
|
|
};
|
|
|
|
iopmp_dmac: IOPMP_DMAC {
|
|
is_default_region;
|
|
};
|
|
|
|
iopmp_tee_dmac: IOPMP_TEE_DMAC {
|
|
is_default_region;
|
|
};
|
|
|
|
iopmp_dsp0: IOPMP_DSP0 {
|
|
is_default_region;
|
|
};
|
|
|
|
iopmp_dsp1: IOPMP_DSP1 {
|
|
is_default_region;
|
|
};
|
|
};
|
|
|
|
mbox_910t_client1: mbox_910t_client1 {
|
|
compatible = "thead,light-mbox-client";
|
|
mbox-names = "902";
|
|
mboxes = <&mbox_910t 1 0>;
|
|
status = "disabled";
|
|
};
|
|
|
|
|
|
mbox_910t_client2: mbox_910t_client2 {
|
|
compatible = "thead,light-mbox-client";
|
|
mbox-names = "906";
|
|
mboxes = <&mbox_910t 2 0>;
|
|
audio-mbox-regmap = <&audio_mbox>;
|
|
status = "okay";
|
|
};
|
|
|
|
lightsound: lightsound@1 {
|
|
compatible = "simple-audio-card";
|
|
simple-audio-card,name = "Light-Sound-Card";
|
|
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
status = "disabled";
|
|
};
|
|
|
|
light_rpmsg: light_rpmsg {
|
|
compatible = "light,rpmsg-bus", "simple-bus";
|
|
memory-region = <&rpmsgmem>;
|
|
#address-cells = <2>;
|
|
#size-cells = <2>;
|
|
ranges;
|
|
rpmsg: rpmsg{
|
|
vdev-nums = <1>;
|
|
reg = <0x0 0x1E000000 0 0x10000>;
|
|
compatible = "light,light-rpmsg";
|
|
status = "okay";
|
|
};
|
|
};
|
|
|
|
dummy_codec: dummy_codec {
|
|
#sound-dai-cells = <0>;
|
|
compatible = "thead,light-dummy-pcm";
|
|
sound-name-prefix = "DUMMY";
|
|
status = "okay";
|
|
};
|
|
|
|
reg_vref_1v8: regulator-adc-verf {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "vref-1v8";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
status = "okay";
|
|
};
|
|
|
|
reg_tp_pwr_en: regulator-pwr-en {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "PWR_EN";
|
|
regulator-min-microvolt = <2800000>;
|
|
regulator-max-microvolt = <2800000>;
|
|
gpio = <&pcal6408ahk_a 3 1>;
|
|
enable-active-high;
|
|
regulator-always-on;
|
|
};
|
|
|
|
reg_tp1_pwr_en: regulator-tp1-pwr-en {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "PWR_EN";
|
|
regulator-min-microvolt = <2800000>;
|
|
regulator-max-microvolt = <2800000>;
|
|
gpio = <&pcal6408ahk_a 6 1>;
|
|
enable-active-high;
|
|
regulator-always-on;
|
|
};
|
|
|
|
lcd0_1v8: regulator-lcd0-vdd18 {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "lcd0_en";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
gpio = <&pcal6408ahk_a 2 0>;
|
|
enable-active-high;
|
|
};
|
|
|
|
lcd0_5v7: regulator-lcd0-vspn57 {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "lcd0_bias_en";
|
|
regulator-min-microvolt = <5700000>;
|
|
regulator-max-microvolt = <5700000>;
|
|
gpio = <&pcal6408ahk_a 4 0>;
|
|
enable-active-high;
|
|
};
|
|
|
|
lcd1_1v8: regulator-lcd1-vdd18 {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "lcd1_en";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
gpio = <&pcal6408ahk_a 5 0>;
|
|
enable-active-high;
|
|
};
|
|
|
|
lcd1_5v7: regulator-lcd1-vspn57 {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "lcd1_bias_en";
|
|
regulator-min-microvolt = <5700000>;
|
|
regulator-max-microvolt = <5700000>;
|
|
gpio = <&pcal6408ahk_a 7 0>;
|
|
enable-active-high;
|
|
};
|
|
|
|
soc_aud_adc_3v3_en_reg: soc-aud-adc-3v3-en {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "soc_aud_adc_3v3_en";
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
gpio = <&pcal6408ahk_b 1 1>;
|
|
enable-active-high;
|
|
};
|
|
|
|
soc_aud_dac_3v3_en_reg: soc-aud-dac-3v3-en {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "soc_aud_dac_3v3_en";
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
gpio = <&pcal6408ahk_b 2 1>;
|
|
enable-active-high;
|
|
};
|
|
|
|
wcn_wifi: wireless-wlan {
|
|
compatible = "wlan-platdata";
|
|
clock-names = "clk_wifi";
|
|
ref-clock-frequency = <24000000>;
|
|
keep_wifi_power_on;
|
|
pinctrl-names = "default";
|
|
wifi_chip_type = "rtl8723ds";
|
|
WIFI,poweren_gpio = <&gpio2_porta 26 0>;
|
|
WIFI,reset_n = <&gpio2_porta 28 0>;
|
|
status = "disabled";
|
|
};
|
|
|
|
wcn_bt: wireless-bluetooth {
|
|
compatible = "bluetooth-platdata";
|
|
pinctrl-names = "default", "rts_gpio";
|
|
BT,power_gpio = <&gpio2_porta 29 0>;
|
|
status = "disabled";
|
|
};
|
|
|
|
gpio_keys: gpio_keys{
|
|
compatible = "gpio-keys";
|
|
pinctrl-0 = <&pinctrl_volume>;
|
|
pinctrl-names = "default";
|
|
status = "disabled";
|
|
key-volumedown {
|
|
label = "Volume Down Key";
|
|
linux,code = <KEY_1>;
|
|
debounce-interval = <2>;
|
|
gpios = <&ao_gpio_porta 4 GPIO_ACTIVE_LOW>;
|
|
};
|
|
key-volumeup {
|
|
label = "Volume Up Key";
|
|
linux,code = <KEY_2>;
|
|
debounce-interval = <2>;
|
|
gpios = <&ao_gpio_porta 5 GPIO_ACTIVE_LOW>;
|
|
};
|
|
};
|
|
|
|
aon {
|
|
compatible = "thead,light-aon";
|
|
mbox-names = "aon";
|
|
mboxes = <&mbox_910t 1 0>;
|
|
status = "okay";
|
|
|
|
pd: light-aon-pd {
|
|
compatible = "thead,light-aon-pd";
|
|
#power-domain-cells = <1>;
|
|
};
|
|
|
|
aon_reg_dialog: light-dialog-reg {
|
|
compatible = "thead,light-dialog-pmic";
|
|
status = "okay";
|
|
|
|
dvdd_cpu_reg: appcpu_dvdd {
|
|
regulator-name = "appcpu_dvdd";
|
|
regulator-min-microvolt = <300000>;
|
|
regulator-max-microvolt = <1570000>;
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
|
|
dvddm_cpu_reg: appcpu_dvddm {
|
|
regulator-name = "appcpu_dvddm";
|
|
regulator-min-microvolt = <300000>;
|
|
regulator-max-microvolt = <1570000>;
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
soc_dvdd18_aon_reg: soc_dvdd18_aon {
|
|
regulator-name = "soc_dvdd18_aon";
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
|
|
soc_avdd33_usb3_reg: soc_avdd33_usb3 {
|
|
regulator-name = "soc_avdd33_usb3";
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
|
|
soc_dvdd08_aon_reg: soc_dvdd08_aon {
|
|
regulator-name = "soc_dvdd08_aon";
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
|
|
soc_dvdd08_ddr_reg: soc_dvdd08_ddr {
|
|
regulator-name = "soc_dvdd08_ddr";
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
|
|
soc_vdd_ddr_1v8_reg: soc_vdd_ddr_1v8 {
|
|
regulator-name = "soc_vdd_ddr_1v8";
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
|
|
soc_vdd_ddr_1v1_reg: soc_vdd_ddr_1v1 {
|
|
regulator-name = "soc_vdd_ddr_1v1";
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
|
|
soc_vdd_ddr_0v6_reg: soc_vdd_ddr_0v6 {
|
|
regulator-name = "soc_vdd_ddr_0v6";
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
|
|
soc_dvdd18_ap_reg: soc_dvdd18_ap {
|
|
regulator-name = "soc_dvdd18_ap";
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
|
|
soc_avdd08_mipi_hdmi_reg: soc_avdd08_mipi_hdmi {
|
|
regulator-name = "soc_avdd08_mipi_hdmi";
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
|
|
soc_avdd18_mipi_hdmi_reg: soc_avdd18_mipi_hdmi {
|
|
regulator-name = "soc_avdd18_mipi_hdmi";
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
|
|
soc_vdd33_emmc_reg: soc_vdd33_emmc {
|
|
regulator-name = "soc_vdd33_emmc";
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
|
|
soc_vdd18_emmc_reg: soc_vdd18_emmc {
|
|
regulator-name = "soc_vdd18_emmc";
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
soc_dovdd18_scan_reg: soc_dovdd18_scan {
|
|
regulator-name = "soc_dovdd18_scan";
|
|
regulator-min-microvolt = <900000>;
|
|
regulator-max-microvolt = <3600000>;
|
|
};
|
|
soc_vext_2v8_reg: soc_vext_2v8 {
|
|
regulator-name = "soc_vext_2v8";
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
soc_dvdd12_scan_reg: soc_dvdd12_scan {
|
|
regulator-name = "soc_dvdd12_scan";
|
|
regulator-min-microvolt = <900000>;
|
|
regulator-max-microvolt = <3600000>;
|
|
};
|
|
soc_avdd28_scan_en_reg: soc_avdd28_scan_en {
|
|
regulator-name = "soc_avdd28_scan_en";
|
|
};
|
|
soc_avdd28_rgb_reg: soc_avdd28_rgb {
|
|
regulator-name = "soc_avdd28_rgb";
|
|
regulator-min-microvolt = <2200000>;
|
|
regulator-max-microvolt = <3475000>;
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
soc_dovdd18_rgb_reg: soc_dovdd18_rgb {
|
|
regulator-name = "soc_dovdd18_rgb";
|
|
regulator-min-microvolt = <1200000>;
|
|
regulator-max-microvolt = <3600000>;
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
soc_dvdd12_rgb_reg: soc_dvdd12_rgb {
|
|
regulator-name = "soc_dvdd12_rgb";
|
|
regulator-min-microvolt = <400000>;
|
|
regulator-max-microvolt = <1675000>;
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
soc_avdd25_ir_reg: soc_avdd25_ir {
|
|
regulator-name = "soc_avdd25_ir";
|
|
regulator-min-microvolt = <2200000>;
|
|
regulator-max-microvolt = <3475000>;
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
soc_dovdd18_ir_reg: soc_dovdd18_ir {
|
|
regulator-name = "soc_dovdd18_ir";
|
|
regulator-min-microvolt = <1200000>;
|
|
regulator-max-microvolt = <3600000>;
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
soc_dvdd12_ir_reg: soc_dvdd12_ir {
|
|
regulator-name = "soc_dvdd12_ir";
|
|
regulator-min-microvolt = <400000>;
|
|
regulator-max-microvolt = <1675000>;
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
|
|
};
|
|
|
|
c910_cpufreq {
|
|
compatible = "thead,light-mpw-cpufreq";
|
|
status = "okay";
|
|
};
|
|
|
|
test: light-aon-test {
|
|
compatible = "thead,light-aon-test";
|
|
};
|
|
};
|
|
};
|
|
|
|
&cmamem {
|
|
alloc-ranges = <0 0xe4000000 0 0x14000000>; // [0xE400_0000 ~ 0xF800_0000]
|
|
};
|
|
|
|
&resmem {
|
|
#address-cells = <2>;
|
|
#size-cells = <2>;
|
|
ranges;
|
|
|
|
tee_mem: memory@1a000000 {
|
|
reg = <0x0 0x1a000000 0 0x4000000>;
|
|
no-map;
|
|
};
|
|
dsp0_mem: memory@20000000 { /**0x2000_0000~0x2040_0000 4M**/
|
|
reg = <0x0 0x20000000 0x0 0x00280000 /* DSP FW code&data section 2.5M*/
|
|
0x0 0x20280000 0x0 0x00001000 /* DSP communication area 4K*/
|
|
0x0 0x20281000 0x0 0x00007000 /* Panic/log page 28K */
|
|
0x0 0x20288000 0x0 0x00178000>; /* DSP shared memory 1.5M-32K*/
|
|
no-map;
|
|
};
|
|
dsp1_mem: memory@20400000 { /**0x2040_0000~0x2080_0000 4M**/
|
|
reg = <0x0 0x20400000 0x0 0x00280000 /* DSP FW code&data section */
|
|
0x0 0x20680000 0x0 0x00001000 /* DSP communication area */
|
|
0x0 0x20681000 0x0 0x00007000 /* Panic/log page*/
|
|
0x0 0x20688000 0x0 0x00178000>; /* DSP shared memory */
|
|
no-map;
|
|
};
|
|
vi_mem: framebuffer@0f800000 {
|
|
reg = <0x0 0x0F800000 0x0 0x05400000 /* vi_mem_pool_region[0] 84 MB (default) */
|
|
0x0 0x14C00000 0x0 0x01D00000 /* vi_mem_pool_region[1] 29 MB */
|
|
0x0 0x16900000 0x0 0x03200000>; /* vi_mem_pool_region[2] 50 MB */
|
|
no-map;
|
|
};
|
|
facelib_mem: memory@22000000 {
|
|
reg = <0x0 0x22000000 0x0 0x10000000>;
|
|
no-map;
|
|
};
|
|
audio_mem: memory@32000000 {
|
|
reg = <0x0 0x32000000 0x0 0x6400000>;
|
|
no-map;
|
|
};
|
|
rpmsgmem: memory@1E000000 {
|
|
reg = <0x0 0x1E000000 0x0 0x10000>;
|
|
no-map;
|
|
};
|
|
};
|
|
|
|
&adc {
|
|
vref-supply = <®_vref_1v8>;
|
|
status = "okay";
|
|
};
|
|
|
|
&i2c0 {
|
|
clock-frequency = <400000>;
|
|
status = "okay";
|
|
|
|
eeprom@50 {
|
|
compatible = "atmel,24c32";
|
|
reg = <0x50>;
|
|
pagesize = <32>;
|
|
};
|
|
|
|
codec: wm8960@1a {
|
|
#sound-dai-cells = <0>;
|
|
compatible = "wlf,wm8960";
|
|
reg = <0x1a>;
|
|
wlf,shared-lrclk;
|
|
wlf,hp-cfg = <3 2 3>;
|
|
wlf,gpio-cfg = <1 3>;
|
|
};
|
|
|
|
touch@5d {
|
|
#gpio-cells = <2>;
|
|
compatible = "goodix,gt911";
|
|
reg = <0x5d>;
|
|
interrupt-parent = <&gpio1_porta>;
|
|
interrupts = <8 0>;
|
|
irq-gpios = <&gpio1_porta 8 0>;
|
|
reset-gpios = <&gpio1_porta 7 0>;
|
|
AVDD28-supply = <®_tp_pwr_en>;
|
|
touchscreen-size-x = <800>;
|
|
touchscreen-size-y = <1280>;
|
|
};
|
|
};
|
|
|
|
&audio_i2c0 {
|
|
clock-frequency = <100000>;
|
|
status = "okay";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_audiopa6>,
|
|
<&pinctrl_audiopa7>,
|
|
<&pinctrl_audio_i2c0>;
|
|
|
|
es8156_audio_codec: es8156@8 {
|
|
#sound-dai-cells = <0>;
|
|
compatible = "everest,es8156";
|
|
reg = <0x08>;
|
|
sound-name-prefix = "ES8156";
|
|
AVDD-supply = <&soc_aud_dac_3v3_en_reg>;
|
|
DVDD-supply = <&soc_dvdd18_aon_reg>;
|
|
PVDD-supply = <&soc_dvdd18_aon_reg>;
|
|
mclk-sclk-ratio = <4>;
|
|
};
|
|
|
|
es7210_audio_codec_adc0: es7210@40 {
|
|
#sound-dai-cells = <0>;
|
|
compatible = "MicArray_0";
|
|
reg = <0x40>;
|
|
status = "disabled";
|
|
work-mode = "ES7210_NORMAL_I2S";
|
|
channels-max = <2>;
|
|
mclk-sclk-ratio = <4>;
|
|
sound-name-prefix = "ES7210_ADC0";
|
|
MVDD-supply = <&soc_aud_adc_3v3_en_reg>;
|
|
AVDD-supply = <&soc_aud_adc_3v3_en_reg>;
|
|
DVDD-supply = <&soc_dvdd18_aon_reg>;
|
|
PVDD-supply = <&soc_dvdd18_aon_reg>;
|
|
};
|
|
|
|
es7210_audio_codec_adc1: es7210@41 {
|
|
#sound-dai-cells = <0>;
|
|
compatible = "MicArray_1";
|
|
reg = <0x41>;
|
|
status = "disabled";
|
|
work-mode = "ES7210_NORMAL_I2S";
|
|
channels-max = <2>;
|
|
mclk-sclk-ratio = <4>;
|
|
sound-name-prefix = "ES7210_ADC1";
|
|
MVDD-supply = <&soc_aud_adc_3v3_en_reg>;
|
|
AVDD-supply = <&soc_aud_adc_3v3_en_reg>;
|
|
DVDD-supply = <&soc_dvdd18_aon_reg>;
|
|
PVDD-supply = <&soc_dvdd18_aon_reg>;
|
|
};
|
|
|
|
audio_aw87519_pa: amp@58 {
|
|
compatible = "awinic,aw87519_pa";
|
|
reg = <0x58>;
|
|
reset-gpio = <&pcal6408ahk_b 3 0x1>;
|
|
sound-name-prefix = "AW87519";
|
|
status = "okay";
|
|
};
|
|
};
|
|
|
|
&audio_i2c1 {
|
|
clock-frequency = <100000>;
|
|
status = "okay";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_audiopa13>,
|
|
<&pinctrl_audiopa16>,
|
|
<&pinctrl_audio_i2c1>;
|
|
|
|
pcal6408ahk_b: gpio@20 {
|
|
compatible = "nxp,pcal9554b";
|
|
reg = <0x20>;
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
};
|
|
};
|
|
|
|
&i2c1 {
|
|
clock-frequency = <400000>;
|
|
status = "okay";
|
|
touch1@5d {
|
|
#gpio-cells = <2>;
|
|
compatible = "goodix,gt911";
|
|
reg = <0x5d>;
|
|
interrupt-parent = <&gpio1_porta>;
|
|
interrupts = <12 0>;
|
|
irq-gpios = <&gpio1_porta 12 0>;
|
|
reset-gpios = <&gpio1_porta 11 0>;
|
|
AVDD28-supply = <®_tp1_pwr_en>;
|
|
touchscreen-size-x = <800>;
|
|
touchscreen-size-y = <1280>;
|
|
};
|
|
};
|
|
|
|
&spi0 {
|
|
num-cs = <1>;
|
|
cs-gpios = <&gpio2_porta 15 0>; // GPIO_ACTIVE_HIGH: 0
|
|
rx-sample-delay-ns = <10>;
|
|
status = "okay";
|
|
|
|
spi_norflash@0 {
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
compatible = "winbond,w25q64jwm", "jedec,spi-nor";
|
|
reg = <0>;
|
|
spi-max-frequency = <50000000>;
|
|
w25q,fast-read;
|
|
};
|
|
|
|
spidev@1 {
|
|
compatible = "spidev";
|
|
#address-cells = <0x1>;
|
|
#size-cells = <0x1>;
|
|
reg = <0x1>;
|
|
spi-max-frequency = <50000000>;
|
|
};
|
|
};
|
|
|
|
&uart0 {
|
|
clock-frequency = <100000000>;
|
|
};
|
|
|
|
&qspi0 {
|
|
num-cs = <1>;
|
|
cs-gpios = <&gpio2_porta 3 0>;
|
|
rx-sample-dly = <4>;
|
|
status = "disabled";
|
|
|
|
spi-flash@0 {
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
compatible = "spi-nand";
|
|
spi-max-frequency = <100000000>;
|
|
spi-tx-bus-width = <4>;
|
|
spi-rx-bus-width = <4>;
|
|
reg = <0>;
|
|
|
|
partition@0 {
|
|
label = "ubi1";
|
|
reg = <0x00000000 0x08000000>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&qspi1 {
|
|
num-cs = <1>;
|
|
cs-gpios = <&gpio0_porta 1 0>;
|
|
status = "disabled";
|
|
|
|
spi-flash@0 {
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
compatible = "spi-nand";
|
|
spi-max-frequency = <66000000>;
|
|
spi-tx-bus-width = <4>;
|
|
spi-rx-bus-width = <4>;
|
|
reg = <0>;
|
|
|
|
partition@0 {
|
|
label = "ubi2";
|
|
reg = <0x00000000 0x08000000>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&gmac0 {
|
|
phy-mode = "rgmii-id";
|
|
rx-clk-delay = <0x00>; /* for RGMII */
|
|
tx-clk-delay = <0x00>; /* for RGMII */
|
|
phy-handle = <&phy_88E1111_0>;
|
|
status = "okay";
|
|
|
|
mdio0 {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
compatible = "snps,dwmac-mdio";
|
|
|
|
phy_88E1111_0: ethernet-phy@0 {
|
|
reg = <0x1>;
|
|
};
|
|
|
|
phy_88E1111_1: ethernet-phy@1 {
|
|
reg = <0x2>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&gmac1 {
|
|
phy-mode = "rgmii-id";
|
|
rx-clk-delay = <0x00>; /* for RGMII */
|
|
tx-clk-delay = <0x00>; /* for RGMII */
|
|
phy-handle = <&phy_88E1111_1>;
|
|
status = "okay";
|
|
};
|
|
|
|
&emmc {
|
|
max-frequency = <198000000>;
|
|
non-removable;
|
|
mmc-hs400-1_8v;
|
|
io_fixed_1v8;
|
|
is_emmc;
|
|
no-sdio;
|
|
no-sd;
|
|
pull_up;
|
|
bus-width = <8>;
|
|
status = "okay";
|
|
};
|
|
|
|
&sdhci0 {
|
|
max-frequency = <198000000>;
|
|
bus-width = <4>;
|
|
pull_up;
|
|
wprtn_ignore;
|
|
status = "okay";
|
|
};
|
|
|
|
&sdhci1 {
|
|
max-frequency = <100000000>;
|
|
bus-width = <4>;
|
|
pull_up;
|
|
no-sd;
|
|
no-mmc;
|
|
non-removable;
|
|
io_fixed_1v8;
|
|
rxclk-sample-delay = <80>;
|
|
post-power-on-delay-ms = <50>;
|
|
wprtn_ignore;
|
|
cap-sd-highspeed;
|
|
keep-power-in-suspend;
|
|
wakeup-source;
|
|
status = "disabled";
|
|
};
|
|
|
|
&padctrl0_apsys { /* right-pinctrl */
|
|
light-evb-padctrl0 {
|
|
/*
|
|
* Pin Configuration Node:
|
|
* Format: <pin_id mux_node config>
|
|
*/
|
|
pinctrl_uart0: uart0grp {
|
|
thead,pins = <
|
|
FM_UART0_TXD 0x0 0x72
|
|
FM_UART0_RXD 0x0 0x72
|
|
>;
|
|
};
|
|
|
|
pinctrl_spi0: spi0grp {
|
|
thead,pins = <
|
|
FM_SPI_CSN 0x3 0x20a
|
|
FM_SPI_SCLK 0x0 0x20a
|
|
FM_SPI_MISO 0x0 0x23a
|
|
FM_SPI_MOSI 0x0 0x23a
|
|
>;
|
|
};
|
|
|
|
pinctrl_qspi0: qspi0grp {
|
|
thead,pins = <
|
|
FM_QSPI0_SCLK 0x0 0x20f
|
|
FM_QSPI0_CSN0 0x3 0x20f
|
|
FM_QSPI0_CSN1 0x0 0x20f
|
|
FM_QSPI0_D0_MOSI 0x0 0x23f
|
|
FM_QSPI0_D1_MISO 0x0 0x23f
|
|
FM_QSPI0_D2_WP 0x0 0x23f
|
|
FM_QSPI0_D3_HOLD 0x0 0x23f
|
|
>;
|
|
};
|
|
|
|
pinctrl_light_i2s0: i2s0grp {
|
|
thead,pins = <
|
|
FM_QSPI0_SCLK 0x2 0x208
|
|
FM_QSPI0_CSN0 0x2 0x238
|
|
FM_QSPI0_CSN1 0x2 0x208
|
|
FM_QSPI0_D0_MOSI 0x2 0x238
|
|
FM_QSPI0_D1_MISO 0x2 0x238
|
|
FM_QSPI0_D2_WP 0x2 0x238
|
|
FM_QSPI0_D3_HOLD 0x2 0x238
|
|
>;
|
|
};
|
|
|
|
pinctrl_pwm: pwmgrp {
|
|
thead,pins = <
|
|
FM_GPIO3_2 0x1 0x208 /* pwm0 */
|
|
FM_GPIO3_3 0x1 0x208 /* pwm1 */
|
|
>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&padctrl1_apsys { /* left-pinctrl */
|
|
light-evb-padctrl1 {
|
|
/*
|
|
* Pin Configuration Node:
|
|
* Format: <pin_id mux_node config>
|
|
*/
|
|
pinctrl_uart3: uart3grp {
|
|
thead,pins = <
|
|
FM_UART3_TXD 0x0 0x72
|
|
FM_UART3_RXD 0x0 0x72
|
|
>;
|
|
};
|
|
|
|
pinctrl_uart4: uart4grp {
|
|
thead,pins = <
|
|
FM_UART4_TXD 0x0 0x72
|
|
FM_UART4_RXD 0x0 0x72
|
|
FM_UART4_CTSN 0x0 0x72
|
|
FM_UART4_RTSN 0x0 0x72
|
|
>;
|
|
};
|
|
|
|
pinctrl_qspi1: qspi1grp {
|
|
thead,pins = <
|
|
FM_QSPI1_SCLK 0x0 0x20a
|
|
FM_QSPI1_CSN0 0x3 0x20a
|
|
FM_QSPI1_D0_MOSI 0x0 0x23a
|
|
FM_QSPI1_D1_MISO 0x0 0x23a
|
|
FM_QSPI1_D2_WP 0x0 0x23a
|
|
FM_QSPI1_D3_HOLD 0x0 0x23a
|
|
>;
|
|
};
|
|
|
|
|
|
pinctrl_iso7816: iso7816grp {
|
|
thead,pins = <
|
|
FM_QSPI1_SCLK 0x1 0x208
|
|
FM_QSPI1_D0_MOSI 0x1 0x238
|
|
FM_QSPI1_D1_MISO 0x1 0x238
|
|
FM_QSPI1_D2_WP 0x1 0x238
|
|
FM_QSPI1_D3_HOLD 0x1 0x238
|
|
>;
|
|
};
|
|
|
|
};
|
|
};
|
|
|
|
&padctrl_aosys {
|
|
light-aon-padctrl {
|
|
/*
|
|
* Pin Configuration Node:
|
|
* Format: <pin_id mux_node config>
|
|
*/
|
|
|
|
pinctrl_audiopa0: audiopa0 {
|
|
thead,pins = < FM_AUDIO_PA0 LIGHT_PIN_FUNC_0 0x000 >;
|
|
};
|
|
pinctrl_audiopa1: audiopa1 {
|
|
thead,pins = < FM_AUDIO_PA1 LIGHT_PIN_FUNC_0 0x000 >;
|
|
};
|
|
pinctrl_audiopa2: audiopa2 {
|
|
thead,pins = < FM_AUDIO_PA2 LIGHT_PIN_FUNC_0 0x000 >;
|
|
};
|
|
pinctrl_audiopa3: audiopa3 {
|
|
thead,pins = < FM_AUDIO_PA3 LIGHT_PIN_FUNC_0 0x000 >;
|
|
};
|
|
pinctrl_audiopa4: audiopa4 {
|
|
thead,pins = < FM_AUDIO_PA4 LIGHT_PIN_FUNC_0 0x000 >;
|
|
};
|
|
pinctrl_audiopa5: audiopa5 {
|
|
thead,pins = < FM_AUDIO_PA5 LIGHT_PIN_FUNC_0 0x000 >;
|
|
};
|
|
pinctrl_audiopa6: audiopa6 {
|
|
thead,pins = < FM_AUDIO_PA6 LIGHT_PIN_FUNC_0 0x000 >;
|
|
};
|
|
pinctrl_audiopa7: audiopa7 {
|
|
thead,pins = < FM_AUDIO_PA7 LIGHT_PIN_FUNC_0 0x000 >;
|
|
};
|
|
pinctrl_audiopa8: audiopa8 {
|
|
thead,pins = < FM_AUDIO_PA8 LIGHT_PIN_FUNC_0 0x000 >;
|
|
};
|
|
pinctrl_audiopa9: audiopa9 {
|
|
thead,pins = < FM_AUDIO_PA9 LIGHT_PIN_FUNC_0 0x000 >;
|
|
};
|
|
pinctrl_audiopa10: audiopa10 {
|
|
thead,pins = < FM_AUDIO_PA10 LIGHT_PIN_FUNC_0 0x000 >;
|
|
};
|
|
pinctrl_audiopa11: audiopa11 {
|
|
thead,pins = < FM_AUDIO_PA11 LIGHT_PIN_FUNC_0 0x000 >;
|
|
};
|
|
pinctrl_audiopa12: audiopa12 {
|
|
thead,pins = < FM_AUDIO_PA12 LIGHT_PIN_FUNC_0 0x000 >;
|
|
};
|
|
pinctrl_audiopa13: audiopa13 {
|
|
thead,pins = < FM_AUDIO_PA13 LIGHT_PIN_FUNC_0 0x000 >;
|
|
};
|
|
pinctrl_audiopa14: audiopa14 {
|
|
thead,pins = < FM_AUDIO_PA14 LIGHT_PIN_FUNC_0 0x000 >;
|
|
};
|
|
pinctrl_audiopa15: audiopa15 {
|
|
thead,pins = < FM_AUDIO_PA15 LIGHT_PIN_FUNC_0 0x000 >;
|
|
};
|
|
pinctrl_audiopa16: audiopa16 {
|
|
thead,pins = < FM_AUDIO_PA16 LIGHT_PIN_FUNC_0 0x000 >;
|
|
};
|
|
pinctrl_audiopa17: audiopa17 {
|
|
thead,pins = < FM_AUDIO_PA17 LIGHT_PIN_FUNC_0 0x000 >;
|
|
};
|
|
|
|
pinctrl_volume: volume_grp {
|
|
thead,pins = <
|
|
FM_CPU_JTG_TDI 0x3 0x238
|
|
FM_CPU_JTG_TDO 0x3 0x238
|
|
>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&padctrl_audiosys {
|
|
|
|
status = "okay";
|
|
|
|
light-audio-padctrl {
|
|
/*
|
|
* Pin Configuration Node:
|
|
* Format: <pin_id mux_node config>
|
|
*/
|
|
|
|
pinctrl_audio_i2c0: audio_i2c0_grp {
|
|
thead,pins = <
|
|
FM_AUDIO_IO_PA6 LIGHT_PIN_FUNC_0 0x004
|
|
FM_AUDIO_IO_PA7 LIGHT_PIN_FUNC_0 0x004
|
|
>;
|
|
};
|
|
pinctrl_audio_i2c1: audio_i2c1_grp {
|
|
thead,pins = <
|
|
FM_AUDIO_IO_PA13 LIGHT_PIN_FUNC_1 0x004
|
|
FM_AUDIO_IO_PA16 LIGHT_PIN_FUNC_3 0x004
|
|
>;
|
|
};
|
|
pinctrl_audio_i2s0: audio_i2s0_grp {
|
|
thead,pins = <
|
|
FM_AUDIO_IO_PA9 LIGHT_PIN_FUNC_0 0x008
|
|
FM_AUDIO_IO_PA10 LIGHT_PIN_FUNC_0 0x008
|
|
FM_AUDIO_IO_PA11 LIGHT_PIN_FUNC_0 0x008
|
|
FM_AUDIO_IO_PA12 LIGHT_PIN_FUNC_0 0x008
|
|
>;
|
|
};
|
|
pinctrl_audio_i2s1: audio_i2s1_grp {
|
|
thead,pins = <
|
|
FM_AUDIO_IO_PA14 LIGHT_PIN_FUNC_0 0x008
|
|
FM_AUDIO_IO_PA15 LIGHT_PIN_FUNC_0 0x008
|
|
FM_AUDIO_IO_PA17 LIGHT_PIN_FUNC_0 0x008
|
|
>;
|
|
};
|
|
pinctrl_audio_i2s_8ch_bus: audio_i2s_8ch_bus_grp {
|
|
thead,pins = <
|
|
FM_AUDIO_IO_PA2 LIGHT_PIN_FUNC_3 0x008
|
|
FM_AUDIO_IO_PA3 LIGHT_PIN_FUNC_3 0x008
|
|
FM_AUDIO_IO_PA8 LIGHT_PIN_FUNC_3 0x008
|
|
>;
|
|
};
|
|
pinctrl_audio_i2s_8ch_sd0: audio_i2s_8ch_sd0_grp {
|
|
thead,pins = <
|
|
FM_AUDIO_IO_PA4 LIGHT_PIN_FUNC_3 0x008
|
|
>;
|
|
};
|
|
pinctrl_audio_i2s_8ch_sd1: audio_i2s_8ch_sd1_grp {
|
|
thead,pins = <
|
|
FM_AUDIO_IO_PA5 LIGHT_PIN_FUNC_3 0x008
|
|
>;
|
|
};
|
|
pinctrl_audio_i2s_8ch_sd2: audio_i2s_8ch_sd2_grp {
|
|
thead,pins = <
|
|
FM_AUDIO_IO_PA0 LIGHT_PIN_FUNC_3 0x008
|
|
>;
|
|
};
|
|
pinctrl_audio_i2s_8ch_sd3: audio_i2s_8ch_sd3_grp {
|
|
thead,pins = <
|
|
FM_AUDIO_IO_PA1 LIGHT_PIN_FUNC_3 0x008
|
|
>;
|
|
};
|
|
pinctrl_audio_tdm: audio_tdm_grp {
|
|
thead,pins = <
|
|
FM_AUDIO_IO_PA27 LIGHT_PIN_FUNC_1 0x007
|
|
FM_AUDIO_IO_PA28 LIGHT_PIN_FUNC_1 0x007
|
|
FM_AUDIO_IO_PA29 LIGHT_PIN_FUNC_1 0x000
|
|
>;
|
|
};
|
|
pinctrl_audio_spdif0: audio_spdif0_grp {
|
|
thead,pins = <
|
|
FM_AUDIO_IO_PA21 LIGHT_PIN_FUNC_1 0x000
|
|
FM_AUDIO_IO_PA22 LIGHT_PIN_FUNC_1 0x007
|
|
>;
|
|
};
|
|
pinctrl_audio_spdif1: audio_spdif1_grp {
|
|
thead,pins = <
|
|
FM_AUDIO_IO_PA23 LIGHT_PIN_FUNC_1 0x007
|
|
FM_AUDIO_IO_PA24 LIGHT_PIN_FUNC_1 0x000
|
|
>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&i2c2 {
|
|
clock-frequency = <400000>;
|
|
status = "okay";
|
|
eeprom@50 {
|
|
compatible = "atmel,24c32";
|
|
reg = <0x50>;
|
|
pagesize = <32>;
|
|
};
|
|
};
|
|
|
|
&i2c3 {
|
|
clock-frequency = <400000>;
|
|
status = "okay";
|
|
eeprom@50 {
|
|
compatible = "atmel,24c32";
|
|
reg = <0x50>;
|
|
pagesize = <32>;
|
|
};
|
|
};
|
|
|
|
&i2c4 {
|
|
clock-frequency = <400000>;
|
|
status = "okay";
|
|
eeprom@50 {
|
|
compatible = "atmel,24c32";
|
|
reg = <0x50>;
|
|
pagesize = <32>;
|
|
};
|
|
|
|
pcal6408ahk_a: gpio@20 {
|
|
compatible = "nxp,pcal9554b";
|
|
reg = <0x20>;
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
};
|
|
};
|
|
|
|
&isp0 {
|
|
status = "okay";
|
|
};
|
|
|
|
&isp1 {
|
|
status = "okay";
|
|
};
|
|
|
|
&isp_ry0 {
|
|
status = "okay";
|
|
};
|
|
|
|
&dewarp {
|
|
status = "okay";
|
|
};
|
|
|
|
&dec400_isp0 {
|
|
status = "okay";
|
|
};
|
|
|
|
&dec400_isp1 {
|
|
status = "okay";
|
|
};
|
|
|
|
&dec400_isp2 {
|
|
status = "okay";
|
|
};
|
|
|
|
&bm_visys {
|
|
status = "okay";
|
|
};
|
|
|
|
&bm_csi0 {
|
|
status = "okay";
|
|
};
|
|
|
|
&bm_csi1 {
|
|
status = "okay";
|
|
};
|
|
|
|
&bm_csi2 {
|
|
status = "okay";
|
|
};
|
|
|
|
&vi_pre {
|
|
//vi_pre_irq_en = <1>;
|
|
status = "okay";
|
|
};
|
|
|
|
&xtensa_dsp {
|
|
status = "okay";
|
|
};
|
|
|
|
&xtensa_dsp0 {
|
|
status = "okay";
|
|
memory-region = <&dsp0_mem>;
|
|
};
|
|
|
|
&xtensa_dsp1{
|
|
status = "okay";
|
|
memory-region = <&dsp1_mem>;
|
|
};
|
|
|
|
&vvcam_flash_led0{
|
|
flash_led_name = "aw36413_aw36515";
|
|
floodlight_i2c_bus = /bits/ 8 <2>;
|
|
floodlight_en_pin = <&gpio1_porta 25 0>;
|
|
//projection_i2c_bus = /bits/ 8 <2>;
|
|
flash_led_touch_pin = <&gpio1_porta 27 0>; //flash led touch pin
|
|
status = "okay";
|
|
};
|
|
|
|
&vvcam_sensor0 {
|
|
sensor_name = "SC2310";
|
|
sensor_regulators = "DOVDD18_RGB", "DVDD12_RGB", "AVDD28_RGB";
|
|
sensor_regulator_voltage_uV = <1800000 1200000 2800000>;
|
|
sensor_regulator_timing_us = <70 50 20>;
|
|
sensor_rst = <&gpio1_porta 16 0>;
|
|
sensor_pdn_delay_us = <4000>; //powerdown pin / shutdown pin actived till I2C ready
|
|
DOVDD18_RGB-supply = <&soc_dovdd18_rgb_reg>;
|
|
DVDD12_RGB-supply = <&soc_dvdd12_rgb_reg>;
|
|
AVDD28_RGB-supply = <&soc_avdd28_rgb_reg>;
|
|
i2c_reg_width = /bits/ 8 <2>;
|
|
i2c_data_width = /bits/ 8 <1>;
|
|
i2c_addr = /bits/ 8 <0x30>;
|
|
i2c_bus = /bits/ 8 <3>;
|
|
status = "okay";
|
|
};
|
|
|
|
&vvcam_sensor1 {
|
|
sensor_name = "OV5693";
|
|
i2c_bus = /bits/ 8 <3>;
|
|
i2c_reg_width = /bits/ 8 <1>;
|
|
i2c_data_width = /bits/ 8 <1>;
|
|
status = "disabled";
|
|
};
|
|
|
|
|
|
&vvcam_sensor1 {
|
|
sensor_name = "OV5693";
|
|
sensor_regulators = "DOVDD18_RGB", "DVDD12_RGB", "AVDD28_RGB";
|
|
sensor_regulator_voltage_uV = <1800000 1200000 2800000>;
|
|
sensor_regulator_timing_us = <70 50 20>;
|
|
sensor_rst = <&gpio1_porta 16 0>;
|
|
sensor_pdn_delay_us = <4000>; //powerdown pin / shutdown pin actived till I2C ready
|
|
DOVDD18_RGB-supply = <&soc_dovdd18_rgb_reg>;
|
|
DVDD12_RGB-supply = <&soc_dvdd12_rgb_reg>;
|
|
AVDD28_RGB-supply = <&soc_avdd28_rgb_reg>;
|
|
i2c_reg_width = /bits/ 8 <2>;
|
|
i2c_data_width = /bits/ 8 <1>;
|
|
i2c_addr = /bits/ 8 <0x36>;
|
|
i2c_bus = /bits/ 8 <3>;
|
|
status = "okay";
|
|
};
|
|
|
|
&vvcam_sensor2 {
|
|
sensor_name = "GC5035";
|
|
sensor_regulators = "DOVDD18_SCAN", "DVDD12_SCAN", "AVDD28_SCAN";
|
|
sensor_regulator_timing_us = <100 50 0>;
|
|
sensor_pdn = <&gpio1_porta 30 0>; //powerdown pin / shutdown pin
|
|
sensor_rst = <&gpio1_porta 29 0>;
|
|
sensor_pdn_delay_us = <60>; //powerdown pin / shutdown pin actived till I2C ready
|
|
DOVDD18_SCAN-supply = <&soc_dovdd18_scan_reg>;
|
|
DVDD12_SCAN-supply = <&soc_dvdd12_scan_reg>;
|
|
AVDD28_SCAN-supply = <&soc_avdd28_scan_en_reg>;
|
|
i2c_addr = /bits/ 8 <0x37>;
|
|
i2c_bus = /bits/ 8 <4>;
|
|
i2c_reg_width = /bits/ 8 <1>;
|
|
i2c_data_width = /bits/ 8 <1>;
|
|
status = "okay";
|
|
};
|
|
|
|
&vvcam_sensor3 {
|
|
sensor_name = "SC2310";
|
|
sensor_regulators = "DOVDD18_SCAN", "DVDD12_SCAN", "AVDD28_SCAN";
|
|
sensor_regulator_timing_us = <70 50 20>;
|
|
sensor_pdn = <&gpio1_porta 30 0>; //powerdown pin / shutdown pin
|
|
sensor_rst = <&gpio1_porta 29 0>;
|
|
sensor_pdn_delay_us = <4000>; //powerdown pin / shutdown pin actived till I2C ready
|
|
DOVDD18_SCAN-supply = <&soc_dovdd18_scan_reg>;
|
|
DVDD12_SCAN-supply = <&soc_dvdd12_scan_reg>;
|
|
AVDD28_SCAN-supply = <&soc_avdd28_scan_en_reg>;
|
|
i2c_bus = /bits/ 8 <4>;
|
|
i2c_reg_width = /bits/ 8 <2>;
|
|
i2c_data_width = /bits/ 8 <1>;
|
|
i2c_addr = /bits/ 8 <0x30>;
|
|
status = "okay";
|
|
};
|
|
|
|
&vvcam_sensor4 {
|
|
sensor_name = "SC132GS";
|
|
sensor_regulators = "DOVDD18_IR", "DVDD12_IR", "AVDD25_IR";
|
|
sensor_regulator_timing_us = <70 1000 2000>;
|
|
i2c_addr = /bits/ 8 <0x31>;
|
|
sensor_rst = <&gpio1_porta 24 0>;
|
|
sensor_pdn_delay_us = <2000>; //powerdown pin / shutdown pin actived till I2C ready
|
|
DOVDD18_IR-supply = <&soc_dovdd18_ir_reg>;
|
|
DVDD12_IR-supply = <&soc_dvdd12_ir_reg>;
|
|
AVDD25_IR-supply = <&soc_avdd25_ir_reg>;
|
|
i2c_reg_width = /bits/ 8 <2>;
|
|
i2c_data_width = /bits/ 8 <1>;
|
|
i2c_bus = /bits/ 8 <2>;
|
|
status = "okay";
|
|
};
|
|
|
|
&vvcam_sensor5 {
|
|
sensor_name = "OV12870";
|
|
sensor_regulators = "DOVDD18_RGB", "DVDD12_RGB", "AVDD28_RGB";
|
|
sensor_regulator_voltage_uV = <1800000 1200000 2800000>;
|
|
sensor_regulator_timing_us = <100 50 0>;
|
|
sensor_rst = <&gpio1_porta 16 0>;
|
|
sensor_pdn_delay_us = <60>; //powerdown pin / shutdown pin actived till I2C ready
|
|
DOVDD18_RGB-supply = <&soc_dovdd18_rgb_reg>;
|
|
DVDD12_RGB-supply = <&soc_dvdd12_rgb_reg>;
|
|
AVDD28_RGB-supply = <&soc_avdd28_rgb_reg>;
|
|
i2c_addr = /bits/ 8 <0x10>;
|
|
i2c_reg_width = /bits/ 8 <2>;
|
|
i2c_data_width = /bits/ 8 <1>;
|
|
i2c_bus = /bits/ 8 <3>;
|
|
status = "okay";
|
|
};
|
|
|
|
&vvcam_sensor6 {
|
|
sensor_name = "GC02M1B";
|
|
sensor_regulators = "DOVDD18_RGB", "DVDD12_RGB", "AVDD28_RGB";
|
|
sensor_regulator_voltage_uV = <1800000 1675000 2800000>;
|
|
sensor_regulator_timing_us = <70 50 20>;
|
|
sensor_rst = <&gpio1_porta 16 0>;
|
|
sensor_pdn_delay_us = <1000>; //powerdown pin / shutdown pin actived till I2C ready
|
|
DOVDD18_RGB-supply = <&soc_dovdd18_rgb_reg>;
|
|
DVDD12_RGB-supply = <&soc_dvdd12_rgb_reg>;
|
|
AVDD28_RGB-supply = <&soc_avdd28_rgb_reg>;
|
|
i2c_reg_width = /bits/ 8 <1>;
|
|
i2c_data_width = /bits/ 8 <1>;
|
|
i2c_addr = /bits/ 8 <0x37>;
|
|
i2c_bus = /bits/ 8 <3>;
|
|
status = "okay";
|
|
};
|
|
|
|
&vvcam_sensor7 {
|
|
sensor_name = "IMX334";
|
|
sensor_regulators = "DOVDD18_RGB", "DVDD12_RGB", "AVDD28_RGB";
|
|
sensor_regulator_timing_us = <70 50 20>;
|
|
sensor_rst = <&gpio1_porta 16 0>;
|
|
sensor_pdn_delay_us = <1000>; //powerdown pin / shutdown pin actived till I2C ready
|
|
DOVDD18_RGB-supply = <&soc_dovdd18_rgb_reg>;
|
|
DVDD12_RGB-supply = <&soc_dvdd12_rgb_reg>;
|
|
AVDD28_RGB-supply = <&soc_avdd28_rgb_reg>;
|
|
i2c_reg_width = /bits/ 8 <2>;
|
|
i2c_data_width = /bits/ 8 <1>;
|
|
i2c_addr = /bits/ 8 <0x1a>;
|
|
i2c_bus = /bits/ 8 <3>;
|
|
status = "okay";
|
|
};
|
|
|
|
&video0{
|
|
vi_mem_pool_region = <2>; // vi_mem: framebuffer, region[2]
|
|
channel0 {
|
|
sensor0 {
|
|
subdev_name = "vivcam";
|
|
idx = <2>; //<2>=vivcam2 : gc5035
|
|
csi_idx = <1>; //<1>=CSI2X2_B
|
|
mode_idx = <3>;
|
|
path_type = "SENSOR_1296x972_RAW10_LINER"; //SENSOR_VGA_RAW10_LINER//
|
|
};
|
|
sensor1 {
|
|
subdev_name = "vivcam";
|
|
idx = <3>; //<3>=vivcam3 : sc2310
|
|
csi_idx = <1>; //<1>=CSI2X2_B
|
|
mode_idx = <1>;
|
|
path_type = "SENSOR_1920X1088_26FPS_RAW12_LINER";
|
|
};
|
|
isp {
|
|
subdev_name = "isp";
|
|
idx = <0>;
|
|
path_type = "ISP_MI_PATH_MP";
|
|
output {
|
|
max_width = <1920>;
|
|
max_height = <1088>;
|
|
bit_per_pixel = <12>;
|
|
frame_count = <3>;
|
|
};
|
|
};
|
|
};
|
|
channel1 {
|
|
sensor0 {
|
|
subdev_name = "vivcam";
|
|
idx = <2>; //<2>=vivcam2 : gc5035
|
|
csi_idx = <1>; //<1>=CSI2X2_B
|
|
mode_idx = <3>;
|
|
path_type = "SENSOR_1296x972_RAW10_LINER"; //SENSOR_VGA_RAW10_LINER//
|
|
};
|
|
sensor1 {
|
|
subdev_name = "vivcam";
|
|
idx = <3>; //<3>=vivcam3 : sc2310
|
|
csi_idx = <1>; //<1>=CSI2X2_B
|
|
mode_idx = <1>;
|
|
path_type = "SENSOR_1920X1088_26FPS_RAW12_LINER";
|
|
};
|
|
isp {
|
|
subdev_name = "isp";
|
|
idx = <0>;
|
|
path_type = "ISP_MI_PATH_SP";
|
|
output {
|
|
max_width = <1920>;
|
|
max_height = <1088>;
|
|
bit_per_pixel = <12>;
|
|
frame_count = <3>;
|
|
};
|
|
};
|
|
};
|
|
channel2 {
|
|
sensor0 {
|
|
subdev_name = "vivcam";
|
|
idx = <2>; //<2>=vivcam2 : gc5035
|
|
csi_idx = <1>; //<1>=CSI2X2_B
|
|
mode_idx = <3>;
|
|
path_type = "SENSOR_1296x972_RAW10_LINER"; //SENSOR_VGA_RAW10_LINER//
|
|
};
|
|
sensor1 {
|
|
subdev_name = "vivcam";
|
|
idx = <3>; //<3>=vivcam3 : sc2310
|
|
csi_idx = <1>; //<1>=CSI2X2_B
|
|
mode_idx = <1>;
|
|
path_type = "SENSOR_1920X1088_26FPS_RAW12_LINER";
|
|
};
|
|
isp {
|
|
subdev_name = "isp";
|
|
idx = <0>;
|
|
path_type = "ISP_MI_PATH_SP2_BP";
|
|
output {
|
|
max_width = <1920>;
|
|
max_height = <1088>;
|
|
bit_per_pixel = <12>;
|
|
frame_count = <3>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
|
|
&video1{
|
|
vi_mem_pool_region = <2>; // vi_mem: framebuffer, region[2]
|
|
channel0 {
|
|
sensor0 {
|
|
subdev_name = "vivcam";
|
|
idx = <2>; //<2>=vivcam2 : gc5035
|
|
csi_idx = <1>; //<1>=CSI2X2_B
|
|
mode_idx = <3>;
|
|
path_type = "SENSOR_1296x972_RAW10_LINER";
|
|
};
|
|
sensor1 {
|
|
subdev_name = "vivcam";
|
|
idx = <3>; //<3>=vivcam3 : sc2310
|
|
csi_idx = <1>; //<1>=CSI2X2_B
|
|
mode_idx = <1>;
|
|
path_type = "SENSOR_1920X1088_26FPS_RAW12_LINER";
|
|
};
|
|
isp {
|
|
subdev_name = "isp";
|
|
idx = <0>;
|
|
path_type = "ISP_MI_PATH_MP";
|
|
output {
|
|
max_width = <1920>;
|
|
max_height = <1088>;
|
|
bit_per_pixel = <12>;
|
|
frame_count = <3>;
|
|
};
|
|
};
|
|
dw {
|
|
subdev_name = "dw";
|
|
idx = <0>;
|
|
path_type = "DW_DWE_VSE0";
|
|
dw_dst_depth = <2>;
|
|
};
|
|
};
|
|
channel1 {
|
|
sensor0 {
|
|
subdev_name = "vivcam";
|
|
idx = <2>; //<2>=vivcam2 : gc5035
|
|
csi_idx = <1>; //<1>=CSI2X2_B
|
|
mode_idx = <3>;
|
|
path_type = "SENSOR_1296x972_RAW10_LINER";
|
|
};
|
|
sensor1 {
|
|
subdev_name = "vivcam";
|
|
idx = <3>; //<3>=vivcam3 : sc2310
|
|
csi_idx = <1>; //<1>=CSI2X2_B
|
|
mode_idx = <1>;
|
|
path_type = "SENSOR_1920X1088_26FPS_RAW12_LINER";
|
|
};
|
|
isp {
|
|
subdev_name = "isp";
|
|
idx = <0>;
|
|
path_type = "ISP_MI_PATH_MP";
|
|
output {
|
|
max_width = <1920>;
|
|
max_height = <1088>;
|
|
bit_per_pixel = <12>;
|
|
frame_count = <3>;
|
|
};
|
|
};
|
|
dw {
|
|
subdev_name = "dw";
|
|
idx = <0>;
|
|
path_type = "DW_DWE_VSE1";
|
|
dw_dst_depth = <2>;
|
|
};
|
|
};
|
|
channel2 {
|
|
sensor0 {
|
|
subdev_name = "vivcam";
|
|
idx = <2>; //<2>=vivcam2 : gc5035
|
|
csi_idx = <1>; //<1>=CSI2X2_B
|
|
mode_idx = <3>;
|
|
path_type = "SENSOR_1296x972_RAW10_LINER";
|
|
};
|
|
sensor1 {
|
|
subdev_name = "vivcam";
|
|
idx = <3>; //<3>=vivcam3 : sc2310
|
|
csi_idx = <1>; //<1>=CSI2X2_B
|
|
mode_idx = <1>;
|
|
path_type = "SENSOR_1920X1088_26FPS_RAW12_LINER";
|
|
};
|
|
isp {
|
|
subdev_name = "isp";
|
|
idx = <0>;
|
|
path_type = "ISP_MI_PATH_MP";
|
|
output {
|
|
max_width = <1920>;
|
|
max_height = <1088>;
|
|
bit_per_pixel = <12>;
|
|
frame_count = <3>;
|
|
};
|
|
};
|
|
dw {
|
|
subdev_name = "dw";
|
|
idx = <0>;
|
|
path_type = "DW_DWE_VSE2";
|
|
dw_dst_depth = <2>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&video2{
|
|
vi_mem_pool_region = <0>; // vi_mem: framebuffer, region[0]
|
|
channel0 {
|
|
sensor0 {
|
|
subdev_name = "vivcam";
|
|
idx = <0>; //sc2310
|
|
csi_idx = <0>; //<0>=CSI2
|
|
mode_idx = <1>;
|
|
path_type = "SENSOR_1920X1088_26FPS_RAW12_LINER";
|
|
};
|
|
sensor1 {
|
|
subdev_name = "vivcam";
|
|
idx = <6>; //gc02m1b
|
|
csi_idx = <0>; //<0>=CSI2
|
|
mode_idx = <0>;
|
|
path_type = "SENSOR_1600x1200_RAW10_LINER";
|
|
};
|
|
sensor2 {
|
|
subdev_name = "vivcam";
|
|
idx = <7>; //imx334
|
|
csi_idx = <0>; //<0>=CSI2
|
|
mode_idx = <0>;
|
|
path_type = "SENSOR_3840x2180_RAW12_LINER";
|
|
};
|
|
isp {
|
|
subdev_name = "isp";
|
|
idx = <1>;
|
|
path_type = "ISP_MI_PATH_MP";
|
|
output {
|
|
max_width = <3840>;
|
|
max_height = <2180>;
|
|
bit_per_pixel = <16>;
|
|
frame_count = <3>;
|
|
};
|
|
};
|
|
};
|
|
channel1 {
|
|
sensor0 {
|
|
subdev_name = "vivcam";
|
|
idx = <0>; //sc2310
|
|
csi_idx = <0>; //<0>=CSI2
|
|
mode_idx = <1>;
|
|
path_type = "SENSOR_1920X1088_26FPS_RAW12_LINER";
|
|
};
|
|
sensor1 {
|
|
subdev_name = "vivcam";
|
|
idx = <6>; //gc02m1b
|
|
csi_idx = <0>; //<0>=CSI2
|
|
mode_idx = <0>;
|
|
path_type = "SENSOR_1600x1200_RAW10_LINER";
|
|
};
|
|
isp {
|
|
subdev_name = "isp";
|
|
idx = <1>;
|
|
path_type = "ISP_MI_PATH_SP";
|
|
output {
|
|
max_width = <1920>;
|
|
max_height = <1088>;
|
|
bit_per_pixel = <16>;
|
|
frame_count = <3>;
|
|
};
|
|
};
|
|
};
|
|
channel2 {
|
|
sensor0 {
|
|
subdev_name = "vivcam";
|
|
idx = <0>; //sc2310
|
|
csi_idx = <0>; //<0>=CSI2
|
|
mode_idx = <1>;
|
|
path_type = "SENSOR_1920X1088_26FPS_RAW12_LINER";
|
|
};
|
|
sensor1 {
|
|
subdev_name = "vivcam";
|
|
idx = <6>; //gc02m1b
|
|
csi_idx = <0>; //<0>=CSI2
|
|
mode_idx = <0>;
|
|
path_type = "SENSOR_1600x1200_RAW10_LINER";
|
|
};
|
|
isp {
|
|
subdev_name = "isp";
|
|
idx = <1>;
|
|
path_type = "ISP_MI_PATH_SP2_BP";
|
|
output {
|
|
max_width = <1920>;
|
|
max_height = <1088>;
|
|
bit_per_pixel = <16>;
|
|
frame_count = <3>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
&video3{
|
|
vi_mem_pool_region = <0>; // vi_mem: framebuffer, region[0]
|
|
channel0 {
|
|
sensor0 {
|
|
subdev_name = "vivcam";
|
|
idx = <0>; //sc2310
|
|
csi_idx = <0>; //<0>=CSI2
|
|
mode_idx = <1>;
|
|
path_type = "SENSOR_1920X1088_26FPS_RAW12_LINER";
|
|
};
|
|
sensor1 {
|
|
subdev_name = "vivcam";
|
|
idx = <6>; //gc02m1b
|
|
csi_idx = <0>; //<0>=CSI2
|
|
mode_idx = <0>;
|
|
path_type = "SENSOR_1600x1200_RAW10_LINER";
|
|
};
|
|
isp {
|
|
subdev_name = "isp";
|
|
idx = <1>;
|
|
path_type = "ISP_MI_PATH_MP";
|
|
output {
|
|
max_width = <1920>;
|
|
max_height = <1088>;
|
|
bit_per_pixel = <12>;
|
|
frame_count = <3>;
|
|
};
|
|
};
|
|
dw {
|
|
subdev_name = "dw";
|
|
idx = <0>;
|
|
path_type = "DW_DWE_VSE0";
|
|
dw_dst_depth = <2>;
|
|
};
|
|
};
|
|
channel1 {
|
|
sensor0 {
|
|
subdev_name = "vivcam";
|
|
idx = <0>; //sc2310
|
|
csi_idx = <0>; //<0>=CSI2
|
|
mode_idx = <1>;
|
|
path_type = "SENSOR_1920X1088_26FPS_RAW12_LINER";
|
|
};
|
|
sensor1 {
|
|
subdev_name = "vivcam";
|
|
idx = <6>; //gc02m1b
|
|
csi_idx = <0>; //<0>=CSI2
|
|
mode_idx = <0>;
|
|
path_type = "SENSOR_1600x1200_RAW10_LINER";
|
|
};
|
|
isp {
|
|
subdev_name = "isp";
|
|
idx = <1>;
|
|
path_type = "ISP_MI_PATH_MP";
|
|
output {
|
|
max_width = <1920>;
|
|
max_height = <1088>;
|
|
bit_per_pixel = <12>;
|
|
frame_count = <3>;
|
|
};
|
|
};
|
|
dw {
|
|
subdev_name = "dw";
|
|
idx = <0>;
|
|
path_type = "DW_DWE_VSE1";
|
|
dw_dst_depth = <2>;
|
|
};
|
|
};
|
|
channel2 {
|
|
sensor0 {
|
|
subdev_name = "vivcam";
|
|
idx = <0>; //sc2310
|
|
csi_idx = <0>; //<0>=CSI2
|
|
mode_idx = <1>;
|
|
path_type = "SENSOR_1920X1088_26FPS_RAW12_LINER";
|
|
};
|
|
sensor1 {
|
|
subdev_name = "vivcam";
|
|
idx = <6>; //gc02m1b
|
|
csi_idx = <0>; //<0>=CSI2
|
|
mode_idx = <0>;
|
|
path_type = "SENSOR_1600x1200_RAW10_LINER";
|
|
};
|
|
isp {
|
|
subdev_name = "isp";
|
|
idx = <1>;
|
|
path_type = "ISP_MI_PATH_MP";
|
|
output {
|
|
max_width = <1920>;
|
|
max_height = <1088>;
|
|
bit_per_pixel = <12>;
|
|
frame_count = <3>;
|
|
};
|
|
};
|
|
dw {
|
|
subdev_name = "dw";
|
|
idx = <0>;
|
|
path_type = "DW_DWE_VSE2";
|
|
dw_dst_depth = <2>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&video4{
|
|
vi_mem_pool_region = <0>; // vi_mem: framebuffer, region[0]
|
|
channel0 {
|
|
sensor0 {
|
|
subdev_name = "vivcam";
|
|
idx = <0>; //sc2310
|
|
csi_idx = <0>; //<0>=CSI2
|
|
mode_idx = <1>;
|
|
path_type = "SENSOR_1920X1088_26FPS_RAW12_LINER";
|
|
};
|
|
sensor1 {
|
|
subdev_name = "vivcam";
|
|
idx = <6>; //gc02m1b
|
|
csi_idx = <0>; //<0>=CSI2
|
|
mode_idx = <0>;
|
|
path_type = "SENSOR_1600x1200_RAW10_LINER";
|
|
};
|
|
isp {
|
|
subdev_name = "isp";
|
|
idx = <1>;
|
|
path_type = "ISP_MI_PATH_PP";
|
|
output {
|
|
max_width = <1920>;
|
|
max_height = <1088>;
|
|
bit_per_pixel = <12>;
|
|
frame_count = <3>;
|
|
};
|
|
};
|
|
dsp {
|
|
subdev_name = "dsp";
|
|
idx = <0>;
|
|
path_type = "DSP_PATH_ISP_RY";
|
|
output {
|
|
max_width = <1920>;
|
|
max_height = <1088>;
|
|
bit_per_pixel = <12>;
|
|
frame_count = <3>;
|
|
};
|
|
};
|
|
ry {
|
|
subdev_name = "ry";
|
|
idx = <0>;
|
|
path_type = "ISP_RY_MI_PATH_MP";
|
|
output {
|
|
max_width = <1920>;
|
|
max_height = <1088>;
|
|
bit_per_pixel = <12>;
|
|
frame_count = <3>;
|
|
};
|
|
};
|
|
};
|
|
channel1 {
|
|
sensor0 {
|
|
subdev_name = "vivcam";
|
|
idx = <0>; //sc2310
|
|
csi_idx = <0>; //<0>=CSI2
|
|
mode_idx = <1>;
|
|
path_type = "SENSOR_1920X1088_26FPS_RAW12_LINER";
|
|
};
|
|
sensor1 {
|
|
subdev_name = "vivcam";
|
|
idx = <6>; //gc02m1b
|
|
csi_idx = <0>; //<0>=CSI2
|
|
mode_idx = <0>;
|
|
path_type = "SENSOR_1600x1200_RAW10_LINER";
|
|
};
|
|
isp {
|
|
subdev_name = "isp";
|
|
idx = <1>;
|
|
path_type = "ISP_MI_PATH_PP";
|
|
output {
|
|
max_width = <1920>;
|
|
max_height = <1088>;
|
|
bit_per_pixel = <12>;
|
|
frame_count = <3>;
|
|
};
|
|
};
|
|
dsp {
|
|
subdev_name = "dsp";
|
|
idx = <0>;
|
|
path_type = "DSP_PATH_ISP_RY";
|
|
output {
|
|
max_width = <1920>;
|
|
max_height = <1088>;
|
|
bit_per_pixel = <12>;
|
|
frame_count = <3>;
|
|
};
|
|
};
|
|
ry {
|
|
subdev_name = "ry";
|
|
idx = <0>;
|
|
path_type = "ISP_RY_MI_PATH_SP";
|
|
output {
|
|
max_width = <1920>;
|
|
max_height = <1088>;
|
|
bit_per_pixel = <12>;
|
|
frame_count = <3>;
|
|
};
|
|
};
|
|
};
|
|
channel2 {
|
|
sensor0 {
|
|
subdev_name = "vivcam";
|
|
idx = <0>; //sc2310
|
|
csi_idx = <0>; //<0>=CSI2
|
|
mode_idx = <1>;
|
|
path_type = "SENSOR_1920X1088_26FPS_RAW12_LINER";
|
|
};
|
|
sensor1 {
|
|
subdev_name = "vivcam";
|
|
idx = <6>; //gc02m1b
|
|
csi_idx = <0>; //<0>=CSI2
|
|
mode_idx = <0>;
|
|
path_type = "SENSOR_1600x1200_RAW10_LINER";
|
|
};
|
|
isp {
|
|
subdev_name = "isp";
|
|
idx = <1>;
|
|
path_type = "ISP_MI_PATH_PP";
|
|
output {
|
|
max_width = <1920>;
|
|
max_height = <1088>;
|
|
bit_per_pixel = <12>;
|
|
frame_count = <3>;
|
|
};
|
|
};
|
|
dsp {
|
|
subdev_name = "dsp";
|
|
idx = <0>;
|
|
path_type = "DSP_PATH_ISP_RY";
|
|
output {
|
|
max_width = <1920>;
|
|
max_height = <1088>;
|
|
bit_per_pixel = <12>;
|
|
frame_count = <3>;
|
|
};
|
|
};
|
|
ry {
|
|
subdev_name = "ry";
|
|
idx = <0>;
|
|
path_type = "ISP_RY_MI_PATH_SP2_BP";
|
|
output {
|
|
max_width = <1920>;
|
|
max_height = <1088>;
|
|
bit_per_pixel = <12>;
|
|
frame_count = <3>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
&video5{
|
|
vi_mem_pool_region = <0>; // vi_mem: framebuffer, region[0]
|
|
channel0 {
|
|
sensor0 {
|
|
subdev_name = "vivcam";
|
|
idx = <0>; //sc2310
|
|
csi_idx = <0>; //<0>=CSI2
|
|
mode_idx = <1>;
|
|
path_type = "SENSOR_1920X1088_26FPS_RAW12_LINER";
|
|
};
|
|
sensor1 {
|
|
subdev_name = "vivcam";
|
|
idx = <6>; //gc02m1b
|
|
csi_idx = <0>; //<0>=CSI2
|
|
mode_idx = <0>;
|
|
path_type = "SENSOR_1600x1200_RAW10_LINER";
|
|
};
|
|
isp {
|
|
subdev_name = "isp";
|
|
idx = <1>;
|
|
path_type = "ISP_MI_PATH_PP";
|
|
output {
|
|
max_width = <1920>;
|
|
max_height = <1088>;
|
|
bit_per_pixel = <12>;
|
|
frame_count = <3>;
|
|
};
|
|
};
|
|
dsp {
|
|
subdev_name = "dsp";
|
|
idx = <0>;
|
|
path_type = "DSP_PATH_ISP_RY";
|
|
output {
|
|
max_width = <1920>;
|
|
max_height = <1088>;
|
|
bit_per_pixel = <12>;
|
|
frame_count = <3>;
|
|
};
|
|
};
|
|
ry {
|
|
subdev_name = "ry";
|
|
idx = <0>;
|
|
path_type = "ISP_RY_MI_PATH_MP";
|
|
output {
|
|
max_width = <1920>;
|
|
max_height = <1088>;
|
|
bit_per_pixel = <12>;
|
|
frame_count = <3>;
|
|
};
|
|
};
|
|
dw {
|
|
subdev_name = "dw";
|
|
idx = <0>;
|
|
path_type = "DW_DWE_VSE0";
|
|
dw_dst_depth = <2>;
|
|
};
|
|
};
|
|
channel1 {
|
|
sensor0 {
|
|
subdev_name = "vivcam";
|
|
idx = <0>; //sc2310
|
|
csi_idx = <0>; //<0>=CSI2
|
|
mode_idx = <1>;
|
|
path_type = "SENSOR_1920X1088_26FPS_RAW12_LINER";
|
|
};
|
|
sensor1 {
|
|
subdev_name = "vivcam";
|
|
idx = <6>; //gc02m1b
|
|
csi_idx = <0>; //<0>=CSI2
|
|
mode_idx = <0>;
|
|
path_type = "SENSOR_1600x1200_RAW10_LINER";
|
|
};
|
|
isp {
|
|
subdev_name = "isp";
|
|
idx = <1>;
|
|
path_type = "ISP_MI_PATH_PP";
|
|
output {
|
|
max_width = <1920>;
|
|
max_height = <1088>;
|
|
bit_per_pixel = <12>;
|
|
frame_count = <3>;
|
|
};
|
|
};
|
|
dsp {
|
|
subdev_name = "dsp";
|
|
idx = <0>;
|
|
path_type = "DSP_PATH_ISP_RY";
|
|
output {
|
|
max_width = <1920>;
|
|
max_height = <1088>;
|
|
bit_per_pixel = <12>;
|
|
frame_count = <3>;
|
|
};
|
|
};
|
|
ry {
|
|
subdev_name = "ry";
|
|
idx = <0>;
|
|
path_type = "ISP_RY_MI_PATH_MP";
|
|
output {
|
|
max_width = <1920>;
|
|
max_height = <1088>;
|
|
bit_per_pixel = <12>;
|
|
frame_count = <3>;
|
|
};
|
|
};
|
|
dw {
|
|
subdev_name = "dw";
|
|
idx = <0>;
|
|
path_type = "DW_DWE_VSE1";
|
|
dw_dst_depth = <2>;
|
|
};
|
|
};
|
|
channel2 {
|
|
sensor0 {
|
|
subdev_name = "vivcam";
|
|
idx = <0>; //sc2310
|
|
csi_idx = <0>; //<0>=CSI2
|
|
mode_idx = <1>;
|
|
path_type = "SENSOR_1920X1088_26FPS_RAW12_LINER";
|
|
};
|
|
sensor1 {
|
|
subdev_name = "vivcam";
|
|
idx = <6>; //gc02m1b
|
|
csi_idx = <0>; //<0>=CSI2
|
|
mode_idx = <0>;
|
|
path_type = "SENSOR_1600x1200_RAW10_LINER";
|
|
};
|
|
isp {
|
|
subdev_name = "isp";
|
|
idx = <1>;
|
|
path_type = "ISP_MI_PATH_PP";
|
|
output {
|
|
max_width = <1920>;
|
|
max_height = <1088>;
|
|
bit_per_pixel = <12>;
|
|
frame_count = <3>;
|
|
};
|
|
};
|
|
dsp {
|
|
subdev_name = "dsp";
|
|
idx = <0>;
|
|
path_type = "DSP_PATH_ISP_RY";
|
|
output {
|
|
max_width = <1920>;
|
|
max_height = <1088>;
|
|
bit_per_pixel = <12>;
|
|
frame_count = <3>;
|
|
};
|
|
};
|
|
ry {
|
|
subdev_name = "ry";
|
|
idx = <0>;
|
|
path_type = "ISP_RY_MI_PATH_MP";
|
|
output {
|
|
max_width = <1920>;
|
|
max_height = <1088>;
|
|
bit_per_pixel = <12>;
|
|
frame_count = <3>;
|
|
};
|
|
};
|
|
dw {
|
|
subdev_name = "dw";
|
|
idx = <0>;
|
|
path_type = "DW_DWE_VSE2";
|
|
dw_dst_depth = <2>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&video6{
|
|
vi_mem_pool_region = <1>; // vi_mem: framebuffer, region[1]
|
|
channel0 {
|
|
sensor0 {
|
|
subdev_name = "vivcam";
|
|
idx = <4>; //sc132gs
|
|
csi_idx = <2>; //<2>=CSI2X2_A
|
|
flash_led_idx = <0>;
|
|
mode_idx = <0>;
|
|
path_type = "SENSOR_1080X1280_30FPS_RAW10_LINER";
|
|
};
|
|
dsp{
|
|
output {
|
|
max_width = <1080>;
|
|
max_height = <1280>;
|
|
bit_per_pixel = <16>;
|
|
frame_count = <3>;
|
|
};
|
|
};
|
|
};
|
|
channel1 {
|
|
sensor0 {
|
|
subdev_name = "vivcam";
|
|
idx = <4>; //sc132gs
|
|
csi_idx = <2>; //<2>=CSI2X2_A
|
|
flash_led_idx = <0>;
|
|
mode_idx = <0>;
|
|
path_type = "SENSOR_1080X1280_30FPS_RAW10_LINER";
|
|
};
|
|
dsp{
|
|
output {
|
|
max_width = <1080>;
|
|
max_height = <1280>;
|
|
bit_per_pixel = <16>;
|
|
frame_count = <3>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
&video7{
|
|
channel0 {
|
|
sensor0 {
|
|
subdev_name = "vivcam";
|
|
idx = <2>; //<2>=vivcam2 : gc5035
|
|
csi_idx = <1>; //<1>=CSI2X2_B
|
|
mode_idx = <3>;
|
|
path_type = "SENSOR_1296x972_RAW10_LINER"; //SENSOR_VGA_RAW10_LINER//
|
|
};
|
|
sensor1 {
|
|
subdev_name = "vivcam";
|
|
idx = <3>; //<3>=vivcam3 : sc2310
|
|
csi_idx = <1>; //<1>=CSI2X2_B
|
|
mode_idx = <1>;
|
|
path_type = "SENSOR_1920X1088_26FPS_RAW12_LINER";
|
|
};
|
|
isp {
|
|
subdev_name = "isp";
|
|
idx = <0>;
|
|
path_type = "ISP_MI_PATH_PP";
|
|
output {
|
|
max_width = <1920>;
|
|
max_height = <1088>;
|
|
bit_per_pixel = <12>;
|
|
frame_count = <3>;
|
|
};
|
|
};
|
|
dsp {
|
|
subdev_name = "dsp";
|
|
idx = <1>;
|
|
path_type = "DSP_PATH_ISP_RY";
|
|
output {
|
|
max_width = <1920>;
|
|
max_height = <1088>;
|
|
bit_per_pixel = <12>;
|
|
frame_count = <3>;
|
|
};
|
|
};
|
|
ry {
|
|
subdev_name = "ry";
|
|
idx = <0>;
|
|
path_type = "ISP_RY_MI_PATH_MP";
|
|
output {
|
|
max_width = <1920>;
|
|
max_height = <1088>;
|
|
bit_per_pixel = <12>;
|
|
frame_count = <3>;
|
|
};
|
|
};
|
|
dw {
|
|
subdev_name = "dw";
|
|
idx = <0>;
|
|
path_type = "DW_DWE_VSE0";
|
|
dw_dst_depth = <2>;
|
|
};
|
|
};
|
|
channel1 {
|
|
sensor0 {
|
|
subdev_name = "vivcam";
|
|
idx = <2>; //<2>=vivcam2 : gc5035
|
|
csi_idx = <1>; //<1>=CSI2X2_B
|
|
mode_idx = <3>;
|
|
path_type = "SENSOR_1296x972_RAW10_LINER"; //SENSOR_VGA_RAW10_LINER//
|
|
};
|
|
sensor1 {
|
|
subdev_name = "vivcam";
|
|
idx = <3>; //<3>=vivcam3 : sc2310
|
|
csi_idx = <1>; //<1>=CSI2X2_B
|
|
mode_idx = <1>;
|
|
path_type = "SENSOR_1920X1088_26FPS_RAW12_LINER";
|
|
};
|
|
isp {
|
|
subdev_name = "isp";
|
|
idx = <0>;
|
|
path_type = "ISP_MI_PATH_PP";
|
|
output {
|
|
max_width = <1920>;
|
|
max_height = <1088>;
|
|
bit_per_pixel = <12>;
|
|
frame_count = <3>;
|
|
};
|
|
};
|
|
dsp {
|
|
subdev_name = "dsp";
|
|
idx = <1>;
|
|
path_type = "DSP_PATH_ISP_RY";
|
|
output {
|
|
max_width = <1920>;
|
|
max_height = <1088>;
|
|
bit_per_pixel = <12>;
|
|
frame_count = <3>;
|
|
};
|
|
};
|
|
ry {
|
|
subdev_name = "ry";
|
|
idx = <0>;
|
|
path_type = "ISP_RY_MI_PATH_MP";
|
|
output {
|
|
max_width = <1920>;
|
|
max_height = <1088>;
|
|
bit_per_pixel = <12>;
|
|
frame_count = <3>;
|
|
};
|
|
};
|
|
dw {
|
|
subdev_name = "dw";
|
|
idx = <0>;
|
|
path_type = "DW_DWE_VSE1";
|
|
dw_dst_depth = <2>;
|
|
};
|
|
};
|
|
channel2 {
|
|
sensor0 {
|
|
subdev_name = "vivcam";
|
|
idx = <2>; //<2>=vivcam2 : gc5035
|
|
csi_idx = <1>; //<1>=CSI2X2_B
|
|
mode_idx = <3>;
|
|
path_type = "SENSOR_1296x972_RAW10_LINER"; //SENSOR_VGA_RAW10_LINER//
|
|
};
|
|
sensor1 {
|
|
subdev_name = "vivcam";
|
|
idx = <3>; //<3>=vivcam3 : sc2310
|
|
csi_idx = <1>; //<1>=CSI2X2_B
|
|
mode_idx = <1>;
|
|
path_type = "SENSOR_1920X1088_26FPS_RAW12_LINER";
|
|
};
|
|
isp {
|
|
subdev_name = "isp";
|
|
idx = <0>;
|
|
path_type = "ISP_MI_PATH_PP";
|
|
output {
|
|
max_width = <1920>;
|
|
max_height = <1088>;
|
|
bit_per_pixel = <12>;
|
|
frame_count = <3>;
|
|
};
|
|
};
|
|
dsp {
|
|
subdev_name = "dsp";
|
|
idx = <1>;
|
|
path_type = "DSP_PATH_ISP_RY";
|
|
output {
|
|
max_width = <1920>;
|
|
max_height = <1088>;
|
|
bit_per_pixel = <12>;
|
|
frame_count = <3>;
|
|
};
|
|
};
|
|
ry {
|
|
subdev_name = "ry";
|
|
idx = <0>;
|
|
path_type = "ISP_RY_MI_PATH_MP";
|
|
output {
|
|
max_width = <1920>;
|
|
max_height = <1088>;
|
|
bit_per_pixel = <12>;
|
|
frame_count = <3>;
|
|
};
|
|
};
|
|
dw {
|
|
subdev_name = "dw";
|
|
idx = <0>;
|
|
path_type = "DW_DWE_VSE2";
|
|
dw_dst_depth = <2>;
|
|
};
|
|
};
|
|
};
|
|
|
|
|
|
&video8{
|
|
vi_mem_pool_region = <1>; // vi_mem: framebuffer, region[1]
|
|
channel0 {
|
|
sensor0 {
|
|
subdev_name = "vivcam";
|
|
idx = <2>; //<2>=vivcam2 : gc5035
|
|
csi_idx = <1>; //<1>=CSI2X2_B
|
|
mode_idx = <3>;
|
|
path_type = "SENSOR_1296x972_RAW10_LINER"; //SENSOR_VGA_RAW10_LINER//
|
|
};
|
|
sensor1 {
|
|
subdev_name = "vivcam";
|
|
idx = <3>; //<3>=vivcam3 : sc2310
|
|
csi_idx = <1>; //<1>=CSI2X2_B
|
|
mode_idx = <1>;
|
|
path_type = "SENSOR_1920X1088_26FPS_RAW12_LINER";
|
|
};
|
|
dsp {
|
|
subdev_name = "dsp";
|
|
idx = <0>;
|
|
path_type = "DSP_PATH_VIPRE_DDR";
|
|
output {
|
|
max_width = <1920>;
|
|
max_height = <1088>;
|
|
bit_per_pixel = <12>;
|
|
frame_count = <3>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
&video9{
|
|
channel0 {
|
|
sensor0 {
|
|
subdev_name = "vivcam";
|
|
idx = <4>; //sc132gs
|
|
csi_idx = <2>; //<2>=CSI2X2_A
|
|
mode_idx = <0>;
|
|
path_type = "SENSOR_1080X1280_30FPS_RAW10_LINER";
|
|
};
|
|
dsp{
|
|
output {
|
|
max_width = <1080>;
|
|
max_height = <1280>;
|
|
bit_per_pixel = <16>;
|
|
frame_count = <3>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
|
|
&video10{
|
|
channel0 {
|
|
sensor0 {
|
|
subdev_name = "vivcam";
|
|
idx = <2>; //<2>=vivcam2 : gc5035
|
|
csi_idx = <1>; //<1>=CSI2X2_B
|
|
mode_idx = <1>;
|
|
path_type = "SENSOR_1080P_RAW10_LINER"; //SENSOR_VGA_RAW10_LINER//
|
|
skip_init = <1>;
|
|
};
|
|
sensor1 {
|
|
subdev_name = "vivcam";
|
|
idx = <3>; //<3>=vivcam3 : sc2310
|
|
csi_idx = <1>; //<1>=CSI2X2_B
|
|
mode_idx = <1>;
|
|
path_type = "SENSOR_1920X1088_26FPS_RAW12_LINER";
|
|
skip_init = <1>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&video11{
|
|
channel0 {
|
|
channel_id = <0>;
|
|
status = "okay";
|
|
sensor0 {
|
|
subdev_name = "vivcam";
|
|
idx = <4>; //sc132gs
|
|
csi_idx = <2>; //<2>=CSI2X2_A
|
|
flash_led_idx = <0>;
|
|
mode_idx = <0>;
|
|
path_type = "SENSOR_1080X1280_30FPS_RAW10_LINER";
|
|
};
|
|
isp {
|
|
subdev_name = "isp";
|
|
idx = <0>;
|
|
path_type = "ISP_MI_PATH_MP";
|
|
output {
|
|
max_width = <1920>;
|
|
max_height = <1088>;
|
|
bit_per_pixel = <12>;
|
|
frame_count = <3>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
&video12{ // TUNINGTOOL
|
|
channel0 { // CSI2
|
|
sensor0 {
|
|
subdev_name = "vivcam";
|
|
idx = <0>; //sc2310
|
|
csi_idx = <0>; //<0>=CSI2
|
|
mode_idx = <1>;
|
|
path_type = "SENSOR_1920X1088_26FPS_RAW12_LINER";
|
|
skip_init = <1>;
|
|
};
|
|
sensor1 {
|
|
subdev_name = "vivcam";
|
|
idx = <6>; //gc02m1b
|
|
csi_idx = <0>; //<0>=CSI2
|
|
mode_idx = <0>;
|
|
path_type = "SENSOR_1600x1200_RAW10_LINER";
|
|
skip_init = <1>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&trng {
|
|
status = "disabled";
|
|
};
|
|
|
|
&eip_28 {
|
|
status = "okay";
|
|
};
|
|
|
|
&vdec {
|
|
status = "okay";
|
|
};
|
|
|
|
&venc {
|
|
status = "okay";
|
|
};
|
|
|
|
&isp_venc_shake {
|
|
status = "okay";
|
|
};
|
|
|
|
&vidmem {
|
|
status = "okay";
|
|
memory-region = <&vi_mem>;
|
|
};
|
|
|
|
&gpu {
|
|
status = "okay";
|
|
};
|
|
|
|
&npu {
|
|
vha_clk_rate = <1000000000>;
|
|
status = "okay";
|
|
};
|
|
|
|
&fce {
|
|
memory-region = <&facelib_mem>;
|
|
status = "okay";
|
|
};
|
|
|
|
&i2s0 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_audiopa9>,
|
|
<&pinctrl_audiopa10>,
|
|
<&pinctrl_audiopa11>,
|
|
<&pinctrl_audiopa12>,
|
|
<&pinctrl_audio_i2s0>;
|
|
};
|
|
|
|
&i2s_8ch_sd0 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_audiopa4>,
|
|
<&pinctrl_audio_i2s_8ch_sd0>;
|
|
};
|
|
|
|
&i2s_8ch_sd1 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_audiopa5>,
|
|
<&pinctrl_audio_i2s_8ch_sd1>;
|
|
};
|
|
|
|
&i2s_8ch_sd2 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_audiopa0>,
|
|
<&pinctrl_audio_i2s_8ch_sd2>,
|
|
<&pinctrl_audiopa2>,
|
|
<&pinctrl_audiopa3>,
|
|
<&pinctrl_audiopa8>,
|
|
<&pinctrl_audio_i2s_8ch_bus>;
|
|
};
|
|
|
|
&i2s_8ch_sd3 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_audiopa1>,
|
|
<&pinctrl_audio_i2s_8ch_sd3>;
|
|
};
|
|
|
|
|
|
&cpus {
|
|
c910_0: cpu@0 {
|
|
operating-points = <
|
|
/* kHz uV */
|
|
300000 650000
|
|
800000 700000
|
|
1500000 800000
|
|
1848000 1000000
|
|
>;
|
|
light,dvddm-operating-points = <
|
|
/* kHz uV */
|
|
300000 800000
|
|
800000 800000
|
|
1500000 800000
|
|
1848000 1000000
|
|
>;
|
|
};
|
|
c910_1: cpu@1 {
|
|
operating-points = <
|
|
/* kHz uV */
|
|
300000 650000
|
|
800000 700000
|
|
1500000 800000
|
|
1848000 1000000
|
|
>;
|
|
light,dvddm-operating-points = <
|
|
/* kHz uV */
|
|
300000 800000
|
|
800000 800000
|
|
1500000 800000
|
|
1848000 1000000
|
|
>;
|
|
};
|
|
c910_2: cpu@2 {
|
|
|
|
operating-points = <
|
|
/* kHz uV */
|
|
300000 650000
|
|
800000 700000
|
|
1500000 800000
|
|
1848000 1000000
|
|
>;
|
|
light,dvddm-operating-points = <
|
|
/* kHz uV */
|
|
300000 800000
|
|
800000 800000
|
|
1500000 800000
|
|
1848000 1000000
|
|
>;
|
|
};
|
|
c910_3: cpu@3 {
|
|
|
|
operating-points = <
|
|
/* kHz uV */
|
|
300000 650000
|
|
800000 700000
|
|
1500000 800000
|
|
1848000 1000000
|
|
>;
|
|
light,dvddm-operating-points = <
|
|
/* kHz uV */
|
|
300000 800000
|
|
800000 800000
|
|
1500000 800000
|
|
1848000 1000000
|
|
>;
|
|
};
|
|
};
|