下载SDK之后能看到三份设备树
/*
* Allwinner Technology CO., Ltd.
*/
/dts-v1/;
#include "sun55iw3p1.dtsi"
#include <uapi/linux/input-event-codes.h>
/{
board = "T527", "T527-DEMO-AXP717B";
compatible = "allwinner,t527", "arm,sun55iw3p1";
aliases {
pmu0 = &pmu0;
serial0 = &uart0;
hdmi = &hdmi;
reg-tcs0 = ®_tcs0;
reg-sy0 = ®_sy0;
reg-axp1530 = ®_ext_axp1530_dcdc1;
tcs0 = &tcs0;
sy0 = &sy0;
axp1530 = &axp1530;
cpu-ext = &cpu4;
standby-param = &standby_param;
arisc-config = &arisc_config;
cir_param = &cir_param;
};
/*
reg_usb0_vbus: usb0-vbus {
compatible = "regulator-fixed";
regulator-name = "usb0-vbus";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
regulator-enable-ramp-delay = <1000>;
gpio = <&pio PB 12 GPIO_ACTIVE_HIGH>;
enable-active-high;
};
*/
reg_usb1_vbus: usb1-vbus {
compatible = "regulator-fixed";
regulator-name = "usb1-vbus";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
regulator-enable-ramp-delay = <1000>;
gpio = <&pio PB 3 GPIO_ACTIVE_HIGH>;
enable-active-high;
};
standby_param: standby_param {
vdd-cpu = <0x00000001>;
vdd-cpub = <0x00000001>;
vdd-sys = <0x00000002>;
vcc-pll = <0x00000080>;
vcc-io = <0x00004000>;
osc24m-on = <0x0>;
mcu-standby-en = <0x1>;
};
cir_param: cir_param {
gpio_group = <1>; /* 0:PL 1:PM */
gpio_pin = <11>;
gpio_function = <2>;
count = <15>;
ir_power_key_code0 = <0x40>;
ir_addr_code0 = <0xfe01>;
ir_power_key_code1 = <0x1a>;
ir_addr_code1 = <0xfb04>;
ir_power_key_code2 = <0xf2>;
ir_addr_code2 = <0x2992>;
ir_power_key_code3 = <0x57>;
ir_addr_code3 = <0x9f00>;
ir_power_key_code4 = <0xdc>;
ir_addr_code4 = <0x4cb3>;
ir_power_key_code5 = <0x18>;
ir_addr_code5 = <0xff00>;
ir_power_key_code6 = <0xdc>;
ir_addr_code6 = <0xdd22>;
ir_power_key_code7 = <0x0d>;
ir_addr_code7 = <0xbc00>;
ir_power_key_code8 = <0x4d>;
ir_addr_code8 = <0x4040>;
ir_power_key_code9 = <0x08>;
ir_addr_code9 = <0xfb04>;
ir_power_key_code10 = <0x00>;
ir_addr_code10 = <0xfc03>;
ir_power_key_code11 = <0x00>;
ir_addr_code11 = <0xbf00>;
ir_power_key_code12 = <0xea>;
ir_addr_code12 = <0xfb04>;
ir_power_key_code13 = <0x42>;
ir_addr_code13 = <0xbf00>;
ir_power_key_code14 = <0x0f>;
ir_addr_code14 = <0xff00>;
};
arisc_config: arisc_config {
s_uart_config {
pins = "PL2", "PL3";
function = <2>, <2>;
status = "disabled";
};
};
reserved-memory {
dsp0ddr_reserved: dsp0ddr@4a000000 {
reg = <0x0 0x4a000000 0x0 0x00a00000>;
no-map;
};
riscvsram0_reserved: riscvsram0@7280000 {
reg = <0x0 0x07280000 0x0 0x40000>;
no-map;
};
riscvsram1_reserved: riscvsram1@72c0000 {
reg = <0x0 0x072c0000 0x0 0x40000>;
no-map;
};
/*
* The name should be "vdev%dbuffer".
* Its size should be not less than
* RPMSG_BUF_SIZE * (num of buffers in a vring) * 2
* = 512 * (num of buffers in a vring) * 2
*/
dsp_vdev0buffer: vdev0buffer@4ac00000 {
compatible = "shared-dma-pool";
reg = <0x0 0x4ac00000 0x0 0x40000>;
no-map;
};
/*
* The name should be "vdev%dvring%d".
* The size of each should be not less than
* PAGE_ALIGN(vring_size(num, align))
* = PAGE_ALIGN(16 * num + 6 + 2 * num + (pads for align) + 6 + 8 * num)
*
* (Please refer to the vring layout in include/uapi/linux/virtio_ring.h)
*/
dsp_vdev0vring0: vdev0vring0@4ac40000 {
reg = <0x0 0x4ac40000 0x0 0x2000>;
no-map;
};
dsp_vdev0vring1: vdev0vring1@4ac42000 {
reg = <0x0 0x4ac42000 0x0 0x2000>;
no-map;
};
/*
* The name should be "vdev%dbuffer".
* Its size should be not less than
* RPMSG_BUF_SIZE * (num of buffers in a vring) * 2
* = 512 * (num of buffers in a vring) * 2
*/
rv_vdev0buffer: vdev0buffer@4ae00000 {
compatible = "shared-dma-pool";
reg = <0x0 0x4ae00000 0x0 0x40000>;
no-map;
};
/*
* The name should be "vdev%dvring%d".
* The size of each should be not less than
* PAGE_ALIGN(vring_size(num, align))
* = PAGE_ALIGN(16 * num + 6 + 2 * num + (pads for align) + 6 + 8 * num)
*
* (Please refer to the vring layout in include/uapi/linux/virtio_ring.h)
*/
rv_vdev0vring0: vdev0vring0@4ae40000 {
reg = <0x0 0x4ae40000 0x0 0x2000>;
no-map;
};
rv_vdev0vring1: vdev0vring1@4ae42000 {
reg = <0x0 0x4ae42000 0x0 0x2000>;
no-map;
};
/*
* mcu ram addr
*/
mcu0iram_reserved: mcu0iram@20000 {
reg = <0x0 0x20000 0x0 0x10000>;
no-map;
};
mcu0dram0_reserved: mcu0dram0@30000 {
reg = <0x0 0x30000 0x0 0x8000>;
no-map;
};
mcu0dram1_reserved: mcu0dram1@38000 {
reg = <0x0 0x38000 0x0 0x8000>;
no-map;
};
dsp0_rpbuf_reserved: dsp0_rpbuf@4ae44000 {
compatible = "shared-dma-pool";
no-map;
reg = <0x0 0x4ae44000 0x0 0x8000>;
};
dsp_share_space@4ab00000 {
no-map;
reg = <0x0 0x4ab00000 0x0 0x10000>;
};
};
rpbuf_controller0: rpbuf_controller@0 {
compatible = "allwinner,rpbuf-controller";
remoteproc = <&dsp0_rproc>;
ctrl_id = <0>;
memory-region = <&dsp0_rpbuf_reserved>;
status = "okay";
};
ap6256_wifi: ap6256_wifi {
compatible = "android,bcmdhd_wlan";
gpio_wl_reg_on = <&pio PC 3 GPIO_ACTIVE_HIGH>;
gpio_wl_host_wake = <&pio PC 7 GPIO_ACTIVE_HIGH>;
};
gpio-keys {
compatible = "gpio-keys";
status = "okay";
home-key {
gpios = <&pio PI 11 GPIO_ACTIVE_LOW>;
linux,code = <172>;
label = "user key";
debounce-interval = <10>;
wakeup-source = <0x1>;
gpio-key,wakeup;
};
};
awlink0: awlink@0x0{
#address-cells = <1>;
#size-cells = <0>;
compatible = "allwinner,t527-awlink";
device_type = "awlink0";
awlink-pin = <1>;
id = <0>;
status = "okay";
};
awlink1: awlink@0x1{
#address-cells = <1>;
#size-cells = <0>;
compatible = "allwinner,t527-awlink";
device_type = "awlink1";
awlink-pin = <0>;
id = <1>;
status = "okay";
};
leds {
compatible = "gpio-leds";
pinctrl-names = "default";
status = "okay";
led0: led-green {
label = "green";
gpios = <&pio PB 6 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
linux,default-trigger = "heartbeat";
default-state = "on";
};
led1: led-red {
label = "red";
gpios = <&pio PB 7 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
linux,default-trigger = "heartbeat";
default-state = "on";
};
};
};
&r_pio {
awlink1_pins_a: awlink1_pins@0{
pins = "PL4", "PL5";
function = "can";
};
awlink1_pins_b: awlink1_pins@1{
pins = "PL4", "PL5";
function = "gpio_in";
};
uart8_pins_a: uart8_pins@0 {
pins = "PL12", "PL13";
function = "s_uart0";
};
uart8_pins_b: uart8_pins@1 {
pins = "PL12", "PL13";
function = "gpio_in";
};
uart9_pins_a: uart9_pins@0 {
pins = "PL2", "PL3";
function = "s_uart1";
};
uart9_pins_b: uart9_pins@1 {
pins = "PL2", "PL3";
function = "gpio_in";
};
s_twi0_pins_default: s_twi0@0 {
pins = "PL0", "PL1";
function = "s_twi0";
drive-strength = <10>;
bias-pull-up;
};
s_twi0_pins_sleep: s_twi0@1 {
pins = "PL0", "PL1";
function = "gpio_in";
};
s_twi1_pins_default: s_twi1@0 {
pins = "PL8", "PL9";
function = "s_twi1";
drive-strength = <10>;
bias-pull-up;
};
s_twi1_pins_sleep: s_twi1@1 {
pins = "PL8", "PL9";
function = "gpio_in";
};
s_twi2_pins_default: s_twi2@0 {
pins = "PM4", "PM5";
function = "s_twi2";
drive-strength = <20>;
bias-pull-up;
};
s_twi2_pins_sleep: s_twi2@1 {
pins = "PM4", "PM5";
function = "gpio_in";
};
s_irrx_pins_default: s_irrx@0 {
pins = "PL11";
function = "s_cir";
};
s_irrx_pins_sleep: s_irrx@1 {
pins = "PL11";
function = "gpio_in";
};
};
&pio {
vcc-pg-supply = <®_pio1_8>;
vcc-pf-supply = <®_pio1_8>;
vcc-pfo-supply = <®_pio3_3>;
vcc-pd-supply = <®_pio3_3>;
vcc-pe-supply = <®_pio3_3>;
vcc-pi-supply = <®_pio3_3>;
vcc-pj-supply = <®_pio3_3>;
vcc-pk-supply = <®_pio3_3>;
uart0_pins_a: uart0_pins@0 {
pins = "", "";
function = "uart0";
};
uart0_pins_b: uart0_pins@1 {
pins = "", "";
function = "gpio_in";
};
awlink0_pins_a: awlink0_pins@0{
pins = "PI15", "PI16";
function = "can";
};
awlink0_pins_b: awlink0_pins@1{
pins = "PI15", "PI16";
function = "gpio_in";
};
uart2_pins_a: uart2_pins@0 {
pins = "PB0", "PB1";
function = "uart2";
};
uart2_pins_b: uart2_pins@1 {
pins = "PB0", "PB1";
function = "gpio_in";
};
uart3_pins_a: uart3_pins@0 {
pins = "PJ20", "PJ21", "PJ22", "PJ23";
function = "uart3";
};
uart3_pins_b: uart3_pins@1 {
pins = "PJ20", "PJ21", "PJ22", "PJ23";
function = "gpio_in";
};
uart4_pins_a: uart4_pins@0 {
pins = "PE1", "PE2"; // "PE3", "PE4";
function = "uart4";
};
uart4_pins_b: uart4_pins@1 {
pins = "PE1", "PE2"; // "PE3", "PE4";
function = "gpio_in";
};
uart5_pins_a: uart5_pins@0 {
pins = "PE13", "PE14";
function = "uart5";
};
uart5_pins_b: uart5_pins@1 {
pins = "PE13", "PE14";
function = "gpio_in";
};
uart6_pins_a: uart6_pins@0 {
pins = "PE11", "PE12";
function = "uart6";
};
uart6_pins_b: uart6_pins@1 {
pins = "PE11", "PE12";
function = "gpio_in";
};
uart7_pins_a: uart7_pins@0 {
pins = "PB11", "PB12", "PB13", "PB14";
function = "uart7";
};
uart7_pins_b: uart7_pins@1 {
pins = "PB11", "PB12", "PB13", "PB14";
function = "gpio_in";
};
pwm0_0_pin_active: pwm0_0@0 {
pins = "PD23";
function = "pwm0_0";
};
pwm0_0_pin_sleep: pwm0_0@1 {
pins = "PD23";
function = "gpio_in";
bias-pull-down;
};
pwm0_1_pin_active: pwm0_1@0 {
pins = "PD22";
function = "pwm0_1";
};
pwm0_1_pin_sleep: pwm0_1@1 {
pins = "PD22";
function = "gpio_in";
bias-pull-down;
};
pwm0_2_pin_active: pwm0_2@0 {
pins = "PB11";
function = "pwm0_2";
};
pwm0_2_pin_sleep: pwm0_2@1 {
pins = "PB11";
function = "gpio_in";
bias-pull-down;
};
pwm0_3_pin_active: pwm0_3@0 {
pins = "PB12";
function = "pwm0_3";
};
pwm0_3_pin_sleep: pwm0_3@1 {
pins = "PB12";
function = "gpio_in";
bias-pull-down;
};
pwm0_4_pin_active: pwm0_4@0 {
pins = "PI3";
function = "pwm0_4";
};
pwm0_4_pin_sleep: pwm0_4@1 {
pins = "PI3";
function = "gpio_in";
bias-pull-down;
};
pwm0_5_pin_active: pwm0_5@0 {
pins = "PI4";
function = "pwm0_5";
};
pwm0_5_pin_sleep: pwm0_5@1 {
pins = "PI4";
function = "gpio_in";
bias-pull-down;
};
pwm0_10_pin_active: pwm0_10@0 {
pins = "PI9";
function = "pwm0_10";
};
pwm0_10_pin_sleep: pwm0_10@1 {
pins = "PI9";
function = "gpio_in";
bias-pull-down;
};
ledc_pins_a: ledc@0 {
pins = "PG0";
function = "ledc";
drive-strength = <10>;
};
ledc_pins_b: ledc@1 {
pins = "PG0";
function = "gpio_in";
};
irrx_pins_default: irrx@0 {
pins = "PI8";
function = "cir";
};
irrx_pins_sleep: irrx@1 {
pins = "PI8";
function = "gpio_in";
};
irtx_pins_default: irtx@0 {
pins = "PH18";
function = "cir";
};
irtx_pins_sleep: irtx@1 {
pins = "PH18";
function = "gpio_in";
};
twi0_pins_default: twi0@0 {
pins = "PD22", "PD23";
function = "twi0";
drive-strength = <10>;
bias-pull-up;
};
twi0_pins_sleep: twi0@1 {
pins = "PD22", "PD23";
function = "gpio_in";
};
twi1_pins_default: twi1@0 {
pins = "PB4", "PB5";
function = "twi1";
drive-strength = <10>;
bias-pull-up;
};
twi1_pins_sleep: twi1@1 {
pins = "PB4", "PB5";
function = "gpio_in";
};
twi2_pins_default: twi2@0 {
pins = "PE1", "PE2";
function = "twi2";
drive-strength = <20>;
bias-pull-up;
};
twi2_pins_sleep: twi2@1 {
pins = "PE1", "PE2";
function = "gpio_in";
};
twi3_pins_default: twi3@0 {
pins = "PE3", "PE4";
function = "twi3";
drive-strength = <20>;
bias-pull-up;
};
twi3_pins_sleep: twi3@1 {
pins = "PE3", "PE4";
function = "gpio_in";
};
twi4_pins_default: twi4@0 {
pins = "PI0", "PI1";
function = "twi4";
drive-strength = <10>;
bias-pull-up;
};
twi4_pins_sleep: twi4@1 {
pins = "PI0", "PI1";
function = "gpio_in";
};
twi5_pins_default: twi5@0 {
pins = "PJ26", "PJ27";
function = "twi5";
drive-strength = <10>;
bias-pull-up;
};
twi5_pins_sleep: twi5@1 {
pins = "PJ26", "PJ27";
function = "gpio_in";
};
owa_pins_a: owa@0 {
pins = "PI10";
function = "owa";
drive-strength = <20>;
bias-disable;
};
owa_pins_b: owa@1 {
pins = "PI10";
function = "io_disabled";
drive-strength = <20>;
bias-disable;
};
i2s0_pins_a: i2s0@0 {
pins = "PB4", "PB5", "PB6";
function = "i2s0";
drive-strength = <20>;
bias-disable;
};
i2s0_pins_b: i2s0@1 {
pins = "PB4", "PB5", "PB6", "PB7", "PB8";
function = "io_disabled";
drive-strength = <20>;
bias-disable;
};
i2s0_pins_c: i2s0@2 {
pins = "PB7";
function = "i2s0_dout";
drive-strength = <20>;
bias-disable;
};
i2s0_pins_d: i2s0@3 {
pins = "PB8";
function = "i2s0_din";
drive-strength = <20>;
bias-disable;
};
i2s1_pins_a: i2s1@0 {
pins = "PG10", "PG11", "PG12";
function = "i2s1";
drive-strength = <20>;
bias-disable;
};
i2s1_pins_b: i2s1@1 {
pins = "PG10", "PG11", "PG12", "PG13", "PG14";
function = "io_disabled";
drive-strength = <20>;
bias-disable;
};
i2s1_pins_c: i2s1@2 {
pins = "PG13";
function = "i2s1_dout";
drive-strength = <20>;
bias-disable;
};
i2s1_pins_d: i2s1@3 {
pins = "PG14";
function = "i2s1_din";
drive-strength = <20>;
bias-disable;
};
i2s2_pins_a: i2s2@0 {
pins = "PH9", "PH10";
function = "i2s2";
drive-strength = <20>;
bias-disable;
};
i2s2_pins_b: i2s2@1 {
pins = "PH2", "PH3", "PH8", "PH9", "PH10", "PH11", "PH12";
function = "io_disabled";
drive-strength = <20>;
bias-disable;
};
i2s2_pins_c: i2s2@2 {
pins = "PH2", "PH3", "PH12";
function = "i2s2_din";
drive-strength = <20>;
bias-disable;
};
i2s2_pins_d: i2s2@3 {
pins = "PH11";
function = "i2s2_dout";
drive-strength = <20>;
bias-disable;
};
i2s2_pins_e: i2s2@4 {
pins = "PH8";
function = "i2s2_mclk";
drive-strength = <20>;
bias-disable;
};
i2s3_pins_a: i2s3@0 {
pins = "PF3", "PF5", "PF6";
function = "i2s3";
drive-strength = <20>;
bias-disable;
};
i2s3_pins_b: i2s3@1 {
pins = "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6";
function = "io_disabled";
drive-strength = <20>;
bias-disable;
};
i2s3_pins_c: i2s3@2 {
pins = "PF0", "PF2", "PF4";
function = "i2s3_din";
drive-strength = <20>;
bias-disable;
};
i2s3_pins_d: i2s3@3 {
pins = "PF1";
function = "i2s3_dout";
drive-strength = <20>;
bias-disable;
};
rgb24_pins_a: rgb24@0 {
pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", \
"PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PD16", "PD17", "PD18", "PD19", \
"PD20", "PD21", "PD22","PD23","PD24","PD25","PD26","PD27";
function = "dpss";
drive-strength = <30>;
};
rgb24_pins_b: rgb24@1 {
pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", \
"PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PD16", "PD17", "PD18", "PD19", \
"PD20", "PD21", "PD22", "PD23","PD24","PD25","PD26","PD27";
function = "gpio_in";
};
lvds0_pins_a: lvds0@0 {
pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9";
function = "lvds0";
drive-strength = <30>;
};
lvds0_pins_b: lvds0@1 {
pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9";
function = "gpio_in";
};
nand0_pins_default: nand0@0 {
pins = "PC0", "PC1", "PC2", "PC5",
"PC8", "PC9", "PC10", "PC11",
"PC12", "PC13", "PC14", "PC15",
"PC16";
function = "nand0";
drive-strength = <30>;
};
nand0_pins_rb: nand0@1 {
pins = "PC4", "PC6", "PC3", "PC7";
function = "nand0";
drive-strength = <30>;
bias-pull-up; /* only RB&CE should be pulled up */
};
nand0_pins_sleep: nand0@2 {
pins = "PC0", "PC1", "PC2", "PC3",
"PC4", "PC5", "PC6", "PC7",
"PC8", "PC9", "PC10", "PC11",
"PC12", "PC13", "PC14", "PC15",
"PC16";
function = "io_disabled";
drive-strength = <10>;
};
gmac0_pins_default: gmac0@0 {
pins = "PH0", "PH1", "PH2", "PH3",
"PH4", "PH5", "PH6", "PH7",
"PH9", "PH10","PH13","PH14",
"PH15","PH16","PH17","PH18";
drive-strength = <40>;
function = "gmac0";
bias-pull-up;
};
gmac0_pins_sleep: gmac0@1 {
pins = "PH0", "PH1", "PH2", "PH3",
"PH4", "PH5", "PH6", "PH7",
"PH9", "PH10","PH13","PH14",
"PH15","PH16","PH17","PH18";
function = "gpio_in";
};
gmac1_pins_default: gmac1@0 {
pins = "PJ0", "PJ1", "PJ2", "PJ3",
"PJ4", "PJ5", "PJ6", "PJ7",
"PJ8", "PJ9", "PJ10", "PJ11",
"PJ12","PJ13", "PJ14", "PJ15";
drive-strength = <40>;
function = "gmac1";
bias-pull-up;
};
gmac1_pins_sleep: gmac1@1 {
pins = "PJ0", "PJ1", "PJ2", "PJ3",
"PJ4", "PJ5", "PJ6", "PJ7",
"PJ8", "PJ9", "PJ10", "PJ11",
"PJ12","PJ13", "PJ14", "PJ15";
function = "gpio_in";
};
spi1_pin_default: spi1_pin_default{
pins = "PI2","PI3","PI4","PI5";
function = "spi1";
};
spi1_pin_sleep: spi1_pin_sleep{
pins = "PI2","PI3","PI4","PI5";
function = "gpio_in";
};
spi2_pin_default: spi2_default {
pins = "PI6","PI7","PI8","PI12";
function = "spi2";
};
spi2_pin_sleep: spi2_sleep {
pins = "PI6","PI7","PI8","PI12";
function = "gpio_in";
};
};
&spi1 {
clock-frequency = <100000000>;
pinctrl-names = "default","sleep";
pinctrl-0 = <&spi1_pin_default>;
pinctrl-1 = <&spi1_pin_sleep>;
sunxi,spi-num-cs = <1>;
sunxi,spi-bus-mode = <SUNXI_SPI_BUS_MASTER>;
sunxi,spi-cs-mode = <SUNXI_SPI_CS_AUTO>;
status = "okay";
spidev1 {
reg = <0>;
compatible = "rohm,dh2228fv";
spi-max-frequency = <500000>;
spi-rx-bus-width = <0x1>;
spi-tx-bus-width = <0x1>;
};
};
&spi2{
clock-frequency = <100000000>;
pinctrl-names = "default","sleep";
pinctrl-0 = <&spi2_pin_default>;
pinctrl-1 = <&spi2_pin_sleep>;
sunxi,spi-num-cs = <1>;
sunxi,spi-bus-mode = <SUNXI_SPI_BUS_MASTER>;
sunxi,spi-cs-mode = <SUNXI_SPI_CS_AUTO>;
status = "okay";
spidev2 {
reg = <0>;
compatible = "rohm,dh2228fv";
spi-max-frequency = <500000>;
spi-rx-bus-width = <0x1>;
spi-tx-bus-width = <0x1>;
};
};
&soc {
auto_print@54321 {
reg = <0x0 0x54321 0x0 0x0>;
device_type = "auto_print";
status = "okay";
};
car_reverse: car-reverse {
compatible = "allwinner,sunxi-car-reverse";
/* video source setting*/
video_channel = <0>;
video_source = <0>;
format_type = <0>;
video_source_width = <1920>;
video_source_height = <1080>;
src_size_adaptive = <1>;
/* display setting */
overview_type = <1>;
screen_width = <1280>;
screen_height = <800>;
screen_size_adaptive = <1>;
discard_frame = <0>;
di_used = <0>;
g2d_used = <1>;
rotation = <0>;
/* auxiliary line setting */
auxiliary_line_type = <1>;
aux_angle = <0>;
aux_lr = <0>;
reverse_int_pin = <&pio PI 15 GPIO_ACTIVE_HIGH>;
status = "disabled";
};
dsp0_rproc: dsp0_rproc@0 {
mboxes = <&msgbox 4>, <&msgbox 6>;
mbox-names = "arm-kick", "dsp-standby";
memory-region = <&dsp0ddr_reserved>, <&dsp_vdev0buffer>, <&dsp_vdev0vring0>, <&dsp_vdev0vring1>,
<&mcu0iram_reserved>, <&mcu0dram0_reserved>, <&mcu0dram1_reserved>;
memory-mappings =
/* < DA len PA > */
/* local SRAM via external bus */
< 0x20000 0x20000 0x20000 >,
/* local SRAM via internal bus */
< 0x400000 0x10000 0x20000 >,
< 0x420000 0x8000 0x30000 >,
< 0x440000 0x8000 0x38000 >,
/* DDR front 256MB */
< 0x10000000 0x10000000 0x40000000 >,
/* local SRAM via internal bus */
< 0x20020000 0x10000 0x400000 >,
< 0x20030000 0x8000 0x420000 >,
< 0x20038000 0x8000 0x440000 >,
/* DDR front 256MB */
< 0x30000000 0x10000000 0x40000000 >,
/* DDR front 1GB */
< 0x40000000 0x40000000 0x40000000 >,
/* DDR front 1GB */
< 0x80000000 0x40000000 0x40000000 >,
/* DDR front 1GB */
< 0xC0000000 0x40000000 0x40000000 >;
standby-ctrl-en = <0x1>;
standby-record-reg = <0x07090110>;
status = "okay";
};
e906_rproc: e906_rproc@7130000 {
mboxes = <&msgbox 8>;
mbox-names = "arm-kick";
memory-region = <&riscvsram0_reserved>, <&riscvsram1_reserved>, <&rv_vdev0buffer>, <&rv_vdev0vring0>, <&rv_vdev0vring1>;
memory-mappings =
/* < DA len PA > */
/* DSP RAM */
< 0x20000 0x20000 0x20000 >,
/* SRAM A2 */
< 0x40000 0x24000 0x40000 >,
/* DDR */
< 0x8000000 0x37f00000 0x8000000 >,
/* SRAM SPACE 0 */
< 0x3ffc0000 0x40000 0x07280000 >,
/* SRAM SPACE 1 */
< 0x40000000 0x40000 0x072c0000 >,
/* DRAM SPACE */
< 0x40040000 0x3ffc0000 0x40040000>;
status = "okay";
};
};
&awlink0 {
pinctrl-names = "defautl", "sleep";
pinctrl-0 = <&awlink0_pins_a>;
pinctrl-1 = <&awlink0_pins_b>;
status = "okay";
};
&awlink1 {
pinctrl-names = "defautl", "sleep";
pinctrl-0 = <&awlink1_pins_a>;
pinctrl-1 = <&awlink1_pins_b>;
status = "okay";
};
&uart0 {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&uart0_pins_a>;
pinctrl-1 = <&uart0_pins_b>;
uart-supply = <®_cldo3>;
status = "okay";
};
&uart1 {
status = "okay";
};
&uart2 {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&uart2_pins_a>;
pinctrl-1 = <&uart2_pins_b>;
status = "okay";
};
&uart3 {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&uart3_pins_a>;
pinctrl-1 = <&uart3_pins_b>;
status = "okay";
};
&uart4 {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&uart4_pins_a>;
pinctrl-1 = <&uart4_pins_b>;
uart4_type = <2>; //io_num
sunxi,uart-rs485 = <1>;
sunxi,uart-485fl = <0>;
//sunxi,uart-485oe-gpios = <&pio PE 3 1 0xffffffff 0xffffffff 0>;
sunxi,uart-485oe-gpios = <&pio PE 3 GPIO_ACTIVE_HIGH>;
status = "okay";
};
&uart5 {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&uart5_pins_a>;
pinctrl-1 = <&uart5_pins_b>;
status = "disabled";
};
&uart6 {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&uart6_pins_a>;
pinctrl-1 = <&uart6_pins_b>;
uart6_type = <2>; //io_num
sunxi,uart-rs485 = <1>;
sunxi,uart-485fl = <0>;
//sunxi,uart-485oe-gpios = <&pio PE 13 1 0xffffffff 0xffffffff 0>;
sunxi,uart-485oe-gpios = <&pio PE 13 GPIO_ACTIVE_HIGH>;
status = "okay";
};
&uart7 {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&uart7_pins_a>;
pinctrl-1 = <&uart7_pins_b>;
status = "okay";
};
&uart8 {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&uart8_pins_a>;
pinctrl-1 = <&uart8_pins_b>;
status = "okay";
};
&uart9 {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&uart9_pins_a>;
pinctrl-1 = <&uart9_pins_b>;
status = "okay";
};
&lradc {
key_cnt = <2>;
key0 = <210 0x73>;
key1 = <410 0x72>;
key_debounce;
debounce_value = <50>;
status = "okay";
};
&irrx {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&irrx_pins_default>;
pinctrl-1 = <&irrx_pins_sleep>;
irrx-supply = <®_dcdc4>;
status = "disabled";
};
&s_irrx {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&s_irrx_pins_default>;
pinctrl-1 = <&s_irrx_pins_sleep>;
status = "okay";
};
&irtx {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&irtx_pins_default>;
pinctrl-1 = <&irtx_pins_sleep>;
status = "disabled";
};
&gpadc0 {
channel_num = <5>;
channel_select = <0x18>;
channel_data_select = <0x18>;
channel_compare_select = <0x18>;
channel_cld_select = <0x18>;
channel_chd_select = <0x18>;
// channel0_compare_lowdata = <1700000>;
// channel0_compare_higdata = <460000>;
// channel1_compare_lowdata = <460000>;
// channel1_compare_higdata = <1200000>;
// channel2_compare_lowdata = <1700000>;
// channel2_compare_higdata = <460000>;
// channel3_compare_lowdata = <1700000>;
// channel3_compare_higdata = <460000>;
// channel4_compare_lowdata = <1700000>;
// channel4_compare_higdata = <460000>;
status = "okay";
};
&gpadc1 {
channel_num = <2>;
channel_select = <3>;
channel_data_select = <3>;
channel_compare_select = <3>;
channel_cld_select = <3>;
channel_chd_select = <3>;
channel0_compare_lowdata = <1700000>;
channel0_compare_higdata = <1200000>;
channel1_compare_lowdata = <460000>;
channel1_compare_higdata = <1200000>;
status = "disabled";
};
&pwm0_0 {
pinctrl-names = "active", "sleep";
pinctrl-0 = <&pwm0_0_pin_active>;
pinctrl-1 = <&pwm0_0_pin_sleep>;
pwm-supply = <®_dcdc4>;
status = "okay";
};
&pwm0_1 {
pinctrl-names = "active", "sleep";
pinctrl-0 = <&pwm0_1_pin_active>;
pinctrl-1 = <&pwm0_1_pin_sleep>;
pwm-supply = <®_dcdc4>;
status = "disabled";
};
&pwm0_2 {
pinctrl-names = "active", "sleep";
pinctrl-0 = <&pwm0_2_pin_active>;
pinctrl-1 = <&pwm0_2_pin_sleep>;
pwm-supply = <®_dcdc4>;
status = "disabled";
};
&pwm0_3 {
pinctrl-names = "active", "sleep";
pinctrl-0 = <&pwm0_3_pin_active>;
pinctrl-1 = <&pwm0_3_pin_sleep>;
pwm-supply = <®_dcdc4>;
status = "disabled";
};
&pwm0_4 {
pinctrl-names = "active", "sleep";
pinctrl-0 = <&pwm0_4_pin_active>;
pinctrl-1 = <&pwm0_4_pin_sleep>;
pwm-supply = <®_dcdc4>;
status = "okay";
};
&pwm0_5 {
pinctrl-names = "active", "sleep";
pinctrl-0 = <&pwm0_5_pin_active>;
pinctrl-1 = <&pwm0_5_pin_sleep>;
pwm-supply = <®_dcdc4>;
status = "okay";
};
&pwm0_10 {
pinctrl-names = "active", "sleep";
pinctrl-0 = <&pwm0_10_pin_active>;
pinctrl-1 = <&pwm0_10_pin_sleep>;
pwm-supply = <®_dcdc4>;
status = "okay";
};
&ledc {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&ledc_pins_a>;
pinctrl-1 = <&ledc_pins_b>;
led_count = <34>;
output_mode = "GRB";
reset_ns = <84>;
t1h_ns = <800>;
t1l_ns = <320>;
t0h_ns = <300>;
t0l_ns = <800>;
wait_time0_ns = <84>;
wait_time1_ns = <84>;
wait_data_time_ns = <600000>;
status = "disabled";
};
&twi0 {
clock-frequency = <400000>;
pinctrl-0 = <&twi0_pins_default>;
pinctrl-1 = <&twi0_pins_sleep>;
pinctrl-names = "default", "sleep";
/* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 1 */
twi_drv_used = <1>;
twi-supply = <®_dcdc4>;
status = "okay";
pcie_usb_phy@74 {
compatible = "combphy,phy74";
reg = <0x74>;
status = "disabled";
};
pcie_usb_phy@75 {
compatible = "combphy,phy75";
reg = <0x75>;
status = "disabled";
};
ctp {
compatible = "allwinner,goodix";
reg = <0x5d>;
device_type = "ctp";
status = "disabled";
ctp_name = "gt9xxnew_ts";
ctp_twi_id = <0x0>;
ctp_twi_addr = <0x5d>;
ctp_screen_max_x = <0x320>;
ctp_screen_max_y = <0x500>;
ctp_revert_x_flag = <0x1>;
ctp_revert_y_flag = <0x1>;
ctp_exchange_x_y_flag = <0x0>;
ctp_int_port = <&pio PH 9 GPIO_ACTIVE_LOW>;
ctp_wakeup = <&pio PH 10 GPIO_ACTIVE_LOW>;
ctp-supply = <®_cldo2>;
ctp_power_ldo_vol = <3300>;
};
gt9xx {
compatible = "goodix,gt9xx";
reg = <0x5d>;
status = "disabled";
irq-gpios = <&pio PD 20 GPIO_ACTIVE_LOW>;
irq-flags = <2>;
reset-gpios = <&pio PD 21 GPIO_ACTIVE_LOW>;
vdd_ana-supply = <®_dcdc4>;
touchscreen-max-id = <11>;
touchscreen-size-x = <1280>;
touchscreen-size-y = <800>;
touchscreen-max-w = <512>;
touchscreen-max-p = <512>;
//touchscreen-key-map = <172>, <158>; /*KEY_HOMEPAGE=172, KEY_BACK=158,KEY_MENU=139*/
goodix,slide-wakeup = <0>;
goodix,type-a-report = <1>;
goodix,driver-send-cfg = <0>;
goodix,send-cfg-id = <0>;
goodix,resume-in-workqueue = <0>;
goodix,int-sync = <1>;
goodix,revert_x = <0>;
goodix,revert_y = <0>;
goodix,swap-x2y = <0>;
goodix,tp_idle_support = <1>;
goodix,esd-protect = <1>;
goodix,auto-update-cfg = <0>;
goodix,power-off-sleep = <1>;
goodix,pen-suppress-finger = <0>;
/* GT9271_Config_20221222_v67.cfg*/
goodix,cfg-group0 = [
B4 00 05 20 03 0A 3D 00 01 0A
28 0F 50 32 03 05 00 00 00 00
00 00 06 17 19 1F 14 8E 2E 99
2D 2F 35 11 00 00 00 1A 03 10
00 00 00 00 00 00 00 00 00 00
00 32 50 94 D5 02 07 00 00 04
8E 48 00 8A 4D 00 86 53 00 83
59 00 80 60 00 80 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 00 01 04 05 06 07 08 09
0C 0D 0E 0F 10 11 14 15 16 17
FF FF FF FF FF FF FF FF FF FF
FF FF 28 27 26 25 24 23 22 21
20 1F 1E 1C 1B 19 13 12 11 10
0F 0D 0C 0A 08 07 06 04 02 00
FF FF FF FF FF FF FF FF FF FF
FF FF FF FF AB 01
];
};
};
&twi1 {
clock-frequency = <400000>;
pinctrl-0 = <&twi1_pins_default>;
pinctrl-1 = <&twi1_pins_sleep>;
pinctrl-names = "default", "sleep";
/* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 1 */
twi_drv_used = <1>;
status = "okay";
mir3da {
compatible = "allwinner,mir3da";
reg = <0x26>;
device_type = "gsensor";
status = "disabled";
gsensor_twi_id = <0x1>;
gsensor_twi_addr = <0x26>;
gsensor_int1 = <&pio PH 11 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
gsensor-supply = <®_cldo3>;
gsensor_vcc_io_val = <3300>;
};
eeprom@50 {
compatible = "atmel,24c32";
reg = <0x50>;
status = "okay";
};
};
&twi2 {
clock-frequency = <400000>;
pinctrl-0 = <&twi2_pins_default>;
pinctrl-1 = <&twi2_pins_sleep>;
pinctrl-names = "default", "sleep";
/* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 1 */
twi_drv_used = <1>;
twi-supply = <®_dcdc4>;
status = "disabled";
};
&twi3 {
clock-frequency = <400000>;
pinctrl-0 = <&twi3_pins_default>;
pinctrl-1 = <&twi3_pins_sleep>;
pinctrl-names = "default", "sleep";
/* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 1 */
twi_drv_used = <1>;
twi-supply = <®_dcdc4>;
status = "disabled";
};
&twi4 {
clock-frequency = <400000>;
pinctrl-0 = <&twi4_pins_default>;
pinctrl-1 = <&twi4_pins_sleep>;
pinctrl-names = "default", "sleep";
/* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 1 */
twi_drv_used = <1>;
twi-supply = <®_dcdc4>;
status = "okay";
rtc@51 {
compatible = "nxp,pcf8563";
reg = <0x51>;
#clock-cells = <0>;
status = "okay";
};
//070 inch
ft5x06: ft5x06@38 {
compatible = "edt,edt-ft5406", "edt,edt-ft5x06";
reg = <0x38>;
pinctrl-names = "default";
interrupt-parent = <&pio>;
interrupts = <PJ 19 IRQ_TYPE_EDGE_FALLING>;
reset-gpios = <&pio PJ 18 GPIO_ACTIVE_LOW>;
touchscreen-size-x=<1024>;
touchscreen-size-y=<600>;
};
// 101 inch
gt9271@14 {
compatible = "goodix,gt9271";
reg = <0x14>;
//pinctrl-names = "default";
//pinctrl-0 = <&pinctrl_i2c_synaptics_dsx_io>;
interrupt-parent = <&pio>;
interrupts = <PJ 19 IRQ_TYPE_EDGE_FALLING>;
reset-gpios = <&pio PJ 18 GPIO_ACTIVE_LOW>;
/*synaptics,y-rotation;*/
esd-recovery-timeout-ms = <2000>;
irq-gpios = <&pio PJ 19 GPIO_ACTIVE_HIGH>;
//reset-gpios = <&gpio1 12 GPIO_ACTIVE_HIGH>;
status = "disabled";
};
gt9xx {
compatible = "goodix,gt9xx";
reg = <0x5d>;
status = "disabled";
irq-gpios = <&pio PJ 19 GPIO_ACTIVE_LOW>;
irq-flags = <2>;
reset-gpios = <&pio PJ 18 GPIO_ACTIVE_LOW>;
vdd_ana-supply = <®_dcdc4>;
touchscreen-max-id = <11>;
touchscreen-size-x = <1280>;
touchscreen-size-y = <800>;
touchscreen-max-w = <512>;
touchscreen-max-p = <512>;
//touchscreen-key-map = <172>, <158>; /*KEY_HOMEPAGE=172, KEY_BACK=158,KEY_MENU=139*/
goodix,slide-wakeup = <0>;
goodix,type-a-report = <1>;
goodix,driver-send-cfg = <0>;
goodix,send-cfg-id = <0>;
goodix,resume-in-workqueue = <0>;
goodix,int-sync = <1>;
goodix,revert_x = <0>;
goodix,revert_y = <0>;
goodix,swap-x2y = <0>;
goodix,tp_idle_support = <1>;
goodix,esd-protect = <1>;
goodix,auto-update-cfg = <0>;
goodix,power-off-sleep = <1>;
goodix,pen-suppress-finger = <0>;
/* GT9271_Config_20221222_v67.cfg*/
goodix,cfg-group0 = [
B4 00 05 20 03 0A 3D 00 01 0A
28 0F 50 32 03 05 00 00 00 00
00 00 06 17 19 1F 14 8E 2E 99
2D 2F 35 11 00 00 00 1A 03 10
00 00 00 00 00 00 00 00 00 00
00 32 50 94 D5 02 07 00 00 04
8E 48 00 8A 4D 00 86 53 00 83
59 00 80 60 00 80 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 00 01 04 05 06 07 08 09
0C 0D 0E 0F 10 11 14 15 16 17
FF FF FF FF FF FF FF FF FF FF
FF FF 28 27 26 25 24 23 22 21
20 1F 1E 1C 1B 19 13 12 11 10
0F 0D 0C 0A 08 07 06 04 02 00
FF FF FF FF FF FF FF FF FF FF
FF FF FF FF AB 01
];
};
};
&twi5 {
clock-frequency = <400000>;
pinctrl-0 = <&twi5_pins_default>;
pinctrl-1 = <&twi5_pins_sleep>;
pinctrl-names = "default", "sleep";
/* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 1 */
twi_drv_used = <1>;
twi-supply = <®_dcdc4>;
status = "disabled";
gt9xx_secondary {
compatible = "goodix,gt9xx_secondary";
reg = <0x5d>;
status = "okay";
irq-gpios = <&pio PI 13 GPIO_ACTIVE_LOW>;
irq-flags = <2>;
reset-gpios = <&pio PI 14 GPIO_ACTIVE_LOW>;
vdd_ana-supply = <®_dcdc4>;
touchscreen-max-id = <11>;
touchscreen-size-x = <1280>;
touchscreen-size-y = <800>;
touchscreen-max-w = <512>;
touchscreen-max-p = <512>;
//touchscreen-key-map = <172>, <158>; /*KEY_HOMEPAGE=172, KEY_BACK=158,KEY_MENU=139*/
goodix,slide-wakeup = <0>;
goodix,type-a-report = <1>;
goodix,driver-send-cfg = <0>;
goodix,send-cfg-id = <0>;
goodix,resume-in-workqueue = <0>;
goodix,int-sync = <1>;
goodix,revert_x = <0>;
goodix,revert_y = <0>;
goodix,swap-x2y = <0>;
goodix,tp_idle_support = <1>;
goodix,esd-protect = <1>;
goodix,auto-update-cfg = <0>;
goodix,power-off-sleep = <1>;
goodix,pen-suppress-finger = <0>;
/* GT9271_Config_20221222_v67.cfg*/
goodix,cfg-group0 = [
43 B0 04 80 07 0A 35 00 01 08
28 0F 50 32 03 05 00 00 00 00
00 00 00 17 19 1B 14 90 2B 99
2F 31 8E 12 00 00 00 DA 03 10
00 00 00 00 00 00 00 00 00 11
00 29 4B 94 C5 02 07 00 00 04
85 2B 00 7D 31 00 77 37 00 72
3E 00 6F 46 00 6F 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 00 00 C0 00 00 00 00 00
00 00 17 16 15 14 11 10 0F 0E
0D 0C 09 08 07 06 05 04 01 00
FF FF FF FF FF FF 00 00 00 00
00 00 25 24 23 22 21 20 1F 1E
1C 1B 19 14 13 12 11 10 0F 0E
0D 0C 0A 08 07 06 04 02 00 FF
FF FF FF FF 00 00 00 00 00 00
00 00 00 00 73 01
];
};
};
&csi_mclk3_pins_a {
pins = "PK13";
function = "ncsi";
};
&csi_mclk3_pins_b {
pins = "PK13";
};
&mipib_4lane_pins_a {
pins = "PK6", "PK7", "PK8",
"PK9";
};
&mipib_4lane_pins_b {
pins = "PK6", "PK7", "PK8",
"PK9";
};
&vind0 {
csi_top = <360000000>;
csi_isp = <300000000>;
vind_mclkpin-supply = <®_bldo3>; /* vcc-pe */
vind_mclkpin_vol = <1800000>;
vind_mcsipin-supply = <®_bldo3>; /* vcc-pk */
vind_mcsipin_vol = <1800000>;
vind_mipipin-supply = <®_bldo3>; /* vcc-mcsi */
vind_mipipin_vol = <1800000>;
status = "okay";
csi3:csi@5823000 {
pinctrl-names = "default","sleep";
pinctrl-0 = <&ncsi_bt1120_pins_a>;
pinctrl-1 = <&ncsi_bt1120_pins_b>;
status = "disabled";
};
tdm0:tdm@5908000 {
work_mode = <0>;
};
isp00:isp@5900000 {
work_mode = <0>;
};
isp01:isp@58ffffc {
status = "disabled";
};
isp02:isp@58ffff8 {
status = "disabled";
};
isp03:isp@58ffff4 {
status = "disabled";
};
isp10:isp@4 {
status = "okay";
};
isp20:isp@5 {
status = "okay";
};
scaler00:scaler@5910000 {
work_mode = <0>;
};
scaler01:scaler@590fffc {
status = "disabled";
};
scaler02:scaler@590fff8 {
status = "disabled";
};
scaler03:scaler@590fff4 {
status = "disabled";
};
scaler10:scaler@5910400 {
work_mode = <0>;
};
scaler11:scaler@59103fc {
status = "disabled";
};
scaler12:scaler@59103f8 {
status = "disabled";
};
scaler13:scaler@59103f4 {
status = "disabled";
};
scaler20:scaler@5910800 {
work_mode = <0>;
};
scaler21:scaler@59107fc {
status = "disabled";
};
scaler22:scaler@59107f8 {
status = "disabled";
};
scaler23:scaler@59107f4 {
status = "disabled";
};
scaler30:scaler@5910c00 {
work_mode = <0>;
};
scaler31:scaler@5910bfc {
status = "disabled";
};
scaler32:scaler@5910bf8 {
status = "disabled";
};
scaler33:scaler@5910bf4 {
status = "disabled";
};
scaler40:scaler@16 {
status = "okay";
};
scaler50:scaler@17 {
status = "okay";
};
actuator0: actuator@2108180 {
device_type = "actuator0";
actuator0_name = "dw9714_act";
actuator0_slave = <0x18>;
actuator0_af_pwdn = <>;
actuator0_afvdd = "afvcc-csi";
actuator0_afvdd_vol = <2800000>;
status = "disabled";
};
flash0: flash@2108190 {
device_type = "flash0";
flash0_type = <2>;
flash0_en = <&r_pio PL 11 GPIO_ACTIVE_LOW>;
flash0_mode = <>;
flash0_flvdd = "";
flash0_flvdd_vol = <>;
device_id = <0>;
status = "disabled";
};
sensor0:sensor@5812000 {
device_type = "sensor0";
sensor0_mname = "ov5640_mipi_cam1";
sensor0_twi_cci_id = <7>;
sensor0_twi_addr = <0x78>;
// sensor0_mclk_id = <0>;
sensor0_pos = "rear";
sensor0_isp_used = <0>;
sensor0_fmt = <0>;
sensor0_stby_mode = <0>;
sensor0_vflip = <0>;
sensor0_hflip = <0>;
sensor0_cameravdd-supply = <>;
sensor0_cameravdd_vol = <>;
sensor0_iovdd-supply = <>;
sensor0_iovdd_vol = <>;
sensor0_avdd-supply = <>;
sensor0_avdd_vol = <>;
sensor0_dvdd-supply = <>;
sensor0_dvdd_vol = <>;
sensor0_power_en = <&pio PH 11 GPIO_ACTIVE_HIGH>;
sensor0_reset = <&r_pio PM 0 GPIO_ACTIVE_LOW>;
sensor0_pwdn = <&r_pio PM 1 GPIO_ACTIVE_HIGH>;
status = "okay";
};
sensor1:sensor@5812010 {
device_type = "sensor1";
sensor1_mname = "ov5640_mipi_cam2";
sensor1_twi_cci_id = <8>;
sensor1_twi_addr = <0x78>;
// sensor1_mclk_id = <3>;
sensor1_pos = "front";
sensor1_isp_used = <0>;
sensor1_fmt = <0>;
sensor1_stby_mode = <0>;
sensor1_vflip = <0>;
sensor1_hflip = <0>;
sensor1_iovdd-supply = <>;
sensor1_iovdd_vol = <>;
sensor1_avdd-supply = <>;
sensor1_avdd_vol = <>;
sensor1_dvdd-supply = <>;
sensor1_dvdd_vol = <>;
sensor1_power_en = <&pio PH 8 GPIO_ACTIVE_HIGH>;
sensor1_reset = <&r_pio PM 2 GPIO_ACTIVE_LOW>;
sensor1_pwdn = <&r_pio PM 3 GPIO_ACTIVE_HIGH>;
status = "okay";
};
vinc00:vinc@5830000 {
vinc0_csi_sel = <0>;
vinc0_mipi_sel = <0>;
vinc0_isp_sel = <4>;
vinc0_isp_tx_ch = <0>;
vinc0_tdm_rx_sel = <0>;
vinc0_rear_sensor_sel = <0>;
vinc0_front_sensor_sel = <0>;
vinc0_sensor_list = <0>;
device_id = <0>;
work_mode = <0x0>;
status = "okay";
};
vinc01:vinc@582fffc {
vinc1_csi_sel = <1>;
vinc1_mipi_sel = <2>;
vinc1_isp_sel = <1>;
vinc1_isp_tx_ch = <0>;
vinc1_tdm_rx_sel = <1>;
vinc1_rear_sensor_sel = <1>;
vinc1_front_sensor_sel = <1>;
vinc1_sensor_list = <0>;
device_id = <1>;
status = "disabled";
};
vinc02:vinc@582fff8 {
vinc2_csi_sel = <2>;
vinc2_mipi_sel = <0xff>;
vinc2_isp_sel = <2>;
vinc2_isp_tx_ch = <2>;
vinc2_tdm_rx_sel = <2>;
vinc2_rear_sensor_sel = <0>;
vinc2_front_sensor_sel = <0>;
vinc2_sensor_list = <0>;
device_id = <2>;
status = "disabled";
};
vinc03:vinc@582fff4 {
vinc3_csi_sel = <0>;
vinc3_mipi_sel = <0xff>;
vinc3_isp_sel = <0>;
vinc3_isp_tx_ch = <0>;
vinc3_tdm_rx_sel = <0>;
vinc3_rear_sensor_sel = <1>;
vinc3_front_sensor_sel = <1>;
vinc3_sensor_list = <0>;
device_id = <3>;
status = "disabled";
};
vinc10:vinc@5831000 {
vinc4_csi_sel = <0>;
vinc4_mipi_sel = <0>;
vinc4_isp_sel = <4>;
vinc4_isp_tx_ch = <1>;
vinc4_tdm_rx_sel = <0>;
vinc4_rear_sensor_sel = <0>;
vinc4_front_sensor_sel = <0>;
vinc4_sensor_list = <0>;
device_id = <4>;
work_mode = <0x0>;
status = "okay";
};
vinc11:vinc@5830ffc {
vinc5_csi_sel = <2>;
vinc5_mipi_sel = <0xff>;
vinc5_isp_sel = <1>;
vinc5_isp_tx_ch = <1>;
vinc5_tdm_rx_sel = <1>;
vinc5_rear_sensor_sel = <0>;
vinc5_front_sensor_sel = <0>;
vinc5_sensor_list = <0>;
device_id = <5>;
status = "disabled";
};
vinc12:vinc@5830ff8 {
vinc6_csi_sel = <2>;
vinc6_mipi_sel = <0xff>;
vinc6_isp_sel = <0>;
vinc6_isp_tx_ch = <0>;
vinc6_tdm_rx_sel = <0>;
vinc6_rear_sensor_sel = <0>;
vinc6_front_sensor_sel = <0>;
vinc6_sensor_list = <0>;
device_id = <6>;
status = "disabled";
};
vinc13:vinc@5830ff4 {
vinc7_csi_sel = <2>;
vinc7_mipi_sel = <0xff>;
vinc7_isp_sel = <0>;
vinc7_isp_tx_ch = <0>;
vinc7_tdm_rx_sel = <0>;
vinc7_rear_sensor_sel = <0>;
vinc7_front_sensor_sel = <0>;
vinc7_sensor_list = <0>;
device_id = <7>;
status = "disabled";
};
vinc20:vinc@5832000 {
vinc8_csi_sel = <0>;
vinc8_mipi_sel = <0>;
vinc8_isp_sel = <4>;
vinc8_isp_tx_ch = <2>;
vinc8_tdm_rx_sel = <0>;
vinc8_rear_sensor_sel = <0>;
vinc8_front_sensor_sel = <0>;
vinc8_sensor_list = <0>;
device_id = <8>;
work_mode = <0x0>;
status = "okay";
};
vinc21:vinc@5831ffc {
vinc9_csi_sel = <2>;
vinc9_mipi_sel = <0xff>;
vinc9_isp_sel = <0>;
vinc9_isp_tx_ch = <0>;
vinc9_tdm_rx_sel = <0>;
vinc9_rear_sensor_sel = <0>;
vinc9_front_sensor_sel = <0>;
vinc9_sensor_list = <0>;
device_id = <9>;
status = "disabled";
};
vinc22:vinc@5831ff8 {
vinc10_csi_sel = <2>;
vinc10_mipi_sel = <0xff>;
vinc10_isp_sel = <0>;
vinc10_isp_tx_ch = <0>;
vinc10_tdm_rx_sel = <0>;
vinc10_rear_sensor_sel = <0>;
vinc10_front_sensor_sel = <0>;
vinc10_sensor_list = <0>;
device_id = <10>;
status = "disabled";
};
vinc23:vinc@5831ff4 {
vinc11_csi_sel = <2>;
vinc11_mipi_sel = <0xff>;
vinc11_isp_sel = <0>;
vinc11_isp_tx_ch = <0>;
vinc11_tdm_rx_sel = <0>;
vinc11_rear_sensor_sel = <0>;
vinc11_front_sensor_sel = <0>;
vinc11_sensor_list = <0>;
device_id = <11>;
status = "disabled";
};
vinc30:vinc@5833000 {
vinc12_csi_sel = <0>;
vinc12_mipi_sel = <0>;
vinc12_isp_sel = <4>;
vinc12_isp_tx_ch = <3>;
vinc12_tdm_rx_sel = <0>;
vinc12_rear_sensor_sel = <0>;
vinc12_front_sensor_sel = <0>;
vinc12_sensor_list = <0>;
device_id = <12>;
work_mode = <0x0>;
status = "okay";
};
vinc31:vinc@5832ffc {
vinc13_csi_sel = <2>;
vinc13_mipi_sel = <0xff>;
vinc13_isp_sel = <0>;
vinc13_isp_tx_ch = <0>;
vinc13_tdm_rx_sel = <0>;
vinc13_rear_sensor_sel = <0>;
vinc13_front_sensor_sel = <0>;
vinc13_sensor_list = <0>;
device_id = <13>;
status = "disabled";
};
vinc32:vinc@5832ff8 {
vinc14_csi_sel = <2>;
vinc14_mipi_sel = <0xff>;
vinc14_isp_sel = <0>;
vinc14_isp_tx_ch = <0>;
vinc14_tdm_rx_sel = <0>;
vinc14_rear_sensor_sel = <0>;
vinc14_front_sensor_sel = <0>;
vinc14_sensor_list = <0>;
device_id = <14>;
status = "disabled";
};
vinc33:vinc@5832ff4 {
vinc15_csi_sel = <2>;
vinc15_mipi_sel = <0xff>;
vinc15_isp_sel = <0>;
vinc15_isp_tx_ch = <0>;
vinc15_tdm_rx_sel = <0>;
vinc15_rear_sensor_sel = <0>;
vinc15_front_sensor_sel = <0>;
vinc15_sensor_list = <0>;
device_id = <15>;
status = "disabled";
};
vinc40:vinc@5834000 {
vinc16_csi_sel = <2>;
vinc16_mipi_sel = <2>;
vinc16_isp_sel = <4>;
vinc16_isp_tx_ch = <0>;
vinc16_tdm_rx_sel = <0>;
vinc16_rear_sensor_sel = <1>;
vinc16_front_sensor_sel = <1>;
vinc16_sensor_list = <1>;
device_id = <16>;
status = "okay";
};
vinc50:vinc@5835000 {
vinc17_csi_sel = <2>;
vinc17_mipi_sel = <2>;
vinc17_isp_sel = <4>;
vinc17_isp_tx_ch = <1>;
vinc17_tdm_rx_sel = <0>;
vinc17_rear_sensor_sel = <1>;
vinc17_front_sensor_sel = <1>;
vinc17_sensor_list = <1>;
device_id = <17>;
status = "okay";
};
};
&twi6 {
clock-frequency = <400000>;
pinctrl-0 = <&s_twi0_pins_default>;
pinctrl-1 = <&s_twi0_pins_sleep>;
pinctrl-names = "default", "sleep";
device_type = "twi6";
/* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 1 */
twi_drv_used = <1>;
no_suspend = <1>;
status = "okay";
tcs0: tcs@41 {
compatible = "ext,tcs4838";
reg = <0x41>;
status = "okay";
tcs4838_delay = <0>;
regulator1: regulators@1 {
reg_tcs0: dcdc0 {
regulator-name = "tcs4838-dcdc0";
regulator-min-microvolt = <712500>;
regulator-max-microvolt = <1500000>;
regulator-ramp-delay = <520>;
regulator-enable-ramp-delay = <1000>;
regulator-always-on;
regulator-boot-on;
};
reg_tcs1: dcdc1 {
regulator-name = "tcs4838-dcdc1";
regulator-min-microvolt = <712500>;
regulator-max-microvolt = <1500000>;
regulator-ramp-delay = <520>;
regulator-enable-ramp-delay = <1000>;
};
};
virtual-ext-dcdc0 {
compatible = "xpower-vregulator,ext-dcdc0";
dcdc0-supply = <®_tcs0>;
};
virtual-ext-dcdc1 {
compatible = "xpower-vregulator,ext-dcdc1";
dcdc1-supply = <®_tcs1>;
};
};
sy0: sy@60 {
compatible = "ext,sy8827g";
reg = <0x60>;
status = "okay";
sy8827g_delay = <0>;
regulator2: regulators@2 {
reg_sy0: dcdc0 {
regulator-name = "sy8827g-dcdc0";
regulator-min-microvolt = <712500>;
regulator-max-microvolt = <1500000>;
regulator-ramp-delay = <520>;
regulator-enable-ramp-delay = <1000>;
regulator-always-on;
regulator-boot-on;
};
reg_sy1: dcdc1 {
regulator-name = "sy8827g-dcdc1";
regulator-min-microvolt = <712500>;
regulator-max-microvolt = <1500000>;
regulator-ramp-delay = <520>;
regulator-enable-ramp-delay = <1000>;
};
};
virtual-ext-dcdc0 {
compatible = "xpower-vregulator,ext-dcdc0";
dcdc0-supply = <®_sy0>;
};
virtual-ext-dcdc1 {
compatible = "xpower-vregulator,ext-dcdc1";
dcdc1-supply = <®_sy1>;
};
};
axp1530: axp1530@36{
compatible = "ext,axp1530";
status = "okay";
reg = <0x36>;
wakeup-source;
regulators{
reg_ext_axp1530_dcdc1: dcdc1 {
regulator-name = "axp1530-dcdc1";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <3400000>;
regulator-step-delay-us = <25>;
regulator-final-delay-us = <50>;
regulator-always-on;
};
reg_ext_axp1530_dcdc2: dcdc2 {
regulator-name = "axp1530-dcdc2";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <1540000>;
regulator-step-delay-us = <25>;
regulator-final-delay-us = <50>;
regulator-ramp-delay = <200>; /* FIXME */
regulator-always-on;
};
reg_ext_axp1530_dcdc3: dcdc3 {
regulator-name = "axp1530-dcdc3";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <1840000>;
regulator-step-delay-us = <25>;
regulator-final-delay-us = <50>;
regulator-always-on;
};
reg_ext_axp1530_aldo1: ldo1 {
regulator-name = "axp1530-aldo1";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <3500000>;
regulator-step-delay-us = <25>;
regulator-final-delay-us = <50>;
};
reg_ext_axp1530_dldo1: ldo2 {
regulator-name = "axp1530-dldo1";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <3500000>;
regulator-step-delay-us = <25>;
regulator-final-delay-us = <50>;
};
};
virtual-ext-dcdc1 {
compatible = "xpower-vregulator,ext-dcdc1";
dcdc1-supply = <®_ext_axp1530_dcdc1>;
};
virtual-ext-dcdc2 {
compatible = "xpower-vregulator,ext-dcdc2";
dcdc2-supply = <®_ext_axp1530_dcdc2>;
};
virtual-ext-dcdc3 {
compatible = "xpower-vregulator,ext-dcdc3";
dcdc3-supply = <®_ext_axp1530_dcdc3>;
};
virtual-ext-aldo1 {
compatible = "xpower-vregulator,ext-aldo1";
aldo1-supply = <®_ext_axp1530_aldo1>;
};
virtual-ext-dldo1 {
compatible = "xpower-vregulator,ext-dldo1";
dldo1-supply = <®_ext_axp1530_dldo1>;
};
};
pmu0: pmu@35 {
compatible = "x-powers,axp2202";
reg = <0x35>;
status = "okay";
interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
interrupt-parent = <&nmi_intc>;
x-powers,drive-vbus-en;
pmu_reset = <0>;
pmu_irq_wakeup = <1>;
pmu_hot_shutdown = <1>;
wakeup-source;
usb_power_supply: usb_power_supply {
compatible = "x-powers,axp2202-usb-power-supply";
status = "okay";
pmu_usbpc_vol = <4600>;
pmu_usbpc_cur = <500>;
pmu_usbad_vol = <4000>;
pmu_usbad_cur = <2500>;
pmu_usb_typec_used = <1>;
wakeup_usb_in;
wakeup_usb_out;
det_acin_supply = <&gpio_power_supply>;
pmu_acin_usbid_drv = <&pio PH 12 GPIO_ACTIVE_LOW>;
pmu_vbus_det_gpio = <&pio PH 13 GPIO_ACTIVE_LOW>;
};
gpio_power_supply: gpio_power_supply {
compatible = "x-powers,gpio-supply";
status = "disabled";
pmu_acin_det_gpio = <&pio PH 14 GPIO_ACTIVE_LOW>;
det_usb_supply = <&usb_power_supply>;
};
bat_power_supply: bat-power-supply {
compatible = "x-powers,axp2202-bat-power-supply";
param = <&axp2202_parameter>;
status = "disabled";
pmu_chg_ic_temp = <0>;
pmu_battery_rdc= <147>;
pmu_battery_cap = <1771>;
pmu_runtime_chgcur = <1000>;
pmu_suspend_chgcur = <1500>;
pmu_shutdown_chgcur = <1500>;
pmu_init_chgvol = <4200>;
pmu_battery_warning_level1 = <15>;
pmu_battery_warning_level2 = <0>;
pmu_chgled_func = <0>;
pmu_chgled_type = <0>;
pmu_bat_para1 = <0>;
pmu_bat_para2 = <0>;
pmu_bat_para3 = <0>;
pmu_bat_para4 = <0>;
pmu_bat_para5 = <0>;
pmu_bat_para6 = <0>;
pmu_bat_para7 = <2>;
pmu_bat_para8 = <3>;
pmu_bat_para9 = <4>;
pmu_bat_para10 = <6>;
pmu_bat_para11 = <9>;
pmu_bat_para12 = <14>;
pmu_bat_para13 = <26>;
pmu_bat_para14 = <38>;
pmu_bat_para15 = <49>;
pmu_bat_para16 = <52>;
pmu_bat_para17 = <56>;
pmu_bat_para18 = <60>;
pmu_bat_para19 = <64>;
pmu_bat_para20 = <70>;
pmu_bat_para21 = <77>;
pmu_bat_para22 = <83>;
pmu_bat_para23 = <87>;
pmu_bat_para24 = <90>;
pmu_bat_para25 = <95>;
pmu_bat_para26 = <99>;
pmu_bat_para27 = <99>;
pmu_bat_para28 = <100>;
pmu_bat_para29 = <100>;
pmu_bat_para30 = <100>;
pmu_bat_para31 = <100>;
pmu_bat_para32 = <100>;
pmu_bat_temp_enable = <1>;
pmu_jetia_en = <1>;
pmu_bat_charge_ltf = <1738>; //-5
pmu_bat_charge_htf = <150>; //60
pmu_bat_shutdown_ltf = <2125>; //-10
pmu_bat_shutdown_htf = <130>; //65
pmu_jetia_cool = <1390>; //0
pmu_jetia_warm = <206>; //50
pmu_jcool_ifall = <2>;//75%
pmu_jwarm_ifall = <2>;//75%
pmu_bat_temp_para1 = <4592>; //SDNT-25
pmu_bat_temp_para2 = <2781>; //-15
pmu_bat_temp_para3 = <2125>; //-10
pmu_bat_temp_para4 = <1738>; //-5
pmu_bat_temp_para5 = <1390>;//0
pmu_bat_temp_para6 = <1118>; //5
pmu_bat_temp_para7 = <906>; //10
pmu_bat_temp_para8 = <606>; //20
pmu_bat_temp_para9 = <415>; //30
pmu_bat_temp_para10 = <290>; //40
pmu_bat_temp_para11 = <244>; //45
pmu_bat_temp_para12 = <206>; //50
pmu_bat_temp_para13 = <175>; //55
pmu_bat_temp_para14 = <150>; //60
pmu_bat_temp_para15 = <110>; //70
pmu_bat_temp_para16 = <83>; //80
wakeup_bat_out;
/* wakeup_bat_in; */
/* wakeup_bat_charging; */
/* wakeup_bat_charge_over; */
/* wakeup_low_warning1; */
/* wakeup_low_warning2; */
/* wakeup_bat_untemp_work; */
/* wakeup_bat_ovtemp_work; */
/* wakeup_bat_untemp_chg; */
/* wakeup_bat_ovtemp_chg; */
};
powerkey0: powerkey@0 {
status = "okay";
compatible = "x-powers,axp2101-pek";
pmu_powkey_off_time = <6000>;
pmu_powkey_off_func = <0>;
pmu_powkey_off_en = <1>;
pmu_powkey_long_time = <1500>;
pmu_powkey_on_time = <512>;
wakeup_rising;
wakeup_falling;
};
regulator0: regulators@0 {
reg_dcdc1: dcdc1 {
regulator-name = "axp2202-dcdc1";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <1540000>;
regulator-ramp-delay = <250>;
regulator-enable-ramp-delay = <1000>;
regulator-boot-on;
regulator-always-on;
};
reg_dcdc2: dcdc2 {
regulator-name = "axp2202-dcdc2";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <3400000>;
regulator-ramp-delay = <250>;
regulator-enable-ramp-delay = <1000>;
regulator-boot-on;
regulator-always-on;
};
reg_dcdc3: dcdc3 {
regulator-name = "axp2202-dcdc3";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <1840000>;
regulator-ramp-delay = <250>;
regulator-enable-ramp-delay = <1000>;
regulator-always-on;
};
reg_dcdc4: dcdc4 {
regulator-name = "axp2202-dcdc4";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <3700000>;
regulator-ramp-delay = <250>;
regulator-enable-ramp-delay = <1000>;
};
reg_rtcldo: rtcldo {
/* RTC_LDO is a fixed, always-on regulator */
regulator-name = "axp2202-rtcldo";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-boot-on;
regulator-always-on;
};
reg_aldo1: aldo1 {
regulator-name = "axp2202-aldo1";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <3500000>;
regulator-enable-ramp-delay = <1000>;
};
reg_aldo2: aldo2 {
regulator-name = "axp2202-aldo2";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <3500000>;
regulator-enable-ramp-delay = <1000>;
};
reg_aldo3: aldo3 {
regulator-name = "axp2202-aldo3";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <3500000>;
regulator-enable-ramp-delay = <1000>;
regulator-always-on;
regulator-boot-on;
};
reg_aldo4: aldo4 {
regulator-name = "axp2202-aldo4";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <3500000>;
regulator-enable-ramp-delay = <1000>;
regulator-always-on;
regulator-boot-on;
};
reg_bldo1: bldo1 {
regulator-name = "axp2202-bldo1";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <3500000>;
regulator-enable-ramp-delay = <1000>;
regulator-always-on;
regulator-boot-on;
};
reg_bldo2: bldo2 {
regulator-name = "axp2202-bldo2";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <3500000>;
regulator-enable-ramp-delay = <1000>;
regulator-boot-on;
regulator-always-on;
};
reg_bldo3: bldo3 {
regulator-name = "axp2202-bldo3";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <3500000>;
regulator-enable-ramp-delay = <1000>;
};
reg_bldo4: bldo4 {
regulator-name = "axp2202-bldo4";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <3500000>;
regulator-enable-ramp-delay = <1000>;
};
reg_cldo1: cldo1 {
regulator-name = "axp2202-cldo1";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <3500000>;
regulator-enable-ramp-delay = <1000>;
};
reg_cldo2: cldo2 {
regulator-name = "axp2202-cldo2";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <3500000>;
regulator-enable-ramp-delay = <1000>;
};
reg_cldo3: cldo3 {
regulator-name = "axp2202-cldo3";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <3500000>;
regulator-ramp-delay = <2500>;
regulator-enable-ramp-delay = <1000>;
regulator-boot-on;
regulator-always-on;
};
reg_cldo4: cldo4 {
regulator-name = "axp2202-cldo4";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <3500000>;
regulator-enable-ramp-delay = <1000>;
};
reg_cpusldo: cpusldo {
/* cpus */
regulator-name = "axp2202-cpusldo";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <1400000>;
regulator-boot-on;
regulator-always-on;
};
reg_vmid: vmid {
regulator-name = "axp2202-vmid";
regulator-enable-ramp-delay = <1000>;
};
reg_drivevbus: drivevbus {
regulator-name = "axp2202-drivevbus";
regulator-enable-ramp-delay = <1000>;
drivevbusin-supply = <®_vmid>;
};
};
virtual-dcdc1 {
compatible = "xpower-vregulator,dcdc1";
dcdc1-supply = <®_dcdc1>;
};
virtual-dcdc2 {
compatible = "xpower-vregulator,dcdc2";
dcdc2-supply = <®_dcdc2>;
};
virtual-dcdc3 {
compatible = "xpower-vregulator,dcdc3";
dcdc3-supply = <®_dcdc3>;
};
virtual-dcdc4 {
compatible = "xpower-vregulator,dcdc4";
dcdc4-supply = <®_dcdc4>;
};
virtual-rtcldo {
compatible = "xpower-vregulator,rtcldo";
rtcldo-supply = <®_rtcldo>;
};
virtual-aldo1 {
compatible = "xpower-vregulator,aldo1";
aldo1-supply = <®_aldo1>;
};
virtual-aldo2 {
compatible = "xpower-vregulator,aldo2";
aldo2-supply = <®_aldo2>;
};
virtual-aldo3 {
compatible = "xpower-vregulator,aldo3";
aldo3-supply = <®_aldo3>;
};
virtual-aldo4 {
compatible = "xpower-vregulator,aldo4";
aldo4-supply = <®_aldo4>;
};
virtual-bldo1 {
compatible = "xpower-vregulator,bldo1";
bldo1-supply = <®_bldo1>;
};
virtual-bldo2 {
compatible = "xpower-vregulator,bldo2";
bldo2-supply = <®_bldo2>;
};
virtual-bldo3 {
compatible = "xpower-vregulator,bldo3";
bldo3-supply = <®_bldo3>;
};
virtual-bldo4 {
compatible = "xpower-vregulator,bldo4";
bldo4-supply = <®_bldo4>;
};
virtual-cldo1 {
compatible = "xpower-vregulator,cldo1";
cldo1-supply = <®_cldo1>;
};
virtual-cldo2 {
compatible = "xpower-vregulator,cldo2";
cldo2-supply = <®_cldo2>;
};
virtual-cldo3 {
compatible = "xpower-vregulator,cldo3";
cldo3-supply = <®_cldo3>;
};
virtual-cldo4 {
compatible = "xpower-vregulator,cldo4";
cldo4-supply = <®_cldo4>;
};
virtual-cpusldo {
compatible = "xpower-vregulator,cpusldo";
cpusldo-supply = <®_cpusldo>;
};
virtual-drivevbus {
compatible = "xpower-vregulator,drivevbus";
drivevbus-supply = <®_drivevbus>;
};
axp_gpio0: axp_gpio@0 {
gpio-controller;
#size-cells = <0>;
#gpio-cells = <6>;
status = "okay";
};
};
};
/{
axp2202_parameter:axp2202-parameter {
select = "battery-model";
battery-model {
parameter = /bits/ 8 <0x01 0xf5 0x40 0x00 0x1b 0x1e 0x28 0x0f
0x0c 0x1e 0x32 0x02 0x14 0x05 0x0a 0x04
0x74 0xfb 0xc8 0x0d 0x43 0x10 0x36 0xfb
0x46 0x01 0xea 0x0d 0x2a 0x06 0x36 0x05
0xf4 0x0a 0xb5 0x0f 0x42 0x0e 0xe6 0x09
0x9a 0x0e 0x42 0x0e 0x3b 0x04 0x2d 0x04
0x23 0x09 0x18 0x0e 0x09 0x0e 0x04 0x08
0xf7 0x0d 0xda 0x0d 0xd0 0x03 0xbb 0x03
0x9d 0x08 0x7f 0x0d 0x6a 0x0d 0x55 0x07
0xc2 0x57 0x2b 0x27 0x1e 0x0d 0x14 0x08
0xc5 0x98 0x7e 0x66 0x4e 0x44 0x38 0x1a
0x12 0x0a 0xf6 0x00 0x00 0xf6 0x00 0xf6
0x00 0xfb 0x00 0x00 0xfb 0x00 0x00 0xfb
0x00 0x00 0xf6 0x00 0x00 0xf6 0x00 0xf6
0x00 0xfb 0x00 0x00 0xfb 0x00 0x00 0xfb
0x00 0x00 0xf6 0x00 0x00 0xf6 0x00 0xf6>;
};
};
};
&twi7 {
clock-frequency = <400000>;
pinctrl-0 = <&s_twi1_pins_default>;
pinctrl-1 = <&s_twi1_pins_sleep>;
pinctrl-names = "default", "sleep";
/* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 1 */
twi_drv_used = <1>;
twi-supply = <®_aldo3>;
status = "okay";
lt9611: lt9611@39 {
compatible = "myir,lt9611";
reg = <0x39>;
lt9611-rst-gpios = <&r_pio PL 6 GPIO_ACTIVE_HIGH>;
lt9611-power-en-gpios = <&pio PG 12 GPIO_ACTIVE_HIGH>;
interrupt-parent = <&r_pio>;
interrupts = <PL 7 IRQ_TYPE_EDGE_FALLING>;
status = "okay";
};
ac107: ac107@36 {
#sound-dai-cells = <0>;
compatible = "allwinner,sunxi-ac107";
reg = <0x36>;
pllclk-src = "MCLK";
sysclk-src = "MCLK";
pcm-bit-first = "MSB";
frame-sync-width = <1>;
rx-chmap = <0xaaaa>;
ch1-dig-vol = <160>;
ch2-dig-vol = <160>;
ch1-pga-gain = <26>;
ch2-pga-gain = <26>;
status = "disabled";
};
};
&twi8 {
clock-frequency = <400000>;
pinctrl-0 = <&s_twi2_pins_default>;
pinctrl-1 = <&s_twi2_pins_sleep>;
pinctrl-names = "default", "sleep";
/* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 1 */
twi_drv_used = <1>;
twi-supply = <®_aldo3>;
status = "okay";
};
&sdc2 {
non-removable;
bus-width = <8>;
mmc-ddr-1_8v;
mmc-hs200-1_8v;
mmc-hs400-1_8v;
no-sdio;
no-sd;
ctl-spec-caps = <0x308>;
cap-mmc-highspeed;
sunxi-power-save-mode;
sunxi-dis-signal-vol-sw;
mmc-bootpart-noacc;
/*cap-hsq;*/
cqe-on;
ctl-cmdq-md = <0x2>;
max-frequency = <150000000>;
vmmc-supply = <®_cldo3>;
/*emmc io vol 3.3v*/
/*vqmmc-supply = <®_aldo1>;*/
/*emmc io vol 1.8v*/
vqmmc-supply = <®_cldo1>;
status = "disabled";
};
&sdc0 {
bus-width = <4>;
cd-gpios = <&pio PF 6 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
/*non-removable;*/
/*broken-cd;*/
/*cd-inverted*/
/*data3-detect;*/
/*card-pwr-gpios = <&pio PH 14 1 1 2 0xffffffff>;*/
cd-used-24M;
cd-set-debounce = <0x1>;
cap-sd-highspeed;
// sd-uhs-sdr50;
// sd-uhs-ddr50;
// sd-uhs-sdr104;
no-sdio;
no-mmc;
sunxi-power-save-mode;
/*sunxi-dis-signal-vol-sw;*/
max-frequency = <150000000>;
ctl-spec-caps = <0x408>;
sunxi-dly-208M = <0xff 1 0xff 0xff 0xff 0xff>;
vmmc-supply = <®_cldo3>;
vqmmc33sw-supply = <®_cldo3>;
vdmmc33sw-supply = <®_cldo3>;
// vqmmc18sw-supply = <®_bldo3>;
// vdmmc18sw-supply = <®_bldo3>;
status = "okay";
};
&sdc1 {
bus-width = <4>;
no-mmc;
no-sd;
cap-sd-highspeed;
/*sd-uhs-sdr12*/
sd-uhs-sdr25;
sd-uhs-sdr50;
sd-uhs-ddr50;
sd-uhs-sdr104;
/*sunxi-power-save-mode;*/
sunxi-dis-signal-vol-sw;
cap-sdio-irq;
keep-power-in-suspend;
ignore-pm-notify;
max-frequency = <150000000>;
ctl-spec-caps = <0x408>;
status = "okay";
};
&nand0 {
compatible = "allwinner,sun55iw3-nand";
device_type = "nand0";
//reg = <0x0 0x04011000 0x0 0x1000>;/* nand0 */
pinctrl-names = "default", "sleep";
pinctrl-0 = <&nand0_pins_default &nand0_pins_rb>;
pinctrl-1 = <&nand0_pins_sleep>;
nand0_regulator1 = "vcc-nand";
nand0_regulator2 = "none";
nand0_cache_level = <0x55aaaa55>;
nand0_flush_cache_num = <0x55aaaa55>;
nand0_capacity_level = <0x55aaaa55>;
nand0_id_number_ctl = <0x55aaaa55>;
nand0_print_level = <0x55aaaa55>;
nand0_p0 = <0x55aaaa55>;
nand0_p1 = <0x55aaaa55>;
nand0_p2 = <0x55aaaa55>;
nand0_p3 = <0x55aaaa55>;
chip_code = "sun55iw3";
status = "disabled";
};
&rfkill {
compatible = "allwinner,sunxi-rfkill";
chip_en;
power_en;
pinctrl-0;
pinctrl-names;
status = "okay";
/* bt session */
bt {
compatible = "allwinner,sunxi-bt";
clocks;
clock-names;
bt_power = "axp2202-aldo3", "axp2202-bldo1"; /* vcc-pl/vcc-pg/vcc-pm */
bt_power_vol= <3300000>, <1800000>;
bt_rst_n = <&pio PC 4 GPIO_ACTIVE_LOW>;
};
};
&addr_mgt {
compatible = "allwinner,sunxi-addr_mgt";
type_addr_wifi = <0x0>;
type_addr_bt = <0x0>;
type_addr_eth = <0x0>;
status = "okay";
};
&btlpm {
compatible = "allwinner,sunxi-btlpm";
uart_index = <0x1>;
bt_wake = <&pio PC 12 GPIO_ACTIVE_HIGH>;
bt_hostwake = <&pio PC 2 GPIO_ACTIVE_HIGH>;
wakeup-source;
status = "okay";
};
/*
*usb_port_type: usb mode. 0-device, 1-host, 2-otg.
*usb_detect_type: usb hotplug detect mode. 0-none, 1-vbus/id detect, 2-id/dpdm detect.
*usb_detect_mode: 0-thread scan, 1-id gpio interrupt.
*usb_id_gpio: gpio for id detect.
*usb_det_vbus_gpio: gpio for id detect. gpio or "axp_ctrl";
*usb_wakeup_suspend:0-SUPER_STANDBY, 1-USB_STANDBY.
*/
&usbc0 {
device_type = "usbc0";
usb_port_type = <0x2>;
usb_detect_type = <0x1>;
usb_detect_mode = <0x0>;
usb_id_gpio = <&r_pio PL 10 GPIO_ACTIVE_HIGH>;
enable-active-high;
usb_det_vbus_gpio = <&r_pio PL 10 GPIO_ACTIVE_HIGH>;
enable-active-high;
detvbus_io-supply = <®_bldo1>;
usb_regulator_io = "nocare";
usb_wakeup_suspend = <0>;
usb_luns = <3>;
usb_serial_unique = <0>;
usb_serial_number = "20080411";
rndis_wceis = <1>;
status = "okay";
};
&udc {
det_vbus_supply = <&usb_power_supply>;
status = "okay";
};
&ehci0 {
//drvvbus-supply = <®_usb0_vbus>;
status = "okay";
};
&ohci0 {
//drvvbus-supply = <®_usb0_vbus>;
status = "okay";
};
&usbc1 {
device_type = "usbc1";
usb_regulator_io = "nocare";
usb_wakeup_suspend = <0>;
status = "okay";
};
&ehci1 {
//drvvbus-supply = <®_usb1_vbus>;
status = "okay";
};
&ohci1 {
//drvvbus-supply = <®_usb1_vbus>;
status = "okay";
};
&usbc2 {
device_type = "usbc2";
drvvbus-supply = <®_drivevbus>;
aw,vbus-shared-quirk;
status = "okay";
};
&xhci2 {
dr_mode = "host";
status = "okay";
};
&u2phy {
status = "okay";
};
&combophy {
resets = <&ccu RST_BUS_PCIE_USB3>;
phy_use_sel = <1>; /* 0:PCIE; 1:USB3 */
status = "okay";
};
&gpu {
gpu_idle = <1>;
dvfs_status = <1>;
mali-supply = <®_dcdc2>;
};
/*----------------------------------------------------------------------------------
disp init configuration
disp_mode (0:screen0<screen0,fb0>)
screenx_output_type (0:none; 1:lcd; 2:tv; 3:hdmi;5:vdpo)
screenx_output_mode (used for hdmi output, 0:480i 1:576i 2:480p 3:576p 4:720p50)
(5:720p60 6:1080i50 7:1080i60 8:1080p24 9:1080p50 10:1080p60)
screenx_output_format (for hdmi, 0:RGB 1:yuv444 2:yuv422 3:yuv420)
screenx_output_bits (for hdmi, 0:8bit 1:10bit 2:12bit 2:16bit)
screenx_output_eotf (for hdmi, 0:reserve 4:SDR 16:HDR10 18:HLG)
screenx_output_cs (for hdmi, 0:undefined 257:BT709 260:BT601 263:BT2020)
screenx_output_dvi_hdmi (for hdmi, 0:undefined 1:dvi mode 2:hdmi mode)
screen0_output_range (for hdmi, 0:default 1:full 2:limited)
screen0_output_scan (for hdmi, 0:no data 1:overscan 2:underscan)
screen0_output_aspect_ratio (for hdmi, 8-same as original picture 9-4:3 10-16:9 11-14:9)
fbx format (4:RGB655 5:RGB565 6:RGB556 7:ARGB1555 8:RGBA5551 9:RGB888 10:ARGB8888 12:ARGB4444)
fbx pixel sequence (0:ARGB 1:BGRA 2:ABGR 3:RGBA)
fb0_scaler_mode_enable(scaler mode enable, used FE)
fbx_width,fbx_height (framebuffer horizontal/vertical pixels, fix to output resolution while equal 0)
lcdx_backlight (lcd init backlight,the range:[0,256],default:197
lcdx_yy (lcd init screen bright/contrast/saturation/hue, value:0~100, default:50/50/57/50)
lcd0_contrast (LCD contrast, 0~100)
lcd0_saturation (LCD saturation, 0~100)
lcd0_hue (LCD hue, 0~100)
framebuffer software rotation setting:
disp_rotation_used: (0:disable; 1:enable,you must set fbX_width to lcd_y,
set fbX_height to lcd_x)
degreeX: (X:screen index; 0:0 degree; 1:90 degree; 3:270 degree)
degreeX_Y: (X:screen index; Y:layer index 0~15; 0:0 degree; 1:90 degree; 3:270 degree)
devX_output_type : config output type in bootGUI framework in UBOOT-2018.
(0:none; 1:lcd; 2:tv; 4:hdmi;)
devX_output_mode : config output resolution(see include/video/sunxi_display2.h) of bootGUI framework in UBOOT-2018
devX_screen_id : config display index of bootGUI framework in UBOOT-2018
devX_do_hpd : whether do hpd detectation or not in UBOOT-2018
chn_cfg_mode : Hardware DE channel allocation config. 0:single display with 6
channel, 1:dual display with 4 channel in main display and 2 channel in second
display, 2:dual display with 3 channel in main display and 3 channel in second
in display.
----------------------------------------------------------------------------------*/
&disp {
disp_init_enable = <1>;
disp_mode = <0>;
screen0_output_type = <1>;
screen0_output_mode = <4>;
screen0_to_lcd_index = <0>;
screen1_output_type = <3>;
screen1_output_mode = <10>;
screen1_to_lcd_index = <3>;
screen1_output_format = <0>;
screen1_output_bits = <0>;
screen1_output_eotf = <4>;
screen1_output_cs = <257>;
screen1_output_dvi_hdmi = <2>;
screen1_output_range = <2>;
screen1_output_scan = <0>;
screen1_output_aspect_ratio = <8>;
dev0_output_type = <1>;
dev0_output_mode = <4>;
dev0_screen_id = <0>;
dev0_do_hpd = <0>;
screen1_output_type = <6>;
screen1_output_mode = <10>;
dev1_screen_id = <2>;
dev1_do_hpd = <1>;
def_output_dev = <2>;
hdmi_mode_check = <1>;
display_device_num = <3>;
primary_display_type = "LCD";
primary_de_id = <0>;
primary_framebuffer_width = <1280>;
primary_framebuffer_height = <800>;
primary_dpix = <160>;
primary_dpiy = <160>;
extend0_display_type = "HDMI";
extend0_de_id = <1>;
extend0_framebuffer_width = <1920>;
extend0_framebuffer_height = <1080>;
extend0_dpix = <160>;
extend0_dpiy = <160>;
extend1_display_type = "DP";
extend1_de_id = <1>;
extend1_framebuffer_width = <1920>;
extend1_framebuffer_height = <1080>;
extend1_dpix = <160>;
extend1_dpiy = <160>;
fb_format = <0>;
fb_num = <4>;
/*<disp channel layer zorder>*/
fb0_map = <0 1 0 16>;
fb0_width = <1920>;
fb0_height = <1080>;
/*<disp channel layer zorder>*/
fb1_map = <1 1 0 16>;
fb1_width = <1920>;
fb1_height = <1080>;
/*<disp channel layer zorder>*/
fb2_map = <1 0 0 16>;
fb2_width = <1920>;
fb2_height = <1080>;
/*<disp channel layer zorder>*/
fb3_map = <1 1 0 16>;
fb3_width = <300>;
fb3_height = <300>;
chn_cfg_mode = <3>;
disp_para_zone = <2>;
//boot_disp = <0>;
//boot_disp1 = <0>;
//boot_disp2 = <0>;
/* dual display clock constraints:
1. two tcons cannot share a parent clock.
2. when dsi uses ccu clock, combphy and corresponding tcon use the
same parent clock.
*/
assigned-clocks = <&ccu CLK_DE>,
<&ccu CLK_VO0_TCONLCD0>,
<&ccu CLK_VO0_TCONLCD1>,
<&ccu CLK_VO1_TCONLCD0>,
<&ccu CLK_TCONTV>,
<&ccu CLK_TCONTV1>,
<&ccu CLK_COMBPHY0>,
<&ccu CLK_COMBPHY1>,
<&ccu CLK_DSI0>,
<&ccu CLK_DSI1>,
<&ccu CLK_EDP>;
assigned-clock-parents = <&ccu CLK_PLL_VIDEO3_4X>,
<&ccu CLK_PLL_VIDEO0_4X>,
<&ccu CLK_PLL_VIDEO1_4X>,
<&ccu CLK_PLL_VIDEO1_4X>,
<&ccu CLK_PLL_VIDEO1_4X>,
<&ccu CLK_PLL_VIDEO1_4X>,
<&ccu CLK_PLL_VIDEO0_4X>,
<&ccu CLK_PLL_VIDEO1_4X>,
<&ccu CLK_PLL_PERI0_150M>,
<&ccu CLK_PLL_PERI0_150M>,
<&ccu CLK_PLL_VIDEO1_4X>;
assigned-clock-rates = <600000000>;
cldo3-supply = <®_cldo3>;
dcdc4-supply = <®_dcdc4>;
cldo1-supply = <®_cldo1>;
//pwms = <&pwm0 4 5000000 0>, <&pwm0 5 5000000 0>;
pwms = <&pwm0 10 50000 0>, <&pwm0 5 5000000 0>;
pwm-names = "lvds0_backlight", "lvds2_backlight";
power-domains = <&pd1 A523_PCK_DE>, <&pd1 A523_PCK_VO0>, <&pd1 A523_PCK_VO1>;
power-domain-names = "pd_de", "pd_vo0", "pd_vo1";
pinctrl-names = "active", "sleep";
//pinctrl-0 = <&pwm0_0_pin_active>;
//pinctrl-1 = <&pwm0_0_pin_sleep>;
pinctrl-0 = <&pwm0_10_pin_active>;
pinctrl-1 = <&pwm0_10_pin_sleep>;
};
/***
;lcd0 configuration
;lcd_if: 0:hv(sync+de); 1:8080; 2:ttl; 3:lvds; 4:dsi; 5:edp; 6:extend dsi
;lcd_hv_if 0:Parallel RGB; 8:Serial RGB; 10:Dummy RGB; 11: RGB Dummy;12:CCIR656
;lcd_hv_clk_phase 0:0 degree;1:90 degree;2:180 degree;3:270 degree
;lcd_hv_sync_polarity 0:vs low,hs low; 1:vs high,hslow; 2:vs low,hs high; 3:vs high,hs high
;lcd_hv_syuv_seq 0:YUYV; 1:YVYU; 2:UYVY; 3:VYUY
;lcd_cpu_if 0:18bit/1 cycle parallel(RGB666); 4:16bit/1cycle parallel (RGB565)
; 6:18bit/3 cycle parallel(RGB666); 7:16bit/2cycle parallel (RGB565)
;lcd_cpu_te 0:frame auto trigger; 1:frame triggered by te rising edge; 2:frame triggered by te falling edge;
;lcd_dsi_if 0:video mode; 1: Command mode; 2:video burst mode
;lcd_dsi_te 0:frame auto trigger; 1:frame triggered by te rising edge; 2:frame triggered by te falling edge;
;lcd_x: lcd horizontal resolution
;lcd_y: lcd vertical resolution
;lcd_width: width of lcd in mm
;lcd_height: height of lcd in mm
;lcd_dclk_freq: in MHZ unit
;lcd_pwm_freq: in HZ unit
;lcd_pwm_pol: lcd backlight PWM polarity
;lcd_pwm_max_limit lcd backlight PWM max limit(<=255)
;lcd_hbp: hsync back porch(pixel) + hsync plus width(pixel);
;lcd_ht: hsync total cycle(pixel)
;lcd_vbp: vsync back porch(line) + vysnc plus width(line)
;lcd_vt: vysnc total cycle(line)
;lcd_hspw: hsync plus width(pixel)
;lcd_vspw: vysnc plus width(pixel)
;lcd_lvds_if: 0:single link; 1:dual link
;lcd_lvds_colordepth: 0:8bit; 1:6bit
;lcd_lvds_mode: 0:NS mode; 1:JEIDA mode
;lcd_frm: 0:disable; 1:enable rgb666 dither; 2:enable rgb656 dither
;lcd_io_phase: 0:noraml; 1:intert phase(0~3bit: vsync phase; 4~7bit:hsync phase;
; 8~11bit:dclk phase; 12~15bit:de phase)
;lcd_gamma_en lcd gamma correction enable
;lcd_bright_curve_en lcd bright curve correction enable
;lcd_cmap_en lcd color map function enable
;deu_mode 0:smoll lcd screen; 1:large lcd screen(larger than 10inch)
;lcdgamma4iep: Smart Backlight parameter, lcd gamma vale * 10;
; decrease it while lcd is not bright enough; increase while lcd is too bright
;smart_color 90:normal lcd screen 65:retina lcd screen(9.7inch)
;Pin setting for special function ie.LVDS, RGB data or vsync
; name(donot care) = port:PD12<pin function><pull up or pull down><drive ability><output level>
;Pin setting for gpio:
; lcd_gpio_X = port:PD12<pin function><pull up or pull down><drive ability><output level>
;Pin setting for backlight enable pin
; lcd_bl_en = port:PD12<pin function><pull up or pull down><drive ability><output level>
;fsync setting, pulse to csi
;lcd_fsync_en (0:disable fsync,1:enable)
;lcd_fsync_act_time (active time of fsync, unit:pixel)
;lcd_fsync_dis_time (disactive time of fsync, unit:pixel)
;lcd_fsync_pol (0:positive;1:negative)
;gpio config: <&pio for cpu or &r_pio for cpus, port, port num, pio function,
pull up or pull down(default 0), driver level(default 1), data>
;For dual link lvds: use lvds2link_pins_a and lvds2link_pins_b instead
;For rgb24: use rgb24_pins_a and rgb24_pins_b instead
;For lvds1: use lvds1_pins_a and lvds1_pins_b instead
;For lvds0: use lvds0_pins_a and lvds0_pins_b instead
***/
&lcd0 {
lcd_used = <1>;
lcd_driver_name = "default_lcd";
lcd_backlight = <200>;
lcd_if = <3>;
lcd_x = <1280>;
lcd_y = <800>;
lcd_width = <150>;
lcd_height = <94>;
lcd_dclk_freq = <63>;
lcd_pwm_used = <1>;
lcd_pwm_ch = <10>;
lcd_pwm_freq = <50000>;
lcd_pwm_pol = <0>;
lcd_pwm_max_limit = <255>;
lcd_pwm_name = "lvds0_backlight";
lcd_hbp = <88>;
lcd_ht = <1451>;
lcd_hspw = <18>;
lcd_vbp = <23>;
lcd_vt = <860>;
lcd_vspw = <10>;
lcd_lvds_if = <0>;
lcd_lvds_colordepth = <0>;
lcd_lvds_mode = <0>;
lcd_frm = <0>;
lcd_hv_clk_phase = <0>;
lcd_hv_sync_polarity= <0>;
lcd_gamma_en = <0>;
lcd_bright_curve_en = <0>;
lcd_cmap_en = <0>;
lcd_fsync_en = <0>;
lcd_fsync_act_time = <1000>;
lcd_fsync_dis_time = <1000>;
lcd_fsync_pol = <0>;
lcd_start_delay = <5>;
deu_mode = <0>;
lcdgamma4iep = <22>;
smart_color = <90>;
lcd_pin_power = "cldo3";
lcd_power = "dcdc4";
lcd_power1 = "cldo1";
//lcd_gpio_0 = <&pio PI 2 GPIO_ACTIVE_HIGH>; //reset
//lcd_bl_en = <&pio PI 2 GPIO_ACTIVE_HIGH>;
pinctrl-0 = <&lvds0_pins_a>;
pinctrl-1 = <&lvds0_pins_b>;
lvds0_pinctrl-0 = <&lvds0_pins_a>;
lvds0_pinctrl-1 = <&lvds0_pins_b>;
lvds1_pinctrl-0 = <&lvds1_pins_a>;
lvds1_pinctrl-1 = <&lvds1_pins_b>;
dsi0_pinctrl-0 = <&dsi0_4lane_pins_a>;
dsi0_pinctrl-1 = <&dsi0_4lane_pins_b>;
dual_dsi_pinctrl-0 = <&dsi0_4lane_pins_a>, <&dsi1_4lane_pins_a>;
dual_dsi_pinctrl-1 = <&dsi0_4lane_pins_b>, <&dsi1_4lane_pins_b>;
dual_lvds0_pinctrl-0 = <&lvds0_pins_a>, <&lvds1_pins_a>;
dual_lvds0_pinctrl-1 = <&lvds0_pins_b>, <&lvds1_pins_b>;
};
#if 1
&lcd1 {
lcd_used = <1>;
status = "okay";
lcd_driver_name = "SQ101D_Q5DI404_84H501";
lcd_backlight = <200>;
lcd_if = <4>;
lcd_x = <1920>;
lcd_y = <1080>;
lcd_width = <136>;
lcd_height = <217>;
lcd_dclk_freq = <148>;
lcd_pwm_used = <1>;
lcd_pwm_ch = <0>;
lcd_pwm_freq = <50000>;
lcd_pwm_pol = <0>;
lcd_pwm_max_limit = <255>;
lcd_hbp = <88>;
lcd_ht = <2200>;
lcd_hspw = <44>;
lcd_vbp = <4>;
lcd_vt = <1125>;
lcd_vspw = <5>;
lcd_frm = <0>;
lcd_gamma_en = <0>;
lcd_bright_curve_en = <0>;
lcd_cmap_en = <0>;
lcd_start_delay = <5>;
deu_mode = <0>;
lcdgamma4iep = <22>;
smart_color = <90>;
lcd_dsi_if = <0>;
lcd_dsi_lane = <4>;
lcd_dsi_format = <0>;
lcd_dsi_te = <0>;
lcd_dsi_eotp = <0>;
lcd_pin_power = "dcdc4";
lcd_power1 = "cldo4";
lcd_power2 = "cldo1";
lcd_gpio_2 = <&pio PD 22 GPIO_ACTIVE_HIGH>; //reset
pinctrl-0 = <&dsi0_4lane_pins_a>;
pinctrl-1 = <&dsi0_4lane_pins_b>;
// lcd_bl_en = <&pio PH 16 GPIO_ACTIVE_HIGH>;
lcd_bl_0_percent = <5>;
};
#else
&lcd1 {
lcd_used = <1>;
lcd_driver_name = "default_lcd";
lcd_backlight = <50>;
lcd_if = <0>;
lcd_x = <800>;
lcd_y = <480>;
lcd_width = <150>;
lcd_height = <94>;
lcd_dclk_freq = <48>;
lcd_pwm_used = <1>;
lcd_pwm_ch = <7>;
lcd_pwm_freq = <50000>;
lcd_pwm_pol = <0>;
lcd_hbp = <55>;
lcd_ht = <1240>;
lcd_hspw = <20>;
lcd_vbp = <35>;
lcd_vt = <650>;
lcd_vspw = <10>;
lcd_lvds_if = <0>;
lcd_lvds_colordepth = <1>;
lcd_lvds_mode = <0>;
lcd_frm = <1>;
lcd_io_phase = <0x0000>;
lcd_gamma_en = <0>;
lcd_bright_curve_en = <0>;
lcd_cmap_en = <0>;
deu_mode = <0>;
lcdgamma4iep = <22>;
smart_color = <90>;
};
#endif
&lcd2 {
lcd_used = <1>;
lcd_driver_name = "bp101wx1";
lcd_backlight = <50>;
lcd_if = <3>;
lcd_x = <1280>;
lcd_y = <800>;
lcd_width = <150>;
lcd_height = <94>;
lcd_dclk_freq = <75>;
lcd_pwm_used = <1>;
lcd_pwm_ch = <5>;
lcd_pwm_freq = <50000>;
lcd_pwm_pol = <0>;
lcd_pwm_max_limit = <255>;
lcd_pwm_name = "lvds2_backlight";
lcd_hbp = <88>;
lcd_ht = <1451>;
lcd_hspw = <18>;
lcd_vbp = <23>;
lcd_vt = <860>;
lcd_vspw = <10>;
lcd_lvds_if = <0>;
lcd_lvds_colordepth = <0>;
lcd_lvds_mode = <0>;
lcd_frm = <0>;
lcd_hv_clk_phase = <0>;
lcd_hv_sync_polarity= <0>;
lcd_gamma_en = <0>;
lcd_bright_curve_en = <0>;
lcd_cmap_en = <0>;
lcd_fsync_en = <0>;
lcd_fsync_pol = <0>;
lcd_start_delay = <5>;
deu_mode = <0>;
lcdgamma4iep = <22>;
smart_color = <90>;
lcd_pin_power = "cldo3";
lcd_power = "dcdc4";
/* lvds_power & other interface power */
lcd_bl_en = <&pio PI 5 GPIO_ACTIVE_HIGH>;
pinctrl-0 = <&lvds2_pins_a>;
pinctrl-1 = <&lvds2_pins_b>;
lvds2_pinctrl-0 = <&lvds2_pins_a>;
lvds2_pinctrl-1 = <&lvds2_pins_b>;
lvds3_pinctrl-0 = <&lvds3_pins_a>;
lvds3_pinctrl-1 = <&lvds3_pins_b>;
dual_lvds1_pinctrl-0 = <&lvds2_pins_a>, <&lvds3_pins_a>;
dual_lvds1_pinctrl-1 = <&lvds2_pins_b>, <&lvds3_pins_b>;
status = "disabled";
};
&edp0 {
compatible = "allwinner,sunxi-dp0";
// use if hardware reset pin is need
/* edp_hw_reset_pin = <&pio PH XX GPIO_ACTIVE_LOW>; */
edp_ssc_en = <0>;
edp_ssc_mode = <0>;
edp_psr_support = <0>;
edp_colordepth = <8>; /* 6/8/10/12/16 */
edp_color_fmt = <0>; /* 0:RGB 1: YUV444 2: YUV422 */
edp_lane_rate = <1>;
edp_lane_cnt = <4>;
lane0_sw = <0>;
lane0_pre = <0>;
lane1_sw = <0>;
lane1_pre = <0>;
lane2_sw = <0>;
lane2_pre = <0>;
lane3_sw = <0>;
lane3_pre = <0>;
efficient_training = <0>;
sink_capacity_prefer = <0>;
edid_timings_prefer = <1>;
timings_fixed = <0>;
edp_traning_param_type = <1>;
edp_timings_type = <0>;
edp_panel_used = <0>;
/*
edp_panel_used = <1>;
edp_panel_driver = "general_panel";
edp_bl_en = <&pio PI 5 GPIO_ACTIVE_HIGH>;
edp_pwm_used = <1>;
edp_pwm_ch = <5>;
edp_pwm_freq = <50000>;
edp_pwm_pol = <0>;
edp_default_backlight = <200>;
edp_panel_power_0 = "edp-panel";
*/
/*
edp_x = <1280>;
edp_y = <800>;
edp_width = <150>;
edp_height = <94>;
edp_dclk_freq = <75>;
edp_hbp = <88>;
edp_ht = <1451>;
edp_hspw = <18>;
edp_vbp = <23>;
edp_vt = <860>;
edp_vspw = <10>;
edp_fps = <30>;
*/
vcc-edp-supply = <®_bldo3>;
vdd-edp-supply = <®_dcdc2>;
edp-panel-supply = <®_dcdc4>;
status = "okay";
};
&ve {
ve-supply = <®_dcdc2>;
enable_setup_ve_freq = <0>; /* default disable */
ve_freq_value = <624>; /* setup to 624MHz */
};
/* audio dirver module -> audio codec */
&codec {
tx-hub-en;
rx-sync-en;
dac-vol = <63>; /* default value:63 range:0->63 */
dacl-vol = <190>; /* default value:160 range:0->255 */
dacr-vol = <190>; /* default value:160 range:0->255 */
adc1-vol = <190>; /* default value:160 range:0->255 */
adc2-vol = <190>; /* default value:160 range:0->255 */
adc3-vol = <190>; /* default value:160 range:0->255 */
lineout-gain = <31>; /* default value:31 range:0->31 */
hpout-gain = <7>; /* default value:7 range:0->7 */
adc1-gain = <31>; /* default value:31 range:0->31 */
adc2-gain = <31>; /* default value:31 range:0->31 */
adc3-gain = <31>; /* default value:31 range:0->31 */
/* to do: avcc-1.8 vdd33-3.3 cpvin-1.8 */
avcc-external;
avcc-supply = <®_aldo4>;
avcc-vol = <1800000>;
vdd-external;
vdd-supply = <®_cldo3>;
vdd-vol = <3300000>;
cpvin-external;
cpvin-supply = <®_bldo3>;
cpvin-vol = <1800000>;
//pa-pin-max = <1>;
//pa-pin-0 = <&r_pio PL 7 GPIO_ACTIVE_HIGH>;
//pa-pin-level-0 = <1>;
//pa-pin-msleep-0 = <0>;
jack-det-level = <0>;
jack-det-threshold = <8>;
jack-det-debouce-time = <250>;
/* extcon = <&usb_power_supply>;
* jack-swpin-mic-sel = <&pio PH 8 GPIO_ACTIVE_HIGH>;
* jack-swpin-hp-en = <&pio PH 15 GPIO_ACTIVE_HIGH>;
* jack-swpin-hp-sel = <&pio PH 11 GPIO_ACTIVE_HIGH>;
* jack-swmode-hp-off = <0x00>;
* jack-swmode-hp-usb = <0x11>;
* jack-swmode-hp-audio = <0x10>;
* jack-det-level = <1>;
* jack-det-threshold = <8>;
* jack-det-debouce-time = <250>;
*/
status = "okay";
};
&codec_plat {
status = "okay";
};
&codec_mach {
soundcard-mach,jack-support = <1>;
status = "okay";
soundcard-mach,cpu {
sound-dai = <&codec_plat>;
};
soundcard-mach,codec {
sound-dai = <&codec>;
};
};
&hdmi_codec {
extcon = <&hdmi>;
status = "okay";
};
&edp_codec {
status = "disabled";
};
/* audio dirver module -> owa */
&owa_plat {
rglt-max = <1>;
rglt0-mode = "PMU";
rglt0-voltage = <3300000>;
rglt0-supply = <®_dcdc4>;
pinctrl-used;
pinctrl-names = "default","sleep";
pinctrl-0 = <&owa_pins_a>;
pinctrl-1 = <&owa_pins_b>;
tx-hub-en;
status = "okay";
};
&owa_mach {
status = "okay";
soundcard-mach,cpu {
sound-dai = <&owa_plat>;
};
soundcard-mach,codec {
};
};
/* audio dirver module -> DMIC */
&dmic_plat {
rx-chmap = <0x76543210>;
data-vol = <0xB0>;
rxdelaytime = <0>;
/* pinctrl-used; */
/* pinctrl-names = "default","sleep"; */
/* pinctrl-0 = <&dmic_pins_a>; */
/* pinctrl-1 = <&dmic_pins_b>; */
rx-sync-en;
status = "disabled";
};
&dmic_mach {
status = "disabled";
soundcard-mach,cpu {
sound-dai = <&dmic_plat>;
};
soundcard-mach,codec {
};
};
/* audio dirver module -> I2S/PCM */
&i2s0_plat {
tdm-num = <0>;
tx-pin = <0>;
rx-pin = <0>;
pinctrl-used;
pinctrl-names = "default","sleep";
pinctrl-0 = <&i2s0_pins_a &i2s0_pins_c &i2s0_pins_d>;
pinctrl-1 = <&i2s0_pins_b>;
tx-hub-en;
rx-sync-en;
status = "disabled";
};
&i2s0_mach {
soundcard-mach,format = "i2s";
soundcard-mach,frame-master = <&i2s0_cpu>;
soundcard-mach,bitclock-master = <&i2s0_cpu>;
/* soundcard-mach,frame-inversion; */
/* soundcard-mach,bitclock-inversion; */
soundcard-mach,slot-num = <2>;
soundcard-mach,slot-width = <32>;
soundcard-mach,capture-only;
status = "disabled";
i2s0_cpu: soundcard-mach,cpu {
sound-dai = <&i2s0_plat>;
/* note: pll freq = 24.576M or 22.5792M * pll-fs */
soundcard-mach,pll-fs = <1>;
/* note:
* mclk freq = mclk-fs * 12.288M or 11.2896M (when mclk-fp ture)
* mclk freq = mclk-fs * pcm rate (when mclk-fp false)
*/
soundcard-mach,mclk-fp;
soundcard-mach,mclk-fs = <1>;
};
i2s0_codec: soundcard-mach,codec {
sound-dai = <&ac107>;
soundcard-mach,pll-fs = <1>;
};
};
&i2s1_plat {
tdm-num = <1>;
tx-pin = <0>;
rx-pin = <0>;
/* pinctrl-used; */
/* pinctrl-names= "default","sleep"; */
/* pinctrl-0 = <&i2s1_pins_a &i2s1_pins_c &i2s1_pins_d>; */
/* pinctrl-1 = <&i2s1_pins_b>; */
tx-hub-en;
rx-sync-en;
status = "disabled";
};
&i2s1_mach {
soundcard-mach,format = "i2s";
soundcard-mach,frame-master = <&i2s1_cpu>;
soundcard-mach,bitclock-master = <&i2s1_cpu>;
/* soundcard-mach,frame-inversion; */
/* soundcard-mach,bitclock-inversion; */
soundcard-mach,slot-num = <2>;
soundcard-mach,slot-width = <32>;
status = "disabled";
i2s1_cpu: soundcard-mach,cpu {
sound-dai = <&i2s1_plat>;
soundcard-mach,pll-fs = <1>;
soundcard-mach,mclk-fs = <0>;
};
i2s1_codec: soundcard-mach,codec {
};
};
&i2s2_plat {
tdm-num = <2>;
tx-pin = <0 1 2 3>;
/* e.g.
* tx-pin0-map0 = <0xFEDC3210> -> tx_pin_map[0][0] (Dout0-slot[7:0] map channel[15:12, 3:0])
* tx-pin0-map1 = <0x3210FEDC> -> tx_pin_map[0][1] (Dout0-slot[15:8] map channel[3:0, 15:12])
* tx-pin1-map0 = <0x76543210> -> tx_pin_map[1][0] (Dout1-slot[7:0] map channel[7:0])
*/
tx-pin0-map0 = <0x76543210>;
tx-pin0-map1 = <0xFEDCBA98>;
tx-pin1-map0 = <0x76543210>;
tx-pin1-map1 = <0xFEDCBA98>;
tx-pin2-map0 = <0x76543210>;
tx-pin2-map1 = <0xFEDCBA98>;
tx-pin3-map0 = <0x76543210>;
tx-pin3-map1 = <0xFEDCBA98>;
rx-pin = <0>;
/* pinctrl-used; */
/* pinctrl-names= "default","sleep"; */
/* pinctrl-0 = <&i2s2_pins_a &i2s2_pins_c &i2s2_pins_d &i2s2_pins_e>; */
/* pinctrl-1 = <&i2s2_pins_b>; */
tx-hub-en;
rx-sync-en;
/* edp not need dai-type */
dai-type = "hdmi";
status = "okay";
};
&i2s2_mach {
soundcard-mach,format = "i2s";
soundcard-mach,frame-master = <&i2s2_cpu>;
soundcard-mach,bitclock-master = <&i2s2_cpu>;
/* soundcard-mach,frame-inversion; */
/* soundcard-mach,bitclock-inversion; */
soundcard-mach,slot-num = <2>;
soundcard-mach,slot-width = <32>;
soundcard-mach,playback-only;
status = "okay";
i2s2_cpu: soundcard-mach,cpu {
sound-dai = <&i2s2_plat>;
soundcard-mach,pll-fs = <1>;
/* edp mclk: 512fs */
soundcard-mach,mclk-fs = <0>;
};
i2s2_codec: soundcard-mach,codec {
sound-dai = <&hdmi_codec>;
};
};
&i2s3_plat {
tdm-num = <3>;
tx-pin = <0>;
rx-pin = <0>;
/* pinctrl-used; */
/* pinctrl-names= "default","sleep"; */
/* pinctrl-0 = <&i2s3_pins_a &i2s3_pins_c &i2s3_pins_d>; */
/* pinctrl-1 = <&i2s3_pins_b>; */
tx-hub-en;
rx-sync-en;
status = "disabled";
};
&i2s3_mach {
soundcard-mach,format = "i2s";
soundcard-mach,frame-master = <&i2s3_cpu>;
soundcard-mach,bitclock-master = <&i2s3_cpu>;
/* soundcard-mach,frame-inversion; */
/* soundcard-mach,bitclock-inversion; */
soundcard-mach,slot-num = <2>;
soundcard-mach,slot-width = <32>;
status = "disabled";
i2s3_cpu: soundcard-mach,cpu {
sound-dai = <&i2s3_plat>;
soundcard-mach,pll-fs = <1>;
soundcard-mach,mclk-fs = <0>;
};
i2s3_codec: soundcard-mach,codec {
};
};
&hdmi {
hdmi_used = <1>;
bldo3-supply = <®_bldo3>;
hdmi_power0 = "bldo3";
hdmi_power_cnt = <1>;
hdmi_hdcp_enable = <1>;
hdmi_hdcp22_enable = <0>;
hdmi_cts_compatibility = <0>;
hdmi_cec_support = <1>;
hdmi_cec_super_standby = <1>;
hdmi_skip_bootedid = <1>;
ddc_en_io_ctrl = <0>;
power_io_ctrl = <0>;
};
&cpu0 {
cpu-supply = <®_dcdc1>;
};
&dsufreq {
dsu-supply = <®_dcdc1>;
};
&mdio0 {
status = "okay";
gmac0_phy0: ethernet-phy@5 {
reg = <0x5>;
max-speed = <1000>;
/* PHY datasheet rst time */
reset-assert-us = <10000>;
reset-deassert-us = <150000>;
};
};
&gmac0 {
phy-mode = "rgmii";
pinctrl-names = "default", "sleep";
pinctrl-0 = <&gmac0_pins_default>;
pinctrl-1 = <&gmac0_pins_sleep>;
sunxi,phy-clk-type = <0>;
tx-delay = <0>;
rx-delay = <0>;
phy-handle = <&gmac0_phy0>;
gmac3v3-supply = <®_dcdc4>;
status = "okay";
};
&gmac1 {
phy-mode = "rgmii";
phy-handle = <&gmac1_phy0>;
pinctrl-names = "default", "sleep";
pinctrl-0 = <&gmac1_pins_default>;
pinctrl-1 = <&gmac1_pins_sleep>;
aw,soc-phy25m;
tx-delay = <0>;
rx-delay = <0>;
snps,reset-gpios = <&pio PJ 17 GPIO_ACTIVE_LOW>;
snps,phy-addr = <0x6>;
dwmac3v3-supply = <®_dcdc4>;
status = "okay";
mdio1: mdio1@1 {
snps,reset-gpios = <&pio PJ 17 GPIO_ACTIVE_LOW>;
gmac1_phy0: ethernet-phy@6 {
snps,reset-gpios = <&pio PJ 17 GPIO_ACTIVE_LOW>;
reg = <0x6>;
max-speed = <1000>;
/* PHY datasheet rst time */
reset-assert-us = <10000>;
reset-deassert-us = <150000>;
};
};
};
&npu {
npu-supply = <®_ext_axp1530_dcdc3>;
npu_vol = <1050000>;
clock-frequency = <696000000>;
status = "okay";
};
&dram {
dram_para00 = <0x00000000>;
dram_para01 = <0x00000000>;
dram_para02 = <0x00000000>;
dram_para03 = <0x00000000>;
dram_para04 = <0x00000000>;
dram_para05 = <0x00000000>;
dram_para06 = <0x00000000>;
dram_para07 = <0x00000000>;
dram_para08 = <0x00000000>;
dram_para09 = <0x00000000>;
dram_para10 = <0x00000000>;
dram_para11 = <0x00000000>;
dram_para12 = <0x00000000>;
dram_para13 = <0x00000000>;
dram_para14 = <0x00000000>;
dram_para15 = <0x00000000>;
dram_para16 = <0x00000000>;
dram_para17 = <0x00000000>;
dram_para18 = <0x00000000>;
dram_para19 = <0x00000000>;
dram_para20 = <0x00000000>;
dram_para21 = <0x00000000>;
dram_para22 = <0x00000000>;
dram_para23 = <0x00000000>;
dram_para24 = <0x00000000>;
dram_para25 = <0x00000000>;
dram_para26 = <0x00000000>;
dram_para27 = <0x00000000>;
dram_para28 = <0x00000000>;
dram_para29 = <0x00000000>;
dram_para30 = <0x00000000>;
dram_para31 = <0x00000000>;
dram_para32 = <0x00000000>;
dram_para33 = <0x00000000>;
dram_para34 = <0x00000000>;
dram_para35 = <0x00000000>;
dram_para36 = <0x00000000>;
dram_para37 = <0x00000000>;
dram_para38 = <0x00000000>;
dram_para39 = <0x00000000>;
dram_para40 = <0x00000000>;
dram_para41 = <0x00000000>;
dram_para42 = <0x00000000>;
dram_para43 = <0x00000000>;
dram_para44 = <0x00000000>;
dram_para45 = <0x00000000>;
dram_para46 = <0x00000000>;
dram_para47 = <0x00000000>;
dram_para48 = <0x00000000>;
dram_para49 = <0x00000000>;
dram_para50 = <0x00000000>;
dram_para51 = <0x00000000>;
dram_para52 = <0x00000000>;
dram_para53 = <0x00000000>;
dram_para54 = <0x00000000>;
dram_para55 = <0x00000000>;
dram_para56 = <0x00000000>;
dram_para57 = <0x00000000>;
dram_para58 = <0x00000000>;
dram_para59 = <0x00000000>;
dram_para60 = <0x00000000>;
dram_para61 = <0x00000000>;
dram_para62 = <0x00000000>;
dram_para63 = <0x00000000>;
dram_para64 = <0x00000000>;
dram_para65 = <0x00000000>;
dram_para66 = <0x00000000>;
dram_para67 = <0x00000000>;
dram_para68 = <0x00000000>;
dram_para69 = <0x00000000>;
dram_para70 = <0x00000000>;
dram_para71 = <0x00000000>;
dram_para72 = <0x00000000>;
dram_para73 = <0x00000000>;
dram_para74 = <0x00000000>;
dram_para75 = <0x00000000>;
dram_para76 = <0x00000000>;
dram_para77 = <0x00000000>;
dram_para78 = <0x00000000>;
dram_para79 = <0x00000000>;
dram_para80 = <0x00000000>;
dram_para81 = <0x00000000>;
dram_para82 = <0x00000000>;
dram_para83 = <0x00000000>;
dram_para84 = <0x00000000>;
dram_para85 = <0x00000000>;
dram_para86 = <0x00000000>;
dram_para87 = <0x00000000>;
dram_para88 = <0x00000000>;
dram_para89 = <0x00000000>;
dram_para90 = <0x00000000>;
dram_para91 = <0x00000000>;
dram_para92 = <0x00000000>;
dram_para93 = <0x00000000>;
dram_para94 = <0x00000000>;
dram_para95 = <0x00000000>;
};
#if 0
#include "myir-lt527-lvds-10-inch.dtsi "
#else
#include "myir-lt527-lvds-7-inch.dtsi"
#endif
myb-lt527-i-gk.dts:
/*
* Allwinner Technology CO., Ltd.
*/
/dts-v1/;
#include "sun55iw3p1.dtsi"
#include <uapi/linux/input-event-codes.h>
/{
board = "T527", "T527-DEMO-AXP717B";
compatible = "allwinner,t527", "arm,sun55iw3p1";
aliases {
pmu0 = &pmu0;
serial0 = &uart0;
hdmi = &hdmi;
reg-tcs0 = ®_tcs0;
reg-sy0 = ®_sy0;
reg-axp1530 = ®_ext_axp1530_dcdc1;
tcs0 = &tcs0;
sy0 = &sy0;
axp1530 = &axp1530;
cpu-ext = &cpu4;
standby-param = &standby_param;
arisc-config = &arisc_config;
cir_param = &cir_param;
};
/*
reg_usb0_vbus: usb0-vbus {
compatible = "regulator-fixed";
regulator-name = "usb0-vbus";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
regulator-enable-ramp-delay = <1000>;
gpio = <&pio PB 12 GPIO_ACTIVE_HIGH>;
enable-active-high;
};
*/
/*
reg_usb1_vbus: usb1-vbus {
compatible = "regulator-fixed";
regulator-name = "usb1-vbus";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
regulator-enable-ramp-delay = <1000>;
gpio = <&pio PB 3 GPIO_ACTIVE_HIGH>;
enable-active-high;
};
*/
reg_vdd_4g_3v8: vdd_4g_3v8 {
compatible = "regulator-fixed";
regulator-name = "vdd_4g_3v8";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
regulator-enable-ramp-delay = <1000>;
gpio = <&pio PI 13 GPIO_ACTIVE_HIGH>;
enable-active-high;
regulator-always-on;
regulator-boot-on;
};
standby_param: standby_param {
vdd-cpu = <0x00000001>;
vdd-cpub = <0x00000001>;
vdd-sys = <0x00000002>;
vcc-pll = <0x00000080>;
vcc-io = <0x00004000>;
osc24m-on = <0x0>;
dsp-standby-en = <0x1>;
};
cir_param: cir_param {
gpio_group = <1>; /* 0:PL 1:PM */
gpio_pin = <11>;
gpio_function = <2>;
count = <15>;
ir_power_key_code0 = <0x40>;
ir_addr_code0 = <0xfe01>;
ir_power_key_code1 = <0x1a>;
ir_addr_code1 = <0xfb04>;
ir_power_key_code2 = <0xf2>;
ir_addr_code2 = <0x2992>;
ir_power_key_code3 = <0x57>;
ir_addr_code3 = <0x9f00>;
ir_power_key_code4 = <0xdc>;
ir_addr_code4 = <0x4cb3>;
ir_power_key_code5 = <0x18>;
ir_addr_code5 = <0xff00>;
ir_power_key_code6 = <0xdc>;
ir_addr_code6 = <0xdd22>;
ir_power_key_code7 = <0x0d>;
ir_addr_code7 = <0xbc00>;
ir_power_key_code8 = <0x4d>;
ir_addr_code8 = <0x4040>;
ir_power_key_code9 = <0x08>;
ir_addr_code9 = <0xfb04>;
ir_power_key_code10 = <0x00>;
ir_addr_code10 = <0xfc03>;
ir_power_key_code11 = <0x00>;
ir_addr_code11 = <0xbf00>;
ir_power_key_code12 = <0xea>;
ir_addr_code12 = <0xfb04>;
ir_power_key_code13 = <0x42>;
ir_addr_code13 = <0xbf00>;
ir_power_key_code14 = <0x0f>;
ir_addr_code14 = <0xff00>;
};
arisc_config: arisc_config {
s_uart_config {
pins = "PL2", "PL3";
function = <2>, <2>;
status = "disabled";
};
};
reserved-memory {
dsp0ddr_reserved: dsp0ddr@4a000000 {
reg = <0x0 0x4a000000 0x0 0x00a00000>;
no-map;
};
riscvsram0_reserved: riscvsram0@7280000 {
reg = <0x0 0x07280000 0x0 0x40000>;
no-map;
};
riscvsram1_reserved: riscvsram1@72c0000 {
reg = <0x0 0x072c0000 0x0 0x40000>;
no-map;
};
/*
* The name should be "vdev%dbuffer".
* Its size should be not less than
* RPMSG_BUF_SIZE * (num of buffers in a vring) * 2
* = 512 * (num of buffers in a vring) * 2
*/
dsp_vdev0buffer: vdev0buffer@4ac00000 {
compatible = "shared-dma-pool";
reg = <0x0 0x4ac00000 0x0 0x40000>;
no-map;
};
/*
* The name should be "vdev%dvring%d".
* The size of each should be not less than
* PAGE_ALIGN(vring_size(num, align))
* = PAGE_ALIGN(16 * num + 6 + 2 * num + (pads for align) + 6 + 8 * num)
*
* (Please refer to the vring layout in include/uapi/linux/virtio_ring.h)
*/
dsp_vdev0vring0: vdev0vring0@4ac40000 {
reg = <0x0 0x4ac40000 0x0 0x2000>;
no-map;
};
dsp_vdev0vring1: vdev0vring1@4ac42000 {
reg = <0x0 0x4ac42000 0x0 0x2000>;
no-map;
};
/*
* The name should be "vdev%dbuffer".
* Its size should be not less than
* RPMSG_BUF_SIZE * (num of buffers in a vring) * 2
* = 512 * (num of buffers in a vring) * 2
*/
rv_vdev0buffer: vdev0buffer@4ae00000 {
compatible = "shared-dma-pool";
reg = <0x0 0x4ae00000 0x0 0x40000>;
no-map;
};
/*
* The name should be "vdev%dvring%d".
* The size of each should be not less than
* PAGE_ALIGN(vring_size(num, align))
* = PAGE_ALIGN(16 * num + 6 + 2 * num + (pads for align) + 6 + 8 * num)
*
* (Please refer to the vring layout in include/uapi/linux/virtio_ring.h)
*/
rv_vdev0vring0: vdev0vring0@4ae40000 {
reg = <0x0 0x4ae40000 0x0 0x2000>;
no-map;
};
rv_vdev0vring1: vdev0vring1@4ae42000 {
reg = <0x0 0x4ae42000 0x0 0x2000>;
no-map;
};
/*
* dsp ram addr
*/
dsp0iram_reserved: dsp0iram@20000 {
reg = <0x0 0x20000 0x0 0x10000>;
no-map;
};
dsp0dram0_reserved: dsp0dram0@30000 {
reg = <0x0 0x30000 0x0 0x8000>;
no-map;
};
dsp0dram1_reserved: dsp0dram1@38000 {
reg = <0x0 0x38000 0x0 0x8000>;
no-map;
};
dsp0_rpbuf_reserved: dsp0_rpbuf@4ae44000 {
compatible = "shared-dma-pool";
no-map;
reg = <0x0 0x4ae44000 0x0 0x8000>;
};
dsp_share_space@4ab00000 {
no-map;
reg = <0x0 0x4ab00000 0x0 0x10000>;
};
};
rpbuf_controller0: rpbuf_controller@0 {
compatible = "allwinner,rpbuf-controller";
remoteproc = <&dsp0_rproc>;
ctrl_id = <0>;
memory-region = <&dsp0_rpbuf_reserved>;
status = "okay";
};
ap6256_wifi: ap6256_wifi {
compatible = "android,bcmdhd_wlan";
gpio_wl_reg_on = <&pio PC 3 GPIO_ACTIVE_HIGH>;
gpio_wl_host_wake = <&pio PC 7 GPIO_ACTIVE_HIGH>;
};
gpio-keys {
compatible = "gpio-keys";
status = "okay";
vol-down-key {
gpios = <&pio PI 11 GPIO_ACTIVE_LOW>;
linux,code = <114>;
label = "user key";
debounce-interval = <10>;
wakeup-source = <0x1>;
gpio-key,wakeup;
};
};
leds {
compatible = "gpio-leds";
pinctrl-names = "default";
status = "okay";
led0: led-green {
label = "green";
gpios = <&pio PB 6 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>;
linux,defaults-trigger = "heartbeat";
defaults-state = "on";
};
led1: led-red {
label = "red";
gpios = <&pio PB 7 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>;
linux,defaults-trigger = "heartbeat";
defaults-state = "on";
};
};
};
&r_pio {
uart8_pins_a: uart8_pins@0 {
pins = "PL12", "PL13";
function = "s_uart0";
};
uart8_pins_b: uart8_pins@1 {
pins = "PL12", "PL13";
function = "gpio_in";
};
uart9_pins_a: uart9_pins@0 {
pins = "PL2", "PL3";
function = "s_uart1";
};
uart9_pins_b: uart9_pins@1 {
pins = "PL2", "PL3";
function = "gpio_in";
};
s_twi0_pins_default: s_twi0@0 {
pins = "PL0", "PL1";
function = "s_twi0";
drive-strength = <10>;
bias-pull-up;
};
s_twi0_pins_sleep: s_twi0@1 {
pins = "PL0", "PL1";
function = "gpio_in";
};
s_twi1_pins_default: s_twi1@0 {
pins = "PL8", "PL9";
function = "s_twi1";
drive-strength = <10>;
bias-pull-up;
};
s_twi1_pins_sleep: s_twi1@1 {
pins = "PL8", "PL9";
function = "gpio_in";
};
s_twi2_pins_default: s_twi2@0 {
pins = "PM4", "PM5";
function = "s_twi2";
drive-strength = <20>;
bias-pull-up;
};
s_twi2_pins_sleep: s_twi2@1 {
pins = "PM4", "PM5";
function = "gpio_in";
};
s_irrx_pins_default: s_irrx@0 {
pins = "PL11";
function = "s_cir";
};
s_irrx_pins_sleep: s_irrx@1 {
pins = "PL11";
function = "gpio_in";
};
};
&pio {
vcc-pg-supply = <®_pio1_8>;
vcc-pf-supply = <®_pio1_8>;
vcc-pfo-supply = <®_pio3_3>;
vcc-pd-supply = <®_pio3_3>;
vcc-pe-supply = <®_pio3_3>;
vcc-pi-supply = <®_pio3_3>;
vcc-pj-supply = <®_pio3_3>;
vcc-pk-supply = <®_pio3_3>;
uart0_pins_a: uart0_pins@0 {
pins = "", "";
function = "uart0";
};
uart0_pins_b: uart0_pins@1 {
pins = "", "";
function = "gpio_in";
};
uart2_pins_a: uart2_pins@0 {
pins = "PB0", "PB1";
function = "uart2";
};
uart2_pins_b: uart2_pins@1 {
pins = "PB0", "PB1";
function = "gpio_in";
};
uart3_pins_a: uart3_pins@0 {
pins = "PJ20", "PJ21", "PJ22", "PJ23";
function = "uart3";
};
uart3_pins_b: uart3_pins@1 {
pins = "PJ20", "PJ21", "PJ22", "PJ23";
function = "gpio_in";
};
uart4_pins_a: uart4_pins@0 {
pins = "PE1", "PE2"; // "PE3", "PE4";
function = "uart4";
};
uart4_pins_b: uart4_pins@1 {
pins = "PE1", "PE2"; // "PE3", "PE4";
function = "gpio_in";
};
uart5_pins_a: uart5_pins@0 {
//pins = "PE13", "PE14";
//function = "uart5";
pins = "";
};
uart5_pins_b: uart5_pins@1 {
//pins = "PE13", "PE14";
//function = "gpio_in";
pins = "";
};
uart6_pins_a: uart6_pins@0 {
pins = "PE11", "PE12";
function = "uart6";
};
uart6_pins_b: uart6_pins@1 {
pins = "PE11", "PE12";
function = "gpio_in";
};
uart7_pins_a: uart7_pins@0 {
pins = "PB11", "PB12", "PB13", "PB14";
function = "uart7";
};
uart7_pins_b: uart7_pins@1 {
pins = "PB11", "PB12", "PB13", "PB14";
function = "gpio_in";
};
a_pwm0_pin_active: a_pwm0@0 {
pins = "PD23";
function = "pwm0";
};
a_pwm0_pin_sleep: a_pwm0@1 {
pins = "PD23";
function = "gpio_in";
bias-pull-down;
};
a_pwm1_pin_active: a_pwm1@0 {
pins = "PD22";
function = "pwm1";
};
a_pwm1_pin_sleep: a_pwm1@1 {
pins = "PD22";
function = "gpio_in";
bias-pull-down;
};
a_pwm2_pin_active: a_pwm2@0 {
pins = "PB11";
function = "pwm2";
};
a_pwm2_pin_sleep: a_pwm2@1 {
pins = "PB11";
function = "gpio_in";
bias-pull-down;
};
a_pwm3_pin_active: a_pwm3@0 {
pins = "PB12";
function = "pwm3";
};
a_pwm3_pin_sleep: a_pwm3@1 {
pins = "PB12";
function = "gpio_in";
bias-pull-down;
};
a_pwm4_pin_active: a_pwm4@0 {
pins = "PI3";
function = "pwm4";
};
a_pwm4_pin_sleep: a_pwm4@1 {
pins = "PI3";
function = "gpio_in";
bias-pull-down;
};
a_pwm5_pin_active: a_pwm5@0 {
pins = "PI4";
function = "pwm5";
};
a_pwm5_pin_sleep: a_pwm5@1 {
pins = "PI4";
function = "gpio_in";
bias-pull-down;
};
a_pwm10_pin_active: a_pwm10@0 {
pins = "PI9";
function = "pwm10";
};
a_pwm10_pin_sleep: a_pwm10@1 {
pins = "PI9";
function = "gpio_in";
bias-pull-down;
};
ledc_pins_a: ledc@0 {
pins = "PG0";
function = "ledc";
drive-strength = <10>;
};
ledc_pins_b: ledc@1 {
pins = "PG0";
function = "gpio_in";
};
irrx_pins_default: irrx@0 {
pins = "PI8";
function = "cir";
};
irrx_pins_sleep: irrx@1 {
pins = "PI8";
function = "gpio_in";
};
irtx_pins_default: irtx@0 {
pins = "PH18";
function = "cir";
};
irtx_pins_sleep: irtx@1 {
pins = "PH18";
function = "gpio_in";
};
twi0_pins_default: twi0@0 {
pins = "PD22", "PD23";
function = "twi0";
drive-strength = <10>;
bias-pull-up;
};
twi0_pins_sleep: twi0@1 {
pins = "PD22", "PD23";
function = "gpio_in";
};
twi1_pins_default: twi1@0 {
pins = "PB4", "PB5";
function = "twi1";
drive-strength = <10>;
bias-pull-up;
};
twi1_pins_sleep: twi1@1 {
pins = "PB4", "PB5";
function = "gpio_in";
};
twi2_pins_default: twi2@0 {
pins = "PE1", "PE2";
function = "twi2";
drive-strength = <20>;
bias-pull-up;
};
twi2_pins_sleep: twi2@1 {
pins = "PE1", "PE2";
function = "gpio_in";
};
twi3_pins_default: twi3@0 {
pins = "PE3", "PE4";
function = "twi3";
drive-strength = <20>;
bias-pull-up;
};
twi3_pins_sleep: twi3@1 {
pins = "PE3", "PE4";
function = "gpio_in";
};
twi4_pins_default: twi4@0 {
pins = "PI0", "PI1";
function = "twi4";
drive-strength = <10>;
bias-pull-up;
};
twi4_pins_sleep: twi4@1 {
pins = "PI0", "PI1";
function = "gpio_in";
};
twi5_pins_default: twi5@0 {
pins = "PJ26", "PJ27";
function = "twi5";
drive-strength = <10>;
bias-pull-up;
};
twi5_pins_sleep: twi5@1 {
pins = "PJ26", "PJ27";
function = "gpio_in";
};
owa_pins_a: owa@0 {
pins = "PI10";
function = "owa";
drive-strength = <20>;
bias-disable;
};
owa_pins_b: owa@1 {
pins = "PI10";
function = "io_disabled";
drive-strength = <20>;
bias-disable;
};
i2s0_pins_a: i2s0@0 {
pins = "PB4", "PB5", "PB6", "PB7", "PB8";
function = "i2s0";
drive-strength = <20>;
bias-disable;
};
i2s0_pins_b: i2s0@1 {
pins = "PB4", "PB5", "PB6", "PB7", "PB8";
function = "io_disabled";
drive-strength = <20>;
bias-disable;
};
i2s1_pins_a: i2s1@0 {
pins = "PG10", "PG11", "PG12", "PG13", "PG14";
function = "i2s1";
drive-strength = <20>;
bias-disable;
};
i2s1_pins_b: i2s1@1 {
pins = "PG10", "PG11", "PG12", "PG13", "PG14";
function = "io_disabled";
drive-strength = <20>;
bias-disable;
};
i2s2_pins_a: i2s2@0 {
pins = "PH2", "PH3", "PH8", "PH9", "PH10", "PH11", "PH12";
function = "i2s2";
drive-strength = <20>;
bias-disable;
};
i2s2_pins_b: i2s2@1 {
pins = "PH2", "PH3", "PH8", "PH9", "PH10", "PH11", "PH12";
function = "io_disabled";
drive-strength = <20>;
bias-disable;
};
i2s3_pins_a: i2s3@0 {
pins = "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6";
function = "i2s3";
drive-strength = <20>;
bias-disable;
};
i2s3_pins_b: i2s3@1 {
pins = "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6";
function = "io_disabled";
drive-strength = <20>;
bias-disable;
};
rgb24_pins_a: rgb24@0 {
pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", \
"PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PD16", "PD17", "PD18", "PD19", \
"PD20", "PD21", "PD22","PD23","PD24","PD25","PD26","PD27";
function = "dpss";
drive-strength = <30>;
};
rgb24_pins_b: rgb24@1 {
pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", \
"PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PD16", "PD17", "PD18", "PD19", \
"PD20", "PD21", "PD22", "PD23","PD24","PD25","PD26","PD27";
function = "gpio_in";
};
lvds0_pins_a: lvds0@0 {
pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9";
function = "lvds0";
drive-strength = <30>;
};
lvds0_pins_b: lvds0@1 {
pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9";
function = "gpio_in";
};
nand0_pins_default: nand0@0 {
pins = "PC0", "PC1", "PC2", "PC5",
"PC8", "PC9", "PC10", "PC11",
"PC12", "PC13", "PC14", "PC15",
"PC16";
function = "nand0";
drive-strength = <30>;
};
nand0_pins_rb: nand0@1 {
pins = "PC4", "PC6", "PC3", "PC7";
function = "nand0";
drive-strength = <30>;
bias-pull-up; /* only RB&CE should be pulled up */
};
nand0_pins_sleep: nand0@2 {
pins = "PC0", "PC1", "PC2", "PC3",
"PC4", "PC5", "PC6", "PC7",
"PC8", "PC9", "PC10", "PC11",
"PC12", "PC13", "PC14", "PC15",
"PC16";
function = "io_disabled";
drive-strength = <10>;
};
gmac0_pins_default: gmac0@0 {
pins = "PH0", "PH1", "PH2", "PH3",
"PH4", "PH5", "PH6", "PH7",
"PH9", "PH10","PH13","PH14",
"PH15","PH16","PH17","PH18";
drive-strength = <40>;
function = "gmac0";
bias-pull-up;
};
gmac0_pins_sleep: gmac0@1 {
pins = "PH0", "PH1", "PH2", "PH3",
"PH4", "PH5", "PH6", "PH7",
"PH9", "PH10","PH13","PH14",
"PH15","PH16","PH17","PH18";
function = "gpio_in";
};
gmac1_pins_default: gmac1@0 {
pins = "PJ0", "PJ1", "PJ2", "PJ3",
"PJ4", "PJ5", "PJ6", "PJ7",
"PJ8", "PJ9", "PJ10", "PJ11",
"PJ12","PJ13", "PJ14", "PJ15";
drive-strength = <40>;
function = "gmac1";
bias-pull-up;
};
gmac1_pins_sleep: gmac1@1 {
pins = "PJ0", "PJ1", "PJ2", "PJ3",
"PJ4", "PJ5", "PJ6", "PJ7",
"PJ8", "PJ9", "PJ10", "PJ11",
"PJ12","PJ13", "PJ14", "PJ15";
function = "gpio_in";
};
spi1_pin_default: spi1_pin_default{
pins = "PI2","PI3","PI4","PI5";
function = "spi1";
};
spi1_pin_sleep: spi1_pin_sleep{
pins = "PI2","PI3","PI4","PI5";
function = "gpio_in";
};
spi2_pin_default: spi2_default {
pins = "PI6","PI7","PI8","PI12";
function = "spi2";
};
spi2_pin_sleep: spi2_sleep {
pins = "PI6","PI7","PI8","PI12";
function = "gpio_in";
};
};
&spi1 {
clock-frequency = <100000000>;
pinctrl-names = "default","sleep";
pinctrl-0 = <&spi1_pin_default>;
pinctrl-1 = <&spi1_pin_sleep>;
sunxi,spi-num-cs = <1>;
sunxi,spi-bus-mode = <SUNXI_SPI_BUS_MASTER>;
sunxi,spi-cs-mode = <SUNXI_SPI_CS_AUTO>;
status = "okay";
spidev1 {
reg = <0>;
compatible = "rohm,dh2228fv";
spi-max-frequency = <500000>;
spi-rx-bus-width = <0x1>;
spi-tx-bus-width = <0x1>;
};
};
&spi2{
clock-frequency = <100000000>;
pinctrl-names = "default","sleep";
pinctrl-0 = <&spi2_pin_default>;
pinctrl-1 = <&spi2_pin_sleep>;
sunxi,spi-num-cs = <1>;
sunxi,spi-bus-mode = <SUNXI_SPI_BUS_MASTER>;
sunxi,spi-cs-mode = <SUNXI_SPI_CS_AUTO>;
status = "okay";
spidev2 {
reg = <0>;
compatible = "rohm,dh2228fv";
spi-max-frequency = <500000>;
spi-rx-bus-width = <0x1>;
spi-tx-bus-width = <0x1>;
};
};
&soc {
auto_print@54321 {
reg = <0x0 0x54321 0x0 0x0>;
device_type = "auto_print";
status = "okay";
};
car_reverse: car-reverse {
compatible = "allwinner,sunxi-car-reverse";
/* video source setting*/
video_channel = <0>;
video_source = <0>;
format_type = <0>;
video_source_width = <1920>;
video_source_height = <1080>;
src_size_adaptive = <1>;
/* display setting */
overview_type = <1>;
screen_width = <1280>;
screen_height = <800>;
screen_size_adaptive = <1>;
discard_frame = <0>;
di_used = <0>;
g2d_used = <1>;
rotation = <0>;
/* auxiliary line setting */
auxiliary_line_type = <1>;
aux_angle = <0>;
aux_lr = <0>;
reverse_int_pin = <&pio PI 15 GPIO_ACTIVE_HIGH>;
status = "disabled";
};
dsp0_rproc: dsp0_rproc@0 {
mboxes = <&msgbox 4>, <&msgbox 6>;
mbox-names = "arm-kick", "dsp-standby";
memory-region = <&dsp0ddr_reserved>, <&dsp_vdev0buffer>, <&dsp_vdev0vring0>, <&dsp_vdev0vring1>,
<&dsp0iram_reserved>, <&dsp0dram0_reserved>, <&dsp0dram1_reserved>;
memory-mappings =
/* < DA len PA > */
/* local SRAM via external bus */
< 0x20000 0x20000 0x20000 >,
/* local SRAM via internal bus */
< 0x400000 0x10000 0x20000 >,
< 0x420000 0x8000 0x30000 >,
< 0x440000 0x8000 0x38000 >,
/* DDR front 256MB */
< 0x10000000 0x10000000 0x40000000 >,
/* local SRAM via internal bus */
< 0x20020000 0x10000 0x400000 >,
< 0x20030000 0x8000 0x420000 >,
< 0x20038000 0x8000 0x440000 >,
/* DDR front 256MB */
< 0x30000000 0x10000000 0x40000000 >,
/* DDR front 1GB */
< 0x40000000 0x40000000 0x40000000 >,
/* DDR front 1GB */
< 0x80000000 0x40000000 0x40000000 >,
/* DDR front 1GB */
< 0xC0000000 0x40000000 0x40000000 >;
standby-ctrl-en = <0x1>;
standby-record-reg = <0x07090110>;
status = "okay";
};
e906_rproc: e906_rproc@7130000 {
mboxes = <&msgbox 8>;
mbox-names = "arm-kick";
memory-region = <&riscvsram0_reserved>, <&riscvsram1_reserved>, <&rv_vdev0buffer>, <&rv_vdev0vring0>, <&rv_vdev0vring1>;
memory-mappings =
/* < DA len PA > */
/* DSP RAM */
< 0x20000 0x20000 0x20000 >,
/* SRAM A2 */
< 0x40000 0x24000 0x40000 >,
/* DDR */
< 0x8000000 0x37f00000 0x8000000 >,
/* SRAM SPACE 0 */
< 0x3ffc0000 0x40000 0x07280000 >,
/* SRAM SPACE 1 */
< 0x40000000 0x40000 0x072c0000 >,
/* DRAM SPACE */
< 0x40040000 0x3ffc0000 0x40040000>;
status = "okay";
};
};
&uart0 {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&uart0_pins_a>;
pinctrl-1 = <&uart0_pins_b>;
uart-supply = <®_cldo3>;
status = "okay";
};
&uart1 {
status = "disabled";
};
&uart2 {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&uart2_pins_a>;
pinctrl-1 = <&uart2_pins_b>;
status = "okay";
};
&uart3 {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&uart3_pins_a>;
pinctrl-1 = <&uart3_pins_b>;
status = "okay";
};
&uart4 {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&uart4_pins_a>;
pinctrl-1 = <&uart4_pins_b>;
uart4_type = <2>; //io_num
sunxi,uart-rs485 = <1>;
sunxi,uart-485fl = <0>;
//sunxi,uart-485oe-gpios = <&pio PE 3 1 0xffffffff 0xffffffff 0>;
sunxi,uart-485oe-gpios = <&pio PE 3 GPIO_ACTIVE_HIGH>;
status = "okay";
};
&uart5 {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&uart5_pins_a>;
pinctrl-1 = <&uart5_pins_b>;
status = "disabled";
};
&uart6 {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&uart6_pins_a>;
pinctrl-1 = <&uart6_pins_b>;
uart6_type = <2>; //io_num
sunxi,uart-rs485 = <1>;
sunxi,uart-485fl = <0>;
//sunxi,uart-485oe-gpios = <&pio PE 13 1 0xffffffff 0xffffffff 0>;
sunxi,uart-485oe-gpios = <&pio PE 13 GPIO_ACTIVE_HIGH>;
status = "okay";
};
&uart7 {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&uart7_pins_a>;
pinctrl-1 = <&uart7_pins_b>;
status = "okay";
};
&uart8 {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&uart8_pins_a>;
pinctrl-1 = <&uart8_pins_b>;
status = "okay";
};
&uart9 {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&uart9_pins_a>;
pinctrl-1 = <&uart9_pins_b>;
status = "okay";
};
&lradc {
key_cnt = <2>;
key0 = <210 0x73>;
key1 = <410 0x72>;
key_debounce;
debounce_value = <50>;
status = "okay";
};
&irrx {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&irrx_pins_default>;
pinctrl-1 = <&irrx_pins_sleep>;
irrx-supply = <®_dcdc4>;
status = "disabled";
};
&s_irrx {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&s_irrx_pins_default>;
pinctrl-1 = <&s_irrx_pins_sleep>;
status = "okay";
};
&irtx {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&irtx_pins_default>;
pinctrl-1 = <&irtx_pins_sleep>;
status = "disabled";
};
&gpadc0 {
channel_num = <2>;
channel_select = <3>;
channel_data_select = <3>;
channel_compare_select = <3>;
channel_cld_select = <3>;
channel_chd_select = <3>;
channel0_compare_lowdata = <1700000>;
channel0_compare_higdata = <1200000>;
channel1_compare_lowdata = <460000>;
channel1_compare_higdata = <1200000>;
status = "disabled";
};
&gpadc1 {
channel_num = <2>;
channel_select = <3>;
channel_data_select = <3>;
channel_compare_select = <3>;
channel_cld_select = <3>;
channel_chd_select = <3>;
channel0_compare_lowdata = <1700000>;
channel0_compare_higdata = <1200000>;
channel1_compare_lowdata = <460000>;
channel1_compare_higdata = <1200000>;
status = "disabled";
};
&a_pwm0 {
pinctrl-names = "active", "sleep";
pinctrl-0 = <&a_pwm0_pin_active>;
pinctrl-1 = <&a_pwm0_pin_sleep>;
pwm-supply = <®_dcdc4>;
status = "okay";
};
&a_pwm1 {
pinctrl-names = "active", "sleep";
pinctrl-0 = <&a_pwm1_pin_active>;
pinctrl-1 = <&a_pwm1_pin_sleep>;
pwm-supply = <®_dcdc4>;
status = "disabled";
};
&a_pwm2 {
pinctrl-names = "active", "sleep";
pinctrl-0 = <&a_pwm2_pin_active>;
pinctrl-1 = <&a_pwm2_pin_sleep>;
pwm-supply = <®_dcdc4>;
status = "disabled";
};
&a_pwm3 {
pinctrl-names = "active", "sleep";
pinctrl-0 = <&a_pwm3_pin_active>;
pinctrl-1 = <&a_pwm3_pin_sleep>;
pwm-supply = <®_dcdc4>;
status = "disabled";
};
&a_pwm4 {
pinctrl-names = "active", "sleep";
pinctrl-0 = <&a_pwm4_pin_active>;
pinctrl-1 = <&a_pwm4_pin_sleep>;
pwm-supply = <®_dcdc4>;
status = "disabled";
};
&a_pwm5 {
pinctrl-names = "active", "sleep";
pinctrl-0 = <&a_pwm5_pin_active>;
pinctrl-1 = <&a_pwm5_pin_sleep>;
pwm-supply = <®_dcdc4>;
status = "disabled";
};
&a_pwm10 {
pinctrl-names = "active", "sleep";
pinctrl-0 = <&a_pwm10_pin_active>;
pinctrl-1 = <&a_pwm10_pin_sleep>;
pwm-supply = <®_dcdc4>;
status = "okay";
};
&ledc {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&ledc_pins_a>;
pinctrl-1 = <&ledc_pins_b>;
led_count = <34>;
output_mode = "GRB";
reset_ns = <84>;
t1h_ns = <800>;
t1l_ns = <320>;
t0h_ns = <300>;
t0l_ns = <800>;
wait_time0_ns = <84>;
wait_time1_ns = <84>;
wait_data_time_ns = <600000>;
status = "disabled";
};
&twi0 {
clock-frequency = <400000>;
pinctrl-0 = <&twi0_pins_default>;
pinctrl-1 = <&twi0_pins_sleep>;
pinctrl-names = "default", "sleep";
/* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 1 */
twi_drv_used = <1>;
twi-supply = <®_dcdc4>;
status = "okay";
pcie_usb_phy@74 {
compatible = "combphy,phy74";
reg = <0x74>;
status = "disabled";
};
pcie_usb_phy@75 {
compatible = "combphy,phy75";
reg = <0x75>;
status = "disabled";
};
ctp {
compatible = "allwinner,goodix";
reg = <0x5d>;
device_type = "ctp";
status = "disabled";
ctp_name = "gt9xxnew_ts";
ctp_twi_id = <0x0>;
ctp_twi_addr = <0x5d>;
ctp_screen_max_x = <0x320>;
ctp_screen_max_y = <0x500>;
ctp_revert_x_flag = <0x1>;
ctp_revert_y_flag = <0x1>;
ctp_exchange_x_y_flag = <0x0>;
ctp_int_port = <&pio PH 9 GPIO_ACTIVE_LOW>;
ctp_wakeup = <&pio PH 10 GPIO_ACTIVE_LOW>;
ctp-supply = <®_cldo2>;
ctp_power_ldo_vol = <3300>;
};
gt9xx {
compatible = "goodix,gt9xx";
reg = <0x5d>;
status = "disabled";
irq-gpios = <&pio PD 20 GPIO_ACTIVE_LOW>;
irq-flags = <2>;
reset-gpios = <&pio PD 21 GPIO_ACTIVE_LOW>;
vdd_ana-supply = <®_dcdc4>;
touchscreen-max-id = <11>;
touchscreen-size-x = <1280>;
touchscreen-size-y = <800>;
touchscreen-max-w = <512>;
touchscreen-max-p = <512>;
//touchscreen-key-map = <172>, <158>; /*KEY_HOMEPAGE=172, KEY_BACK=158,KEY_MENU=139*/
goodix,slide-wakeup = <0>;
goodix,type-a-report = <1>;
goodix,driver-send-cfg = <0>;
goodix,send-cfg-id = <0>;
goodix,resume-in-workqueue = <0>;
goodix,int-sync = <1>;
goodix,revert_x = <0>;
goodix,revert_y = <0>;
goodix,swap-x2y = <0>;
goodix,tp_idle_support = <1>;
goodix,esd-protect = <1>;
goodix,auto-update-cfg = <0>;
goodix,power-off-sleep = <1>;
goodix,pen-suppress-finger = <0>;
/* GT9271_Config_20221222_v67.cfg*/
goodix,cfg-group0 = [
B4 00 05 20 03 0A 3D 00 01 0A
28 0F 50 32 03 05 00 00 00 00
00 00 06 17 19 1F 14 8E 2E 99
2D 2F 35 11 00 00 00 1A 03 10
00 00 00 00 00 00 00 00 00 00
00 32 50 94 D5 02 07 00 00 04
8E 48 00 8A 4D 00 86 53 00 83
59 00 80 60 00 80 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 00 01 04 05 06 07 08 09
0C 0D 0E 0F 10 11 14 15 16 17
FF FF FF FF FF FF FF FF FF FF
FF FF 28 27 26 25 24 23 22 21
20 1F 1E 1C 1B 19 13 12 11 10
0F 0D 0C 0A 08 07 06 04 02 00
FF FF FF FF FF FF FF FF FF FF
FF FF FF FF AB 01
];
};
};
&twi1 {
clock-frequency = <400000>;
pinctrl-0 = <&twi1_pins_default>;
pinctrl-1 = <&twi1_pins_sleep>;
pinctrl-names = "default", "sleep";
/* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 1 */
twi_drv_used = <1>;
status = "okay";
mir3da {
compatible = "allwinner,mir3da";
reg = <0x26>;
device_type = "gsensor";
status = "disabled";
gsensor_twi_id = <0x1>;
gsensor_twi_addr = <0x26>;
gsensor_int1 = <&pio PH 11 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
gsensor-supply = <®_cldo3>;
gsensor_vcc_io_val = <3300>;
};
eeprom@50 {
compatible = "atmel,24c32";
reg = <0x50>;
status = "okay";
};
};
&twi2 {
clock-frequency = <400000>;
pinctrl-0 = <&twi2_pins_default>;
pinctrl-1 = <&twi2_pins_sleep>;
pinctrl-names = "default", "sleep";
/* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 1 */
twi_drv_used = <1>;
twi-supply = <®_dcdc4>;
status = "disabled";
};
&twi3 {
clock-frequency = <400000>;
pinctrl-0 = <&twi3_pins_default>;
pinctrl-1 = <&twi3_pins_sleep>;
pinctrl-names = "default", "sleep";
/* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 1 */
twi_drv_used = <1>;
twi-supply = <®_dcdc4>;
status = "disabled";
};
&twi4 {
clock-frequency = <400000>;
pinctrl-0 = <&twi4_pins_default>;
pinctrl-1 = <&twi4_pins_sleep>;
pinctrl-names = "default", "sleep";
/* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 1 */
twi_drv_used = <1>;
twi-supply = <®_dcdc4>;
status = "okay";
rtc@51 {
compatible = "nxp,pcf8563";
reg = <0x51>;
#clock-cells = <0>;
status = "okay";
};
/* 070 inch
ft5x06: ft5x06@38 {
compatible = "edt,edt-ft5406", "edt,edt-ft5x06";
reg = <0x38>;
pinctrl-names = "default";
interrupt-parent = <&pio>;
interrupts = <PJ 19 IRQ_TYPE_EDGE_FALLING>;
reset-gpios = <&pio PJ 18 GPIO_ACTIVE_LOW>;
touchscreen-size-x=<1024>;
touchscreen-size-y=<600>;
};
*/
// 101 inch
gt9271@14 {
compatible = "goodix,gt9271";
reg = <0x14>;
//pinctrl-names = "default";
//pinctrl-0 = <&pinctrl_i2c_synaptics_dsx_io>;
interrupt-parent = <&pio>;
interrupts = <PJ 19 IRQ_TYPE_EDGE_FALLING>;
reset-gpios = <&pio PJ 18 GPIO_ACTIVE_LOW>;
/*synaptics,y-rotation;*/
esd-recovery-timeout-ms = <2000>;
irq-gpios = <&pio PJ 19 GPIO_ACTIVE_HIGH>;
//reset-gpios = <&gpio1 12 GPIO_ACTIVE_HIGH>;
status = "okay";
};
gt9xx {
compatible = "goodix,gt9xx";
reg = <0x5d>;
status = "okay";
irq-gpios = <&pio PJ 19 GPIO_ACTIVE_LOW>;
irq-flags = <2>;
reset-gpios = <&pio PJ 18 GPIO_ACTIVE_LOW>;
vdd_ana-supply = <®_dcdc4>;
touchscreen-max-id = <11>;
touchscreen-size-x = <1280>;
touchscreen-size-y = <800>;
touchscreen-max-w = <512>;
touchscreen-max-p = <512>;
//touchscreen-key-map = <172>, <158>; /*KEY_HOMEPAGE=172, KEY_BACK=158,KEY_MENU=139*/
goodix,slide-wakeup = <0>;
goodix,type-a-report = <1>;
goodix,driver-send-cfg = <0>;
goodix,send-cfg-id = <0>;
goodix,resume-in-workqueue = <0>;
goodix,int-sync = <1>;
goodix,revert_x = <0>;
goodix,revert_y = <0>;
goodix,swap-x2y = <0>;
goodix,tp_idle_support = <1>;
goodix,esd-protect = <1>;
goodix,auto-update-cfg = <0>;
goodix,power-off-sleep = <1>;
goodix,pen-suppress-finger = <0>;
/* GT9271_Config_20221222_v67.cfg*/
goodix,cfg-group0 = [
B4 00 05 20 03 0A 3D 00 01 0A
28 0F 50 32 03 05 00 00 00 00
00 00 06 17 19 1F 14 8E 2E 99
2D 2F 35 11 00 00 00 1A 03 10
00 00 00 00 00 00 00 00 00 00
00 32 50 94 D5 02 07 00 00 04
8E 48 00 8A 4D 00 86 53 00 83
59 00 80 60 00 80 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 00 01 04 05 06 07 08 09
0C 0D 0E 0F 10 11 14 15 16 17
FF FF FF FF FF FF FF FF FF FF
FF FF 28 27 26 25 24 23 22 21
20 1F 1E 1C 1B 19 13 12 11 10
0F 0D 0C 0A 08 07 06 04 02 00
FF FF FF FF FF FF FF FF FF FF
FF FF FF FF AB 01
];
};
};
&twi5 {
clock-frequency = <400000>;
pinctrl-0 = <&twi5_pins_default>;
pinctrl-1 = <&twi5_pins_sleep>;
pinctrl-names = "default", "sleep";
/* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 1 */
twi_drv_used = <1>;
twi-supply = <®_dcdc4>;
status = "okay";
gt9xx_secondary {
compatible = "goodix,gt9xx_secondary";
reg = <0x5d>;
status = "okay";
irq-gpios = <&pio PI 13 GPIO_ACTIVE_LOW>;
irq-flags = <2>;
reset-gpios = <&pio PI 14 GPIO_ACTIVE_LOW>;
vdd_ana-supply = <®_dcdc4>;
touchscreen-max-id = <11>;
touchscreen-size-x = <1280>;
touchscreen-size-y = <800>;
touchscreen-max-w = <512>;
touchscreen-max-p = <512>;
//touchscreen-key-map = <172>, <158>; /*KEY_HOMEPAGE=172, KEY_BACK=158,KEY_MENU=139*/
goodix,slide-wakeup = <0>;
goodix,type-a-report = <1>;
goodix,driver-send-cfg = <0>;
goodix,send-cfg-id = <0>;
goodix,resume-in-workqueue = <0>;
goodix,int-sync = <1>;
goodix,revert_x = <0>;
goodix,revert_y = <0>;
goodix,swap-x2y = <0>;
goodix,tp_idle_support = <1>;
goodix,esd-protect = <1>;
goodix,auto-update-cfg = <0>;
goodix,power-off-sleep = <1>;
goodix,pen-suppress-finger = <0>;
/* GT9271_Config_20221222_v67.cfg*/
goodix,cfg-group0 = [
43 B0 04 80 07 0A 35 00 01 08
28 0F 50 32 03 05 00 00 00 00
00 00 00 17 19 1B 14 90 2B 99
2F 31 8E 12 00 00 00 DA 03 10
00 00 00 00 00 00 00 00 00 11
00 29 4B 94 C5 02 07 00 00 04
85 2B 00 7D 31 00 77 37 00 72
3E 00 6F 46 00 6F 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 00 00 C0 00 00 00 00 00
00 00 17 16 15 14 11 10 0F 0E
0D 0C 09 08 07 06 05 04 01 00
FF FF FF FF FF FF 00 00 00 00
00 00 25 24 23 22 21 20 1F 1E
1C 1B 19 14 13 12 11 10 0F 0E
0D 0C 0A 08 07 06 04 02 00 FF
FF FF FF FF 00 00 00 00 00 00
00 00 00 00 73 01
];
};
};
&csi_mclk3_pins_a {
pins = "PK13";
function = "ncsi";
};
&csi_mclk3_pins_b {
pins = "PK13";
};
&mipib_4lane_pins_a {
pins = "PK6", "PK7", "PK8",
"PK9";
};
&mipib_4lane_pins_b {
pins = "PK6", "PK7", "PK8",
"PK9";
};
&vind0 {
csi_top = <360000000>;
csi_isp = <300000000>;
vind_mclkpin-supply = <®_bldo3>; /* vcc-pe */
vind_mclkpin_vol = <1800000>;
vind_mcsipin-supply = <®_bldo3>; /* vcc-pk */
vind_mcsipin_vol = <1800000>;
vind_mipipin-supply = <®_bldo3>; /* vcc-mcsi */
vind_mipipin_vol = <1800000>;
status = "okay";
csi3:csi@5823000 {
pinctrl-names = "default","sleep";
pinctrl-0 = <&ncsi_bt1120_pins_a>;
pinctrl-1 = <&ncsi_bt1120_pins_b>;
status = "disabled";
};
tdm0:tdm@5908000 {
work_mode = <0>;
};
isp00:isp@5900000 {
work_mode = <0>;
};
isp01:isp@58ffffc {
status = "disabled";
};
isp02:isp@58ffff8 {
status = "disabled";
};
isp03:isp@58ffff4 {
status = "disabled";
};
isp10:isp@4 {
status = "okay";
};
isp20:isp@5 {
status = "okay";
};
scaler00:scaler@5910000 {
work_mode = <0>;
};
scaler01:scaler@590fffc {
status = "disabled";
};
scaler02:scaler@590fff8 {
status = "disabled";
};
scaler03:scaler@590fff4 {
status = "disabled";
};
scaler10:scaler@5910400 {
work_mode = <0>;
};
scaler11:scaler@59103fc {
status = "disabled";
};
scaler12:scaler@59103f8 {
status = "disabled";
};
scaler13:scaler@59103f4 {
status = "disabled";
};
scaler20:scaler@5910800 {
work_mode = <0>;
};
scaler21:scaler@59107fc {
status = "disabled";
};
scaler22:scaler@59107f8 {
status = "disabled";
};
scaler23:scaler@59107f4 {
status = "disabled";
};
scaler30:scaler@5910c00 {
work_mode = <0>;
};
scaler31:scaler@5910bfc {
status = "disabled";
};
scaler32:scaler@5910bf8 {
status = "disabled";
};
scaler33:scaler@5910bf4 {
status = "disabled";
};
scaler40:scaler@16 {
status = "okay";
};
scaler50:scaler@17 {
status = "okay";
};
actuator0: actuator@2108180 {
device_type = "actuator0";
actuator0_name = "dw9714_act";
actuator0_slave = <0x18>;
actuator0_af_pwdn = <>;
actuator0_afvdd = "afvcc-csi";
actuator0_afvdd_vol = <2800000>;
status = "disabled";
};
flash0: flash@2108190 {
device_type = "flash0";
flash0_type = <2>;
flash0_en = <&r_pio PL 11 GPIO_ACTIVE_LOW>;
flash0_mode = <>;
flash0_flvdd = "";
flash0_flvdd_vol = <>;
device_id = <0>;
status = "disabled";
};
sensor0:sensor@5812000 {
device_type = "sensor0";
sensor0_mname = "ov5640_mipi_cam1";
sensor0_twi_cci_id = <7>;
sensor0_twi_addr = <0x78>;
// sensor0_mclk_id = <0>;
sensor0_pos = "rear";
sensor0_isp_used = <0>;
sensor0_fmt = <0>;
sensor0_stby_mode = <0>;
sensor0_vflip = <0>;
sensor0_hflip = <0>;
sensor0_cameravdd-supply = <>;
sensor0_cameravdd_vol = <>;
sensor0_iovdd-supply = <>;
sensor0_iovdd_vol = <>;
sensor0_avdd-supply = <>;
sensor0_avdd_vol = <>;
sensor0_dvdd-supply = <>;
sensor0_dvdd_vol = <>;
sensor0_power_en = <&pio PH 11 GPIO_ACTIVE_LOW>;
sensor0_reset = <&r_pio PM 0 GPIO_ACTIVE_LOW>;
sensor0_pwdn = <&r_pio PM 1 GPIO_ACTIVE_LOW>;
status = "okay";
};
sensor1:sensor@5812010 {
device_type = "sensor1";
sensor1_mname = "ov5640_mipi_cam2";
sensor1_twi_cci_id = <8>;
sensor1_twi_addr = <0x78>;
// sensor1_mclk_id = <3>;
sensor1_pos = "front";
sensor1_isp_used = <0>;
sensor1_fmt = <0>;
sensor1_stby_mode = <0>;
sensor1_vflip = <0>;
sensor1_hflip = <0>;
sensor1_iovdd-supply = <>;
sensor1_iovdd_vol = <>;
sensor1_avdd-supply = <>;
sensor1_avdd_vol = <>;
sensor1_dvdd-supply = <>;
sensor1_dvdd_vol = <>;
sensor1_power_en = <&pio PH 8 GPIO_ACTIVE_HIGH>;
sensor1_reset = <&r_pio PM 2 GPIO_ACTIVE_LOW>;
sensor1_pwdn = <&r_pio PM 3 GPIO_ACTIVE_LOW>;
status = "okay";
};
vinc00:vinc@5830000 {
vinc0_csi_sel = <0>;
vinc0_mipi_sel = <0>;
vinc0_isp_sel = <4>;
vinc0_isp_tx_ch = <0>;
vinc0_tdm_rx_sel = <0>;
vinc0_rear_sensor_sel = <0>;
vinc0_front_sensor_sel = <0>;
vinc0_sensor_list = <0>;
device_id = <0>;
work_mode = <0x0>;
status = "okay";
};
vinc01:vinc@582fffc {
vinc1_csi_sel = <1>;
vinc1_mipi_sel = <2>;
vinc1_isp_sel = <1>;
vinc1_isp_tx_ch = <0>;
vinc1_tdm_rx_sel = <1>;
vinc1_rear_sensor_sel = <1>;
vinc1_front_sensor_sel = <1>;
vinc1_sensor_list = <0>;
device_id = <1>;
status = "disabled";
};
vinc02:vinc@582fff8 {
vinc2_csi_sel = <2>;
vinc2_mipi_sel = <0xff>;
vinc2_isp_sel = <2>;
vinc2_isp_tx_ch = <2>;
vinc2_tdm_rx_sel = <2>;
vinc2_rear_sensor_sel = <0>;
vinc2_front_sensor_sel = <0>;
vinc2_sensor_list = <0>;
device_id = <2>;
status = "disabled";
};
vinc03:vinc@582fff4 {
vinc3_csi_sel = <0>;
vinc3_mipi_sel = <0xff>;
vinc3_isp_sel = <0>;
vinc3_isp_tx_ch = <0>;
vinc3_tdm_rx_sel = <0>;
vinc3_rear_sensor_sel = <1>;
vinc3_front_sensor_sel = <1>;
vinc3_sensor_list = <0>;
device_id = <3>;
status = "disabled";
};
vinc10:vinc@5831000 {
vinc4_csi_sel = <0>;
vinc4_mipi_sel = <0>;
vinc4_isp_sel = <4>;
vinc4_isp_tx_ch = <1>;
vinc4_tdm_rx_sel = <0>;
vinc4_rear_sensor_sel = <0>;
vinc4_front_sensor_sel = <0>;
vinc4_sensor_list = <0>;
device_id = <4>;
work_mode = <0x0>;
status = "okay";
};
vinc11:vinc@5830ffc {
vinc5_csi_sel = <2>;
vinc5_mipi_sel = <0xff>;
vinc5_isp_sel = <1>;
vinc5_isp_tx_ch = <1>;
vinc5_tdm_rx_sel = <1>;
vinc5_rear_sensor_sel = <0>;
vinc5_front_sensor_sel = <0>;
vinc5_sensor_list = <0>;
device_id = <5>;
status = "disabled";
};
vinc12:vinc@5830ff8 {
vinc6_csi_sel = <2>;
vinc6_mipi_sel = <0xff>;
vinc6_isp_sel = <0>;
vinc6_isp_tx_ch = <0>;
vinc6_tdm_rx_sel = <0>;
vinc6_rear_sensor_sel = <0>;
vinc6_front_sensor_sel = <0>;
vinc6_sensor_list = <0>;
device_id = <6>;
status = "disabled";
};
vinc13:vinc@5830ff4 {
vinc7_csi_sel = <2>;
vinc7_mipi_sel = <0xff>;
vinc7_isp_sel = <0>;
vinc7_isp_tx_ch = <0>;
vinc7_tdm_rx_sel = <0>;
vinc7_rear_sensor_sel = <0>;
vinc7_front_sensor_sel = <0>;
vinc7_sensor_list = <0>;
device_id = <7>;
status = "disabled";
};
vinc20:vinc@5832000 {
vinc8_csi_sel = <0>;
vinc8_mipi_sel = <0>;
vinc8_isp_sel = <4>;
vinc8_isp_tx_ch = <2>;
vinc8_tdm_rx_sel = <0>;
vinc8_rear_sensor_sel = <0>;
vinc8_front_sensor_sel = <0>;
vinc8_sensor_list = <0>;
device_id = <8>;
work_mode = <0x0>;
status = "okay";
};
vinc21:vinc@5831ffc {
vinc9_csi_sel = <2>;
vinc9_mipi_sel = <0xff>;
vinc9_isp_sel = <0>;
vinc9_isp_tx_ch = <0>;
vinc9_tdm_rx_sel = <0>;
vinc9_rear_sensor_sel = <0>;
vinc9_front_sensor_sel = <0>;
vinc9_sensor_list = <0>;
device_id = <9>;
status = "disabled";
};
vinc22:vinc@5831ff8 {
vinc10_csi_sel = <2>;
vinc10_mipi_sel = <0xff>;
vinc10_isp_sel = <0>;
vinc10_isp_tx_ch = <0>;
vinc10_tdm_rx_sel = <0>;
vinc10_rear_sensor_sel = <0>;
vinc10_front_sensor_sel = <0>;
vinc10_sensor_list = <0>;
device_id = <10>;
status = "disabled";
};
vinc23:vinc@5831ff4 {
vinc11_csi_sel = <2>;
vinc11_mipi_sel = <0xff>;
vinc11_isp_sel = <0>;
vinc11_isp_tx_ch = <0>;
vinc11_tdm_rx_sel = <0>;
vinc11_rear_sensor_sel = <0>;
vinc11_front_sensor_sel = <0>;
vinc11_sensor_list = <0>;
device_id = <11>;
status = "disabled";
};
vinc30:vinc@5833000 {
vinc12_csi_sel = <0>;
vinc12_mipi_sel = <0>;
vinc12_isp_sel = <4>;
vinc12_isp_tx_ch = <3>;
vinc12_tdm_rx_sel = <0>;
vinc12_rear_sensor_sel = <0>;
vinc12_front_sensor_sel = <0>;
vinc12_sensor_list = <0>;
device_id = <12>;
work_mode = <0x0>;
status = "okay";
};
vinc31:vinc@5832ffc {
vinc13_csi_sel = <2>;
vinc13_mipi_sel = <0xff>;
vinc13_isp_sel = <0>;
vinc13_isp_tx_ch = <0>;
vinc13_tdm_rx_sel = <0>;
vinc13_rear_sensor_sel = <0>;
vinc13_front_sensor_sel = <0>;
vinc13_sensor_list = <0>;
device_id = <13>;
status = "disabled";
};
vinc32:vinc@5832ff8 {
vinc14_csi_sel = <2>;
vinc14_mipi_sel = <0xff>;
vinc14_isp_sel = <0>;
vinc14_isp_tx_ch = <0>;
vinc14_tdm_rx_sel = <0>;
vinc14_rear_sensor_sel = <0>;
vinc14_front_sensor_sel = <0>;
vinc14_sensor_list = <0>;
device_id = <14>;
status = "disabled";
};
vinc33:vinc@5832ff4 {
vinc15_csi_sel = <2>;
vinc15_mipi_sel = <0xff>;
vinc15_isp_sel = <0>;
vinc15_isp_tx_ch = <0>;
vinc15_tdm_rx_sel = <0>;
vinc15_rear_sensor_sel = <0>;
vinc15_front_sensor_sel = <0>;
vinc15_sensor_list = <0>;
device_id = <15>;
status = "disabled";
};
vinc40:vinc@5834000 {
vinc16_csi_sel = <2>;
vinc16_mipi_sel = <2>;
vinc16_isp_sel = <4>;
vinc16_isp_tx_ch = <0>;
vinc16_tdm_rx_sel = <0>;
vinc16_rear_sensor_sel = <1>;
vinc16_front_sensor_sel = <1>;
vinc16_sensor_list = <1>;
device_id = <16>;
status = "okay";
};
vinc50:vinc@5835000 {
vinc17_csi_sel = <2>;
vinc17_mipi_sel = <2>;
vinc17_isp_sel = <4>;
vinc17_isp_tx_ch = <1>;
vinc17_tdm_rx_sel = <0>;
vinc17_rear_sensor_sel = <1>;
vinc17_front_sensor_sel = <1>;
vinc17_sensor_list = <1>;
device_id = <17>;
status = "okay";
};
};
&twi6 {
clock-frequency = <400000>;
pinctrl-0 = <&s_twi0_pins_default>;
pinctrl-1 = <&s_twi0_pins_sleep>;
pinctrl-names = "default", "sleep";
device_type = "twi6";
/* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 1 */
twi_drv_used = <1>;
no_suspend = <1>;
status = "okay";
tcs0: tcs@41 {
compatible = "ext,tcs4838";
reg = <0x41>;
status = "okay";
tcs4838_delay = <0>;
regulator1: regulators@1 {
reg_tcs0: dcdc0 {
regulator-name = "tcs4838-dcdc0";
regulator-min-microvolt = <712500>;
regulator-max-microvolt = <1500000>;
regulator-ramp-delay = <520>;
regulator-enable-ramp-delay = <1000>;
regulator-always-on;
regulator-boot-on;
};
reg_tcs1: dcdc1 {
regulator-name = "tcs4838-dcdc1";
regulator-min-microvolt = <712500>;
regulator-max-microvolt = <1500000>;
regulator-ramp-delay = <520>;
regulator-enable-ramp-delay = <1000>;
};
};
virtual-ext-dcdc0 {
compatible = "xpower-vregulator,ext-dcdc0";
dcdc0-supply = <®_tcs0>;
};
virtual-ext-dcdc1 {
compatible = "xpower-vregulator,ext-dcdc1";
dcdc1-supply = <®_tcs1>;
};
};
sy0: sy@60 {
compatible = "ext,sy8827g";
reg = <0x60>;
status = "okay";
sy8827g_delay = <0>;
regulator2: regulators@2 {
reg_sy0: dcdc0 {
regulator-name = "sy8827g-dcdc0";
regulator-min-microvolt = <712500>;
regulator-max-microvolt = <1500000>;
regulator-ramp-delay = <520>;
regulator-enable-ramp-delay = <1000>;
regulator-always-on;
regulator-boot-on;
};
reg_sy1: dcdc1 {
regulator-name = "sy8827g-dcdc1";
regulator-min-microvolt = <712500>;
regulator-max-microvolt = <1500000>;
regulator-ramp-delay = <520>;
regulator-enable-ramp-delay = <1000>;
};
};
virtual-ext-dcdc0 {
compatible = "xpower-vregulator,ext-dcdc0";
dcdc0-supply = <®_sy0>;
};
virtual-ext-dcdc1 {
compatible = "xpower-vregulator,ext-dcdc1";
dcdc1-supply = <®_sy1>;
};
};
axp1530: axp1530@36{
compatible = "ext,axp1530";
status = "okay";
reg = <0x36>;
wakeup-source;
regulators{
reg_ext_axp1530_dcdc1: dcdc1 {
regulator-name = "axp1530-dcdc1";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <3400000>;
regulator-step-delay-us = <25>;
regulator-final-delay-us = <50>;
regulator-always-on;
};
reg_ext_axp1530_dcdc2: dcdc2 {
regulator-name = "axp1530-dcdc2";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <1540000>;
regulator-step-delay-us = <25>;
regulator-final-delay-us = <50>;
regulator-ramp-delay = <200>; /* FIXME */
regulator-always-on;
};
reg_ext_axp1530_dcdc3: dcdc3 {
regulator-name = "axp1530-dcdc3";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <1840000>;
regulator-step-delay-us = <25>;
regulator-final-delay-us = <50>;
regulator-always-on;
};
reg_ext_axp1530_aldo1: ldo1 {
regulator-name = "axp1530-aldo1";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <3500000>;
regulator-step-delay-us = <25>;
regulator-final-delay-us = <50>;
};
reg_ext_axp1530_dldo1: ldo2 {
regulator-name = "axp1530-dldo1";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <3500000>;
regulator-step-delay-us = <25>;
regulator-final-delay-us = <50>;
};
};
virtual-ext-dcdc1 {
compatible = "xpower-vregulator,ext-dcdc1";
dcdc1-supply = <®_ext_axp1530_dcdc1>;
};
virtual-ext-dcdc2 {
compatible = "xpower-vregulator,ext-dcdc2";
dcdc2-supply = <®_ext_axp1530_dcdc2>;
};
virtual-ext-dcdc3 {
compatible = "xpower-vregulator,ext-dcdc3";
dcdc3-supply = <®_ext_axp1530_dcdc3>;
};
virtual-ext-aldo1 {
compatible = "xpower-vregulator,ext-aldo1";
aldo1-supply = <®_ext_axp1530_aldo1>;
};
virtual-ext-dldo1 {
compatible = "xpower-vregulator,ext-dldo1";
dldo1-supply = <®_ext_axp1530_dldo1>;
};
};
pmu0: pmu@35 {
compatible = "x-powers,axp2202";
reg = <0x35>;
status = "okay";
interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
interrupt-parent = <&nmi_intc>;
x-powers,drive-vbus-en;
pmu_reset = <0>;
pmu_irq_wakeup = <1>;
pmu_hot_shutdown = <1>;
wakeup-source;
usb_power_supply: usb_power_supply {
compatible = "x-powers,axp2202-usb-power-supply";
status = "okay";
pmu_usbpc_vol = <4600>;
pmu_usbpc_cur = <500>;
pmu_usbad_vol = <4000>;
pmu_usbad_cur = <2500>;
pmu_usb_typec_used = <1>;
wakeup_usb_in;
wakeup_usb_out;
det_acin_supply = <&gpio_power_supply>;
pmu_acin_usbid_drv = <&pio PH 12 GPIO_ACTIVE_LOW>;
pmu_vbus_det_gpio = <&pio PH 13 GPIO_ACTIVE_LOW>;
};
gpio_power_supply: gpio_power_supply {
compatible = "x-powers,gpio-supply";
status = "disabled";
pmu_acin_det_gpio = <&pio PH 14 GPIO_ACTIVE_LOW>;
det_usb_supply = <&usb_power_supply>;
};
bat_power_supply: bat-power-supply {
compatible = "x-powers,axp2202-bat-power-supply";
param = <&axp2202_parameter>;
status = "disabled";
pmu_chg_ic_temp = <0>;
pmu_battery_rdc= <147>;
pmu_battery_cap = <1771>;
pmu_runtime_chgcur = <1000>;
pmu_suspend_chgcur = <1500>;
pmu_shutdown_chgcur = <1500>;
pmu_init_chgvol = <4200>;
pmu_battery_warning_level1 = <15>;
pmu_battery_warning_level2 = <0>;
pmu_chgled_func = <0>;
pmu_chgled_type = <0>;
pmu_bat_para1 = <0>;
pmu_bat_para2 = <0>;
pmu_bat_para3 = <0>;
pmu_bat_para4 = <0>;
pmu_bat_para5 = <0>;
pmu_bat_para6 = <0>;
pmu_bat_para7 = <2>;
pmu_bat_para8 = <3>;
pmu_bat_para9 = <4>;
pmu_bat_para10 = <6>;
pmu_bat_para11 = <9>;
pmu_bat_para12 = <14>;
pmu_bat_para13 = <26>;
pmu_bat_para14 = <38>;
pmu_bat_para15 = <49>;
pmu_bat_para16 = <52>;
pmu_bat_para17 = <56>;
pmu_bat_para18 = <60>;
pmu_bat_para19 = <64>;
pmu_bat_para20 = <70>;
pmu_bat_para21 = <77>;
pmu_bat_para22 = <83>;
pmu_bat_para23 = <87>;
pmu_bat_para24 = <90>;
pmu_bat_para25 = <95>;
pmu_bat_para26 = <99>;
pmu_bat_para27 = <99>;
pmu_bat_para28 = <100>;
pmu_bat_para29 = <100>;
pmu_bat_para30 = <100>;
pmu_bat_para31 = <100>;
pmu_bat_para32 = <100>;
pmu_bat_temp_enable = <1>;
pmu_jetia_en = <1>;
pmu_bat_charge_ltf = <1738>; //-5
pmu_bat_charge_htf = <150>; //60
pmu_bat_shutdown_ltf = <2125>; //-10
pmu_bat_shutdown_htf = <130>; //65
pmu_jetia_cool = <1390>; //0
pmu_jetia_warm = <206>; //50
pmu_jcool_ifall = <2>;//75%
pmu_jwarm_ifall = <2>;//75%
pmu_bat_temp_para1 = <4592>; //SDNT-25
pmu_bat_temp_para2 = <2781>; //-15
pmu_bat_temp_para3 = <2125>; //-10
pmu_bat_temp_para4 = <1738>; //-5
pmu_bat_temp_para5 = <1390>;//0
pmu_bat_temp_para6 = <1118>; //5
pmu_bat_temp_para7 = <906>; //10
pmu_bat_temp_para8 = <606>; //20
pmu_bat_temp_para9 = <415>; //30
pmu_bat_temp_para10 = <290>; //40
pmu_bat_temp_para11 = <244>; //45
pmu_bat_temp_para12 = <206>; //50
pmu_bat_temp_para13 = <175>; //55
pmu_bat_temp_para14 = <150>; //60
pmu_bat_temp_para15 = <110>; //70
pmu_bat_temp_para16 = <83>; //80
wakeup_bat_out;
/* wakeup_bat_in; */
/* wakeup_bat_charging; */
/* wakeup_bat_charge_over; */
/* wakeup_low_warning1; */
/* wakeup_low_warning2; */
/* wakeup_bat_untemp_work; */
/* wakeup_bat_ovtemp_work; */
/* wakeup_bat_untemp_chg; */
/* wakeup_bat_ovtemp_chg; */
};
powerkey0: powerkey@0 {
status = "okay";
compatible = "x-powers,axp2101-pek";
pmu_powkey_off_time = <6000>;
pmu_powkey_off_func = <0>;
pmu_powkey_off_en = <1>;
pmu_powkey_long_time = <1500>;
pmu_powkey_on_time = <512>;
wakeup_rising;
wakeup_falling;
};
regulator0: regulators@0 {
reg_dcdc1: dcdc1 {
regulator-name = "axp2202-dcdc1";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <1540000>;
regulator-ramp-delay = <250>;
regulator-enable-ramp-delay = <1000>;
regulator-boot-on;
regulator-always-on;
};
reg_dcdc2: dcdc2 {
regulator-name = "axp2202-dcdc2";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <3400000>;
regulator-ramp-delay = <250>;
regulator-enable-ramp-delay = <1000>;
regulator-boot-on;
regulator-always-on;
};
reg_dcdc3: dcdc3 {
regulator-name = "axp2202-dcdc3";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <1840000>;
regulator-ramp-delay = <250>;
regulator-enable-ramp-delay = <1000>;
regulator-always-on;
};
reg_dcdc4: dcdc4 {
regulator-name = "axp2202-dcdc4";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <3700000>;
regulator-ramp-delay = <250>;
regulator-enable-ramp-delay = <1000>;
};
reg_rtcldo: rtcldo {
/* RTC_LDO is a fixed, always-on regulator */
regulator-name = "axp2202-rtcldo";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-boot-on;
regulator-always-on;
};
reg_aldo1: aldo1 {
regulator-name = "axp2202-aldo1";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <3500000>;
regulator-enable-ramp-delay = <1000>;
};
reg_aldo2: aldo2 {
regulator-name = "axp2202-aldo2";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <3500000>;
regulator-enable-ramp-delay = <1000>;
};
reg_aldo3: aldo3 {
regulator-name = "axp2202-aldo3";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <3500000>;
regulator-enable-ramp-delay = <1000>;
regulator-always-on;
regulator-boot-on;
};
reg_aldo4: aldo4 {
regulator-name = "axp2202-aldo4";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <3500000>;
regulator-enable-ramp-delay = <1000>;
regulator-always-on;
regulator-boot-on;
};
reg_bldo1: bldo1 {
regulator-name = "axp2202-bldo1";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <3500000>;
regulator-enable-ramp-delay = <1000>;
regulator-always-on;
regulator-boot-on;
};
reg_bldo2: bldo2 {
regulator-name = "axp2202-bldo2";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <3500000>;
regulator-enable-ramp-delay = <1000>;
regulator-boot-on;
regulator-always-on;
};
reg_bldo3: bldo3 {
regulator-name = "axp2202-bldo3";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <3500000>;
regulator-enable-ramp-delay = <1000>;
};
reg_bldo4: bldo4 {
regulator-name = "axp2202-bldo4";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <3500000>;
regulator-enable-ramp-delay = <1000>;
};
reg_cldo1: cldo1 {
regulator-name = "axp2202-cldo1";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <3500000>;
regulator-enable-ramp-delay = <1000>;
};
reg_cldo2: cldo2 {
regulator-name = "axp2202-cldo2";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <3500000>;
regulator-enable-ramp-delay = <1000>;
};
reg_cldo3: cldo3 {
regulator-name = "axp2202-cldo3";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <3500000>;
regulator-ramp-delay = <2500>;
regulator-enable-ramp-delay = <1000>;
regulator-boot-on;
regulator-always-on;
};
reg_cldo4: cldo4 {
regulator-name = "axp2202-cldo4";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <3500000>;
regulator-enable-ramp-delay = <1000>;
};
reg_cpusldo: cpusldo {
/* cpus */
regulator-name = "axp2202-cpusldo";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <1400000>;
regulator-boot-on;
regulator-always-on;
};
reg_vmid: vmid {
regulator-name = "axp2202-vmid";
regulator-enable-ramp-delay = <1000>;
};
reg_drivevbus: drivevbus {
regulator-name = "axp2202-drivevbus";
regulator-enable-ramp-delay = <1000>;
drivevbusin-supply = <®_vmid>;
};
};
virtual-dcdc1 {
compatible = "xpower-vregulator,dcdc1";
dcdc1-supply = <®_dcdc1>;
};
virtual-dcdc2 {
compatible = "xpower-vregulator,dcdc2";
dcdc2-supply = <®_dcdc2>;
};
virtual-dcdc3 {
compatible = "xpower-vregulator,dcdc3";
dcdc3-supply = <®_dcdc3>;
};
virtual-dcdc4 {
compatible = "xpower-vregulator,dcdc4";
dcdc4-supply = <®_dcdc4>;
};
virtual-rtcldo {
compatible = "xpower-vregulator,rtcldo";
rtcldo-supply = <®_rtcldo>;
};
virtual-aldo1 {
compatible = "xpower-vregulator,aldo1";
aldo1-supply = <®_aldo1>;
};
virtual-aldo2 {
compatible = "xpower-vregulator,aldo2";
aldo2-supply = <®_aldo2>;
};
virtual-aldo3 {
compatible = "xpower-vregulator,aldo3";
aldo3-supply = <®_aldo3>;
};
virtual-aldo4 {
compatible = "xpower-vregulator,aldo4";
aldo4-supply = <®_aldo4>;
};
virtual-bldo1 {
compatible = "xpower-vregulator,bldo1";
bldo1-supply = <®_bldo1>;
};
virtual-bldo2 {
compatible = "xpower-vregulator,bldo2";
bldo2-supply = <®_bldo2>;
};
virtual-bldo3 {
compatible = "xpower-vregulator,bldo3";
bldo3-supply = <®_bldo3>;
};
virtual-bldo4 {
compatible = "xpower-vregulator,bldo4";
bldo4-supply = <®_bldo4>;
};
virtual-cldo1 {
compatible = "xpower-vregulator,cldo1";
cldo1-supply = <®_cldo1>;
};
virtual-cldo2 {
compatible = "xpower-vregulator,cldo2";
cldo2-supply = <®_cldo2>;
};
virtual-cldo3 {
compatible = "xpower-vregulator,cldo3";
cldo3-supply = <®_cldo3>;
};
virtual-cldo4 {
compatible = "xpower-vregulator,cldo4";
cldo4-supply = <®_cldo4>;
};
virtual-cpusldo {
compatible = "xpower-vregulator,cpusldo";
cpusldo-supply = <®_cpusldo>;
};
virtual-drivevbus {
compatible = "xpower-vregulator,drivevbus";
drivevbus-supply = <®_drivevbus>;
};
axp_gpio0: axp_gpio@0 {
gpio-controller;
#size-cells = <0>;
#gpio-cells = <6>;
status = "okay";
};
};
};
/{
axp2202_parameter:axp2202-parameter {
select = "battery-model";
battery-model {
parameter = /bits/ 8 <0x01 0xf5 0x40 0x00 0x1b 0x1e 0x28 0x0f
0x0c 0x1e 0x32 0x02 0x14 0x05 0x0a 0x04
0x74 0xfb 0xc8 0x0d 0x43 0x10 0x36 0xfb
0x46 0x01 0xea 0x0d 0x2a 0x06 0x36 0x05
0xf4 0x0a 0xb5 0x0f 0x42 0x0e 0xe6 0x09
0x9a 0x0e 0x42 0x0e 0x3b 0x04 0x2d 0x04
0x23 0x09 0x18 0x0e 0x09 0x0e 0x04 0x08
0xf7 0x0d 0xda 0x0d 0xd0 0x03 0xbb 0x03
0x9d 0x08 0x7f 0x0d 0x6a 0x0d 0x55 0x07
0xc2 0x57 0x2b 0x27 0x1e 0x0d 0x14 0x08
0xc5 0x98 0x7e 0x66 0x4e 0x44 0x38 0x1a
0x12 0x0a 0xf6 0x00 0x00 0xf6 0x00 0xf6
0x00 0xfb 0x00 0x00 0xfb 0x00 0x00 0xfb
0x00 0x00 0xf6 0x00 0x00 0xf6 0x00 0xf6
0x00 0xfb 0x00 0x00 0xfb 0x00 0x00 0xfb
0x00 0x00 0xf6 0x00 0x00 0xf6 0x00 0xf6>;
};
};
};
&twi7 {
clock-frequency = <400000>;
pinctrl-0 = <&s_twi1_pins_default>;
pinctrl-1 = <&s_twi1_pins_sleep>;
pinctrl-names = "default", "sleep";
/* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 1 */
//twi_drv_used = <1>;
twi-supply = <®_aldo3>;
status = "okay";
lt9611: lt9611@39 {
compatible = "myir,lt9611";
reg = <0x39>;
lt9611-rst-gpios = <&r_pio PL 6 GPIO_ACTIVE_HIGH>;
lt9611-power-en-gpios = <&pio PG 12 GPIO_ACTIVE_HIGH>;
interrupt-parent = <&r_pio>;
interrupts = <PL 7 IRQ_TYPE_EDGE_FALLING>;
status = "okay";
};
ac107: ac107@36 {
#sound-dai-cells = <0>;
compatible = "allwinner,sunxi-ac107";
reg = <0x36>;
pllclk-src = "MCLK";
sysclk-src = "MCLK";
pcm-bit-first = "MSB";
frame-sync-width = <1>;
rx-chmap = <0xaaaa>;
ch1-dig-vol = <160>;
ch2-dig-vol = <160>;
ch1-pga-gain = <26>;
ch2-pga-gain = <26>;
status = "okay";
};
};
&twi8 {
clock-frequency = <400000>;
pinctrl-0 = <&s_twi2_pins_default>;
pinctrl-1 = <&s_twi2_pins_sleep>;
pinctrl-names = "default", "sleep";
/* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 1 */
twi_drv_used = <1>;
twi-supply = <®_aldo3>;
status = "okay";
};
&sdc2 {
non-removable;
bus-width = <8>;
mmc-ddr-1_8v;
mmc-hs200-1_8v;
mmc-hs400-1_8v;
no-sdio;
no-sd;
ctl-spec-caps = <0x308>;
cap-mmc-highspeed;
sunxi-power-save-mode;
sunxi-dis-signal-vol-sw;
mmc-bootpart-noacc;
/*cap-hsq;*/
cqe-on;
ctl-cmdq-md = <0x2>;
max-frequency = <150000000>;
vmmc-supply = <®_cldo3>;
/*emmc io vol 3.3v*/
/*vqmmc-supply = <®_aldo1>;*/
/*emmc io vol 1.8v*/
vqmmc-supply = <®_cldo1>;
status = "disabled";
};
&sdc0 {
bus-width = <4>;
cd-gpios = <&pio PF 6 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
/*non-removable;*/
/*broken-cd;*/
/*cd-inverted*/
/*data3-detect;*/
/*card-pwr-gpios = <&pio PH 14 1 1 2 0xffffffff>;*/
cd-used-24M;
cd-set-debounce = <0x1>;
cap-sd-highspeed;
// sd-uhs-sdr50;
// sd-uhs-ddr50;
// sd-uhs-sdr104;
no-sdio;
no-mmc;
sunxi-power-save-mode;
/*sunxi-dis-signal-vol-sw;*/
max-frequency = <150000000>;
ctl-spec-caps = <0x408>;
sunxi-dly-208M = <0xff 1 0xff 0xff 0xff 0xff>;
vmmc-supply = <®_cldo3>;
vqmmc33sw-supply = <®_cldo3>;
vdmmc33sw-supply = <®_cldo3>;
// vqmmc18sw-supply = <®_bldo3>;
// vdmmc18sw-supply = <®_bldo3>;
status = "okay";
};
&sdc1 {
bus-width = <4>;
no-mmc;
no-sd;
cap-sd-highspeed;
/*sd-uhs-sdr12*/
sd-uhs-sdr25;
sd-uhs-sdr50;
sd-uhs-ddr50;
sd-uhs-sdr104;
/*sunxi-power-save-mode;*/
sunxi-dis-signal-vol-sw;
cap-sdio-irq;
keep-power-in-suspend;
ignore-pm-notify;
max-frequency = <150000000>;
ctl-spec-caps = <0x408>;
status = "okay";
};
&nand0 {
compatible = "allwinner,sun55iw3-nand";
device_type = "nand0";
//reg = <0x0 0x04011000 0x0 0x1000>;/* nand0 */
pinctrl-names = "default", "sleep";
pinctrl-0 = <&nand0_pins_default &nand0_pins_rb>;
pinctrl-1 = <&nand0_pins_sleep>;
nand0_regulator1 = "vcc-nand";
nand0_regulator2 = "none";
nand0_cache_level = <0x55aaaa55>;
nand0_flush_cache_num = <0x55aaaa55>;
nand0_capacity_level = <0x55aaaa55>;
nand0_id_number_ctl = <0x55aaaa55>;
nand0_print_level = <0x55aaaa55>;
nand0_p0 = <0x55aaaa55>;
nand0_p1 = <0x55aaaa55>;
nand0_p2 = <0x55aaaa55>;
nand0_p3 = <0x55aaaa55>;
chip_code = "sun55iw3";
status = "disabled";
};
&rfkill {
compatible = "allwinner,sunxi-rfkill";
chip_en;
power_en;
pinctrl-0;
pinctrl-names;
status = "okay";
/* bt session */
bt {
compatible = "allwinner,sunxi-bt";
clocks;
clock-names;
bt_power = "axp2202-aldo3", "axp2202-bldo1"; /* vcc-pl/vcc-pg/vcc-pm */
bt_power_vol= <3300000>, <1800000>;
bt_rst_n = <&pio PC 4 GPIO_ACTIVE_HIGH>;
};
};
&addr_mgt {
compatible = "allwinner,sunxi-addr_mgt";
type_addr_wifi = <0x0>;
type_addr_bt = <0x0>;
type_addr_eth = <0x0>;
status = "okay";
};
&btlpm {
compatible = "allwinner,sunxi-btlpm";
uart_index = <0x1>;
bt_wake = <&pio PC 12 GPIO_ACTIVE_HIGH>;
bt_hostwake = <&pio PC 2 GPIO_ACTIVE_HIGH>;
wakeup-source;
status = "okay";
};
/*
*usb_port_type: usb mode. 0-device, 1-host, 2-otg.
*usb_detect_type: usb hotplug detect mode. 0-none, 1-vbus/id detect, 2-id/dpdm detect.
*usb_detect_mode: 0-thread scan, 1-id gpio interrupt.
*usb_id_gpio: gpio for id detect.
*usb_det_vbus_gpio: gpio for id detect. gpio or "axp_ctrl";
*usb_wakeup_suspend:0-SUPER_STANDBY, 1-USB_STANDBY.
*/
&usbc0 {
device_type = "usbc0";
usb_port_type = <0x2>;
usb_detect_type = <0x1>;
usb_detect_mode = <0x0>;
usb_id_gpio = <&r_pio PL 10 GPIO_ACTIVE_HIGH>;
enable-active-high;
usb_det_vbus_gpio = <&r_pio PL 10 GPIO_ACTIVE_HIGH>;
enable-active-high;
detvbus_io-supply = <®_bldo1>;
usb_regulator_io = "nocare";
usb_wakeup_suspend = <0>;
usb_luns = <3>;
usb_serial_unique = <0>;
usb_serial_number = "20080411";
rndis_wceis = <1>;
status = "okay";
};
&udc {
det_vbus_supply = <&usb_power_supply>;
status = "okay";
};
&ehci0 {
//drvvbus-supply = <®_usb0_vbus>;
status = "okay";
};
&ohci0 {
//drvvbus-supply = <®_usb0_vbus>;
status = "okay";
};
&usbc1 {
device_type = "usbc1";
usb_regulator_io = "nocare";
usb_wakeup_suspend = <0>;
status = "okay";
};
&ehci1 {
//drvvbus-supply = <®_usb1_vbus>;
status = "okay";
};
&ohci1 {
//drvvbus-supply = <®_usb1_vbus>;
status = "okay";
};
&usbc2 {
device_type = "usbc2";
drvvbus-supply = <®_drivevbus>;
aw,vbus-shared-quirk;
status = "okay";
};
&xhci2 {
dr_mode = "host";
status = "okay";
};
&u2phy {
status = "okay";
};
&combophy {
resets = <&ccu RST_BUS_PCIE_USB3>;
phy_use_sel = <1>; /* 0:PCIE; 1:USB3 */
status = "okay";
};
&gpu {
gpu_idle = <1>;
dvfs_status = <1>;
mali-supply = <®_dcdc2>;
};
/*----------------------------------------------------------------------------------
disp init configuration
disp_mode (0:screen0<screen0,fb0>)
screenx_output_type (0:none; 1:lcd; 2:tv; 3:hdmi;5:vdpo)
screenx_output_mode (used for hdmi output, 0:480i 1:576i 2:480p 3:576p 4:720p50)
(5:720p60 6:1080i50 7:1080i60 8:1080p24 9:1080p50 10:1080p60)
screenx_output_format (for hdmi, 0:RGB 1:yuv444 2:yuv422 3:yuv420)
screenx_output_bits (for hdmi, 0:8bit 1:10bit 2:12bit 2:16bit)
screenx_output_eotf (for hdmi, 0:reserve 4:SDR 16:HDR10 18:HLG)
screenx_output_cs (for hdmi, 0:undefined 257:BT709 260:BT601 263:BT2020)
screenx_output_dvi_hdmi (for hdmi, 0:undefined 1:dvi mode 2:hdmi mode)
screen0_output_range (for hdmi, 0:default 1:full 2:limited)
screen0_output_scan (for hdmi, 0:no data 1:overscan 2:underscan)
screen0_output_aspect_ratio (for hdmi, 8-same as original picture 9-4:3 10-16:9 11-14:9)
fbx format (4:RGB655 5:RGB565 6:RGB556 7:ARGB1555 8:RGBA5551 9:RGB888 10:ARGB8888 12:ARGB4444)
fbx pixel sequence (0:ARGB 1:BGRA 2:ABGR 3:RGBA)
fb0_scaler_mode_enable(scaler mode enable, used FE)
fbx_width,fbx_height (framebuffer horizontal/vertical pixels, fix to output resolution while equal 0)
lcdx_backlight (lcd init backlight,the range:[0,256],default:197
lcdx_yy (lcd init screen bright/contrast/saturation/hue, value:0~100, default:50/50/57/50)
lcd0_contrast (LCD contrast, 0~100)
lcd0_saturation (LCD saturation, 0~100)
lcd0_hue (LCD hue, 0~100)
framebuffer software rotation setting:
disp_rotation_used: (0:disable; 1:enable,you must set fbX_width to lcd_y,
set fbX_height to lcd_x)
degreeX: (X:screen index; 0:0 degree; 1:90 degree; 3:270 degree)
degreeX_Y: (X:screen index; Y:layer index 0~15; 0:0 degree; 1:90 degree; 3:270 degree)
devX_output_type : config output type in bootGUI framework in UBOOT-2018.
(0:none; 1:lcd; 2:tv; 4:hdmi;)
devX_output_mode : config output resolution(see include/video/sunxi_display2.h) of bootGUI framework in UBOOT-2018
devX_screen_id : config display index of bootGUI framework in UBOOT-2018
devX_do_hpd : whether do hpd detectation or not in UBOOT-2018
chn_cfg_mode : Hardware DE channel allocation config. 0:single display with 6
channel, 1:dual display with 4 channel in main display and 2 channel in second
display, 2:dual display with 3 channel in main display and 3 channel in second
in display.
----------------------------------------------------------------------------------*/
&disp {
disp_init_enable = <1>;
disp_mode = <0>;
screen0_output_type = <1>;
screen0_output_mode = <4>;
screen0_to_lcd_index = <0>;
screen1_output_type = <3>;
screen1_output_mode = <10>;
screen1_to_lcd_index = <3>;
screen1_output_format = <0>;
screen1_output_bits = <0>;
screen1_output_eotf = <4>;
screen1_output_cs = <257>;
screen1_output_dvi_hdmi = <2>;
screen1_output_range = <2>;
screen1_output_scan = <0>;
screen1_output_aspect_ratio = <8>;
dev0_output_type = <1>;
dev0_output_mode = <4>;
dev0_screen_id = <0>;
dev0_do_hpd = <0>;
screen1_output_type = <6>;
screen1_output_mode = <10>;
dev1_screen_id = <2>;
dev1_do_hpd = <1>;
def_output_dev = <2>;
hdmi_mode_check = <1>;
display_device_num = <3>;
primary_display_type = "LCD";
primary_de_id = <0>;
primary_framebuffer_width = <1280>;
primary_framebuffer_height = <800>;
primary_dpix = <160>;
primary_dpiy = <160>;
extend0_display_type = "HDMI";
extend0_de_id = <1>;
extend0_framebuffer_width = <1920>;
extend0_framebuffer_height = <1080>;
extend0_dpix = <160>;
extend0_dpiy = <160>;
extend1_display_type = "DP";
extend1_de_id = <1>;
extend1_framebuffer_width = <1920>;
extend1_framebuffer_height = <1080>;
extend1_dpix = <160>;
extend1_dpiy = <160>;
fb_format = <0>;
fb_num = <4>;
/*<disp channel layer zorder>*/
fb0_map = <0 1 0 16>;
fb0_width = <1920>;
fb0_height = <1080>;
/*<disp channel layer zorder>*/
fb1_map = <1 1 0 16>;
fb1_width = <1920>;
fb1_height = <1080>;
/*<disp channel layer zorder>*/
fb2_map = <1 0 0 16>;
fb2_width = <1920>;
fb2_height = <1080>;
/*<disp channel layer zorder>*/
fb3_map = <1 1 0 16>;
fb3_width = <300>;
fb3_height = <300>;
chn_cfg_mode = <3>;
disp_para_zone = <2>;
//boot_disp = <0>;
//boot_disp1 = <0>;
//boot_disp2 = <0>;
/* dual display clock constraints:
1. two tcons cannot share a parent clock.
2. when dsi uses ccu clock, combphy and corresponding tcon use the
same parent clock.
*/
assigned-clocks = <&ccu CLK_DE>,
<&ccu CLK_VO0_TCONLCD0>,
<&ccu CLK_VO0_TCONLCD1>,
<&ccu CLK_VO1_TCONLCD0>,
<&ccu CLK_TCONTV>,
<&ccu CLK_TCONTV1>,
<&ccu CLK_COMBPHY0>,
<&ccu CLK_COMBPHY1>,
<&ccu CLK_DSI0>,
<&ccu CLK_DSI1>,
<&ccu CLK_EDP>;
assigned-clock-parents = <&ccu CLK_PLL_VIDEO3_4X>,
<&ccu CLK_PLL_VIDEO0_4X>,
<&ccu CLK_PLL_VIDEO1_4X>,
<&ccu CLK_PLL_VIDEO1_4X>,
<&ccu CLK_PLL_VIDEO1_4X>,
<&ccu CLK_PLL_VIDEO1_4X>,
<&ccu CLK_PLL_VIDEO0_4X>,
<&ccu CLK_PLL_VIDEO1_4X>,
<&ccu CLK_PLL_PERI0_150M>,
<&ccu CLK_PLL_PERI0_150M>,
<&ccu CLK_PLL_VIDEO1_4X>;
assigned-clock-rates = <600000000>;
cldo3-supply = <®_cldo3>;
dcdc4-supply = <®_dcdc4>;
cldo1-supply = <®_cldo1>;
//pwms = <&a_pwm 4 5000000 0>, <&a_pwm 5 5000000 0>;
pwms = <&a_pwm 10 50000 0>, <&a_pwm 5 5000000 0>;
pwm-names = "lvds0_backlight", "lvds2_backlight";
power-domains = <&pd1 A523_PCK_DE>, <&pd1 A523_PCK_VO0>, <&pd1 A523_PCK_VO1>;
power-domain-names = "pd_de", "pd_vo0", "pd_vo1";
pinctrl-names = "active", "sleep";
//pinctrl-0 = <&a_pwm0_pin_active>;
//pinctrl-1 = <&a_pwm0_pin_sleep>;
pinctrl-0 = <&a_pwm10_pin_active>;
pinctrl-1 = <&a_pwm10_pin_sleep>;
};
/***
;lcd0 configuration
;lcd_if: 0:hv(sync+de); 1:8080; 2:ttl; 3:lvds; 4:dsi; 5:edp; 6:extend dsi
;lcd_hv_if 0:Parallel RGB; 8:Serial RGB; 10:Dummy RGB; 11: RGB Dummy;12:CCIR656
;lcd_hv_clk_phase 0:0 degree;1:90 degree;2:180 degree;3:270 degree
;lcd_hv_sync_polarity 0:vs low,hs low; 1:vs high,hslow; 2:vs low,hs high; 3:vs high,hs high
;lcd_hv_syuv_seq 0:YUYV; 1:YVYU; 2:UYVY; 3:VYUY
;lcd_cpu_if 0:18bit/1 cycle parallel(RGB666); 4:16bit/1cycle parallel (RGB565)
; 6:18bit/3 cycle parallel(RGB666); 7:16bit/2cycle parallel (RGB565)
;lcd_cpu_te 0:frame auto trigger; 1:frame triggered by te rising edge; 2:frame triggered by te falling edge;
;lcd_dsi_if 0:video mode; 1: Command mode; 2:video burst mode
;lcd_dsi_te 0:frame auto trigger; 1:frame triggered by te rising edge; 2:frame triggered by te falling edge;
;lcd_x: lcd horizontal resolution
;lcd_y: lcd vertical resolution
;lcd_width: width of lcd in mm
;lcd_height: height of lcd in mm
;lcd_dclk_freq: in MHZ unit
;lcd_pwm_freq: in HZ unit
;lcd_pwm_pol: lcd backlight PWM polarity
;lcd_pwm_max_limit lcd backlight PWM max limit(<=255)
;lcd_hbp: hsync back porch(pixel) + hsync plus width(pixel);
;lcd_ht: hsync total cycle(pixel)
;lcd_vbp: vsync back porch(line) + vysnc plus width(line)
;lcd_vt: vysnc total cycle(line)
;lcd_hspw: hsync plus width(pixel)
;lcd_vspw: vysnc plus width(pixel)
;lcd_lvds_if: 0:single link; 1:dual link
;lcd_lvds_colordepth: 0:8bit; 1:6bit
;lcd_lvds_mode: 0:NS mode; 1:JEIDA mode
;lcd_frm: 0:disable; 1:enable rgb666 dither; 2:enable rgb656 dither
;lcd_io_phase: 0:noraml; 1:intert phase(0~3bit: vsync phase; 4~7bit:hsync phase;
; 8~11bit:dclk phase; 12~15bit:de phase)
;lcd_gamma_en lcd gamma correction enable
;lcd_bright_curve_en lcd bright curve correction enable
;lcd_cmap_en lcd color map function enable
;deu_mode 0:smoll lcd screen; 1:large lcd screen(larger than 10inch)
;lcdgamma4iep: Smart Backlight parameter, lcd gamma vale * 10;
; decrease it while lcd is not bright enough; increase while lcd is too bright
;smart_color 90:normal lcd screen 65:retina lcd screen(9.7inch)
;Pin setting for special function ie.LVDS, RGB data or vsync
; name(donot care) = port:PD12<pin function><pull up or pull down><drive ability><output level>
;Pin setting for gpio:
; lcd_gpio_X = port:PD12<pin function><pull up or pull down><drive ability><output level>
;Pin setting for backlight enable pin
; lcd_bl_en = port:PD12<pin function><pull up or pull down><drive ability><output level>
;fsync setting, pulse to csi
;lcd_fsync_en (0:disable fsync,1:enable)
;lcd_fsync_act_time (active time of fsync, unit:pixel)
;lcd_fsync_dis_time (disactive time of fsync, unit:pixel)
;lcd_fsync_pol (0:positive;1:negative)
;gpio config: <&pio for cpu or &r_pio for cpus, port, port num, pio function,
pull up or pull down(default 0), driver level(default 1), data>
;For dual link lvds: use lvds2link_pins_a and lvds2link_pins_b instead
;For rgb24: use rgb24_pins_a and rgb24_pins_b instead
;For lvds1: use lvds1_pins_a and lvds1_pins_b instead
;For lvds0: use lvds0_pins_a and lvds0_pins_b instead
***/
&lcd0 {
lcd_used = <1>;
lcd_driver_name = "default_lcd";
lcd_backlight = <200>;
lcd_if = <3>;
lcd_x = <1280>;
lcd_y = <800>;
lcd_width = <150>;
lcd_height = <94>;
lcd_dclk_freq = <63>;
lcd_pwm_used = <1>;
lcd_pwm_ch = <10>;
lcd_pwm_freq = <50000>;
lcd_pwm_pol = <0>;
lcd_pwm_max_limit = <255>;
lcd_pwm_name = "lvds0_backlight";
lcd_hbp = <88>;
lcd_ht = <1451>;
lcd_hspw = <18>;
lcd_vbp = <23>;
lcd_vt = <860>;
lcd_vspw = <10>;
lcd_lvds_if = <1>;
lcd_lvds_colordepth = <0>;
lcd_lvds_mode = <0>;
lcd_frm = <1>;
lcd_hv_clk_phase = <0>;
lcd_hv_sync_polarity= <0>;
lcd_gamma_en = <0>;
lcd_bright_curve_en = <0>;
lcd_cmap_en = <0>;
lcd_fsync_en = <0>;
lcd_fsync_act_time = <1000>;
lcd_fsync_dis_time = <1000>;
lcd_fsync_pol = <0>;
lcd_start_delay = <5>;
deu_mode = <0>;
lcdgamma4iep = <22>;
smart_color = <90>;
lcd_pin_power = "cldo3";
lcd_power = "dcdc4";
lcd_power1 = "cldo1";
//lcd_gpio_0 = <&pio PI 2 GPIO_ACTIVE_HIGH>; //reset
//lcd_bl_en = <&pio PI 2 GPIO_ACTIVE_HIGH>;
pinctrl-0 = <&lvds0_pins_a>,<&dsi1_4lane_pins_a>;
pinctrl-1 = <&lvds0_pins_b>,<&dsi1_4lane_pins_b>;
lvds0_pinctrl-0 = <&lvds0_pins_a>;
lvds0_pinctrl-1 = <&lvds0_pins_b>;
lvds1_pinctrl-0 = <&lvds1_pins_a>;
lvds1_pinctrl-1 = <&lvds1_pins_b>;
dsi0_pinctrl-0 = <&dsi0_4lane_pins_a>;
dsi0_pinctrl-1 = <&dsi0_4lane_pins_b>;
dual_dsi_pinctrl-0 = <&dsi0_4lane_pins_a>, <&dsi1_4lane_pins_a>;
dual_dsi_pinctrl-1 = <&dsi0_4lane_pins_b>, <&dsi1_4lane_pins_b>;
dual_lvds0_pinctrl-0 = <&lvds0_pins_a>, <&lvds1_pins_a>;
dual_lvds0_pinctrl-1 = <&lvds0_pins_b>, <&lvds1_pins_b>;
};
#if 1
&lcd1 {
lcd_used = <1>;
status = "okay";
lcd_driver_name = "SQ101D_Q5DI404_84H501";
lcd_backlight = <200>;
lcd_if = <4>;
lcd_x = <1920>;
lcd_y = <1080>;
lcd_width = <136>;
lcd_height = <217>;
lcd_dclk_freq = <148>;
lcd_pwm_used = <1>;
lcd_pwm_ch = <0>;
lcd_pwm_freq = <50000>;
lcd_pwm_pol = <0>;
lcd_pwm_max_limit = <255>;
lcd_hbp = <88>;
lcd_ht = <2200>;
lcd_hspw = <44>;
lcd_vbp = <4>;
lcd_vt = <1125>;
lcd_vspw = <5>;
lcd_frm = <0>;
lcd_gamma_en = <0>;
lcd_bright_curve_en = <0>;
lcd_cmap_en = <0>;
lcd_start_delay = <5>;
deu_mode = <0>;
lcdgamma4iep = <22>;
smart_color = <90>;
lcd_dsi_if = <0>;
lcd_dsi_lane = <4>;
lcd_dsi_format = <0>;
lcd_dsi_te = <0>;
lcd_dsi_eotp = <0>;
lcd_pin_power = "dcdc4";
lcd_power1 = "cldo4";
lcd_power2 = "cldo1";
lcd_gpio_2 = <&pio PD 22 GPIO_ACTIVE_HIGH>; //reset
pinctrl-0 = <&dsi0_4lane_pins_a>;
pinctrl-1 = <&dsi0_4lane_pins_b>;
// lcd_bl_en = <&pio PH 16 GPIO_ACTIVE_HIGH>;
lcd_bl_0_percent = <5>;
};
#else
&lcd1 {
lcd_used = <1>;
lcd_driver_name = "default_lcd";
lcd_backlight = <50>;
lcd_if = <0>;
lcd_x = <800>;
lcd_y = <480>;
lcd_width = <150>;
lcd_height = <94>;
lcd_dclk_freq = <48>;
lcd_pwm_used = <1>;
lcd_pwm_ch = <7>;
lcd_pwm_freq = <50000>;
lcd_pwm_pol = <0>;
lcd_hbp = <55>;
lcd_ht = <1240>;
lcd_hspw = <20>;
lcd_vbp = <35>;
lcd_vt = <650>;
lcd_vspw = <10>;
lcd_lvds_if = <0>;
lcd_lvds_colordepth = <1>;
lcd_lvds_mode = <0>;
lcd_frm = <1>;
lcd_io_phase = <0x0000>;
lcd_gamma_en = <0>;
lcd_bright_curve_en = <0>;
lcd_cmap_en = <0>;
deu_mode = <0>;
lcdgamma4iep = <22>;
smart_color = <90>;
};
#endif
&lcd2 {
lcd_used = <1>;
lcd_driver_name = "bp101wx1";
lcd_backlight = <50>;
lcd_if = <3>;
lcd_x = <1280>;
lcd_y = <800>;
lcd_width = <150>;
lcd_height = <94>;
lcd_dclk_freq = <75>;
lcd_pwm_used = <1>;
lcd_pwm_ch = <5>;
lcd_pwm_freq = <50000>;
lcd_pwm_pol = <0>;
lcd_pwm_max_limit = <255>;
lcd_pwm_name = "lvds2_backlight";
lcd_hbp = <88>;
lcd_ht = <1451>;
lcd_hspw = <18>;
lcd_vbp = <23>;
lcd_vt = <860>;
lcd_vspw = <10>;
lcd_lvds_if = <0>;
lcd_lvds_colordepth = <0>;
lcd_lvds_mode = <0>;
lcd_frm = <0>;
lcd_hv_clk_phase = <0>;
lcd_hv_sync_polarity= <0>;
lcd_gamma_en = <0>;
lcd_bright_curve_en = <0>;
lcd_cmap_en = <0>;
lcd_fsync_en = <0>;
lcd_fsync_pol = <0>;
lcd_start_delay = <5>;
deu_mode = <0>;
lcdgamma4iep = <22>;
smart_color = <90>;
lcd_pin_power = "cldo3";
lcd_power = "dcdc4";
/* lvds_power & other interface power */
lcd_bl_en = <&pio PI 5 GPIO_ACTIVE_HIGH>;
pinctrl-0 = <&lvds2_pins_a>;
pinctrl-1 = <&lvds2_pins_b>;
lvds2_pinctrl-0 = <&lvds2_pins_a>;
lvds2_pinctrl-1 = <&lvds2_pins_b>;
lvds3_pinctrl-0 = <&lvds3_pins_a>;
lvds3_pinctrl-1 = <&lvds3_pins_b>;
dual_lvds1_pinctrl-0 = <&lvds2_pins_a>, <&lvds3_pins_a>;
dual_lvds1_pinctrl-1 = <&lvds2_pins_b>, <&lvds3_pins_b>;
status = "disabled";
};
&edp0 {
compatible = "allwinner,sunxi-dp0";
// use if hardware reset pin is need
/* edp_hw_reset_pin = <&pio PH XX GPIO_ACTIVE_LOW>; */
edp_ssc_en = <0>;
edp_ssc_mode = <0>;
edp_psr_support = <0>;
edp_colordepth = <8>; /* 6/8/10/12/16 */
edp_color_fmt = <0>; /* 0:RGB 1: YUV444 2: YUV422 */
edp_lane_rate = <1>;
edp_lane_cnt = <4>;
lane0_sw = <0>;
lane0_pre = <0>;
lane1_sw = <0>;
lane1_pre = <0>;
lane2_sw = <0>;
lane2_pre = <0>;
lane3_sw = <0>;
lane3_pre = <0>;
efficient_training = <0>;
sink_capacity_prefer = <0>;
edid_timings_prefer = <1>;
timings_fixed = <0>;
edp_traning_param_type = <1>;
edp_timings_type = <0>;
edp_panel_used = <0>;
/*
edp_panel_used = <1>;
edp_panel_driver = "general_panel";
edp_bl_en = <&pio PI 5 GPIO_ACTIVE_HIGH>;
edp_pwm_used = <1>;
edp_pwm_ch = <5>;
edp_pwm_freq = <50000>;
edp_pwm_pol = <0>;
edp_default_backlight = <200>;
edp_panel_power_0 = "edp-panel";
*/
/*
edp_x = <1280>;
edp_y = <800>;
edp_width = <150>;
edp_height = <94>;
edp_dclk_freq = <75>;
edp_hbp = <88>;
edp_ht = <1451>;
edp_hspw = <18>;
edp_vbp = <23>;
edp_vt = <860>;
edp_vspw = <10>;
edp_fps = <30>;
*/
vcc-edp-supply = <®_bldo3>;
vdd-edp-supply = <®_dcdc2>;
edp-panel-supply = <®_dcdc4>;
status = "okay";
};
&ve {
ve-supply = <®_dcdc2>;
};
/* audio dirver module -> audio codec */
&codec {
tx-hub-en;
rx-sync-en;
dac-vol = <63>; /* default value:63 range:0->63 */
dacl-vol = <160>; /* default value:160 range:0->255 */
dacr-vol = <160>; /* default value:160 range:0->255 */
adc1-vol = <160>; /* default value:160 range:0->255 */
adc2-vol = <160>; /* default value:160 range:0->255 */
adc3-vol = <160>; /* default value:160 range:0->255 */
lineout-gain = <31>; /* default value:31 range:0->31 */
hpout-gain = <7>; /* default value:7 range:0->7 */
adc1-gain = <31>; /* default value:31 range:0->31 */
adc2-gain = <31>; /* default value:31 range:0->31 */
adc3-gain = <31>; /* default value:31 range:0->31 */
/* to do: avcc-1.8 vdd33-3.3 cpvin-1.8 */
avcc-external;
avcc-supply = <®_aldo4>;
avcc-vol = <1800000>;
vdd-external;
vdd-supply = <®_cldo3>;
vdd-vol = <3300000>;
cpvin-external;
cpvin-supply = <®_bldo3>;
cpvin-vol = <1800000>;
//pa-pin-max = <1>;
//pa-pin-0 = <&r_pio PL 7 GPIO_ACTIVE_HIGH>;
//pa-pin-level-0 = <1>;
//pa-pin-msleep-0 = <0>;
jack-det-level = <0>;
jack-det-threshold = <8>;
jack-det-debouce-time = <250>;
/* extcon = <&usb_power_supply>;
* jack-swpin-mic-sel = <&pio PH 8 GPIO_ACTIVE_HIGH>;
* jack-swpin-hp-en = <&pio PH 15 GPIO_ACTIVE_HIGH>;
* jack-swpin-hp-sel = <&pio PH 11 GPIO_ACTIVE_HIGH>;
* jack-swmode-hp-off = <0x00>;
* jack-swmode-hp-usb = <0x11>;
* jack-swmode-hp-audio = <0x10>;
* jack-det-level = <1>;
* jack-det-threshold = <8>;
* jack-det-debouce-time = <250>;
*/
status = "okay";
};
&codec_plat {
status = "okay";
};
&codec_mach {
soundcard-mach,jack-support = <1>;
status = "okay";
soundcard-mach,cpu {
sound-dai = <&codec_plat>;
};
soundcard-mach,codec {
sound-dai = <&codec>;
};
};
&hdmi_codec {
extcon = <&hdmi>;
status = "okay";
};
&edp_codec {
status = "disabled";
};
/* audio dirver module -> owa */
&owa_plat {
rglt-max = <1>;
rglt0-mode = "PMU";
rglt0-voltage = <3300000>;
rglt0-supply = <®_dcdc4>;
pinctrl-used;
pinctrl-names = "default","sleep";
pinctrl-0 = <&owa_pins_a>;
pinctrl-1 = <&owa_pins_b>;
tx-hub-en;
status = "okay";
};
&owa_mach {
status = "okay";
soundcard-mach,cpu {
sound-dai = <&owa_plat>;
};
soundcard-mach,codec {
};
};
/* audio dirver module -> DMIC */
&dmic_plat {
rx-chmap = <0x76543210>;
data-vol = <0xB0>;
rxdelaytime = <0>;
/* pinctrl-used; */
/* pinctrl-names = "default","sleep"; */
/* pinctrl-0 = <&dmic_pins_a>; */
/* pinctrl-1 = <&dmic_pins_b>; */
rx-sync-en;
status = "disabled";
};
&dmic_mach {
status = "disabled";
soundcard-mach,cpu {
sound-dai = <&dmic_plat>;
};
soundcard-mach,codec {
};
};
/* audio dirver module -> I2S/PCM */
&i2s0_plat {
tdm-num = <0>;
tx-pin = <0>;
rx-pin = <0>;
pinctrl-used;
pinctrl-names = "default","sleep";
pinctrl-0 = <&i2s0_pins_a>;
pinctrl-1 = <&i2s0_pins_b>;
tx-hub-en;
rx-sync-en;
status = "disabled";
};
&i2s0_mach {
soundcard-mach,format = "i2s";
soundcard-mach,frame-master = <&i2s0_cpu>;
soundcard-mach,bitclock-master = <&i2s0_cpu>;
/* soundcard-mach,frame-inversion; */
/* soundcard-mach,bitclock-inversion; */
soundcard-mach,slot-num = <2>;
soundcard-mach,slot-width = <32>;
soundcard-mach,capture-only;
status = "disabled";
i2s0_cpu: soundcard-mach,cpu {
sound-dai = <&i2s0_plat>;
/* note: pll freq = 24.576M or 22.5792M * pll-fs */
soundcard-mach,pll-fs = <1>;
/* note:
* mclk freq = mclk-fs * 12.288M or 11.2896M (when mclk-fp ture)
* mclk freq = mclk-fs * pcm rate (when mclk-fp false)
*/
soundcard-mach,mclk-fp;
soundcard-mach,mclk-fs = <1>;
};
i2s0_codec: soundcard-mach,codec {
sound-dai = <&ac107>;
soundcard-mach,pll-fs = <1>;
};
};
&i2s1_plat {
tdm-num = <1>;
tx-pin = <0>;
rx-pin = <0>;
/* pinctrl-used; */
/* pinctrl-names= "default","sleep"; */
/* pinctrl-0 = <&i2s1_pins_a>; */
/* pinctrl-1 = <&i2s1_pins_b>; */
tx-hub-en;
rx-sync-en;
status = "disabled";
};
&i2s1_mach {
soundcard-mach,format = "i2s";
soundcard-mach,frame-master = <&i2s1_cpu>;
soundcard-mach,bitclock-master = <&i2s1_cpu>;
/* soundcard-mach,frame-inversion; */
/* soundcard-mach,bitclock-inversion; */
soundcard-mach,slot-num = <2>;
soundcard-mach,slot-width = <32>;
status = "disabled";
i2s1_cpu: soundcard-mach,cpu {
sound-dai = <&i2s1_plat>;
soundcard-mach,pll-fs = <1>;
soundcard-mach,mclk-fs = <0>;
};
i2s1_codec: soundcard-mach,codec {
};
};
&i2s2_plat {
tdm-num = <2>;
tx-pin = <0 1 2 3>;
/* e.g.
* tx-pin0-map0 = <0xFEDC3210> -> tx_pin_map[0][0] (Dout0-slot[7:0] map channel[15:12, 3:0])
* tx-pin0-map1 = <0x3210FEDC> -> tx_pin_map[0][1] (Dout0-slot[15:8] map channel[3:0, 15:12])
* tx-pin1-map0 = <0x76543210> -> tx_pin_map[1][0] (Dout1-slot[7:0] map channel[7:0])
*/
tx-pin0-map0 = <0x76543210>;
tx-pin0-map1 = <0xFEDCBA98>;
tx-pin1-map0 = <0x76543210>;
tx-pin1-map1 = <0xFEDCBA98>;
tx-pin2-map0 = <0x76543210>;
tx-pin2-map1 = <0xFEDCBA98>;
tx-pin3-map0 = <0x76543210>;
tx-pin3-map1 = <0xFEDCBA98>;
rx-pin = <0>;
/* pinctrl-used; */
/* pinctrl-names= "default","sleep"; */
/* pinctrl-0 = <&i2s2_pins_a>; */
/* pinctrl-1 = <&i2s2_pins_b>; */
tx-hub-en;
rx-sync-en;
/* edp not need dai-type */
dai-type = "hdmi";
status = "okay";
};
&i2s2_mach {
soundcard-mach,format = "i2s";
soundcard-mach,frame-master = <&i2s2_cpu>;
soundcard-mach,bitclock-master = <&i2s2_cpu>;
/* soundcard-mach,frame-inversion; */
/* soundcard-mach,bitclock-inversion; */
soundcard-mach,slot-num = <2>;
soundcard-mach,slot-width = <32>;
soundcard-mach,playback-only;
status = "okay";
i2s2_cpu: soundcard-mach,cpu {
sound-dai = <&i2s2_plat>;
soundcard-mach,pll-fs = <1>;
/* edp mclk: 512fs */
soundcard-mach,mclk-fs = <0>;
};
i2s2_codec: soundcard-mach,codec {
sound-dai = <&hdmi_codec>;
};
};
&i2s3_plat {
tdm-num = <3>;
tx-pin = <0>;
rx-pin = <0>;
/* pinctrl-used; */
/* pinctrl-names= "default","sleep"; */
/* pinctrl-0 = <&i2s3_pins_a>; */
/* pinctrl-1 = <&i2s3_pins_b>; */
tx-hub-en;
rx-sync-en;
status = "disabled";
};
&i2s3_mach {
soundcard-mach,format = "i2s";
soundcard-mach,frame-master = <&i2s3_cpu>;
soundcard-mach,bitclock-master = <&i2s3_cpu>;
/* soundcard-mach,frame-inversion; */
/* soundcard-mach,bitclock-inversion; */
soundcard-mach,slot-num = <2>;
soundcard-mach,slot-width = <32>;
status = "disabled";
i2s3_cpu: soundcard-mach,cpu {
sound-dai = <&i2s3_plat>;
soundcard-mach,pll-fs = <1>;
soundcard-mach,mclk-fs = <0>;
};
i2s3_codec: soundcard-mach,codec {
};
};
&hdmi {
hdmi_used = <1>;
bldo3-supply = <®_bldo3>;
hdmi_power0 = "bldo3";
hdmi_power_cnt = <1>;
hdmi_hdcp_enable = <1>;
hdmi_hdcp22_enable = <0>;
hdmi_cts_compatibility = <0>;
hdmi_cec_support = <1>;
hdmi_cec_super_standby = <1>;
hdmi_skip_bootedid = <1>;
ddc_en_io_ctrl = <0>;
power_io_ctrl = <0>;
};
&cpu0 {
cpu-supply = <®_dcdc1>;
};
&dsufreq {
dsu-supply = <®_dcdc1>;
};
&mdio0 {
status = "okay";
gmac0_phy0: ethernet-phy@5 {
reg = <0x5>;
max-speed = <1000>;
/* PHY datasheet rst time */
reset-assert-us = <10000>;
reset-deassert-us = <150000>;
};
};
&gmac0 {
phy-mode = "rgmii";
pinctrl-names = "default", "sleep";
pinctrl-0 = <&gmac0_pins_default>;
pinctrl-1 = <&gmac0_pins_sleep>;
sunxi,phy-clk-type = <0>;
tx-delay = <0>;
rx-delay = <0>;
phy-handle = <&gmac0_phy0>;
gmac3v3-supply = <®_dcdc4>;
status = "okay";
};
&gmac1 {
phy-mode = "rgmii";
phy-handle = <&gmac1_phy0>;
pinctrl-names = "default", "sleep";
pinctrl-0 = <&gmac1_pins_default>;
pinctrl-1 = <&gmac1_pins_sleep>;
aw,soc-phy25m;
tx-delay = <0>;
rx-delay = <0>;
snps,reset-gpios = <&pio PJ 17 GPIO_ACTIVE_LOW>;
snps,phy-addr = <0x6>;
dwmac3v3-supply = <®_dcdc4>;
status = "okay";
mdio1: mdio1@1 {
snps,reset-gpios = <&pio PJ 17 GPIO_ACTIVE_LOW>;
gmac1_phy0: ethernet-phy@6 {
snps,reset-gpios = <&pio PJ 17 GPIO_ACTIVE_LOW>;
reg = <0x6>;
max-speed = <1000>;
/* PHY datasheet rst time */
reset-assert-us = <10000>;
reset-deassert-us = <150000>;
};
};
};
&npu {
npu-supply = <®_ext_axp1530_dcdc3>;
npu_vol = <1050000>;
clock-frequency = <696000000>;
status = "okay";
};
&dram {
dram_para00 = <0x00000000>;
dram_para01 = <0x00000000>;
dram_para02 = <0x00000000>;
dram_para03 = <0x00000000>;
dram_para04 = <0x00000000>;
dram_para05 = <0x00000000>;
dram_para06 = <0x00000000>;
dram_para07 = <0x00000000>;
dram_para08 = <0x00000000>;
dram_para09 = <0x00000000>;
dram_para10 = <0x00000000>;
dram_para11 = <0x00000000>;
dram_para12 = <0x00000000>;
dram_para13 = <0x00000000>;
dram_para14 = <0x00000000>;
dram_para15 = <0x00000000>;
dram_para16 = <0x00000000>;
dram_para17 = <0x00000000>;
dram_para18 = <0x00000000>;
dram_para19 = <0x00000000>;
dram_para20 = <0x00000000>;
dram_para21 = <0x00000000>;
dram_para22 = <0x00000000>;
dram_para23 = <0x00000000>;
dram_para24 = <0x00000000>;
dram_para25 = <0x00000000>;
dram_para26 = <0x00000000>;
dram_para27 = <0x00000000>;
dram_para28 = <0x00000000>;
dram_para29 = <0x00000000>;
dram_para30 = <0x00000000>;
dram_para31 = <0x00000000>;
dram_para32 = <0x00000000>;
dram_para33 = <0x00000000>;
dram_para34 = <0x00000000>;
dram_para35 = <0x00000000>;
dram_para36 = <0x00000000>;
dram_para37 = <0x00000000>;
dram_para38 = <0x00000000>;
dram_para39 = <0x00000000>;
dram_para40 = <0x00000000>;
dram_para41 = <0x00000000>;
dram_para42 = <0x00000000>;
dram_para43 = <0x00000000>;
dram_para44 = <0x00000000>;
dram_para45 = <0x00000000>;
dram_para46 = <0x00000000>;
dram_para47 = <0x00000000>;
dram_para48 = <0x00000000>;
dram_para49 = <0x00000000>;
dram_para50 = <0x00000000>;
dram_para51 = <0x00000000>;
dram_para52 = <0x00000000>;
dram_para53 = <0x00000000>;
dram_para54 = <0x00000000>;
dram_para55 = <0x00000000>;
dram_para56 = <0x00000000>;
dram_para57 = <0x00000000>;
dram_para58 = <0x00000000>;
dram_para59 = <0x00000000>;
dram_para60 = <0x00000000>;
dram_para61 = <0x00000000>;
dram_para62 = <0x00000000>;
dram_para63 = <0x00000000>;
dram_para64 = <0x00000000>;
dram_para65 = <0x00000000>;
dram_para66 = <0x00000000>;
dram_para67 = <0x00000000>;
dram_para68 = <0x00000000>;
dram_para69 = <0x00000000>;
dram_para70 = <0x00000000>;
dram_para71 = <0x00000000>;
dram_para72 = <0x00000000>;
dram_para73 = <0x00000000>;
dram_para74 = <0x00000000>;
dram_para75 = <0x00000000>;
dram_para76 = <0x00000000>;
dram_para77 = <0x00000000>;
dram_para78 = <0x00000000>;
dram_para79 = <0x00000000>;
dram_para80 = <0x00000000>;
dram_para81 = <0x00000000>;
dram_para82 = <0x00000000>;
dram_para83 = <0x00000000>;
dram_para84 = <0x00000000>;
dram_para85 = <0x00000000>;
dram_para86 = <0x00000000>;
dram_para87 = <0x00000000>;
dram_para88 = <0x00000000>;
dram_para89 = <0x00000000>;
dram_para90 = <0x00000000>;
dram_para91 = <0x00000000>;
dram_para92 = <0x00000000>;
dram_para93 = <0x00000000>;
dram_para94 = <0x00000000>;
dram_para95 = <0x00000000>;
};
myb-yt527-e.dts:
/*
* Allwinner Technology CO., Ltd.
*/
/dts-v1/;
#include "sun55iw3p1.dtsi"
#include <uapi/linux/input-event-codes.h>
/{
board = "T527", "T527-DEMO-AXP717B";
compatible = "allwinner,t527", "arm,sun55iw3p1";
aliases {
pmu0 = &pmu0;
serial0 = &uart0;
hdmi = &hdmi;
reg-tcs0 = ®_tcs0;
reg-sy0 = ®_sy0;
reg-axp1530 = ®_ext_axp1530_dcdc1;
tcs0 = &tcs0;
sy0 = &sy0;
axp1530 = &axp1530;
cpu-ext = &cpu4;
standby-param = &standby_param;
arisc-config = &arisc_config;
cir_param = &cir_param;
};
/*
reg_usb0_vbus: usb0-vbus {
compatible = "regulator-fixed";
regulator-name = "usb0-vbus";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
regulator-enable-ramp-delay = <1000>;
gpio = <&pio PB 12 GPIO_ACTIVE_HIGH>;
enable-active-high;
};
*/
reg_usb1_vbus: usb1-vbus {
compatible = "regulator-fixed";
regulator-name = "usb1-vbus";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
regulator-enable-ramp-delay = <1000>;
gpio = <&pio PB 3 GPIO_ACTIVE_HIGH>;
enable-active-high;
};
standby_param: standby_param {
vdd-cpu = <0x00000001>;
vdd-cpub = <0x00000001>;
vdd-sys = <0x00000002>;
vcc-pll = <0x00000080>;
vcc-io = <0x00004000>;
osc24m-on = <0x0>;
dsp-standby-en = <0x1>;
};
cir_param: cir_param {
gpio_group = <1>; /* 0:PL 1:PM */
gpio_pin = <11>;
gpio_function = <2>;
count = <15>;
ir_power_key_code0 = <0x40>;
ir_addr_code0 = <0xfe01>;
ir_power_key_code1 = <0x1a>;
ir_addr_code1 = <0xfb04>;
ir_power_key_code2 = <0xf2>;
ir_addr_code2 = <0x2992>;
ir_power_key_code3 = <0x57>;
ir_addr_code3 = <0x9f00>;
ir_power_key_code4 = <0xdc>;
ir_addr_code4 = <0x4cb3>;
ir_power_key_code5 = <0x18>;
ir_addr_code5 = <0xff00>;
ir_power_key_code6 = <0xdc>;
ir_addr_code6 = <0xdd22>;
ir_power_key_code7 = <0x0d>;
ir_addr_code7 = <0xbc00>;
ir_power_key_code8 = <0x4d>;
ir_addr_code8 = <0x4040>;
ir_power_key_code9 = <0x08>;
ir_addr_code9 = <0xfb04>;
ir_power_key_code10 = <0x00>;
ir_addr_code10 = <0xfc03>;
ir_power_key_code11 = <0x00>;
ir_addr_code11 = <0xbf00>;
ir_power_key_code12 = <0xea>;
ir_addr_code12 = <0xfb04>;
ir_power_key_code13 = <0x42>;
ir_addr_code13 = <0xbf00>;
ir_power_key_code14 = <0x0f>;
ir_addr_code14 = <0xff00>;
};
arisc_config: arisc_config {
s_uart_config {
pins = "PL2", "PL3";
function = <2>, <2>;
status = "disabled";
};
};
reserved-memory {
dsp0ddr_reserved: dsp0ddr@4a000000 {
reg = <0x0 0x4a000000 0x0 0x00a00000>;
no-map;
};
riscvsram0_reserved: riscvsram0@7280000 {
reg = <0x0 0x07280000 0x0 0x40000>;
no-map;
};
riscvsram1_reserved: riscvsram1@72c0000 {
reg = <0x0 0x072c0000 0x0 0x40000>;
no-map;
};
/*
* The name should be "vdev%dbuffer".
* Its size should be not less than
* RPMSG_BUF_SIZE * (num of buffers in a vring) * 2
* = 512 * (num of buffers in a vring) * 2
*/
dsp_vdev0buffer: vdev0buffer@4ac00000 {
compatible = "shared-dma-pool";
reg = <0x0 0x4ac00000 0x0 0x40000>;
no-map;
};
/*
* The name should be "vdev%dvring%d".
* The size of each should be not less than
* PAGE_ALIGN(vring_size(num, align))
* = PAGE_ALIGN(16 * num + 6 + 2 * num + (pads for align) + 6 + 8 * num)
*
* (Please refer to the vring layout in include/uapi/linux/virtio_ring.h)
*/
dsp_vdev0vring0: vdev0vring0@4ac40000 {
reg = <0x0 0x4ac40000 0x0 0x2000>;
no-map;
};
dsp_vdev0vring1: vdev0vring1@4ac42000 {
reg = <0x0 0x4ac42000 0x0 0x2000>;
no-map;
};
/*
* The name should be "vdev%dbuffer".
* Its size should be not less than
* RPMSG_BUF_SIZE * (num of buffers in a vring) * 2
* = 512 * (num of buffers in a vring) * 2
*/
rv_vdev0buffer: vdev0buffer@4ae00000 {
compatible = "shared-dma-pool";
reg = <0x0 0x4ae00000 0x0 0x40000>;
no-map;
};
/*
* The name should be "vdev%dvring%d".
* The size of each should be not less than
* PAGE_ALIGN(vring_size(num, align))
* = PAGE_ALIGN(16 * num + 6 + 2 * num + (pads for align) + 6 + 8 * num)
*
* (Please refer to the vring layout in include/uapi/linux/virtio_ring.h)
*/
rv_vdev0vring0: vdev0vring0@4ae40000 {
reg = <0x0 0x4ae40000 0x0 0x2000>;
no-map;
};
rv_vdev0vring1: vdev0vring1@4ae42000 {
reg = <0x0 0x4ae42000 0x0 0x2000>;
no-map;
};
/*
* dsp ram addr
*/
dsp0iram_reserved: dsp0iram@20000 {
reg = <0x0 0x20000 0x0 0x10000>;
no-map;
};
dsp0dram0_reserved: dsp0dram0@30000 {
reg = <0x0 0x30000 0x0 0x8000>;
no-map;
};
dsp0dram1_reserved: dsp0dram1@38000 {
reg = <0x0 0x38000 0x0 0x8000>;
no-map;
};
dsp0_rpbuf_reserved: dsp0_rpbuf@4ae44000 {
compatible = "shared-dma-pool";
no-map;
reg = <0x0 0x4ae44000 0x0 0x8000>;
};
dsp_share_space@4ab00000 {
no-map;
reg = <0x0 0x4ab00000 0x0 0x10000>;
};
};
rpbuf_controller0: rpbuf_controller@0 {
compatible = "allwinner,rpbuf-controller";
remoteproc = <&dsp0_rproc>;
ctrl_id = <0>;
memory-region = <&dsp0_rpbuf_reserved>;
status = "okay";
};
ap6256_wifi: ap6256_wifi {
compatible = "android,bcmdhd_wlan";
gpio_wl_reg_on = <&pio PC 3 GPIO_ACTIVE_HIGH>;
gpio_wl_host_wake = <&pio PC 7 GPIO_ACTIVE_HIGH>;
};
gpio-keys {
compatible = "gpio-keys";
status = "okay";
vol-down-key {
gpios = <&pio PI 11 GPIO_ACTIVE_LOW>;
linux,code = <114>;
label = "user key";
debounce-interval = <10>;
wakeup-source = <0x1>;
gpio-key,wakeup;
};
};
leds {
compatible = "gpio-leds";
pinctrl-names = "default";
status = "okay";
led0: led-green {
label = "green";
gpios = <&pio PB 6 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>;
linux,defaults-trigger = "heartbeat";
defaults-state = "on";
};
led1: led-red {
label = "red";
gpios = <&pio PB 7 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>;
linux,defaults-trigger = "heartbeat";
defaults-state = "on";
};
};
};
&r_pio {
uart8_pins_a: uart8_pins@0 {
pins = "PL12", "PL13";
function = "s_uart0";
};
uart8_pins_b: uart8_pins@1 {
pins = "PL12", "PL13";
function = "gpio_in";
};
uart9_pins_a: uart9_pins@0 {
pins = "PL2", "PL3";
function = "s_uart1";
};
uart9_pins_b: uart9_pins@1 {
pins = "PL2", "PL3";
function = "gpio_in";
};
s_twi0_pins_default: s_twi0@0 {
pins = "PL0", "PL1";
function = "s_twi0";
drive-strength = <10>;
bias-pull-up;
};
s_twi0_pins_sleep: s_twi0@1 {
pins = "PL0", "PL1";
function = "gpio_in";
};
s_twi1_pins_default: s_twi1@0 {
pins = "PL8", "PL9";
function = "s_twi1";
drive-strength = <10>;
bias-pull-up;
};
s_twi1_pins_sleep: s_twi1@1 {
pins = "PL8", "PL9";
function = "gpio_in";
};
s_twi2_pins_default: s_twi2@0 {
pins = "PM4", "PM5";
function = "s_twi2";
drive-strength = <20>;
bias-pull-up;
};
s_twi2_pins_sleep: s_twi2@1 {
pins = "PM4", "PM5";
function = "gpio_in";
};
s_irrx_pins_default: s_irrx@0 {
pins = "PL11";
function = "s_cir";
};
s_irrx_pins_sleep: s_irrx@1 {
pins = "PL11";
function = "gpio_in";
};
};
&pio {
vcc-pg-supply = <®_pio1_8>;
vcc-pf-supply = <®_pio1_8>;
vcc-pfo-supply = <®_pio3_3>;
vcc-pd-supply = <®_pio3_3>;
vcc-pe-supply = <®_pio3_3>;
vcc-pi-supply = <®_pio3_3>;
vcc-pj-supply = <®_pio3_3>;
vcc-pk-supply = <®_pio3_3>;
uart0_pins_a: uart0_pins@0 {
pins = "", "";
function = "uart0";
};
uart0_pins_b: uart0_pins@1 {
pins = "", "";
function = "gpio_in";
};
uart2_pins_a: uart2_pins@0 {
pins = "PB0", "PB1";
function = "uart2";
};
uart2_pins_b: uart2_pins@1 {
pins = "PB0", "PB1";
function = "gpio_in";
};
uart3_pins_a: uart3_pins@0 {
pins = "PJ20", "PJ21", "PJ22", "PJ23";
function = "uart3";
};
uart3_pins_b: uart3_pins@1 {
pins = "PJ20", "PJ21", "PJ22", "PJ23";
function = "gpio_in";
};
uart4_pins_a: uart4_pins@0 {
pins = "PE1", "PE2", "PE3", "PE4";
function = "uart4";
};
uart4_pins_b: uart4_pins@1 {
pins = "PE1", "PE2", "PE3", "PE4";
function = "gpio_in";
};
uart5_pins_a: uart5_pins@0 {
pins = "PE13", "PE14";
function = "uart5";
};
uart5_pins_b: uart5_pins@1 {
pins = "PE13", "PE14";
function = "gpio_in";
};
uart6_pins_a: uart6_pins@0 {
pins = "PE11", "PE12";
function = "uart6";
};
uart6_pins_b: uart6_pins@1 {
pins = "PE11", "PE12";
function = "gpio_in";
};
uart7_pins_a: uart7_pins@0 {
pins = "PB11", "PB12", "PB13", "PB14";
function = "uart7";
};
uart7_pins_b: uart7_pins@1 {
pins = "PB11", "PB12", "PB13", "PB14";
function = "gpio_in";
};
a_pwm0_pin_active: a_pwm0@0 {
pins = "PD23";
function = "pwm0";
};
a_pwm0_pin_sleep: a_pwm0@1 {
pins = "PD23";
function = "gpio_in";
bias-pull-down;
};
a_pwm1_pin_active: a_pwm1@0 {
pins = "PD22";
function = "pwm1";
};
a_pwm1_pin_sleep: a_pwm1@1 {
pins = "PD22";
function = "gpio_in";
bias-pull-down;
};
a_pwm2_pin_active: a_pwm2@0 {
pins = "PB11";
function = "pwm2";
};
a_pwm2_pin_sleep: a_pwm2@1 {
pins = "PB11";
function = "gpio_in";
bias-pull-down;
};
a_pwm3_pin_active: a_pwm3@0 {
pins = "PB12";
function = "pwm3";
};
a_pwm3_pin_sleep: a_pwm3@1 {
pins = "PB12";
function = "gpio_in";
bias-pull-down;
};
a_pwm4_pin_active: a_pwm4@0 {
pins = "PI3";
function = "pwm4";
};
a_pwm4_pin_sleep: a_pwm4@1 {
pins = "PI3";
function = "gpio_in";
bias-pull-down;
};
a_pwm5_pin_active: a_pwm5@0 {
pins = "PI4";
function = "pwm5";
};
a_pwm5_pin_sleep: a_pwm5@1 {
pins = "PI4";
function = "gpio_in";
bias-pull-down;
};
a_pwm10_pin_active: a_pwm10@0 {
pins = "PI9";
function = "pwm10";
};
a_pwm10_pin_sleep: a_pwm10@1 {
pins = "PI9";
function = "gpio_in";
bias-pull-down;
};
ledc_pins_a: ledc@0 {
pins = "PG0";
function = "ledc";
drive-strength = <10>;
};
ledc_pins_b: ledc@1 {
pins = "PG0";
function = "gpio_in";
};
irrx_pins_default: irrx@0 {
pins = "PI8";
function = "cir";
};
irrx_pins_sleep: irrx@1 {
pins = "PI8";
function = "gpio_in";
};
irtx_pins_default: irtx@0 {
pins = "PH18";
function = "cir";
};
irtx_pins_sleep: irtx@1 {
pins = "PH18";
function = "gpio_in";
};
twi0_pins_default: twi0@0 {
pins = "PD22", "PD23";
function = "twi0";
drive-strength = <10>;
bias-pull-up;
};
twi0_pins_sleep: twi0@1 {
pins = "PD22", "PD23";
function = "gpio_in";
};
twi1_pins_default: twi1@0 {
pins = "PB4", "PB5";
function = "twi1";
drive-strength = <10>;
bias-pull-up;
};
twi1_pins_sleep: twi1@1 {
pins = "PB4", "PB5";
function = "gpio_in";
};
twi2_pins_default: twi2@0 {
pins = "PE1", "PE2";
function = "twi2";
drive-strength = <20>;
bias-pull-up;
};
twi2_pins_sleep: twi2@1 {
pins = "PE1", "PE2";
function = "gpio_in";
};
twi3_pins_default: twi3@0 {
pins = "PE3", "PE4";
function = "twi3";
drive-strength = <20>;
bias-pull-up;
};
twi3_pins_sleep: twi3@1 {
pins = "PE3", "PE4";
function = "gpio_in";
};
twi4_pins_default: twi4@0 {
pins = "PI0", "PI1";
function = "twi4";
drive-strength = <10>;
bias-pull-up;
};
twi4_pins_sleep: twi4@1 {
pins = "PI0", "PI1";
function = "gpio_in";
};
twi5_pins_default: twi5@0 {
pins = "PJ26", "PJ27";
function = "twi5";
drive-strength = <10>;
bias-pull-up;
};
twi5_pins_sleep: twi5@1 {
pins = "PJ26", "PJ27";
function = "gpio_in";
};
owa_pins_a: owa@0 {
pins = "PI10";
function = "owa";
drive-strength = <20>;
bias-disable;
};
owa_pins_b: owa@1 {
pins = "PI10";
function = "io_disabled";
drive-strength = <20>;
bias-disable;
};
i2s0_pins_a: i2s0@0 {
pins = "PB4", "PB5", "PB6", "PB7", "PB8";
function = "i2s0";
drive-strength = <20>;
bias-disable;
};
i2s0_pins_b: i2s0@1 {
pins = "PB4", "PB5", "PB6", "PB7", "PB8";
function = "io_disabled";
drive-strength = <20>;
bias-disable;
};
i2s1_pins_a: i2s1@0 {
pins = "PG10", "PG11", "PG12", "PG13", "PG14";
function = "i2s1";
drive-strength = <20>;
bias-disable;
};
i2s1_pins_b: i2s1@1 {
pins = "PG10", "PG11", "PG12", "PG13", "PG14";
function = "io_disabled";
drive-strength = <20>;
bias-disable;
};
i2s2_pins_a: i2s2@0 {
pins = "PH2", "PH3", "PH8", "PH9", "PH10", "PH11", "PH12";
function = "i2s2";
drive-strength = <20>;
bias-disable;
};
i2s2_pins_b: i2s2@1 {
pins = "PH2", "PH3", "PH8", "PH9", "PH10", "PH11", "PH12";
function = "io_disabled";
drive-strength = <20>;
bias-disable;
};
i2s3_pins_a: i2s3@0 {
pins = "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6";
function = "i2s3";
drive-strength = <20>;
bias-disable;
};
i2s3_pins_b: i2s3@1 {
pins = "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6";
function = "io_disabled";
drive-strength = <20>;
bias-disable;
};
rgb24_pins_a: rgb24@0 {
pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", \
"PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PD16", "PD17", "PD18", "PD19", \
"PD20", "PD21", "PD22","PD23","PD24","PD25","PD26","PD27";
function = "dpss";
drive-strength = <30>;
};
rgb24_pins_b: rgb24@1 {
pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", \
"PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PD16", "PD17", "PD18", "PD19", \
"PD20", "PD21", "PD22", "PD23","PD24","PD25","PD26","PD27";
function = "gpio_in";
};
lvds0_pins_a: lvds0@0 {
pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9";
function = "lvds0";
drive-strength = <30>;
};
lvds0_pins_b: lvds0@1 {
pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9";
function = "gpio_in";
};
nand0_pins_default: nand0@0 {
pins = "PC0", "PC1", "PC2", "PC5",
"PC8", "PC9", "PC10", "PC11",
"PC12", "PC13", "PC14", "PC15",
"PC16";
function = "nand0";
drive-strength = <30>;
};
nand0_pins_rb: nand0@1 {
pins = "PC4", "PC6", "PC3", "PC7";
function = "nand0";
drive-strength = <30>;
bias-pull-up; /* only RB&CE should be pulled up */
};
nand0_pins_sleep: nand0@2 {
pins = "PC0", "PC1", "PC2", "PC3",
"PC4", "PC5", "PC6", "PC7",
"PC8", "PC9", "PC10", "PC11",
"PC12", "PC13", "PC14", "PC15",
"PC16";
function = "io_disabled";
drive-strength = <10>;
};
gmac0_pins_default: gmac0@0 {
pins = "PH0", "PH1", "PH2", "PH3",
"PH4", "PH5", "PH6", "PH7",
"PH9", "PH10","PH13","PH14",
"PH15","PH16","PH17","PH18";
drive-strength = <40>;
function = "gmac0";
bias-pull-up;
};
gmac0_pins_sleep: gmac0@1 {
pins = "PH0", "PH1", "PH2", "PH3",
"PH4", "PH5", "PH6", "PH7",
"PH9", "PH10","PH13","PH14",
"PH15","PH16","PH17","PH18";
function = "gpio_in";
};
gmac1_pins_default: gmac1@0 {
pins = "PJ0", "PJ1", "PJ2", "PJ3",
"PJ4", "PJ5", "PJ6", "PJ7",
"PJ8", "PJ9", "PJ10", "PJ11",
"PJ12","PJ13", "PJ14", "PJ15";
drive-strength = <40>;
function = "gmac1";
bias-pull-up;
};
gmac1_pins_sleep: gmac1@1 {
pins = "PJ0", "PJ1", "PJ2", "PJ3",
"PJ4", "PJ5", "PJ6", "PJ7",
"PJ8", "PJ9", "PJ10", "PJ11",
"PJ12","PJ13", "PJ14", "PJ15";
function = "gpio_in";
};
spi1_pin_default: spi1_pin_default{
pins = "PI2","PI3","PI4","PI5";
function = "spi1";
};
spi1_pin_sleep: spi1_pin_sleep{
pins = "PI2","PI3","PI4","PI5";
function = "gpio_in";
};
spi2_pin_default: spi2_default {
pins = "PI6","PI7","PI8","PI12";
function = "spi2";
};
spi2_pin_sleep: spi2_sleep {
pins = "PI6","PI7","PI8","PI12";
function = "gpio_in";
};
};
&spi1 {
clock-frequency = <100000000>;
pinctrl-names = "default","sleep";
pinctrl-0 = <&spi1_pin_default>;
pinctrl-1 = <&spi1_pin_sleep>;
sunxi,spi-num-cs = <1>;
sunxi,spi-bus-mode = <SUNXI_SPI_BUS_MASTER>;
sunxi,spi-cs-mode = <SUNXI_SPI_CS_AUTO>;
status = "okay";
spidev1 {
reg = <0>;
compatible = "rohm,dh2228fv";
spi-max-frequency = <500000>;
spi-rx-bus-width = <0x1>;
spi-tx-bus-width = <0x1>;
};
};
&spi2{
clock-frequency = <100000000>;
pinctrl-names = "default","sleep";
pinctrl-0 = <&spi2_pin_default>;
pinctrl-1 = <&spi2_pin_sleep>;
sunxi,spi-num-cs = <1>;
sunxi,spi-bus-mode = <SUNXI_SPI_BUS_MASTER>;
sunxi,spi-cs-mode = <SUNXI_SPI_CS_AUTO>;
status = "okay";
spidev2 {
reg = <0>;
compatible = "rohm,dh2228fv";
spi-max-frequency = <500000>;
spi-rx-bus-width = <0x1>;
spi-tx-bus-width = <0x1>;
};
};
&soc {
auto_print@54321 {
reg = <0x0 0x54321 0x0 0x0>;
device_type = "auto_print";
status = "okay";
};
car_reverse: car-reverse {
compatible = "allwinner,sunxi-car-reverse";
/* video source setting*/
video_channel = <0>;
video_source = <0>;
format_type = <0>;
video_source_width = <1920>;
video_source_height = <1080>;
src_size_adaptive = <1>;
/* display setting */
overview_type = <1>;
screen_width = <1280>;
screen_height = <800>;
screen_size_adaptive = <1>;
discard_frame = <0>;
di_used = <0>;
g2d_used = <1>;
rotation = <0>;
/* auxiliary line setting */
auxiliary_line_type = <1>;
aux_angle = <0>;
aux_lr = <0>;
reverse_int_pin = <&pio PI 15 GPIO_ACTIVE_HIGH>;
status = "disabled";
};
dsp0_rproc: dsp0_rproc@0 {
mboxes = <&msgbox 4>, <&msgbox 6>;
mbox-names = "arm-kick", "dsp-standby";
memory-region = <&dsp0ddr_reserved>, <&dsp_vdev0buffer>, <&dsp_vdev0vring0>, <&dsp_vdev0vring1>,
<&dsp0iram_reserved>, <&dsp0dram0_reserved>, <&dsp0dram1_reserved>;
memory-mappings =
/* < DA len PA > */
/* local SRAM via external bus */
< 0x20000 0x20000 0x20000 >,
/* local SRAM via internal bus */
< 0x400000 0x10000 0x20000 >,
< 0x420000 0x8000 0x30000 >,
< 0x440000 0x8000 0x38000 >,
/* DDR front 256MB */
< 0x10000000 0x10000000 0x40000000 >,
/* local SRAM via internal bus */
< 0x20020000 0x10000 0x400000 >,
< 0x20030000 0x8000 0x420000 >,
< 0x20038000 0x8000 0x440000 >,
/* DDR front 256MB */
< 0x30000000 0x10000000 0x40000000 >,
/* DDR front 1GB */
< 0x40000000 0x40000000 0x40000000 >,
/* DDR front 1GB */
< 0x80000000 0x40000000 0x40000000 >,
/* DDR front 1GB */
< 0xC0000000 0x40000000 0x40000000 >;
standby-ctrl-en = <0x1>;
standby-record-reg = <0x07090110>;
status = "okay";
};
e906_rproc: e906_rproc@7130000 {
mboxes = <&msgbox 8>;
mbox-names = "arm-kick";
memory-region = <&riscvsram0_reserved>, <&riscvsram1_reserved>, <&rv_vdev0buffer>, <&rv_vdev0vring0>, <&rv_vdev0vring1>;
memory-mappings =
/* < DA len PA > */
/* DSP RAM */
< 0x20000 0x20000 0x20000 >,
/* SRAM A2 */
< 0x40000 0x24000 0x40000 >,
/* DDR */
< 0x8000000 0x37f00000 0x8000000 >,
/* SRAM SPACE 0 */
< 0x3ffc0000 0x40000 0x07280000 >,
/* SRAM SPACE 1 */
< 0x40000000 0x40000 0x072c0000 >,
/* DRAM SPACE */
< 0x40040000 0x3ffc0000 0x40040000>;
status = "okay";
};
};
&uart0 {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&uart0_pins_a>;
pinctrl-1 = <&uart0_pins_b>;
uart-supply = <®_cldo3>;
status = "okay";
};
&uart1 {
status = "disabled";
};
&uart2 {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&uart2_pins_a>;
pinctrl-1 = <&uart2_pins_b>;
status = "okay";
};
&uart3 {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&uart3_pins_a>;
pinctrl-1 = <&uart3_pins_b>;
status = "okay";
};
&uart4 {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&uart4_pins_a>;
pinctrl-1 = <&uart4_pins_b>;
status = "okay";
};
&uart5 {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&uart5_pins_a>;
pinctrl-1 = <&uart5_pins_b>;
status = "okay";
};
&uart6 {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&uart6_pins_a>;
pinctrl-1 = <&uart6_pins_b>;
status = "okay";
};
&uart7 {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&uart7_pins_a>;
pinctrl-1 = <&uart7_pins_b>;
status = "okay";
};
&uart8 {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&uart8_pins_a>;
pinctrl-1 = <&uart8_pins_b>;
status = "okay";
};
&uart9 {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&uart9_pins_a>;
pinctrl-1 = <&uart9_pins_b>;
status = "okay";
};
&lradc {
key_cnt = <2>;
key0 = <210 0x73>;
key1 = <410 0x72>;
key_debounce;
debounce_value = <50>;
status = "okay";
};
&irrx {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&irrx_pins_default>;
pinctrl-1 = <&irrx_pins_sleep>;
irrx-supply = <®_dcdc4>;
status = "disabled";
};
&s_irrx {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&s_irrx_pins_default>;
pinctrl-1 = <&s_irrx_pins_sleep>;
status = "okay";
};
&irtx {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&irtx_pins_default>;
pinctrl-1 = <&irtx_pins_sleep>;
status = "disabled";
};
&gpadc0 {
channel_num = <2>;
channel_select = <3>;
channel_data_select = <3>;
channel_compare_select = <3>;
channel_cld_select = <3>;
channel_chd_select = <3>;
channel0_compare_lowdata = <1700000>;
channel0_compare_higdata = <1200000>;
channel1_compare_lowdata = <460000>;
channel1_compare_higdata = <1200000>;
status = "disabled";
};
&gpadc1 {
channel_num = <2>;
channel_select = <3>;
channel_data_select = <3>;
channel_compare_select = <3>;
channel_cld_select = <3>;
channel_chd_select = <3>;
channel0_compare_lowdata = <1700000>;
channel0_compare_higdata = <1200000>;
channel1_compare_lowdata = <460000>;
channel1_compare_higdata = <1200000>;
status = "disabled";
};
&a_pwm0 {
pinctrl-names = "active", "sleep";
pinctrl-0 = <&a_pwm0_pin_active>;
pinctrl-1 = <&a_pwm0_pin_sleep>;
pwm-supply = <®_dcdc4>;
status = "okay";
};
&a_pwm1 {
pinctrl-names = "active", "sleep";
pinctrl-0 = <&a_pwm1_pin_active>;
pinctrl-1 = <&a_pwm1_pin_sleep>;
pwm-supply = <®_dcdc4>;
status = "disabled";
};
&a_pwm2 {
pinctrl-names = "active", "sleep";
pinctrl-0 = <&a_pwm2_pin_active>;
pinctrl-1 = <&a_pwm2_pin_sleep>;
pwm-supply = <®_dcdc4>;
status = "disabled";
};
&a_pwm3 {
pinctrl-names = "active", "sleep";
pinctrl-0 = <&a_pwm3_pin_active>;
pinctrl-1 = <&a_pwm3_pin_sleep>;
pwm-supply = <®_dcdc4>;
status = "disabled";
};
&a_pwm4 {
pinctrl-names = "active", "sleep";
pinctrl-0 = <&a_pwm4_pin_active>;
pinctrl-1 = <&a_pwm4_pin_sleep>;
pwm-supply = <®_dcdc4>;
status = "disabled";
};
&a_pwm5 {
pinctrl-names = "active", "sleep";
pinctrl-0 = <&a_pwm5_pin_active>;
pinctrl-1 = <&a_pwm5_pin_sleep>;
pwm-supply = <®_dcdc4>;
status = "disabled";
};
&a_pwm10 {
pinctrl-names = "active", "sleep";
pinctrl-0 = <&a_pwm10_pin_active>;
pinctrl-1 = <&a_pwm10_pin_sleep>;
pwm-supply = <®_dcdc4>;
status = "okay";
};
&ledc {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&ledc_pins_a>;
pinctrl-1 = <&ledc_pins_b>;
led_count = <34>;
output_mode = "GRB";
reset_ns = <84>;
t1h_ns = <800>;
t1l_ns = <320>;
t0h_ns = <300>;
t0l_ns = <800>;
wait_time0_ns = <84>;
wait_time1_ns = <84>;
wait_data_time_ns = <600000>;
status = "disabled";
};
&twi0 {
clock-frequency = <400000>;
pinctrl-0 = <&twi0_pins_default>;
pinctrl-1 = <&twi0_pins_sleep>;
pinctrl-names = "default", "sleep";
/* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 1 */
twi_drv_used = <1>;
twi-supply = <®_dcdc4>;
status = "okay";
pcie_usb_phy@74 {
compatible = "combphy,phy74";
reg = <0x74>;
status = "disabled";
};
pcie_usb_phy@75 {
compatible = "combphy,phy75";
reg = <0x75>;
status = "disabled";
};
ctp {
compatible = "allwinner,goodix";
reg = <0x5d>;
device_type = "ctp";
status = "disabled";
ctp_name = "gt9xxnew_ts";
ctp_twi_id = <0x0>;
ctp_twi_addr = <0x5d>;
ctp_screen_max_x = <0x320>;
ctp_screen_max_y = <0x500>;
ctp_revert_x_flag = <0x1>;
ctp_revert_y_flag = <0x1>;
ctp_exchange_x_y_flag = <0x0>;
ctp_int_port = <&pio PH 9 GPIO_ACTIVE_LOW>;
ctp_wakeup = <&pio PH 10 GPIO_ACTIVE_LOW>;
ctp-supply = <®_cldo2>;
ctp_power_ldo_vol = <3300>;
};
gt9xx {
compatible = "goodix,gt9xx";
reg = <0x5d>;
status = "disabled";
irq-gpios = <&pio PD 20 GPIO_ACTIVE_LOW>;
irq-flags = <2>;
reset-gpios = <&pio PD 21 GPIO_ACTIVE_LOW>;
vdd_ana-supply = <®_dcdc4>;
touchscreen-max-id = <11>;
touchscreen-size-x = <1280>;
touchscreen-size-y = <800>;
touchscreen-max-w = <512>;
touchscreen-max-p = <512>;
//touchscreen-key-map = <172>, <158>; /*KEY_HOMEPAGE=172, KEY_BACK=158,KEY_MENU=139*/
goodix,slide-wakeup = <0>;
goodix,type-a-report = <1>;
goodix,driver-send-cfg = <0>;
goodix,send-cfg-id = <0>;
goodix,resume-in-workqueue = <0>;
goodix,int-sync = <1>;
goodix,revert_x = <0>;
goodix,revert_y = <0>;
goodix,swap-x2y = <0>;
goodix,tp_idle_support = <1>;
goodix,esd-protect = <1>;
goodix,auto-update-cfg = <0>;
goodix,power-off-sleep = <1>;
goodix,pen-suppress-finger = <0>;
/* GT9271_Config_20221222_v67.cfg*/
goodix,cfg-group0 = [
B4 00 05 20 03 0A 3D 00 01 0A
28 0F 50 32 03 05 00 00 00 00
00 00 06 17 19 1F 14 8E 2E 99
2D 2F 35 11 00 00 00 1A 03 10
00 00 00 00 00 00 00 00 00 00
00 32 50 94 D5 02 07 00 00 04
8E 48 00 8A 4D 00 86 53 00 83
59 00 80 60 00 80 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 00 01 04 05 06 07 08 09
0C 0D 0E 0F 10 11 14 15 16 17
FF FF FF FF FF FF FF FF FF FF
FF FF 28 27 26 25 24 23 22 21
20 1F 1E 1C 1B 19 13 12 11 10
0F 0D 0C 0A 08 07 06 04 02 00
FF FF FF FF FF FF FF FF FF FF
FF FF FF FF AB 01
];
};
};
&twi1 {
clock-frequency = <400000>;
pinctrl-0 = <&twi1_pins_default>;
pinctrl-1 = <&twi1_pins_sleep>;
pinctrl-names = "default", "sleep";
/* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 1 */
twi_drv_used = <1>;
status = "okay";
mir3da {
compatible = "allwinner,mir3da";
reg = <0x26>;
device_type = "gsensor";
status = "disabled";
gsensor_twi_id = <0x1>;
gsensor_twi_addr = <0x26>;
gsensor_int1 = <&pio PH 11 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
gsensor-supply = <®_cldo3>;
gsensor_vcc_io_val = <3300>;
};
eeprom@50 {
compatible = "atmel,24c32";
reg = <0x50>;
status = "okay";
};
};
&twi2 {
clock-frequency = <400000>;
pinctrl-0 = <&twi2_pins_default>;
pinctrl-1 = <&twi2_pins_sleep>;
pinctrl-names = "default", "sleep";
/* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 1 */
twi_drv_used = <1>;
twi-supply = <®_dcdc4>;
status = "disabled";
};
&twi3 {
clock-frequency = <400000>;
pinctrl-0 = <&twi3_pins_default>;
pinctrl-1 = <&twi3_pins_sleep>;
pinctrl-names = "default", "sleep";
/* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 1 */
twi_drv_used = <1>;
twi-supply = <®_dcdc4>;
status = "disabled";
};
&twi4 {
clock-frequency = <400000>;
pinctrl-0 = <&twi4_pins_default>;
pinctrl-1 = <&twi4_pins_sleep>;
pinctrl-names = "default", "sleep";
/* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 1 */
twi_drv_used = <1>;
twi-supply = <®_dcdc4>;
status = "okay";
rtc@51 {
compatible = "nxp,pcf8563";
reg = <0x51>;
#clock-cells = <0>;
status = "okay";
};
/* 070 inch
ft5x06: ft5x06@38 {
compatible = "edt,edt-ft5406", "edt,edt-ft5x06";
reg = <0x38>;
pinctrl-names = "default";
interrupt-parent = <&pio>;
interrupts = <PJ 19 IRQ_TYPE_EDGE_FALLING>;
reset-gpios = <&pio PJ 18 GPIO_ACTIVE_LOW>;
touchscreen-size-x=<1024>;
touchscreen-size-y=<600>;
};
*/
// 101 inch
gt9271@14 {
compatible = "goodix,gt9271";
reg = <0x14>;
//pinctrl-names = "default";
//pinctrl-0 = <&pinctrl_i2c_synaptics_dsx_io>;
interrupt-parent = <&pio>;
interrupts = <PJ 19 IRQ_TYPE_EDGE_FALLING>;
reset-gpios = <&pio PJ 18 GPIO_ACTIVE_LOW>;
/*synaptics,y-rotation;*/
esd-recovery-timeout-ms = <2000>;
irq-gpios = <&pio PJ 19 GPIO_ACTIVE_HIGH>;
//reset-gpios = <&gpio1 12 GPIO_ACTIVE_HIGH>;
status = "okay";
};
gt9xx {
compatible = "goodix,gt9xx";
reg = <0x5d>;
status = "okay";
irq-gpios = <&pio PJ 19 GPIO_ACTIVE_LOW>;
irq-flags = <2>;
reset-gpios = <&pio PJ 18 GPIO_ACTIVE_LOW>;
vdd_ana-supply = <®_dcdc4>;
touchscreen-max-id = <11>;
touchscreen-size-x = <1280>;
touchscreen-size-y = <800>;
touchscreen-max-w = <512>;
touchscreen-max-p = <512>;
//touchscreen-key-map = <172>, <158>; /*KEY_HOMEPAGE=172, KEY_BACK=158,KEY_MENU=139*/
goodix,slide-wakeup = <0>;
goodix,type-a-report = <1>;
goodix,driver-send-cfg = <0>;
goodix,send-cfg-id = <0>;
goodix,resume-in-workqueue = <0>;
goodix,int-sync = <1>;
goodix,revert_x = <0>;
goodix,revert_y = <0>;
goodix,swap-x2y = <0>;
goodix,tp_idle_support = <1>;
goodix,esd-protect = <1>;
goodix,auto-update-cfg = <0>;
goodix,power-off-sleep = <1>;
goodix,pen-suppress-finger = <0>;
/* GT9271_Config_20221222_v67.cfg*/
goodix,cfg-group0 = [
B4 00 05 20 03 0A 3D 00 01 0A
28 0F 50 32 03 05 00 00 00 00
00 00 06 17 19 1F 14 8E 2E 99
2D 2F 35 11 00 00 00 1A 03 10
00 00 00 00 00 00 00 00 00 00
00 32 50 94 D5 02 07 00 00 04
8E 48 00 8A 4D 00 86 53 00 83
59 00 80 60 00 80 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 00 01 04 05 06 07 08 09
0C 0D 0E 0F 10 11 14 15 16 17
FF FF FF FF FF FF FF FF FF FF
FF FF 28 27 26 25 24 23 22 21
20 1F 1E 1C 1B 19 13 12 11 10
0F 0D 0C 0A 08 07 06 04 02 00
FF FF FF FF FF FF FF FF FF FF
FF FF FF FF AB 01
];
};
};
&twi5 {
clock-frequency = <400000>;
pinctrl-0 = <&twi5_pins_default>;
pinctrl-1 = <&twi5_pins_sleep>;
pinctrl-names = "default", "sleep";
/* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 1 */
twi_drv_used = <1>;
twi-supply = <®_dcdc4>;
status = "okay";
gt9xx_secondary {
compatible = "goodix,gt9xx_secondary";
reg = <0x5d>;
status = "okay";
irq-gpios = <&pio PI 13 GPIO_ACTIVE_LOW>;
irq-flags = <2>;
reset-gpios = <&pio PI 14 GPIO_ACTIVE_LOW>;
vdd_ana-supply = <®_dcdc4>;
touchscreen-max-id = <11>;
touchscreen-size-x = <1280>;
touchscreen-size-y = <800>;
touchscreen-max-w = <512>;
touchscreen-max-p = <512>;
//touchscreen-key-map = <172>, <158>; /*KEY_HOMEPAGE=172, KEY_BACK=158,KEY_MENU=139*/
goodix,slide-wakeup = <0>;
goodix,type-a-report = <1>;
goodix,driver-send-cfg = <0>;
goodix,send-cfg-id = <0>;
goodix,resume-in-workqueue = <0>;
goodix,int-sync = <1>;
goodix,revert_x = <0>;
goodix,revert_y = <0>;
goodix,swap-x2y = <0>;
goodix,tp_idle_support = <1>;
goodix,esd-protect = <1>;
goodix,auto-update-cfg = <0>;
goodix,power-off-sleep = <1>;
goodix,pen-suppress-finger = <0>;
/* GT9271_Config_20221222_v67.cfg*/
goodix,cfg-group0 = [
43 B0 04 80 07 0A 35 00 01 08
28 0F 50 32 03 05 00 00 00 00
00 00 00 17 19 1B 14 90 2B 99
2F 31 8E 12 00 00 00 DA 03 10
00 00 00 00 00 00 00 00 00 11
00 29 4B 94 C5 02 07 00 00 04
85 2B 00 7D 31 00 77 37 00 72
3E 00 6F 46 00 6F 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 00 00 C0 00 00 00 00 00
00 00 17 16 15 14 11 10 0F 0E
0D 0C 09 08 07 06 05 04 01 00
FF FF FF FF FF FF 00 00 00 00
00 00 25 24 23 22 21 20 1F 1E
1C 1B 19 14 13 12 11 10 0F 0E
0D 0C 0A 08 07 06 04 02 00 FF
FF FF FF FF 00 00 00 00 00 00
00 00 00 00 73 01
];
};
};
&csi_mclk3_pins_a {
pins = "PK13";
function = "ncsi";
};
&csi_mclk3_pins_b {
pins = "PK13";
};
&mipib_4lane_pins_a {
pins = "PK6", "PK7", "PK8",
"PK9";
};
&mipib_4lane_pins_b {
pins = "PK6", "PK7", "PK8",
"PK9";
};
&vind0 {
csi_top = <360000000>;
csi_isp = <300000000>;
vind_mclkpin-supply = <®_bldo3>; /* vcc-pe */
vind_mclkpin_vol = <1800000>;
vind_mcsipin-supply = <®_bldo3>; /* vcc-pk */
vind_mcsipin_vol = <1800000>;
vind_mipipin-supply = <®_bldo3>; /* vcc-mcsi */
vind_mipipin_vol = <1800000>;
status = "okay";
csi3:csi@5823000 {
pinctrl-names = "default","sleep";
pinctrl-0 = <&ncsi_bt1120_pins_a>;
pinctrl-1 = <&ncsi_bt1120_pins_b>;
status = "disabled";
};
tdm0:tdm@5908000 {
work_mode = <0>;
};
isp00:isp@5900000 {
work_mode = <0>;
};
isp01:isp@58ffffc {
status = "disabled";
};
isp02:isp@58ffff8 {
status = "disabled";
};
isp03:isp@58ffff4 {
status = "disabled";
};
isp10:isp@4 {
status = "okay";
};
isp20:isp@5 {
status = "okay";
};
scaler00:scaler@5910000 {
work_mode = <0>;
};
scaler01:scaler@590fffc {
status = "disabled";
};
scaler02:scaler@590fff8 {
status = "disabled";
};
scaler03:scaler@590fff4 {
status = "disabled";
};
scaler10:scaler@5910400 {
work_mode = <0>;
};
scaler11:scaler@59103fc {
status = "disabled";
};
scaler12:scaler@59103f8 {
status = "disabled";
};
scaler13:scaler@59103f4 {
status = "disabled";
};
scaler20:scaler@5910800 {
work_mode = <0>;
};
scaler21:scaler@59107fc {
status = "disabled";
};
scaler22:scaler@59107f8 {
status = "disabled";
};
scaler23:scaler@59107f4 {
status = "disabled";
};
scaler30:scaler@5910c00 {
work_mode = <0>;
};
scaler31:scaler@5910bfc {
status = "disabled";
};
scaler32:scaler@5910bf8 {
status = "disabled";
};
scaler33:scaler@5910bf4 {
status = "disabled";
};
scaler40:scaler@16 {
status = "okay";
};
scaler50:scaler@17 {
status = "okay";
};
actuator0: actuator@2108180 {
device_type = "actuator0";
actuator0_name = "dw9714_act";
actuator0_slave = <0x18>;
actuator0_af_pwdn = <>;
actuator0_afvdd = "afvcc-csi";
actuator0_afvdd_vol = <2800000>;
status = "disabled";
};
flash0: flash@2108190 {
device_type = "flash0";
flash0_type = <2>;
flash0_en = <&r_pio PL 11 GPIO_ACTIVE_LOW>;
flash0_mode = <>;
flash0_flvdd = "";
flash0_flvdd_vol = <>;
device_id = <0>;
status = "disabled";
};
sensor0:sensor@5812000 {
device_type = "sensor0";
sensor0_mname = "ov5640_mipi_cam1";
sensor0_twi_cci_id = <7>;
sensor0_twi_addr = <0x78>;
// sensor0_mclk_id = <0>;
sensor0_pos = "rear";
sensor0_isp_used = <0>;
sensor0_fmt = <0>;
sensor0_stby_mode = <0>;
sensor0_vflip = <0>;
sensor0_hflip = <0>;
sensor0_cameravdd-supply = <>;
sensor0_cameravdd_vol = <>;
sensor0_iovdd-supply = <>;
sensor0_iovdd_vol = <>;
sensor0_avdd-supply = <>;
sensor0_avdd_vol = <>;
sensor0_dvdd-supply = <>;
sensor0_dvdd_vol = <>;
sensor0_power_en = <&pio PH 11 GPIO_ACTIVE_HIGH>;
sensor0_reset = <&r_pio PM 0 GPIO_ACTIVE_LOW>;
sensor0_pwdn = <&r_pio PM 1 GPIO_ACTIVE_LOW>;
status = "okay";
};
sensor1:sensor@5812010 {
device_type = "sensor1";
sensor1_mname = "ov5640_mipi_cam2";
sensor1_twi_cci_id = <8>;
sensor1_twi_addr = <0x78>;
// sensor1_mclk_id = <3>;
sensor1_pos = "front";
sensor1_isp_used = <0>;
sensor1_fmt = <0>;
sensor1_stby_mode = <0>;
sensor1_vflip = <0>;
sensor1_hflip = <0>;
sensor1_iovdd-supply = <>;
sensor1_iovdd_vol = <>;
sensor1_avdd-supply = <>;
sensor1_avdd_vol = <>;
sensor1_dvdd-supply = <>;
sensor1_dvdd_vol = <>;
sensor1_power_en = <&pio PH 8 GPIO_ACTIVE_HIGH>;
sensor1_reset = <&r_pio PM 2 GPIO_ACTIVE_LOW>;
sensor1_pwdn = <&r_pio PM 3 GPIO_ACTIVE_LOW>;
status = "okay";
};
vinc00:vinc@5830000 {
vinc0_csi_sel = <0>;
vinc0_mipi_sel = <0>;
vinc0_isp_sel = <4>;
vinc0_isp_tx_ch = <0>;
vinc0_tdm_rx_sel = <0>;
vinc0_rear_sensor_sel = <0>;
vinc0_front_sensor_sel = <0>;
vinc0_sensor_list = <0>;
device_id = <0>;
work_mode = <0x0>;
status = "okay";
};
vinc01:vinc@582fffc {
vinc1_csi_sel = <1>;
vinc1_mipi_sel = <2>;
vinc1_isp_sel = <1>;
vinc1_isp_tx_ch = <0>;
vinc1_tdm_rx_sel = <1>;
vinc1_rear_sensor_sel = <1>;
vinc1_front_sensor_sel = <1>;
vinc1_sensor_list = <0>;
device_id = <1>;
status = "disabled";
};
vinc02:vinc@582fff8 {
vinc2_csi_sel = <2>;
vinc2_mipi_sel = <0xff>;
vinc2_isp_sel = <2>;
vinc2_isp_tx_ch = <2>;
vinc2_tdm_rx_sel = <2>;
vinc2_rear_sensor_sel = <0>;
vinc2_front_sensor_sel = <0>;
vinc2_sensor_list = <0>;
device_id = <2>;
status = "disabled";
};
vinc03:vinc@582fff4 {
vinc3_csi_sel = <0>;
vinc3_mipi_sel = <0xff>;
vinc3_isp_sel = <0>;
vinc3_isp_tx_ch = <0>;
vinc3_tdm_rx_sel = <0>;
vinc3_rear_sensor_sel = <1>;
vinc3_front_sensor_sel = <1>;
vinc3_sensor_list = <0>;
device_id = <3>;
status = "disabled";
};
vinc10:vinc@5831000 {
vinc4_csi_sel = <0>;
vinc4_mipi_sel = <0>;
vinc4_isp_sel = <4>;
vinc4_isp_tx_ch = <1>;
vinc4_tdm_rx_sel = <0>;
vinc4_rear_sensor_sel = <0>;
vinc4_front_sensor_sel = <0>;
vinc4_sensor_list = <0>;
device_id = <4>;
work_mode = <0x0>;
status = "okay";
};
vinc11:vinc@5830ffc {
vinc5_csi_sel = <2>;
vinc5_mipi_sel = <0xff>;
vinc5_isp_sel = <1>;
vinc5_isp_tx_ch = <1>;
vinc5_tdm_rx_sel = <1>;
vinc5_rear_sensor_sel = <0>;
vinc5_front_sensor_sel = <0>;
vinc5_sensor_list = <0>;
device_id = <5>;
status = "disabled";
};
vinc12:vinc@5830ff8 {
vinc6_csi_sel = <2>;
vinc6_mipi_sel = <0xff>;
vinc6_isp_sel = <0>;
vinc6_isp_tx_ch = <0>;
vinc6_tdm_rx_sel = <0>;
vinc6_rear_sensor_sel = <0>;
vinc6_front_sensor_sel = <0>;
vinc6_sensor_list = <0>;
device_id = <6>;
status = "disabled";
};
vinc13:vinc@5830ff4 {
vinc7_csi_sel = <2>;
vinc7_mipi_sel = <0xff>;
vinc7_isp_sel = <0>;
vinc7_isp_tx_ch = <0>;
vinc7_tdm_rx_sel = <0>;
vinc7_rear_sensor_sel = <0>;
vinc7_front_sensor_sel = <0>;
vinc7_sensor_list = <0>;
device_id = <7>;
status = "disabled";
};
vinc20:vinc@5832000 {
vinc8_csi_sel = <0>;
vinc8_mipi_sel = <0>;
vinc8_isp_sel = <4>;
vinc8_isp_tx_ch = <2>;
vinc8_tdm_rx_sel = <0>;
vinc8_rear_sensor_sel = <0>;
vinc8_front_sensor_sel = <0>;
vinc8_sensor_list = <0>;
device_id = <8>;
work_mode = <0x0>;
status = "okay";
};
vinc21:vinc@5831ffc {
vinc9_csi_sel = <2>;
vinc9_mipi_sel = <0xff>;
vinc9_isp_sel = <0>;
vinc9_isp_tx_ch = <0>;
vinc9_tdm_rx_sel = <0>;
vinc9_rear_sensor_sel = <0>;
vinc9_front_sensor_sel = <0>;
vinc9_sensor_list = <0>;
device_id = <9>;
status = "disabled";
};
vinc22:vinc@5831ff8 {
vinc10_csi_sel = <2>;
vinc10_mipi_sel = <0xff>;
vinc10_isp_sel = <0>;
vinc10_isp_tx_ch = <0>;
vinc10_tdm_rx_sel = <0>;
vinc10_rear_sensor_sel = <0>;
vinc10_front_sensor_sel = <0>;
vinc10_sensor_list = <0>;
device_id = <10>;
status = "disabled";
};
vinc23:vinc@5831ff4 {
vinc11_csi_sel = <2>;
vinc11_mipi_sel = <0xff>;
vinc11_isp_sel = <0>;
vinc11_isp_tx_ch = <0>;
vinc11_tdm_rx_sel = <0>;
vinc11_rear_sensor_sel = <0>;
vinc11_front_sensor_sel = <0>;
vinc11_sensor_list = <0>;
device_id = <11>;
status = "disabled";
};
vinc30:vinc@5833000 {
vinc12_csi_sel = <0>;
vinc12_mipi_sel = <0>;
vinc12_isp_sel = <4>;
vinc12_isp_tx_ch = <3>;
vinc12_tdm_rx_sel = <0>;
vinc12_rear_sensor_sel = <0>;
vinc12_front_sensor_sel = <0>;
vinc12_sensor_list = <0>;
device_id = <12>;
work_mode = <0x0>;
status = "okay";
};
vinc31:vinc@5832ffc {
vinc13_csi_sel = <2>;
vinc13_mipi_sel = <0xff>;
vinc13_isp_sel = <0>;
vinc13_isp_tx_ch = <0>;
vinc13_tdm_rx_sel = <0>;
vinc13_rear_sensor_sel = <0>;
vinc13_front_sensor_sel = <0>;
vinc13_sensor_list = <0>;
device_id = <13>;
status = "disabled";
};
vinc32:vinc@5832ff8 {
vinc14_csi_sel = <2>;
vinc14_mipi_sel = <0xff>;
vinc14_isp_sel = <0>;
vinc14_isp_tx_ch = <0>;
vinc14_tdm_rx_sel = <0>;
vinc14_rear_sensor_sel = <0>;
vinc14_front_sensor_sel = <0>;
vinc14_sensor_list = <0>;
device_id = <14>;
status = "disabled";
};
vinc33:vinc@5832ff4 {
vinc15_csi_sel = <2>;
vinc15_mipi_sel = <0xff>;
vinc15_isp_sel = <0>;
vinc15_isp_tx_ch = <0>;
vinc15_tdm_rx_sel = <0>;
vinc15_rear_sensor_sel = <0>;
vinc15_front_sensor_sel = <0>;
vinc15_sensor_list = <0>;
device_id = <15>;
status = "disabled";
};
vinc40:vinc@5834000 {
vinc16_csi_sel = <2>;
vinc16_mipi_sel = <2>;
vinc16_isp_sel = <4>;
vinc16_isp_tx_ch = <0>;
vinc16_tdm_rx_sel = <0>;
vinc16_rear_sensor_sel = <1>;
vinc16_front_sensor_sel = <1>;
vinc16_sensor_list = <1>;
device_id = <16>;
status = "okay";
};
vinc50:vinc@5835000 {
vinc17_csi_sel = <2>;
vinc17_mipi_sel = <2>;
vinc17_isp_sel = <4>;
vinc17_isp_tx_ch = <1>;
vinc17_tdm_rx_sel = <0>;
vinc17_rear_sensor_sel = <1>;
vinc17_front_sensor_sel = <1>;
vinc17_sensor_list = <1>;
device_id = <17>;
status = "okay";
};
};
&twi6 {
clock-frequency = <400000>;
pinctrl-0 = <&s_twi0_pins_default>;
pinctrl-1 = <&s_twi0_pins_sleep>;
pinctrl-names = "default", "sleep";
device_type = "twi6";
/* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 1 */
twi_drv_used = <1>;
no_suspend = <1>;
status = "okay";
tcs0: tcs@41 {
compatible = "ext,tcs4838";
reg = <0x41>;
status = "okay";
tcs4838_delay = <0>;
regulator1: regulators@1 {
reg_tcs0: dcdc0 {
regulator-name = "tcs4838-dcdc0";
regulator-min-microvolt = <712500>;
regulator-max-microvolt = <1500000>;
regulator-ramp-delay = <520>;
regulator-enable-ramp-delay = <1000>;
regulator-always-on;
regulator-boot-on;
};
reg_tcs1: dcdc1 {
regulator-name = "tcs4838-dcdc1";
regulator-min-microvolt = <712500>;
regulator-max-microvolt = <1500000>;
regulator-ramp-delay = <520>;
regulator-enable-ramp-delay = <1000>;
};
};
virtual-ext-dcdc0 {
compatible = "xpower-vregulator,ext-dcdc0";
dcdc0-supply = <®_tcs0>;
};
virtual-ext-dcdc1 {
compatible = "xpower-vregulator,ext-dcdc1";
dcdc1-supply = <®_tcs1>;
};
};
sy0: sy@60 {
compatible = "ext,sy8827g";
reg = <0x60>;
status = "okay";
sy8827g_delay = <0>;
regulator2: regulators@2 {
reg_sy0: dcdc0 {
regulator-name = "sy8827g-dcdc0";
regulator-min-microvolt = <712500>;
regulator-max-microvolt = <1500000>;
regulator-ramp-delay = <520>;
regulator-enable-ramp-delay = <1000>;
regulator-always-on;
regulator-boot-on;
};
reg_sy1: dcdc1 {
regulator-name = "sy8827g-dcdc1";
regulator-min-microvolt = <712500>;
regulator-max-microvolt = <1500000>;
regulator-ramp-delay = <520>;
regulator-enable-ramp-delay = <1000>;
};
};
virtual-ext-dcdc0 {
compatible = "xpower-vregulator,ext-dcdc0";
dcdc0-supply = <®_sy0>;
};
virtual-ext-dcdc1 {
compatible = "xpower-vregulator,ext-dcdc1";
dcdc1-supply = <®_sy1>;
};
};
axp1530: axp1530@36{
compatible = "ext,axp1530";
status = "okay";
reg = <0x36>;
wakeup-source;
regulators{
reg_ext_axp1530_dcdc1: dcdc1 {
regulator-name = "axp1530-dcdc1";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <3400000>;
regulator-step-delay-us = <25>;
regulator-final-delay-us = <50>;
regulator-always-on;
};
reg_ext_axp1530_dcdc2: dcdc2 {
regulator-name = "axp1530-dcdc2";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <1540000>;
regulator-step-delay-us = <25>;
regulator-final-delay-us = <50>;
regulator-ramp-delay = <200>; /* FIXME */
regulator-always-on;
};
reg_ext_axp1530_dcdc3: dcdc3 {
regulator-name = "axp1530-dcdc3";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <1840000>;
regulator-step-delay-us = <25>;
regulator-final-delay-us = <50>;
regulator-always-on;
};
reg_ext_axp1530_aldo1: ldo1 {
regulator-name = "axp1530-aldo1";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <3500000>;
regulator-step-delay-us = <25>;
regulator-final-delay-us = <50>;
};
reg_ext_axp1530_dldo1: ldo2 {
regulator-name = "axp1530-dldo1";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <3500000>;
regulator-step-delay-us = <25>;
regulator-final-delay-us = <50>;
};
};
virtual-ext-dcdc1 {
compatible = "xpower-vregulator,ext-dcdc1";
dcdc1-supply = <®_ext_axp1530_dcdc1>;
};
virtual-ext-dcdc2 {
compatible = "xpower-vregulator,ext-dcdc2";
dcdc2-supply = <®_ext_axp1530_dcdc2>;
};
virtual-ext-dcdc3 {
compatible = "xpower-vregulator,ext-dcdc3";
dcdc3-supply = <®_ext_axp1530_dcdc3>;
};
virtual-ext-aldo1 {
compatible = "xpower-vregulator,ext-aldo1";
aldo1-supply = <®_ext_axp1530_aldo1>;
};
virtual-ext-dldo1 {
compatible = "xpower-vregulator,ext-dldo1";
dldo1-supply = <®_ext_axp1530_dldo1>;
};
};
pmu0: pmu@35 {
compatible = "x-powers,axp2202";
reg = <0x35>;
status = "okay";
interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
interrupt-parent = <&nmi_intc>;
x-powers,drive-vbus-en;
pmu_reset = <0>;
pmu_irq_wakeup = <1>;
pmu_hot_shutdown = <1>;
wakeup-source;
usb_power_supply: usb_power_supply {
compatible = "x-powers,axp2202-usb-power-supply";
status = "okay";
pmu_usbpc_vol = <4600>;
pmu_usbpc_cur = <500>;
pmu_usbad_vol = <4000>;
pmu_usbad_cur = <2500>;
pmu_usb_typec_used = <1>;
wakeup_usb_in;
wakeup_usb_out;
det_acin_supply = <&gpio_power_supply>;
pmu_acin_usbid_drv = <&pio PH 12 GPIO_ACTIVE_LOW>;
pmu_vbus_det_gpio = <&pio PH 13 GPIO_ACTIVE_LOW>;
};
gpio_power_supply: gpio_power_supply {
compatible = "x-powers,gpio-supply";
status = "disabled";
pmu_acin_det_gpio = <&pio PH 14 GPIO_ACTIVE_LOW>;
det_usb_supply = <&usb_power_supply>;
};
bat_power_supply: bat-power-supply {
compatible = "x-powers,axp2202-bat-power-supply";
param = <&axp2202_parameter>;
status = "disabled";
pmu_chg_ic_temp = <0>;
pmu_battery_rdc= <147>;
pmu_battery_cap = <1771>;
pmu_runtime_chgcur = <1000>;
pmu_suspend_chgcur = <1500>;
pmu_shutdown_chgcur = <1500>;
pmu_init_chgvol = <4200>;
pmu_battery_warning_level1 = <15>;
pmu_battery_warning_level2 = <0>;
pmu_chgled_func = <0>;
pmu_chgled_type = <0>;
pmu_bat_para1 = <0>;
pmu_bat_para2 = <0>;
pmu_bat_para3 = <0>;
pmu_bat_para4 = <0>;
pmu_bat_para5 = <0>;
pmu_bat_para6 = <0>;
pmu_bat_para7 = <2>;
pmu_bat_para8 = <3>;
pmu_bat_para9 = <4>;
pmu_bat_para10 = <6>;
pmu_bat_para11 = <9>;
pmu_bat_para12 = <14>;
pmu_bat_para13 = <26>;
pmu_bat_para14 = <38>;
pmu_bat_para15 = <49>;
pmu_bat_para16 = <52>;
pmu_bat_para17 = <56>;
pmu_bat_para18 = <60>;
pmu_bat_para19 = <64>;
pmu_bat_para20 = <70>;
pmu_bat_para21 = <77>;
pmu_bat_para22 = <83>;
pmu_bat_para23 = <87>;
pmu_bat_para24 = <90>;
pmu_bat_para25 = <95>;
pmu_bat_para26 = <99>;
pmu_bat_para27 = <99>;
pmu_bat_para28 = <100>;
pmu_bat_para29 = <100>;
pmu_bat_para30 = <100>;
pmu_bat_para31 = <100>;
pmu_bat_para32 = <100>;
pmu_bat_temp_enable = <1>;
pmu_jetia_en = <1>;
pmu_bat_charge_ltf = <1738>; //-5
pmu_bat_charge_htf = <150>; //60
pmu_bat_shutdown_ltf = <2125>; //-10
pmu_bat_shutdown_htf = <130>; //65
pmu_jetia_cool = <1390>; //0
pmu_jetia_warm = <206>; //50
pmu_jcool_ifall = <2>;//75%
pmu_jwarm_ifall = <2>;//75%
pmu_bat_temp_para1 = <4592>; //SDNT-25
pmu_bat_temp_para2 = <2781>; //-15
pmu_bat_temp_para3 = <2125>; //-10
pmu_bat_temp_para4 = <1738>; //-5
pmu_bat_temp_para5 = <1390>;//0
pmu_bat_temp_para6 = <1118>; //5
pmu_bat_temp_para7 = <906>; //10
pmu_bat_temp_para8 = <606>; //20
pmu_bat_temp_para9 = <415>; //30
pmu_bat_temp_para10 = <290>; //40
pmu_bat_temp_para11 = <244>; //45
pmu_bat_temp_para12 = <206>; //50
pmu_bat_temp_para13 = <175>; //55
pmu_bat_temp_para14 = <150>; //60
pmu_bat_temp_para15 = <110>; //70
pmu_bat_temp_para16 = <83>; //80
wakeup_bat_out;
/* wakeup_bat_in; */
/* wakeup_bat_charging; */
/* wakeup_bat_charge_over; */
/* wakeup_low_warning1; */
/* wakeup_low_warning2; */
/* wakeup_bat_untemp_work; */
/* wakeup_bat_ovtemp_work; */
/* wakeup_bat_untemp_chg; */
/* wakeup_bat_ovtemp_chg; */
};
powerkey0: powerkey@0 {
status = "okay";
compatible = "x-powers,axp2101-pek";
pmu_powkey_off_time = <6000>;
pmu_powkey_off_func = <0>;
pmu_powkey_off_en = <1>;
pmu_powkey_long_time = <1500>;
pmu_powkey_on_time = <512>;
wakeup_rising;
wakeup_falling;
};
regulator0: regulators@0 {
reg_dcdc1: dcdc1 {
regulator-name = "axp2202-dcdc1";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <1540000>;
regulator-ramp-delay = <250>;
regulator-enable-ramp-delay = <1000>;
regulator-boot-on;
regulator-always-on;
};
reg_dcdc2: dcdc2 {
regulator-name = "axp2202-dcdc2";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <3400000>;
regulator-ramp-delay = <250>;
regulator-enable-ramp-delay = <1000>;
regulator-boot-on;
regulator-always-on;
};
reg_dcdc3: dcdc3 {
regulator-name = "axp2202-dcdc3";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <1840000>;
regulator-ramp-delay = <250>;
regulator-enable-ramp-delay = <1000>;
regulator-always-on;
};
reg_dcdc4: dcdc4 {
regulator-name = "axp2202-dcdc4";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <3700000>;
regulator-ramp-delay = <250>;
regulator-enable-ramp-delay = <1000>;
};
reg_rtcldo: rtcldo {
/* RTC_LDO is a fixed, always-on regulator */
regulator-name = "axp2202-rtcldo";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-boot-on;
regulator-always-on;
};
reg_aldo1: aldo1 {
regulator-name = "axp2202-aldo1";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <3500000>;
regulator-enable-ramp-delay = <1000>;
};
reg_aldo2: aldo2 {
regulator-name = "axp2202-aldo2";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <3500000>;
regulator-enable-ramp-delay = <1000>;
};
reg_aldo3: aldo3 {
regulator-name = "axp2202-aldo3";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <3500000>;
regulator-enable-ramp-delay = <1000>;
regulator-always-on;
regulator-boot-on;
};
reg_aldo4: aldo4 {
regulator-name = "axp2202-aldo4";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <3500000>;
regulator-enable-ramp-delay = <1000>;
regulator-always-on;
regulator-boot-on;
};
reg_bldo1: bldo1 {
regulator-name = "axp2202-bldo1";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <3500000>;
regulator-enable-ramp-delay = <1000>;
regulator-always-on;
regulator-boot-on;
};
reg_bldo2: bldo2 {
regulator-name = "axp2202-bldo2";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <3500000>;
regulator-enable-ramp-delay = <1000>;
regulator-boot-on;
regulator-always-on;
};
reg_bldo3: bldo3 {
regulator-name = "axp2202-bldo3";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <3500000>;
regulator-enable-ramp-delay = <1000>;
};
reg_bldo4: bldo4 {
regulator-name = "axp2202-bldo4";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <3500000>;
regulator-enable-ramp-delay = <1000>;
};
reg_cldo1: cldo1 {
regulator-name = "axp2202-cldo1";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <3500000>;
regulator-enable-ramp-delay = <1000>;
};
reg_cldo2: cldo2 {
regulator-name = "axp2202-cldo2";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <3500000>;
regulator-enable-ramp-delay = <1000>;
};
reg_cldo3: cldo3 {
regulator-name = "axp2202-cldo3";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <3500000>;
regulator-ramp-delay = <2500>;
regulator-enable-ramp-delay = <1000>;
regulator-boot-on;
regulator-always-on;
};
reg_cldo4: cldo4 {
regulator-name = "axp2202-cldo4";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <3500000>;
regulator-enable-ramp-delay = <1000>;
};
reg_cpusldo: cpusldo {
/* cpus */
regulator-name = "axp2202-cpusldo";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <1400000>;
regulator-boot-on;
regulator-always-on;
};
reg_vmid: vmid {
regulator-name = "axp2202-vmid";
regulator-enable-ramp-delay = <1000>;
};
reg_drivevbus: drivevbus {
regulator-name = "axp2202-drivevbus";
regulator-enable-ramp-delay = <1000>;
drivevbusin-supply = <®_vmid>;
};
};
virtual-dcdc1 {
compatible = "xpower-vregulator,dcdc1";
dcdc1-supply = <®_dcdc1>;
};
virtual-dcdc2 {
compatible = "xpower-vregulator,dcdc2";
dcdc2-supply = <®_dcdc2>;
};
virtual-dcdc3 {
compatible = "xpower-vregulator,dcdc3";
dcdc3-supply = <®_dcdc3>;
};
virtual-dcdc4 {
compatible = "xpower-vregulator,dcdc4";
dcdc4-supply = <®_dcdc4>;
};
virtual-rtcldo {
compatible = "xpower-vregulator,rtcldo";
rtcldo-supply = <®_rtcldo>;
};
virtual-aldo1 {
compatible = "xpower-vregulator,aldo1";
aldo1-supply = <®_aldo1>;
};
virtual-aldo2 {
compatible = "xpower-vregulator,aldo2";
aldo2-supply = <®_aldo2>;
};
virtual-aldo3 {
compatible = "xpower-vregulator,aldo3";
aldo3-supply = <®_aldo3>;
};
virtual-aldo4 {
compatible = "xpower-vregulator,aldo4";
aldo4-supply = <®_aldo4>;
};
virtual-bldo1 {
compatible = "xpower-vregulator,bldo1";
bldo1-supply = <®_bldo1>;
};
virtual-bldo2 {
compatible = "xpower-vregulator,bldo2";
bldo2-supply = <®_bldo2>;
};
virtual-bldo3 {
compatible = "xpower-vregulator,bldo3";
bldo3-supply = <®_bldo3>;
};
virtual-bldo4 {
compatible = "xpower-vregulator,bldo4";
bldo4-supply = <®_bldo4>;
};
virtual-cldo1 {
compatible = "xpower-vregulator,cldo1";
cldo1-supply = <®_cldo1>;
};
virtual-cldo2 {
compatible = "xpower-vregulator,cldo2";
cldo2-supply = <®_cldo2>;
};
virtual-cldo3 {
compatible = "xpower-vregulator,cldo3";
cldo3-supply = <®_cldo3>;
};
virtual-cldo4 {
compatible = "xpower-vregulator,cldo4";
cldo4-supply = <®_cldo4>;
};
virtual-cpusldo {
compatible = "xpower-vregulator,cpusldo";
cpusldo-supply = <®_cpusldo>;
};
virtual-drivevbus {
compatible = "xpower-vregulator,drivevbus";
drivevbus-supply = <®_drivevbus>;
};
axp_gpio0: axp_gpio@0 {
gpio-controller;
#size-cells = <0>;
#gpio-cells = <6>;
status = "okay";
};
};
};
/{
axp2202_parameter:axp2202-parameter {
select = "battery-model";
battery-model {
parameter = /bits/ 8 <0x01 0xf5 0x40 0x00 0x1b 0x1e 0x28 0x0f
0x0c 0x1e 0x32 0x02 0x14 0x05 0x0a 0x04
0x74 0xfb 0xc8 0x0d 0x43 0x10 0x36 0xfb
0x46 0x01 0xea 0x0d 0x2a 0x06 0x36 0x05
0xf4 0x0a 0xb5 0x0f 0x42 0x0e 0xe6 0x09
0x9a 0x0e 0x42 0x0e 0x3b 0x04 0x2d 0x04
0x23 0x09 0x18 0x0e 0x09 0x0e 0x04 0x08
0xf7 0x0d 0xda 0x0d 0xd0 0x03 0xbb 0x03
0x9d 0x08 0x7f 0x0d 0x6a 0x0d 0x55 0x07
0xc2 0x57 0x2b 0x27 0x1e 0x0d 0x14 0x08
0xc5 0x98 0x7e 0x66 0x4e 0x44 0x38 0x1a
0x12 0x0a 0xf6 0x00 0x00 0xf6 0x00 0xf6
0x00 0xfb 0x00 0x00 0xfb 0x00 0x00 0xfb
0x00 0x00 0xf6 0x00 0x00 0xf6 0x00 0xf6
0x00 0xfb 0x00 0x00 0xfb 0x00 0x00 0xfb
0x00 0x00 0xf6 0x00 0x00 0xf6 0x00 0xf6>;
};
};
};
&twi7 {
clock-frequency = <400000>;
pinctrl-0 = <&s_twi1_pins_default>;
pinctrl-1 = <&s_twi1_pins_sleep>;
pinctrl-names = "default", "sleep";
/* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 1 */
//twi_drv_used = <1>;
twi-supply = <®_aldo3>;
status = "okay";
lt9611: lt9611@39 {
compatible = "myir,lt9611";
reg = <0x39>;
lt9611-rst-gpios = <&r_pio PL 6 GPIO_ACTIVE_HIGH>;
lt9611-power-en-gpios = <&pio PG 12 GPIO_ACTIVE_HIGH>;
interrupt-parent = <&r_pio>;
interrupts = <PL 7 IRQ_TYPE_EDGE_FALLING>;
status = "okay";
};
ac107: ac107@36 {
#sound-dai-cells = <0>;
compatible = "allwinner,sunxi-ac107";
reg = <0x36>;
pllclk-src = "MCLK";
sysclk-src = "MCLK";
pcm-bit-first = "MSB";
frame-sync-width = <1>;
rx-chmap = <0xaaaa>;
ch1-dig-vol = <160>;
ch2-dig-vol = <160>;
ch1-pga-gain = <26>;
ch2-pga-gain = <26>;
status = "okay";
};
};
&twi8 {
clock-frequency = <400000>;
pinctrl-0 = <&s_twi2_pins_default>;
pinctrl-1 = <&s_twi2_pins_sleep>;
pinctrl-names = "default", "sleep";
/* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 1 */
twi_drv_used = <1>;
twi-supply = <®_aldo3>;
status = "okay";
};
&sdc2 {
non-removable;
bus-width = <8>;
mmc-ddr-1_8v;
mmc-hs200-1_8v;
mmc-hs400-1_8v;
no-sdio;
no-sd;
ctl-spec-caps = <0x308>;
cap-mmc-highspeed;
sunxi-power-save-mode;
sunxi-dis-signal-vol-sw;
mmc-bootpart-noacc;
/*cap-hsq;*/
cqe-on;
ctl-cmdq-md = <0x2>;
max-frequency = <150000000>;
vmmc-supply = <®_cldo3>;
/*emmc io vol 3.3v*/
/*vqmmc-supply = <®_aldo1>;*/
/*emmc io vol 1.8v*/
vqmmc-supply = <®_cldo1>;
status = "disabled";
};
&sdc0 {
bus-width = <4>;
cd-gpios = <&pio PF 6 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
/*non-removable;*/
/*broken-cd;*/
/*cd-inverted*/
/*data3-detect;*/
/*card-pwr-gpios = <&pio PH 14 1 1 2 0xffffffff>;*/
cd-used-24M;
cd-set-debounce = <0x1>;
cap-sd-highspeed;
// sd-uhs-sdr50;
// sd-uhs-ddr50;
// sd-uhs-sdr104;
no-sdio;
no-mmc;
sunxi-power-save-mode;
/*sunxi-dis-signal-vol-sw;*/
max-frequency = <150000000>;
ctl-spec-caps = <0x408>;
sunxi-dly-208M = <0xff 1 0xff 0xff 0xff 0xff>;
vmmc-supply = <®_cldo3>;
vqmmc33sw-supply = <®_cldo3>;
vdmmc33sw-supply = <®_cldo3>;
// vqmmc18sw-supply = <®_bldo3>;
// vdmmc18sw-supply = <®_bldo3>;
status = "okay";
};
&sdc1 {
bus-width = <4>;
no-mmc;
no-sd;
cap-sd-highspeed;
/*sd-uhs-sdr12*/
sd-uhs-sdr25;
sd-uhs-sdr50;
sd-uhs-ddr50;
sd-uhs-sdr104;
/*sunxi-power-save-mode;*/
sunxi-dis-signal-vol-sw;
cap-sdio-irq;
keep-power-in-suspend;
ignore-pm-notify;
max-frequency = <150000000>;
ctl-spec-caps = <0x408>;
status = "okay";
};
&nand0 {
compatible = "allwinner,sun55iw3-nand";
device_type = "nand0";
//reg = <0x0 0x04011000 0x0 0x1000>;/* nand0 */
pinctrl-names = "default", "sleep";
pinctrl-0 = <&nand0_pins_default &nand0_pins_rb>;
pinctrl-1 = <&nand0_pins_sleep>;
nand0_regulator1 = "vcc-nand";
nand0_regulator2 = "none";
nand0_cache_level = <0x55aaaa55>;
nand0_flush_cache_num = <0x55aaaa55>;
nand0_capacity_level = <0x55aaaa55>;
nand0_id_number_ctl = <0x55aaaa55>;
nand0_print_level = <0x55aaaa55>;
nand0_p0 = <0x55aaaa55>;
nand0_p1 = <0x55aaaa55>;
nand0_p2 = <0x55aaaa55>;
nand0_p3 = <0x55aaaa55>;
chip_code = "sun55iw3";
status = "disabled";
};
&rfkill {
compatible = "allwinner,sunxi-rfkill";
chip_en;
power_en;
pinctrl-0;
pinctrl-names;
status = "okay";
/* bt session */
bt {
compatible = "allwinner,sunxi-bt";
clocks;
clock-names;
bt_power = "axp2202-aldo3", "axp2202-bldo1"; /* vcc-pl/vcc-pg/vcc-pm */
bt_power_vol= <3300000>, <1800000>;
bt_rst_n = <&pio PC 4 GPIO_ACTIVE_HIGH>;
};
};
&addr_mgt {
compatible = "allwinner,sunxi-addr_mgt";
type_addr_wifi = <0x0>;
type_addr_bt = <0x0>;
type_addr_eth = <0x0>;
status = "okay";
};
&btlpm {
compatible = "allwinner,sunxi-btlpm";
uart_index = <0x1>;
bt_wake = <&pio PC 12 GPIO_ACTIVE_HIGH>;
bt_hostwake = <&pio PC 2 GPIO_ACTIVE_HIGH>;
wakeup-source;
status = "okay";
};
/*
*usb_port_type: usb mode. 0-device, 1-host, 2-otg.
*usb_detect_type: usb hotplug detect mode. 0-none, 1-vbus/id detect, 2-id/dpdm detect.
*usb_detect_mode: 0-thread scan, 1-id gpio interrupt.
*usb_id_gpio: gpio for id detect.
*usb_det_vbus_gpio: gpio for id detect. gpio or "axp_ctrl";
*usb_wakeup_suspend:0-SUPER_STANDBY, 1-USB_STANDBY.
*/
&usbc0 {
device_type = "usbc0";
usb_port_type = <0x2>;
usb_detect_type = <0x1>;
usb_detect_mode = <0x0>;
usb_id_gpio = <&r_pio PL 10 GPIO_ACTIVE_HIGH>;
enable-active-high;
usb_det_vbus_gpio = <&r_pio PL 10 GPIO_ACTIVE_HIGH>;
enable-active-high;
detvbus_io-supply = <®_bldo1>;
usb_regulator_io = "nocare";
usb_wakeup_suspend = <0>;
usb_luns = <3>;
usb_serial_unique = <0>;
usb_serial_number = "20080411";
rndis_wceis = <1>;
status = "okay";
};
&udc {
det_vbus_supply = <&usb_power_supply>;
status = "okay";
};
&ehci0 {
//drvvbus-supply = <®_usb0_vbus>;
status = "okay";
};
&ohci0 {
//drvvbus-supply = <®_usb0_vbus>;
status = "okay";
};
&usbc1 {
device_type = "usbc1";
usb_regulator_io = "nocare";
usb_wakeup_suspend = <0>;
status = "okay";
};
&ehci1 {
//drvvbus-supply = <®_usb1_vbus>;
status = "okay";
};
&ohci1 {
//drvvbus-supply = <®_usb1_vbus>;
status = "okay";
};
&usbc2 {
device_type = "usbc2";
drvvbus-supply = <®_drivevbus>;
aw,vbus-shared-quirk;
status = "okay";
};
&xhci2 {
dr_mode = "host";
status = "okay";
};
&u2phy {
status = "okay";
};
&combophy {
resets = <&ccu RST_BUS_PCIE_USB3>;
phy_use_sel = <1>; /* 0:PCIE; 1:USB3 */
status = "okay";
};
&gpu {
gpu_idle = <1>;
dvfs_status = <1>;
mali-supply = <®_dcdc2>;
};
/*----------------------------------------------------------------------------------
disp init configuration
disp_mode (0:screen0<screen0,fb0>)
screenx_output_type (0:none; 1:lcd; 2:tv; 3:hdmi;5:vdpo)
screenx_output_mode (used for hdmi output, 0:480i 1:576i 2:480p 3:576p 4:720p50)
(5:720p60 6:1080i50 7:1080i60 8:1080p24 9:1080p50 10:1080p60)
screenx_output_format (for hdmi, 0:RGB 1:yuv444 2:yuv422 3:yuv420)
screenx_output_bits (for hdmi, 0:8bit 1:10bit 2:12bit 2:16bit)
screenx_output_eotf (for hdmi, 0:reserve 4:SDR 16:HDR10 18:HLG)
screenx_output_cs (for hdmi, 0:undefined 257:BT709 260:BT601 263:BT2020)
screenx_output_dvi_hdmi (for hdmi, 0:undefined 1:dvi mode 2:hdmi mode)
screen0_output_range (for hdmi, 0:default 1:full 2:limited)
screen0_output_scan (for hdmi, 0:no data 1:overscan 2:underscan)
screen0_output_aspect_ratio (for hdmi, 8-same as original picture 9-4:3 10-16:9 11-14:9)
fbx format (4:RGB655 5:RGB565 6:RGB556 7:ARGB1555 8:RGBA5551 9:RGB888 10:ARGB8888 12:ARGB4444)
fbx pixel sequence (0:ARGB 1:BGRA 2:ABGR 3:RGBA)
fb0_scaler_mode_enable(scaler mode enable, used FE)
fbx_width,fbx_height (framebuffer horizontal/vertical pixels, fix to output resolution while equal 0)
lcdx_backlight (lcd init backlight,the range:[0,256],default:197
lcdx_yy (lcd init screen bright/contrast/saturation/hue, value:0~100, default:50/50/57/50)
lcd0_contrast (LCD contrast, 0~100)
lcd0_saturation (LCD saturation, 0~100)
lcd0_hue (LCD hue, 0~100)
framebuffer software rotation setting:
disp_rotation_used: (0:disable; 1:enable,you must set fbX_width to lcd_y,
set fbX_height to lcd_x)
degreeX: (X:screen index; 0:0 degree; 1:90 degree; 3:270 degree)
degreeX_Y: (X:screen index; Y:layer index 0~15; 0:0 degree; 1:90 degree; 3:270 degree)
devX_output_type : config output type in bootGUI framework in UBOOT-2018.
(0:none; 1:lcd; 2:tv; 4:hdmi;)
devX_output_mode : config output resolution(see include/video/sunxi_display2.h) of bootGUI framework in UBOOT-2018
devX_screen_id : config display index of bootGUI framework in UBOOT-2018
devX_do_hpd : whether do hpd detectation or not in UBOOT-2018
chn_cfg_mode : Hardware DE channel allocation config. 0:single display with 6
channel, 1:dual display with 4 channel in main display and 2 channel in second
display, 2:dual display with 3 channel in main display and 3 channel in second
in display.
----------------------------------------------------------------------------------*/
&disp {
disp_init_enable = <1>;
disp_mode = <0>;
screen0_output_type = <1>;
screen0_output_mode = <4>;
screen0_to_lcd_index = <0>;
screen1_output_type = <3>;
screen1_output_mode = <10>;
screen1_to_lcd_index = <3>;
screen1_output_format = <0>;
screen1_output_bits = <0>;
screen1_output_eotf = <4>;
screen1_output_cs = <257>;
screen1_output_dvi_hdmi = <2>;
screen1_output_range = <2>;
screen1_output_scan = <0>;
screen1_output_aspect_ratio = <8>;
dev0_output_type = <1>;
dev0_output_mode = <4>;
dev0_screen_id = <0>;
dev0_do_hpd = <0>;
screen1_output_type = <6>;
screen1_output_mode = <10>;
dev1_screen_id = <2>;
dev1_do_hpd = <1>;
def_output_dev = <2>;
hdmi_mode_check = <1>;
display_device_num = <3>;
primary_display_type = "LCD";
primary_de_id = <0>;
primary_framebuffer_width = <1280>;
primary_framebuffer_height = <800>;
primary_dpix = <160>;
primary_dpiy = <160>;
extend0_display_type = "HDMI";
extend0_de_id = <1>;
extend0_framebuffer_width = <1920>;
extend0_framebuffer_height = <1080>;
extend0_dpix = <160>;
extend0_dpiy = <160>;
extend1_display_type = "DP";
extend1_de_id = <1>;
extend1_framebuffer_width = <1920>;
extend1_framebuffer_height = <1080>;
extend1_dpix = <160>;
extend1_dpiy = <160>;
fb_format = <0>;
fb_num = <4>;
/*<disp channel layer zorder>*/
fb0_map = <0 1 0 16>;
fb0_width = <1920>;
fb0_height = <1080>;
/*<disp channel layer zorder>*/
fb1_map = <1 1 0 16>;
fb1_width = <1920>;
fb1_height = <1080>;
/*<disp channel layer zorder>*/
fb2_map = <1 0 0 16>;
fb2_width = <1920>;
fb2_height = <1080>;
/*<disp channel layer zorder>*/
fb3_map = <1 1 0 16>;
fb3_width = <300>;
fb3_height = <300>;
chn_cfg_mode = <3>;
disp_para_zone = <2>;
//boot_disp = <0>;
//boot_disp1 = <0>;
//boot_disp2 = <0>;
/* dual display clock constraints:
1. two tcons cannot share a parent clock.
2. when dsi uses ccu clock, combphy and corresponding tcon use the
same parent clock.
*/
assigned-clocks = <&ccu CLK_DE>,
<&ccu CLK_VO0_TCONLCD0>,
<&ccu CLK_VO0_TCONLCD1>,
<&ccu CLK_VO1_TCONLCD0>,
<&ccu CLK_TCONTV>,
<&ccu CLK_TCONTV1>,
<&ccu CLK_COMBPHY0>,
<&ccu CLK_COMBPHY1>,
<&ccu CLK_DSI0>,
<&ccu CLK_DSI1>,
<&ccu CLK_EDP>;
assigned-clock-parents = <&ccu CLK_PLL_VIDEO3_4X>,
<&ccu CLK_PLL_VIDEO0_4X>,
<&ccu CLK_PLL_VIDEO1_4X>,
<&ccu CLK_PLL_VIDEO1_4X>,
<&ccu CLK_PLL_VIDEO1_4X>,
<&ccu CLK_PLL_VIDEO1_4X>,
<&ccu CLK_PLL_VIDEO0_4X>,
<&ccu CLK_PLL_VIDEO1_4X>,
<&ccu CLK_PLL_PERI0_150M>,
<&ccu CLK_PLL_PERI0_150M>,
<&ccu CLK_PLL_VIDEO1_4X>;
assigned-clock-rates = <600000000>;
cldo3-supply = <®_cldo3>;
dcdc4-supply = <®_dcdc4>;
cldo1-supply = <®_cldo1>;
//pwms = <&a_pwm 4 5000000 0>, <&a_pwm 5 5000000 0>;
pwms = <&a_pwm 10 50000 0>, <&a_pwm 5 5000000 0>;
pwm-names = "lvds0_backlight", "lvds2_backlight";
power-domains = <&pd1 A523_PCK_DE>, <&pd1 A523_PCK_VO0>, <&pd1 A523_PCK_VO1>;
power-domain-names = "pd_de", "pd_vo0", "pd_vo1";
pinctrl-names = "active", "sleep";
//pinctrl-0 = <&a_pwm0_pin_active>;
//pinctrl-1 = <&a_pwm0_pin_sleep>;
pinctrl-0 = <&a_pwm10_pin_active>;
pinctrl-1 = <&a_pwm10_pin_sleep>;
};
/***
;lcd0 configuration
;lcd_if: 0:hv(sync+de); 1:8080; 2:ttl; 3:lvds; 4:dsi; 5:edp; 6:extend dsi
;lcd_hv_if 0:Parallel RGB; 8:Serial RGB; 10:Dummy RGB; 11: RGB Dummy;12:CCIR656
;lcd_hv_clk_phase 0:0 degree;1:90 degree;2:180 degree;3:270 degree
;lcd_hv_sync_polarity 0:vs low,hs low; 1:vs high,hslow; 2:vs low,hs high; 3:vs high,hs high
;lcd_hv_syuv_seq 0:YUYV; 1:YVYU; 2:UYVY; 3:VYUY
;lcd_cpu_if 0:18bit/1 cycle parallel(RGB666); 4:16bit/1cycle parallel (RGB565)
; 6:18bit/3 cycle parallel(RGB666); 7:16bit/2cycle parallel (RGB565)
;lcd_cpu_te 0:frame auto trigger; 1:frame triggered by te rising edge; 2:frame triggered by te falling edge;
;lcd_dsi_if 0:video mode; 1: Command mode; 2:video burst mode
;lcd_dsi_te 0:frame auto trigger; 1:frame triggered by te rising edge; 2:frame triggered by te falling edge;
;lcd_x: lcd horizontal resolution
;lcd_y: lcd vertical resolution
;lcd_width: width of lcd in mm
;lcd_height: height of lcd in mm
;lcd_dclk_freq: in MHZ unit
;lcd_pwm_freq: in HZ unit
;lcd_pwm_pol: lcd backlight PWM polarity
;lcd_pwm_max_limit lcd backlight PWM max limit(<=255)
;lcd_hbp: hsync back porch(pixel) + hsync plus width(pixel);
;lcd_ht: hsync total cycle(pixel)
;lcd_vbp: vsync back porch(line) + vysnc plus width(line)
;lcd_vt: vysnc total cycle(line)
;lcd_hspw: hsync plus width(pixel)
;lcd_vspw: vysnc plus width(pixel)
;lcd_lvds_if: 0:single link; 1:dual link
;lcd_lvds_colordepth: 0:8bit; 1:6bit
;lcd_lvds_mode: 0:NS mode; 1:JEIDA mode
;lcd_frm: 0:disable; 1:enable rgb666 dither; 2:enable rgb656 dither
;lcd_io_phase: 0:noraml; 1:intert phase(0~3bit: vsync phase; 4~7bit:hsync phase;
; 8~11bit:dclk phase; 12~15bit:de phase)
;lcd_gamma_en lcd gamma correction enable
;lcd_bright_curve_en lcd bright curve correction enable
;lcd_cmap_en lcd color map function enable
;deu_mode 0:smoll lcd screen; 1:large lcd screen(larger than 10inch)
;lcdgamma4iep: Smart Backlight parameter, lcd gamma vale * 10;
; decrease it while lcd is not bright enough; increase while lcd is too bright
;smart_color 90:normal lcd screen 65:retina lcd screen(9.7inch)
;Pin setting for special function ie.LVDS, RGB data or vsync
; name(donot care) = port:PD12<pin function><pull up or pull down><drive ability><output level>
;Pin setting for gpio:
; lcd_gpio_X = port:PD12<pin function><pull up or pull down><drive ability><output level>
;Pin setting for backlight enable pin
; lcd_bl_en = port:PD12<pin function><pull up or pull down><drive ability><output level>
;fsync setting, pulse to csi
;lcd_fsync_en (0:disable fsync,1:enable)
;lcd_fsync_act_time (active time of fsync, unit:pixel)
;lcd_fsync_dis_time (disactive time of fsync, unit:pixel)
;lcd_fsync_pol (0:positive;1:negative)
;gpio config: <&pio for cpu or &r_pio for cpus, port, port num, pio function,
pull up or pull down(default 0), driver level(default 1), data>
;For dual link lvds: use lvds2link_pins_a and lvds2link_pins_b instead
;For rgb24: use rgb24_pins_a and rgb24_pins_b instead
;For lvds1: use lvds1_pins_a and lvds1_pins_b instead
;For lvds0: use lvds0_pins_a and lvds0_pins_b instead
***/
&lcd0 {
lcd_used = <1>;
lcd_driver_name = "default_lcd";
lcd_backlight = <200>;
lcd_if = <3>;
lcd_x = <1280>;
lcd_y = <800>;
lcd_width = <150>;
lcd_height = <94>;
lcd_dclk_freq = <63>;
lcd_pwm_used = <1>;
lcd_pwm_ch = <10>;
lcd_pwm_freq = <50000>;
lcd_pwm_pol = <0>;
lcd_pwm_max_limit = <255>;
lcd_pwm_name = "lvds0_backlight";
lcd_hbp = <88>;
lcd_ht = <1451>;
lcd_hspw = <18>;
lcd_vbp = <23>;
lcd_vt = <860>;
lcd_vspw = <10>;
lcd_lvds_if = <0>;
lcd_lvds_colordepth = <0>;
lcd_lvds_mode = <0>;
lcd_frm = <1>;
lcd_hv_clk_phase = <0>;
lcd_hv_sync_polarity= <0>;
lcd_gamma_en = <0>;
lcd_bright_curve_en = <0>;
lcd_cmap_en = <0>;
lcd_fsync_en = <0>;
lcd_fsync_act_time = <1000>;
lcd_fsync_dis_time = <1000>;
lcd_fsync_pol = <0>;
lcd_start_delay = <5>;
deu_mode = <0>;
lcdgamma4iep = <22>;
smart_color = <90>;
lcd_pin_power = "cldo3";
lcd_power = "dcdc4";
lcd_power1 = "cldo1";
//lcd_gpio_0 = <&pio PI 2 GPIO_ACTIVE_HIGH>; //reset
//lcd_bl_en = <&pio PI 2 GPIO_ACTIVE_HIGH>;
pinctrl-0 = <&lvds0_pins_a>,<&dsi1_4lane_pins_a>;
pinctrl-1 = <&lvds0_pins_b>,<&dsi1_4lane_pins_b>;
lvds0_pinctrl-0 = <&lvds0_pins_a>;
lvds0_pinctrl-1 = <&lvds0_pins_b>;
lvds1_pinctrl-0 = <&lvds1_pins_a>;
lvds1_pinctrl-1 = <&lvds1_pins_b>;
dsi0_pinctrl-0 = <&dsi0_4lane_pins_a>;
dsi0_pinctrl-1 = <&dsi0_4lane_pins_b>;
dual_dsi_pinctrl-0 = <&dsi0_4lane_pins_a>, <&dsi1_4lane_pins_a>;
dual_dsi_pinctrl-1 = <&dsi0_4lane_pins_b>, <&dsi1_4lane_pins_b>;
dual_lvds0_pinctrl-0 = <&lvds0_pins_a>, <&lvds1_pins_a>;
dual_lvds0_pinctrl-1 = <&lvds0_pins_b>, <&lvds1_pins_b>;
};
#if 1
&lcd1 {
lcd_used = <1>;
status = "okay";
lcd_driver_name = "SQ101D_Q5DI404_84H501";
lcd_backlight = <200>;
lcd_if = <4>;
lcd_x = <1920>;
lcd_y = <1080>;
lcd_width = <136>;
lcd_height = <217>;
lcd_dclk_freq = <148>;
lcd_pwm_used = <1>;
lcd_pwm_ch = <0>;
lcd_pwm_freq = <50000>;
lcd_pwm_pol = <0>;
lcd_pwm_max_limit = <255>;
lcd_hbp = <88>;
lcd_ht = <2200>;
lcd_hspw = <44>;
lcd_vbp = <4>;
lcd_vt = <1125>;
lcd_vspw = <5>;
lcd_frm = <0>;
lcd_gamma_en = <0>;
lcd_bright_curve_en = <0>;
lcd_cmap_en = <0>;
lcd_start_delay = <5>;
deu_mode = <0>;
lcdgamma4iep = <22>;
smart_color = <90>;
lcd_dsi_if = <0>;
lcd_dsi_lane = <4>;
lcd_dsi_format = <0>;
lcd_dsi_te = <0>;
lcd_dsi_eotp = <0>;
lcd_pin_power = "dcdc4";
lcd_power1 = "cldo4";
lcd_power2 = "cldo1";
lcd_gpio_2 = <&pio PD 22 GPIO_ACTIVE_HIGH>; //reset
pinctrl-0 = <&dsi0_4lane_pins_a>;
pinctrl-1 = <&dsi0_4lane_pins_b>;
// lcd_bl_en = <&pio PH 16 GPIO_ACTIVE_HIGH>;
lcd_bl_0_percent = <5>;
};
#else
&lcd1 {
lcd_used = <1>;
lcd_driver_name = "default_lcd";
lcd_backlight = <50>;
lcd_if = <0>;
lcd_x = <800>;
lcd_y = <480>;
lcd_width = <150>;
lcd_height = <94>;
lcd_dclk_freq = <48>;
lcd_pwm_used = <1>;
lcd_pwm_ch = <7>;
lcd_pwm_freq = <50000>;
lcd_pwm_pol = <0>;
lcd_hbp = <55>;
lcd_ht = <1240>;
lcd_hspw = <20>;
lcd_vbp = <35>;
lcd_vt = <650>;
lcd_vspw = <10>;
lcd_lvds_if = <0>;
lcd_lvds_colordepth = <1>;
lcd_lvds_mode = <0>;
lcd_frm = <1>;
lcd_io_phase = <0x0000>;
lcd_gamma_en = <0>;
lcd_bright_curve_en = <0>;
lcd_cmap_en = <0>;
deu_mode = <0>;
lcdgamma4iep = <22>;
smart_color = <90>;
};
#endif
&lcd2 {
lcd_used = <1>;
lcd_driver_name = "bp101wx1";
lcd_backlight = <50>;
lcd_if = <3>;
lcd_x = <1280>;
lcd_y = <800>;
lcd_width = <150>;
lcd_height = <94>;
lcd_dclk_freq = <75>;
lcd_pwm_used = <1>;
lcd_pwm_ch = <5>;
lcd_pwm_freq = <50000>;
lcd_pwm_pol = <0>;
lcd_pwm_max_limit = <255>;
lcd_pwm_name = "lvds2_backlight";
lcd_hbp = <88>;
lcd_ht = <1451>;
lcd_hspw = <18>;
lcd_vbp = <23>;
lcd_vt = <860>;
lcd_vspw = <10>;
lcd_lvds_if = <0>;
lcd_lvds_colordepth = <0>;
lcd_lvds_mode = <0>;
lcd_frm = <0>;
lcd_hv_clk_phase = <0>;
lcd_hv_sync_polarity= <0>;
lcd_gamma_en = <0>;
lcd_bright_curve_en = <0>;
lcd_cmap_en = <0>;
lcd_fsync_en = <0>;
lcd_fsync_pol = <0>;
lcd_start_delay = <5>;
deu_mode = <0>;
lcdgamma4iep = <22>;
smart_color = <90>;
lcd_pin_power = "cldo3";
lcd_power = "dcdc4";
/* lvds_power & other interface power */
lcd_bl_en = <&pio PI 5 GPIO_ACTIVE_HIGH>;
pinctrl-0 = <&lvds2_pins_a>;
pinctrl-1 = <&lvds2_pins_b>;
lvds2_pinctrl-0 = <&lvds2_pins_a>;
lvds2_pinctrl-1 = <&lvds2_pins_b>;
lvds3_pinctrl-0 = <&lvds3_pins_a>;
lvds3_pinctrl-1 = <&lvds3_pins_b>;
dual_lvds1_pinctrl-0 = <&lvds2_pins_a>, <&lvds3_pins_a>;
dual_lvds1_pinctrl-1 = <&lvds2_pins_b>, <&lvds3_pins_b>;
status = "disabled";
};
&edp0 {
compatible = "allwinner,sunxi-dp0";
// use if hardware reset pin is need
/* edp_hw_reset_pin = <&pio PH XX GPIO_ACTIVE_LOW>; */
edp_ssc_en = <0>;
edp_ssc_mode = <0>;
edp_psr_support = <0>;
edp_colordepth = <8>; /* 6/8/10/12/16 */
edp_color_fmt = <0>; /* 0:RGB 1: YUV444 2: YUV422 */
edp_lane_rate = <1>;
edp_lane_cnt = <4>;
lane0_sw = <0>;
lane0_pre = <0>;
lane1_sw = <0>;
lane1_pre = <0>;
lane2_sw = <0>;
lane2_pre = <0>;
lane3_sw = <0>;
lane3_pre = <0>;
efficient_training = <0>;
sink_capacity_prefer = <0>;
edid_timings_prefer = <1>;
timings_fixed = <0>;
edp_traning_param_type = <1>;
edp_timings_type = <0>;
edp_panel_used = <0>;
/*
edp_panel_used = <1>;
edp_panel_driver = "general_panel";
edp_bl_en = <&pio PI 5 GPIO_ACTIVE_HIGH>;
edp_pwm_used = <1>;
edp_pwm_ch = <5>;
edp_pwm_freq = <50000>;
edp_pwm_pol = <0>;
edp_default_backlight = <200>;
edp_panel_power_0 = "edp-panel";
*/
/*
edp_x = <1280>;
edp_y = <800>;
edp_width = <150>;
edp_height = <94>;
edp_dclk_freq = <75>;
edp_hbp = <88>;
edp_ht = <1451>;
edp_hspw = <18>;
edp_vbp = <23>;
edp_vt = <860>;
edp_vspw = <10>;
edp_fps = <30>;
*/
vcc-edp-supply = <®_bldo3>;
vdd-edp-supply = <®_dcdc2>;
edp-panel-supply = <®_dcdc4>;
status = "okay";
};
&ve {
ve-supply = <®_dcdc2>;
};
/* audio dirver module -> audio codec */
&codec {
tx-hub-en;
rx-sync-en;
dac-vol = <63>; /* default value:63 range:0->63 */
dacl-vol = <160>; /* default value:160 range:0->255 */
dacr-vol = <160>; /* default value:160 range:0->255 */
adc1-vol = <160>; /* default value:160 range:0->255 */
adc2-vol = <160>; /* default value:160 range:0->255 */
adc3-vol = <160>; /* default value:160 range:0->255 */
lineout-gain = <31>; /* default value:31 range:0->31 */
hpout-gain = <7>; /* default value:7 range:0->7 */
adc1-gain = <31>; /* default value:31 range:0->31 */
adc2-gain = <31>; /* default value:31 range:0->31 */
adc3-gain = <31>; /* default value:31 range:0->31 */
/* to do: avcc-1.8 vdd33-3.3 cpvin-1.8 */
avcc-external;
avcc-supply = <®_aldo4>;
avcc-vol = <1800000>;
vdd-external;
vdd-supply = <®_cldo3>;
vdd-vol = <3300000>;
cpvin-external;
cpvin-supply = <®_bldo3>;
cpvin-vol = <1800000>;
//pa-pin-max = <1>;
//pa-pin-0 = <&r_pio PL 7 GPIO_ACTIVE_HIGH>;
//pa-pin-level-0 = <1>;
//pa-pin-msleep-0 = <0>;
jack-det-level = <0>;
jack-det-threshold = <8>;
jack-det-debouce-time = <250>;
/* extcon = <&usb_power_supply>;
* jack-swpin-mic-sel = <&pio PH 8 GPIO_ACTIVE_HIGH>;
* jack-swpin-hp-en = <&pio PH 15 GPIO_ACTIVE_HIGH>;
* jack-swpin-hp-sel = <&pio PH 11 GPIO_ACTIVE_HIGH>;
* jack-swmode-hp-off = <0x00>;
* jack-swmode-hp-usb = <0x11>;
* jack-swmode-hp-audio = <0x10>;
* jack-det-level = <1>;
* jack-det-threshold = <8>;
* jack-det-debouce-time = <250>;
*/
status = "okay";
};
&codec_plat {
status = "okay";
};
&codec_mach {
soundcard-mach,jack-support = <1>;
status = "okay";
soundcard-mach,cpu {
sound-dai = <&codec_plat>;
};
soundcard-mach,codec {
sound-dai = <&codec>;
};
};
&hdmi_codec {
extcon = <&hdmi>;
status = "okay";
};
&edp_codec {
status = "disabled";
};
/* audio dirver module -> owa */
&owa_plat {
rglt-max = <1>;
rglt0-mode = "PMU";
rglt0-voltage = <3300000>;
rglt0-supply = <®_dcdc4>;
pinctrl-used;
pinctrl-names = "default","sleep";
pinctrl-0 = <&owa_pins_a>;
pinctrl-1 = <&owa_pins_b>;
tx-hub-en;
status = "okay";
};
&owa_mach {
status = "okay";
soundcard-mach,cpu {
sound-dai = <&owa_plat>;
};
soundcard-mach,codec {
};
};
/* audio dirver module -> DMIC */
&dmic_plat {
rx-chmap = <0x76543210>;
data-vol = <0xB0>;
rxdelaytime = <0>;
/* pinctrl-used; */
/* pinctrl-names = "default","sleep"; */
/* pinctrl-0 = <&dmic_pins_a>; */
/* pinctrl-1 = <&dmic_pins_b>; */
rx-sync-en;
status = "disabled";
};
&dmic_mach {
status = "disabled";
soundcard-mach,cpu {
sound-dai = <&dmic_plat>;
};
soundcard-mach,codec {
};
};
/* audio dirver module -> I2S/PCM */
&i2s0_plat {
tdm-num = <0>;
tx-pin = <0>;
rx-pin = <0>;
pinctrl-used;
pinctrl-names = "default","sleep";
pinctrl-0 = <&i2s0_pins_a>;
pinctrl-1 = <&i2s0_pins_b>;
tx-hub-en;
rx-sync-en;
status = "disabled";
};
&i2s0_mach {
soundcard-mach,format = "i2s";
soundcard-mach,frame-master = <&i2s0_cpu>;
soundcard-mach,bitclock-master = <&i2s0_cpu>;
/* soundcard-mach,frame-inversion; */
/* soundcard-mach,bitclock-inversion; */
soundcard-mach,slot-num = <2>;
soundcard-mach,slot-width = <32>;
soundcard-mach,capture-only;
status = "disabled";
i2s0_cpu: soundcard-mach,cpu {
sound-dai = <&i2s0_plat>;
/* note: pll freq = 24.576M or 22.5792M * pll-fs */
soundcard-mach,pll-fs = <1>;
/* note:
* mclk freq = mclk-fs * 12.288M or 11.2896M (when mclk-fp ture)
* mclk freq = mclk-fs * pcm rate (when mclk-fp false)
*/
soundcard-mach,mclk-fp;
soundcard-mach,mclk-fs = <1>;
};
i2s0_codec: soundcard-mach,codec {
sound-dai = <&ac107>;
soundcard-mach,pll-fs = <1>;
};
};
&i2s1_plat {
tdm-num = <1>;
tx-pin = <0>;
rx-pin = <0>;
/* pinctrl-used; */
/* pinctrl-names= "default","sleep"; */
/* pinctrl-0 = <&i2s1_pins_a>; */
/* pinctrl-1 = <&i2s1_pins_b>; */
tx-hub-en;
rx-sync-en;
status = "disabled";
};
&i2s1_mach {
soundcard-mach,format = "i2s";
soundcard-mach,frame-master = <&i2s1_cpu>;
soundcard-mach,bitclock-master = <&i2s1_cpu>;
/* soundcard-mach,frame-inversion; */
/* soundcard-mach,bitclock-inversion; */
soundcard-mach,slot-num = <2>;
soundcard-mach,slot-width = <32>;
status = "disabled";
i2s1_cpu: soundcard-mach,cpu {
sound-dai = <&i2s1_plat>;
soundcard-mach,pll-fs = <1>;
soundcard-mach,mclk-fs = <0>;
};
i2s1_codec: soundcard-mach,codec {
};
};
&i2s2_plat {
tdm-num = <2>;
tx-pin = <0 1 2 3>;
/* e.g.
* tx-pin0-map0 = <0xFEDC3210> -> tx_pin_map[0][0] (Dout0-slot[7:0] map channel[15:12, 3:0])
* tx-pin0-map1 = <0x3210FEDC> -> tx_pin_map[0][1] (Dout0-slot[15:8] map channel[3:0, 15:12])
* tx-pin1-map0 = <0x76543210> -> tx_pin_map[1][0] (Dout1-slot[7:0] map channel[7:0])
*/
tx-pin0-map0 = <0x76543210>;
tx-pin0-map1 = <0xFEDCBA98>;
tx-pin1-map0 = <0x76543210>;
tx-pin1-map1 = <0xFEDCBA98>;
tx-pin2-map0 = <0x76543210>;
tx-pin2-map1 = <0xFEDCBA98>;
tx-pin3-map0 = <0x76543210>;
tx-pin3-map1 = <0xFEDCBA98>;
rx-pin = <0>;
/* pinctrl-used; */
/* pinctrl-names= "default","sleep"; */
/* pinctrl-0 = <&i2s2_pins_a>; */
/* pinctrl-1 = <&i2s2_pins_b>; */
tx-hub-en;
rx-sync-en;
/* edp not need dai-type */
dai-type = "hdmi";
status = "okay";
};
&i2s2_mach {
soundcard-mach,format = "i2s";
soundcard-mach,frame-master = <&i2s2_cpu>;
soundcard-mach,bitclock-master = <&i2s2_cpu>;
/* soundcard-mach,frame-inversion; */
/* soundcard-mach,bitclock-inversion; */
soundcard-mach,slot-num = <2>;
soundcard-mach,slot-width = <32>;
soundcard-mach,playback-only;
status = "okay";
i2s2_cpu: soundcard-mach,cpu {
sound-dai = <&i2s2_plat>;
soundcard-mach,pll-fs = <1>;
/* edp mclk: 512fs */
soundcard-mach,mclk-fs = <0>;
};
i2s2_codec: soundcard-mach,codec {
sound-dai = <&hdmi_codec>;
};
};
&i2s3_plat {
tdm-num = <3>;
tx-pin = <0>;
rx-pin = <0>;
/* pinctrl-used; */
/* pinctrl-names= "default","sleep"; */
/* pinctrl-0 = <&i2s3_pins_a>; */
/* pinctrl-1 = <&i2s3_pins_b>; */
tx-hub-en;
rx-sync-en;
status = "disabled";
};
&i2s3_mach {
soundcard-mach,format = "i2s";
soundcard-mach,frame-master = <&i2s3_cpu>;
soundcard-mach,bitclock-master = <&i2s3_cpu>;
/* soundcard-mach,frame-inversion; */
/* soundcard-mach,bitclock-inversion; */
soundcard-mach,slot-num = <2>;
soundcard-mach,slot-width = <32>;
status = "disabled";
i2s3_cpu: soundcard-mach,cpu {
sound-dai = <&i2s3_plat>;
soundcard-mach,pll-fs = <1>;
soundcard-mach,mclk-fs = <0>;
};
i2s3_codec: soundcard-mach,codec {
};
};
&hdmi {
hdmi_used = <1>;
bldo3-supply = <®_bldo3>;
hdmi_power0 = "bldo3";
hdmi_power_cnt = <1>;
hdmi_hdcp_enable = <1>;
hdmi_hdcp22_enable = <0>;
hdmi_cts_compatibility = <0>;
hdmi_cec_support = <1>;
hdmi_cec_super_standby = <1>;
hdmi_skip_bootedid = <1>;
ddc_en_io_ctrl = <0>;
power_io_ctrl = <0>;
};
&cpu0 {
cpu-supply = <®_dcdc1>;
};
&dsufreq {
dsu-supply = <®_dcdc1>;
};
&mdio0 {
status = "okay";
gmac0_phy0: ethernet-phy@5 {
reg = <0x5>;
max-speed = <1000>;
/* PHY datasheet rst time */
reset-assert-us = <10000>;
reset-deassert-us = <150000>;
};
};
&gmac0 {
phy-mode = "rgmii";
pinctrl-names = "default", "sleep";
pinctrl-0 = <&gmac0_pins_default>;
pinctrl-1 = <&gmac0_pins_sleep>;
sunxi,phy-clk-type = <0>;
tx-delay = <0>;
rx-delay = <0>;
phy-handle = <&gmac0_phy0>;
gmac3v3-supply = <®_dcdc4>;
status = "okay";
};
&gmac1 {
phy-mode = "rgmii";
phy-handle = <&gmac1_phy0>;
pinctrl-names = "default", "sleep";
pinctrl-0 = <&gmac1_pins_default>;
pinctrl-1 = <&gmac1_pins_sleep>;
aw,soc-phy25m;
tx-delay = <0>;
rx-delay = <0>;
snps,reset-gpios = <&pio PJ 17 GPIO_ACTIVE_LOW>;
snps,phy-addr = <0x6>;
dwmac3v3-supply = <®_dcdc4>;
status = "okay";
mdio1: mdio1@1 {
snps,reset-gpios = <&pio PJ 17 GPIO_ACTIVE_LOW>;
gmac1_phy0: ethernet-phy@6 {
snps,reset-gpios = <&pio PJ 17 GPIO_ACTIVE_LOW>;
reg = <0x6>;
max-speed = <1000>;
/* PHY datasheet rst time */
reset-assert-us = <10000>;
reset-deassert-us = <150000>;
};
};
};
&npu {
npu-supply = <®_ext_axp1530_dcdc3>;
npu_vol = <1050000>;
clock-frequency = <696000000>;
status = "okay";
};
&dram {
dram_para00 = <0x00000000>;
dram_para01 = <0x00000000>;
dram_para02 = <0x00000000>;
dram_para03 = <0x00000000>;
dram_para04 = <0x00000000>;
dram_para05 = <0x00000000>;
dram_para06 = <0x00000000>;
dram_para07 = <0x00000000>;
dram_para08 = <0x00000000>;
dram_para09 = <0x00000000>;
dram_para10 = <0x00000000>;
dram_para11 = <0x00000000>;
dram_para12 = <0x00000000>;
dram_para13 = <0x00000000>;
dram_para14 = <0x00000000>;
dram_para15 = <0x00000000>;
dram_para16 = <0x00000000>;
dram_para17 = <0x00000000>;
dram_para18 = <0x00000000>;
dram_para19 = <0x00000000>;
dram_para20 = <0x00000000>;
dram_para21 = <0x00000000>;
dram_para22 = <0x00000000>;
dram_para23 = <0x00000000>;
dram_para24 = <0x00000000>;
dram_para25 = <0x00000000>;
dram_para26 = <0x00000000>;
dram_para27 = <0x00000000>;
dram_para28 = <0x00000000>;
dram_para29 = <0x00000000>;
dram_para30 = <0x00000000>;
dram_para31 = <0x00000000>;
dram_para32 = <0x00000000>;
dram_para33 = <0x00000000>;
dram_para34 = <0x00000000>;
dram_para35 = <0x00000000>;
dram_para36 = <0x00000000>;
dram_para37 = <0x00000000>;
dram_para38 = <0x00000000>;
dram_para39 = <0x00000000>;
dram_para40 = <0x00000000>;
dram_para41 = <0x00000000>;
dram_para42 = <0x00000000>;
dram_para43 = <0x00000000>;
dram_para44 = <0x00000000>;
dram_para45 = <0x00000000>;
dram_para46 = <0x00000000>;
dram_para47 = <0x00000000>;
dram_para48 = <0x00000000>;
dram_para49 = <0x00000000>;
dram_para50 = <0x00000000>;
dram_para51 = <0x00000000>;
dram_para52 = <0x00000000>;
dram_para53 = <0x00000000>;
dram_para54 = <0x00000000>;
dram_para55 = <0x00000000>;
dram_para56 = <0x00000000>;
dram_para57 = <0x00000000>;
dram_para58 = <0x00000000>;
dram_para59 = <0x00000000>;
dram_para60 = <0x00000000>;
dram_para61 = <0x00000000>;
dram_para62 = <0x00000000>;
dram_para63 = <0x00000000>;
dram_para64 = <0x00000000>;
dram_para65 = <0x00000000>;
dram_para66 = <0x00000000>;
dram_para67 = <0x00000000>;
dram_para68 = <0x00000000>;
dram_para69 = <0x00000000>;
dram_para70 = <0x00000000>;
dram_para71 = <0x00000000>;
dram_para72 = <0x00000000>;
dram_para73 = <0x00000000>;
dram_para74 = <0x00000000>;
dram_para75 = <0x00000000>;
dram_para76 = <0x00000000>;
dram_para77 = <0x00000000>;
dram_para78 = <0x00000000>;
dram_para79 = <0x00000000>;
dram_para80 = <0x00000000>;
dram_para81 = <0x00000000>;
dram_para82 = <0x00000000>;
dram_para83 = <0x00000000>;
dram_para84 = <0x00000000>;
dram_para85 = <0x00000000>;
dram_para86 = <0x00000000>;
dram_para87 = <0x00000000>;
dram_para88 = <0x00000000>;
dram_para89 = <0x00000000>;
dram_para90 = <0x00000000>;
dram_para91 = <0x00000000>;
dram_para92 = <0x00000000>;
dram_para93 = <0x00000000>;
dram_para94 = <0x00000000>;
dram_para95 = <0x00000000>;
};