mirror of
https://github.com/revyos/thead-kernel.git
synced 2026-09-18 13:22:15 +02:00
1109 lines
23 KiB
Plaintext
1109 lines
23 KiB
Plaintext
/* SPDX-License-Identifier: GPL-2.0 */
|
|
/*
|
|
* Copyright (C) 2021 Alibaba Group Holding Limited.
|
|
*/
|
|
|
|
/dts-v1/;
|
|
|
|
#include "light.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>;
|
|
status = "disabled";
|
|
};
|
|
|
|
lightsound: lightsound@1 {
|
|
compatible = "simple-audio-card";
|
|
simple-audio-card,name = "Light-Sound-Card";
|
|
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
status = "disabled";
|
|
};
|
|
|
|
dummy_codec: dummy_codec {
|
|
#sound-dai-cells = <1>;
|
|
compatible = "linux,bt-sco";
|
|
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;
|
|
};
|
|
|
|
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";
|
|
};
|
|
|
|
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>;
|
|
};
|
|
|
|
soc_avdd28_scan_en_reg: soc_avdd28_scan_en {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "soc_avdd28_scan_en";
|
|
regulator-min-microvolt = <2800000>;
|
|
regulator-max-microvolt = <2800000>;
|
|
gpio = <&ao_gpio_porta 14 1>;
|
|
enable-active-high;
|
|
regulator-always-on;
|
|
};
|
|
|
|
soc_dovdd18_scan_reg: soc_dovdd18_scan {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "soc_dovdd18_scan";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
gpio = <&gpio0_porta 10 1>;
|
|
enable-active-high;
|
|
regulator-always-on;
|
|
};
|
|
|
|
soc_dvdd12_scan_reg: soc_dvdd12_scan {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "soc_dvdd12_scan";
|
|
regulator-min-microvolt = <1200000>;
|
|
regulator-max-microvolt = <1200000>;
|
|
gpio = <&gpio0_porta 11 1>;
|
|
enable-active-high;
|
|
regulator-always-on;
|
|
};
|
|
|
|
soc_vext_2v8_reg: soc_vext_2v8 {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "soc_vext_2v8";
|
|
regulator-min-microvolt = <2800000>;
|
|
regulator-max-microvolt = <2800000>;
|
|
gpio = <&gpio1_porta 7 1>;
|
|
enable-active-high;
|
|
regulator-always-on;
|
|
};
|
|
|
|
soc_avdd28_rgb_reg: soc_avdd28_rgb {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "soc_avdd28_rgb";
|
|
regulator-min-microvolt = <2800000>;
|
|
regulator-max-microvolt = <2800000>;
|
|
gpio = <&gpio1_porta 24 1>;
|
|
enable-active-high;
|
|
regulator-always-on;
|
|
};
|
|
|
|
soc_dovdd18_rgb_reg: soc_dovdd18_rgb {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "soc_dovdd18_rgb";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
gpio = <&gpio1_porta 22 1>;
|
|
enable-active-high;
|
|
regulator-always-on;
|
|
};
|
|
|
|
soc_dvdd12_rgb_reg: soc_dvdd12_rgb {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "soc_dvdd12_rgb";
|
|
regulator-min-microvolt = <1500000>;
|
|
regulator-max-microvolt = <1500000>;
|
|
gpio = <&gpio1_porta 25 1>;
|
|
enable-active-high;
|
|
regulator-always-on;
|
|
};
|
|
|
|
soc_avdd25_ir_reg: soc_avdd25_ir {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "soc_avdd25_ir";
|
|
regulator-min-microvolt = <2500000>;
|
|
regulator-max-microvolt = <2500000>;
|
|
gpio = <&gpio1_porta 21 1>;
|
|
enable-active-high;
|
|
regulator-always-on;
|
|
};
|
|
|
|
soc_dovdd18_ir_reg: soc_dovdd18_ir {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "soc_dovdd18_ir";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
gpio = <&gpio1_porta 22 1>;
|
|
enable-active-high;
|
|
regulator-always-on;
|
|
};
|
|
|
|
soc_dvdd12_ir_reg: soc_dvdd12_ir {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "soc_dvdd12_ir";
|
|
regulator-min-microvolt = <1200000>;
|
|
regulator-max-microvolt = <1200000>;
|
|
gpio = <&gpio1_porta 23 1>;
|
|
enable-active-high;
|
|
regulator-always-on;
|
|
};
|
|
|
|
aon_reg_ricoh: light-ricoh-reg {
|
|
compatible = "thead,light-ricoh-pmic";
|
|
status = "okay";
|
|
|
|
dvdd_cpu_reg: appcpu_dvdd {
|
|
regulator-name = "appcpu_dvdd";
|
|
regulator-min-microvolt = <600000>;
|
|
regulator-max-microvolt = <1500000>;
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
|
|
dvddm_cpu_reg: appcpu_dvddm {
|
|
regulator-name = "appcpu_dvddm";
|
|
regulator-min-microvolt = <600000>;
|
|
regulator-max-microvolt = <1500000>;
|
|
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_dvdd08_ap_reg: soc_dvdd08_ap {
|
|
regulator-name = "soc_dvdd08_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_dvdd33_emmc {
|
|
regulator-name = "soc_dvdd33_emmc";
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
|
|
soc_vdd18_emmc_reg: soc_dvdd18_emmc {
|
|
regulator-name = "soc_dvdd18_emmc";
|
|
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;
|
|
};
|
|
};
|
|
|
|
&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>;
|
|
};
|
|
};
|
|
|
|
&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 = "disabled";
|
|
|
|
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;
|
|
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_audio_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_audiopa1: audiopa1_grp {
|
|
thead,pins = <
|
|
FM_AUDIO_PA1 0x3 0x72
|
|
>;
|
|
};
|
|
|
|
pinctrl_audiopa2: audiopa2_grp {
|
|
thead,pins = <
|
|
FM_AUDIO_PA2 0x0 0x72
|
|
>;
|
|
};
|
|
|
|
};
|
|
};
|
|
|
|
&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_dsp {
|
|
status = "okay";
|
|
};
|
|
|
|
&xtensa_dsp0 {
|
|
status = "okay";
|
|
memory-region = <&dsp0_mem>;
|
|
};
|
|
|
|
&xtensa_dsp1{
|
|
status = "okay";
|
|
memory-region = <&dsp1_mem>;
|
|
};
|
|
|
|
&vvcam_flash_led0{
|
|
//flood_lignt_name = "aw36413";
|
|
//projection_lignt_name = "aw36515";
|
|
|
|
flash_led_name = "aw36413_aw36515";
|
|
floodlight_i2c_bus = /bits/ 8 <2>;
|
|
projection_i2c_bus = /bits/ 8 <2>;
|
|
flash_led_touch_pin = <&gpio1_porta 29 0>; //flash led touch pin
|
|
status = "okay";
|
|
};
|
|
|
|
&vvcam_sensor0 {
|
|
sensor_name = "SC2310";
|
|
sensor_regulators = "DOVDD18_RGB", "DVDD12_RGB", "AVDD28_RGB";
|
|
sensor_regulator_timing_us = <70 50 20>;
|
|
sensor_pdn = <&gpio1_porta 28 0>; //powerdown pin / shutdown pin
|
|
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 <0x30>;
|
|
i2c_bus = /bits/ 8 <3>;
|
|
status = "okay";
|
|
};
|
|
|
|
&vvcam_sensor1 {
|
|
sensor_name = "SC132GS";
|
|
sensor_regulators = "DOVDD18_IR", "DVDD12_IR", "AVDD25_IR";
|
|
sensor_regulator_timing_us = <70 50 20>;
|
|
i2c_addr = /bits/ 8 <0x31>;
|
|
sensor_pdn = <&gpio1_porta 14 0>;
|
|
sensor_rst = <&gpio1_porta 15 0>;
|
|
sensor_pdn_delay_us = <1000>; //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";
|
|
};
|
|
|
|
&video0{
|
|
status = "okay";
|
|
channel0 {
|
|
channel_id = <0>;
|
|
status = "okay";
|
|
sensor0 {
|
|
subdev_name = "vivcam";
|
|
idx = <1>; //sc132gs
|
|
csi_idx = <2>; //<2>=CSI2X2_A
|
|
flash_led_idx = <0>;
|
|
path_type = "SENSOR_1080P_RAW10_LINER";
|
|
};
|
|
dma {
|
|
subdev_name = "vipre";
|
|
idx = <0>;
|
|
path_type = "VIPRE_CSI2_DDR";
|
|
};
|
|
dsp {
|
|
subdev_name = "dsp";
|
|
idx = <0>;
|
|
path_type = "DSP_PATH_VIPRE_DDR";
|
|
};
|
|
};
|
|
};
|
|
|
|
&video1{
|
|
status = "okay";
|
|
channel0 { // VSE0
|
|
channel_id = <0>;
|
|
status = "okay";
|
|
sensor0 {
|
|
subdev_name = "vivcam";
|
|
idx = <1>; //sc132gs
|
|
csi_idx = <2>; //<2>=CSI2X2_A
|
|
flash_led_idx = <0>;
|
|
path_type = "SENSOR_1080P_RAW10_LINER";
|
|
};
|
|
dma {
|
|
subdev_name = "vipre";
|
|
idx = <0>;
|
|
path_type = "VIPRE_CSI2_ISP0";
|
|
};
|
|
isp {
|
|
subdev_name = "isp";
|
|
idx = <0>;
|
|
path_type = "ISP_MI_PATH_MP";
|
|
};
|
|
};
|
|
};
|
|
|
|
&video2{
|
|
status = "okay";
|
|
channel0 {
|
|
channel_id = <0>;
|
|
status = "okay";
|
|
sensor0 {
|
|
subdev_name = "vivcam";
|
|
idx = <1>; //sc132gs
|
|
csi_idx = <2>; //<2>=CSI2X2_A
|
|
flash_led_idx = <0>;
|
|
path_type = "SENSOR_1080P_RAW10_LINER";
|
|
};
|
|
dma {
|
|
subdev_name = "vipre";
|
|
idx = <0>;
|
|
path_type = "VIPRE_CSI2_DDR";
|
|
};
|
|
dsp {
|
|
subdev_name = "dsp";
|
|
idx = <1>;
|
|
path_type = "DSP_PATH_VIPRE_ODD";
|
|
};
|
|
};
|
|
channel1 {
|
|
channel_id = <1>;
|
|
status = "okay";
|
|
sensor0 {
|
|
subdev_name = "vivcam";
|
|
idx = <1>; //sc132gs
|
|
csi_idx = <2>; //<2>=CSI2X2_A
|
|
flash_led_idx = <0>;
|
|
path_type = "SENSOR_1080P_RAW10_LINER";
|
|
};
|
|
dma {
|
|
subdev_name = "vipre";
|
|
idx = <0>;
|
|
path_type = "VIPRE_CSI2_DDR";
|
|
};
|
|
dsp {
|
|
subdev_name = "dsp";
|
|
idx = <1>;
|
|
path_type = "DSP_PATH_VIPRE_EVEN";
|
|
};
|
|
};
|
|
};
|
|
|
|
&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";
|
|
};
|
|
|