/dts-v1/; #include #include "a210-soc-core.dtsi" #include "a210-soc-peri.dtsi" #include "a210-platform-dev.dtsi" #define SOUND_CARD_LINK(REG, FMT, CPU, M, CODEC, N) \ simple-audio-card,dai-link@##REG { \ reg = ; \ format = #FMT; \ cpu { \ sound-dai = <&audio_##CPU M>; \ }; \ codec { \ sound-dai = <&codec_##CODEC N>; \ }; \ } / { model = "A210 DEV configuration"; aliases { ethernet0 = &gmac0; ethernet1 = &gmac1; gpio0 = &ao_gpio0; gpio1 = &ao_gpio1; gpio2 = &gpio0; gpio3 = &gpio1; gpio4 = &gpio2; gpio5 = &gpio3; gpio6 = &gpio4; gpio7 = &aw9535_0; gpio8 = &aw9535_1; i2c0 = &i2c0; i2c1 = &i2c1; i2c2 = &i2c2; i2c3 = &i2c3; i2c4 = &i2c4; i2c5 = &i2c5; i2c6 = &i2c6; i2c7 = &i2c7; i2c8 = &aoi2c1; can0 = &can0; can1 = &can1; can2 = &can2; mmc0 = &emmc; mmc1 = &sdhci0; serial0 = &uart0; serial1 = &uart1; serial2 = &uart2; serial3 = &uart3; serial4 = &uart4; serial5 = &uart5; serial6 = &uart6; serial7 = &uart7; serial8 = &uart8; serial9 = &uart9; spi0 = &qspi0; spi1 = &qspi1; spi2 = &spi0; spi3 = &spi1; pcie3x4 = &dm3x4; pcie3x1 = &rp3x1; }; /* The actual capacity will be adjusted through SPL */ memory@0 { device_type = "memory"; reg = <0x00 0x80000000 0x01 0x00000000>; /* 4G */ numa-node-id = <0>; }; reserved-memory { #address-cells = <2>; #size-cells = <2>; ranges; linux,cma { compatible = "shared-dma-pool"; reusable; size = <0x00 0x40000000>; alloc-ranges = <0x00 0x90000000 0x00 0x40000000>; linux,cma-default; }; memory@1c000000 { reg = <0x00 0x1c000000 0x00 0x2000000>; no-map; }; framebuffer: framebuffer@10000000 { reg = <0x01 0x00 0x00 0x5000000>; no-map; }; npu_mmu_memory@130000000 { reg = <0x01 0x30000000 0x00 0x04000000>; no-map; }; memblock-memory@17b800000 { reg = <0x01 0x7b800000 0x00 0x04000000>; no-map; }; }; Sound_Card@0 { compatible = "simple-audio-card"; simple-audio-card,name = "Sound-Card-I2S0"; #address-cells = <1>; #size-cells = <0>; status = "okay"; SOUND_CARD_LINK(0, i2s, i2s1, 0, es8156_dac0, 0); /* I2S1 <-> es8156_dac0 */ SOUND_CARD_LINK(1, i2s, i2s1, 0, es7210_adc0, 0); /* I2S1 <-> es7210_adc0 */ }; Sound_Card@1 { compatible = "simple-audio-card"; simple-audio-card,name = "Sound-Card-I2S1"; #address-cells = <1>; #size-cells = <0>; status = "disabled"; simple-audio-card,widgets = "Speaker", "Speaker"; simple-audio-card,routing = "Speaker", "AW87565_PA2 VO", "AW87565_PA2 IN", "ES8156_DAC1 LOUT"; simple-audio-card,aux-devs = <&audio_aw87565_pa2>; SOUND_CARD_LINK(0, i2s, i2s1, 0, es8156_dac1, 0); SOUND_CARD_LINK(1, i2s, i2s1, 0, es7210_adc1, 0); }; wcn_wifi: wireless-wlan { compatible = "wlan-platdata"; WIFI,poweren-gpios = <&aw9535_1 11 GPIO_ACTIVE_HIGH>, <&aw9535_1 12 GPIO_ACTIVE_HIGH>, <&gpio0_porta 14 GPIO_ACTIVE_HIGH>; power_on_after_init; power_on_when_resume; status = "okay"; }; wcn_bt: wireless-bluetooth { compatible = "bluetooth-platdata"; BT,power-gpios = <&ao_gpio1_porta 4 GPIO_ACTIVE_HIGH>, <&aw9535_1 15 GPIO_ACTIVE_HIGH>; status = "okay"; }; /* The bootargs in U-Boot will override the configuration set here. */ chosen { stdout-path = "serial4"; }; lcd0_backlight: pwm-backlight@0 { compatible = "pwm-backlight"; status = "okay"; pwms = <&pwm1 2 100000 0>; brightness-levels = <0 4 8 16 32 64 128 255>; default-brightness-level = <7>; enable-gpios = <&aw9535_1 15 GPIO_ACTIVE_HIGH>; }; reg_vdd33_lcd0: regulator-vdd33-lcd0 { compatible = "regulator-fixed"; regulator-name = "lcd0_vdd33"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; gpio = <&aw9535_1 5 GPIO_ACTIVE_HIGH>; enable-active-high; }; reg_vddtp33_lcd0: regulator-vddtp33-lcd0 { compatible = "regulator-fixed"; regulator-name = "lcd0_vddtp33"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; gpio = <&aw9535_1 14 GPIO_ACTIVE_HIGH>; enable-active-high; }; }; &aon { regulators { compatible = "zhihe,a210-aon-regulator"; avdd33_emmc_reg: avdd33_emmc { regulator-name = "avdd33_emmc"; regulator-type = "voltage"; regulator-always-on; }; avdd33_usb2_reg: avdd33_usb2 { regulator-name = "avdd33_usb2"; regulator-type = "voltage"; regulator-always-on; }; dvdd08_aon_reg: dvdd08_aon { regulator-name = "dvdd08_aon"; regulator-type = "voltage"; regulator-always-on; }; avdd18_aon_reg: avdd18_aon { regulator-name = "avdd18_aon"; regulator-type = "voltage"; regulator-always-on; }; avdd18_emmc_usb2_reg: avdd18_emmc_usb2 { regulator-name = "avdd18_emmc_usb2"; regulator-type = "voltage"; regulator-always-on; }; avdd18_emmc_peri_reg: avdd18_emmc_peri { regulator-name = "avdd18_emmc_peri"; regulator-type = "voltage"; regulator-always-on; }; avdd18_top_reg: avdd18_top { regulator-name = "avdd18_top"; regulator-type = "voltage"; regulator-always-on; }; avdd18_pll_reg: avdd18_pll { regulator-name = "avdd18_pll"; regulator-type = "voltage"; regulator-always-on; }; avdd18_reg: avdd18 { regulator-name = "avdd18"; regulator-type = "voltage"; regulator-always-on; }; dvdd18_ddr_vaa_reg: dvdd18_ddr_vaa { regulator-name = "dvdd18_ddr_vaa"; regulator-type = "voltage"; regulator-always-on; }; p3v3_reg: p3v3 { regulator-name = "p3v3"; regulator-type = "voltage"; regulator-always-on; }; dvdd08_top_reg: dvdd08_top { regulator-name = "dvdd08_top"; regulator-type = "voltage"; regulator-always-on; }; dvdd06_ddr_vddqlp_reg: dvdd06_ddr_vddqlp { regulator-name = "dvdd06_ddr_vddqlp"; regulator-type = "voltage"; regulator-always-on; }; dvdd08_ddr_reg: dvdd08_ddr { regulator-name = "dvdd08_ddr"; regulator-type = "voltage"; regulator-settling-time-us = <1000>; regulator-min-microvolt = <750000>; regulator-max-microvolt = <800000>; regulator-always-on; }; dvdd_cpu_reg: dvdd_cpu { regulator-name = "dvdd_cpu"; regulator-type = "voltage"; regulator-settling-time-us = <1000>; regulator-min-microvolt = <600000>; regulator-max-microvolt = <1000000>; regulator-always-on; }; dvddm_cpu_reg: dvddm_cpu { regulator-name = "dvddm_cpu"; regulator-type = "voltage"; regulator-settling-time-us = <1000>; regulator-min-microvolt = <800000>; regulator-max-microvolt = <1000000>; regulator-always-on; }; dvdd_vp_reg: dvdd_vp { regulator-name = "dvdd_vp"; regulator-type = "voltage"; regulator-settling-time-us = <1000>; regulator-min-microvolt = <750000>; regulator-max-microvolt = <800000>; regulator-always-on; }; dvdd_npu_vip_reg: dvdd_npu_vip { regulator-name = "dvdd_npu_vip"; regulator-type = "voltage"; regulator-settling-time-us = <1000>; regulator-min-microvolt = <750000>; regulator-max-microvolt = <1000000>; regulator-always-on; }; dvdd_cpu_p_reg: dvdd_cpu_p { regulator-name = "dvdd_cpu_p"; regulator-type = "voltage"; regulator-settling-time-us = <1000>; regulator-min-microvolt = <800000>; regulator-max-microvolt = <1000000>; regulator-always-on; }; dvdd_gpu_reg: dvdd_gpu { regulator-name = "dvdd_gpu"; regulator-type = "voltage"; regulator-settling-time-us = <1000>; regulator-min-microvolt = <750000>; regulator-max-microvolt = <800000>; regulator-always-on; }; }; }; &aon_padctrl { rtc_pins: rtc { rtc-pins { pins = "AOGPIO0_27"; function = "aogpio0"; bias-disable; drive-strength = <13>; input-enable; input-schmitt-disable; slew-rate = <0>; }; }; aoi2c1_pins: aoi2c1-0 { i2c-pins { pins = "AOI2C1_SCL", "AOI2C1_SDA"; function = "aoi2c1"; bias-disable; drive-strength = <7>; input-enable; input-schmitt-enable; slew-rate = <0>; }; }; }; &peri1_padctrl { gmac0_pins: gmac0-0 { txclk-pins { pins = "GPIO0_0", /* GMAC0_TX_CLK */ "GPIO0_12"; /* GMAC0_MDC */ function = "gmac0"; bias-disable; drive-strength = <13>; input-disable; input-schmitt-disable; slew-rate = <0>; }; tx-pins { pins = "GPIO0_2", /* GMAC0_TXEN */ "GPIO0_3", /* GMAC0_TXD0 */ "GPIO0_4", /* GMAC0_TXD1 */ "GPIO0_5", /* GMAC0_TXD2 */ "GPIO0_6"; /* GMAC0_TXD3 */ function = "gmac0"; bias-disable; drive-strength = <20>; input-disable; input-schmitt-disable; slew-rate = <0>; }; rx-pins { pins = "GPIO0_1", /* GMAC0_RX_CLK */ "GPIO0_7", /* GMAC0_RXDV */ "GPIO0_8", /* GMAC0_RXD0 */ "GPIO0_9", /* GMAC0_RXD1 */ "GPIO0_10", /* GMAC0_RXD2 */ "GPIO0_11", /* GMAC0_RXD3 */ "GPIO0_13"; /* GMAC0_MDIO */ function = "gmac0"; bias-disable; drive-strength = <13>; input-enable; input-schmitt-disable; slew-rate = <0>; }; }; qspi0_pins: qspi0-0 { qspi-pins { pins = "GPIO0_18", "GPIO0_20", "GPIO0_21", "GPIO0_22", "GPIO0_23"; function = "qspi0"; bias-disable; drive-strength = <13>; input-enable; input-schmitt-enable; slew-rate = <0>; }; }; can0_pins: can0-0 { tx-pins { pins = "GPIO0_25"; function = "can0"; bias-disable; drive-strength = <5>; input-disable; input-schmitt-disable; slew-rate = <1>; }; rx-pins { pins = "GPIO0_24"; function = "can0"; bias-disable; drive-strength = <1>; input-enable; input-schmitt-enable; slew-rate = <0>; }; }; pcie_x1_pins: pcie_x1-1 { pcie_x1-pins { pins = "GPIO0_18", "GPIO0_19", "GPIO0_20", "GPIO0_21"; function = "pcie_x1"; bias-disable; drive-strength = <7>; input-enable; input-schmitt-enable; slew-rate = <0>; }; }; pcie_x4_pins: pcie_x4-1 { pcie_x4-pins { pins = "GPIO0_28", "GPIO0_29", "GPIO0_31"; function = "pcie_x4"; bias-disable; drive-strength = <7>; input-enable; input-schmitt-enable; slew-rate = <0>; }; }; pwm0_pins: pwm0-1 { pwm0-pins { pins = "GPIO0_30"; // PWM0_CH2 function = "pwm0"; bias-disable; drive-strength = <13>; input-disable; input-schmitt-disable; slew-rate = <0>; }; }; gmac1_pins: gmac1-0 { txclk-pins { pins = "GPIO1_2", /* GMAC1_TX_CLK */ "GPIO1_14"; /* GMAC1_MDC */ function = "gmac1"; bias-disable; drive-strength = <13>; input-disable; input-schmitt-disable; slew-rate = <0>; }; tx-pins { pins = "GPIO1_4", /* GMAC1_TXEN */ "GPIO1_5", /* GMAC1_TXD0 */ "GPIO1_6", /* GMAC1_TXD1 */ "GPIO1_7", /* GMAC1_TXD2 */ "GPIO1_8"; /* GMAC1_TXD3 */ function = "gmac1"; bias-disable; drive-strength = <20>; input-disable; input-schmitt-disable; slew-rate = <0>; }; rx-pins { pins = "GPIO1_3", /* GMAC1_RX_CLK */ "GPIO1_9", /* GMAC1_RXDV */ "GPIO1_10", /* GMAC1_RXD0 */ "GPIO1_11", /* GMAC1_RXD1 */ "GPIO1_12", /* GMAC1_RXD2 */ "GPIO1_13", /* GMAC1_RXD3 */ "GPIO1_15"; /* GMAC1_MDIO */ function = "gmac1"; bias-disable; drive-strength = <13>; input-enable; input-schmitt-disable; slew-rate = <0>; }; }; sdhci_pins: sdhci0-1 { sd-pins { pins = "GPIO1_1"; function = "sdio"; bias-disable; drive-strength = <13>; input-enable; input-schmitt-enable; slew-rate = <0>; }; }; usb3_pins: usb3-1 { usb3-pins { pins = "GPIO0_27"; function = "gpio0"; bias-disable; drive-strength = <13>; input-disable; input-schmitt-disable; slew-rate = <0>; }; }; }; &peri2_padctrl { uart4_pins: uart4-0 { tx-pins { pins = "GPIO2_0"; function = "uart4"; bias-disable; drive-strength = <3>; input-disable; input-schmitt-disable; slew-rate = <0>; }; rx-pins { pins = "GPIO2_1"; function = "uart4"; bias-disable; drive-strength = <1>; input-enable; input-schmitt-enable; slew-rate = <0>; }; }; i2c5_pins: i2c5-1 { i2c-pins { pins = "GPIO2_28", "GPIO2_29"; function = "i2c5"; bias-disable; drive-strength = <7>; input-enable; input-schmitt-enable; slew-rate = <0>; }; }; uart5_pins: uart5-1 { tx-pins { pins = "GPIO2_18", "GPIO3_10"; // TXD, RTSN function = "uart5"; bias-disable; drive-strength = <3>; input-disable; input-schmitt-disable; slew-rate = <0>; }; rx-pins { pins = "GPIO2_19", "GPIO3_9"; // RXD, CTSN function = "uart5"; bias-disable; drive-strength = <1>; input-enable; input-schmitt-enable; slew-rate = <0>; }; }; i2c6_pins: i2c6-1 { i2c-pins { pins = "GPIO2_8", "GPIO2_9"; function = "i2c6"; bias-disable; drive-strength = <7>; input-enable; input-schmitt-enable; slew-rate = <0>; }; }; i2s1_pins: i2s1-0 { i2s-pins { pins = "GPIO2_2", "GPIO2_3", "GPIO2_4", "GPIO2_5", "GPIO2_6"; function = "i2s1"; bias-disable; drive-strength = <13>; input-schmitt-disable; slew-rate = <0>; }; }; i2c7_pins: i2c7-0 { i2c-pins { pins = "GPIO2_10", "GPIO2_11"; function = "i2c7"; bias-disable; drive-strength = <7>; input-enable; input-schmitt-enable; slew-rate = <0>; }; }; i2c4_pins: i2c4-2 { i2c-pins { pins = "GPIO2_26", "GPIO2_27"; function = "i2c4"; bias-disable; drive-strength = <7>; input-enable; input-schmitt-enable; slew-rate = <0>; }; }; pwm1_pins: pwm1-1 { pwm1-pins { pins = "GPIO2_12"; // PWM1_CH2 function = "pwm1"; bias-disable; drive-strength = <13>; input-disable; input-schmitt-disable; slew-rate = <0>; }; }; hdmi_pins: hdmi-0 { hdmi-pins { pins = "GPIO2_25", "GPIO2_30", "GPIO2_31"; function = "hdmi"; bias-disable; drive-strength = <3>; input-enable; input-schmitt-disable; slew-rate = <0>; }; }; sen_vclk_pins: sen_vclk-1 { sen_vclk-pins { pins = "GPIO3_0", "GPIO3_1"; function = "sen_vclk"; bias-disable; drive-strength = <7>; input-enable; input-schmitt-enable; slew-rate = <0>; }; }; uart8_pins: uart8-1 { tx-pins { pins = "GPIO3_2"; // TXD function = "uart8"; bias-disable; drive-strength = <3>; input-disable; input-schmitt-disable; slew-rate = <0>; }; rx-pins { pins = "GPIO3_3"; // RXD function = "uart8"; bias-disable; drive-strength = <1>; input-enable; input-schmitt-enable; slew-rate = <0>; }; }; }; &gmac0 { phy-mode = "rgmii-id"; pinctrl-names = "default"; pinctrl-0 = <&gmac0_pins>; rx-clk-delay = <0x00>; /* for RGMII */ tx-clk-delay = <0x00>; /* for RGMII */ phy-handle = <&phy0>; }; &mdio0 { phy0: ethernet-phy@0 { reg = <0x0>; }; }; &gmac1 { phy-mode = "rgmii-id"; pinctrl-names = "default"; pinctrl-0 = <&gmac1_pins>; phy-handle = <&phy1>; }; &mdio1 { phy1: ethernet-phy@1 { reg = <0x0>; }; }; &qspi0 { cs-gpios = <&gpio0_porta 19 0>; rx-sample-dly = <2>; spi-swap-data = <1>; spi-max-frequency = <55000000>; pinctrl-names = "default"; pinctrl-0 = <&qspi0_pins>; status = "disabled"; spi_norflash@0 { compatible = "jedec,spi-nor"; spi-max-frequency = <55000000>; #address-cells = <1>; #size-cells = <1>; spi-tx-bus-width = <4>; spi-rx-bus-width = <4>; reg = <0>; status = "okay"; }; }; &i2c4 { pinctrl-names = "default"; pinctrl-0 = <&i2c4_pins>; clock-frequency = <400000>; pcf8563: rtc@51 { pinctrl-names = "default"; pinctrl-0 = <&rtc_pins>; compatible = "nxp,pcf8563"; reg = <0x51>; }; }; &i2c5 { pinctrl-names = "default"; pinctrl-0 = <&i2c5_pins>; clock-frequency = <400000>; codec_es8156_dac0: es8156@8 { compatible = "everest,es8156"; reg = <0x8>; #sound-dai-cells = <1>; sound-name-prefix = "ES8156_DAC0"; mclk-sclk-ratio = <4>; audio-3v3-pwren-gpios = <&aw9535_1 1 GPIO_ACTIVE_HIGH>; audio-1v8-pwren-gpios = <&aw9535_1 2 GPIO_ACTIVE_HIGH>; audio-hp-ctl-gpios = <&aw9535_0 11 GPIO_ACTIVE_HIGH>; status = "okay"; }; codec_es7210_adc0: es7210@40 { compatible = "MicArray_0"; reg = <0x40>; #sound-dai-cells = <1>; work-mode = "ES7210_NORMAL_I2S"; channels-max = <2>; mclk-sclk-ratio = <4>; sound-name-prefix = "ES7210_ADC0"; status = "okay"; }; codec_es8156_dac1: es8156@9 { compatible = "everest,es8156"; reg = <0x9>; #sound-dai-cells = <1>; sound-name-prefix = "ES8156_DAC1"; mclk-sclk-ratio = <4>; status = "disabled"; }; codec_es7210_adc1: es7210@41 { compatible = "MicArray_0"; reg = <0x41>; #sound-dai-cells = <1>; work-mode = "ES7210_NORMAL_I2S"; channels-max = <2>; mclk-sclk-ratio = <4>; sound-name-prefix = "ES7210_ADC1"; status = "disabled"; }; audio_aw87565_pa2: audio_pa2@5b { compatible = "awinic,aw87565_pa"; reg = <0x5b>; sound-name-prefix = "AW87565_PA2"; reset-gpios = <&aw9535_0 8 GPIO_ACTIVE_LOW>; status = "disabled"; }; }; &i2c6 { pinctrl-names = "default"; pinctrl-0 = <&i2c6_pins>; clock-frequency = <400000>; }; &i2c7 { pinctrl-names = "default"; pinctrl-0 = <&i2c7_pins>; clock-frequency = <400000>; }; &aoi2c1 { pinctrl-names = "default"; pinctrl-0 = <&aoi2c1_pins>; clock-frequency = <400000>; status = "okay"; aw9535_0: gpio@20 { compatible = "awinic,aw9535"; reg = <0x20>; gpio-controller; #gpio-cells = <2>; ngpios = <16>; interrupt-parent = <&ao_gpio1>; interrupts = <2 IRQ_TYPE_LEVEL_LOW>; gpio-line-names = "CSI1_PWDN_IO0", "CSI1_RST_IO1", "CSI1_FSIN_IO2", "CSI0_PWDN_IO3", // index 0..3 "CSI0_RST_IO4", "CSI0_FSIN_IO5", "MINPCIE_1V5POWER_EN_I06", "MINPCIE_3V3_PWREN_I07",// index 4..7 "NULL_I08", "M2_SATA_EN_IO9", "AUDIO_ADC0_INT_IO10", "HP_CTL_H_IO11", // index 8..11 "PI6C557_EN_IO12","DISP_RST_IO13","M2_SATA_3V3_PWREN_IO14","MINPCIE_PERST_IO15"; // index 12..15 }; aw9535_1: gpio@21 { compatible = "awinic,aw9535"; reg = <0x21>; gpio-controller; #gpio-cells = <2>; ngpios = <16>; gpio-line-names = "PCIE_ETH_PERSTB_IO0", "AUDIO_3V3_PWREN_IO1", "AUDIO_1V8_PWREN_IO2", "MIPI_CSI0_PWREN_IO3", // index 0..3 "MIPI_CSI1_PWREN_IO4", "MIPI_TP_PWREN_IO5", "PCIE_ETH_3V3_PWREN_IO6", "NULL_IO7", // index 4..7 "USBCON_PWREN_IO8", "USBCON1_PWREN_IO9", "NULL_IO10", "SDIO_3V3_PWREN_IO11", // index 8..11 "SDIO_1V8_PWREN_IO12","PI6C557_PWREN_IO13","MIPI_DSI_PWREN_IO14","BL_EN_IO15"; // index 12..15 }; }; &uart4 { pinctrl-names = "default"; pinctrl-0 = <&uart4_pins>; }; &uart5 { pinctrl-names = "default"; pinctrl-0 = <&uart5_pins>; }; &uart8 { pinctrl-names = "default"; pinctrl-0 = <&uart8_pins>; }; &rp3x1 { pinctrl-names = "default"; pinctrl-0 = <&pcie_x1_pins>; minipcie-1v5-pwren-gpios = <&aw9535_0 6 GPIO_ACTIVE_HIGH>; minipcie-3v3-pwren-gpios = <&aw9535_0 7 GPIO_ACTIVE_HIGH>; minipcie-perst-gpios = <&aw9535_0 15 GPIO_ACTIVE_HIGH>; pcie-clk-en-gpios = <&aw9535_0 12 GPIO_ACTIVE_HIGH>; pcie-clk-pwren-gpios = <&aw9535_1 13 GPIO_ACTIVE_HIGH>; status = "okay"; }; &dm3x4 { pinctrl-names = "default"; pinctrl-0 = <&pcie_x4_pins>; }; &audio_i2s1 { pinctrl-names = "default"; pinctrl-0 = <&i2s1_pins>; }; &adc { vref-supply = <®_vref_1v8>; #io-channel-cells = <1>; sampling-frequency = <1000000>; resolution = <12>; }; &pwm0 { pinctrl-names = "default"; pinctrl-0 = <&pwm0_pins>; }; &pwm1 { pinctrl-names = "default"; pinctrl-0 = <&pwm1_pins>; }; &can0 { pinctrl-names = "default"; pinctrl-0 = <&can0_pins>; }; &hdmi_tx { pinctrl-names = "default"; pinctrl-0 = <&hdmi_pins>; }; &vidmem { memory-region = <&framebuffer>; }; &emmc { max-frequency = <196608000>; non-removable; mmc-ddr-1_8v; mmc-hs200-1_8v; mmc-hs400-1_8v; cap-mmc-highspeed; io_fixed_1v8; is_emmc; no-sdio; no-sd; pull_up; bus-width = <8>; }; &sdhci0 { pinctrl-names = "default"; pinctrl-0 = <&sdhci_pins>; max-frequency = <196608000>; cap-sd-highspeed; bus-width = <4>; sd-uhs-sdr104; pull_up; no-sd; no-mmc; non-removable; io_fixed_1v8; post-power-on-delay-ms = <200>; wprtn_ignore; wakeup-source; }; &usb20_zhihe { usb21-pwren-gpios = <&aw9535_1 8 GPIO_ACTIVE_HIGH>; usb20-pwren-gpios = <&aw9535_1 9 GPIO_ACTIVE_HIGH>; }; &usb3 { pinctrl-names = "default"; pinctrl-0 = <&usb3_pins>; typec-pwren-gpios = <&gpio0_porta 27 GPIO_ACTIVE_HIGH>; }; &sata { m2-sata-3v3-pwren-gpios = <&aw9535_0 14 GPIO_ACTIVE_HIGH>; m2-sata-en-gpios = <&aw9535_0 9 GPIO_ACTIVE_HIGH>; sata-clk-en-gpios = <&aw9535_0 12 GPIO_ACTIVE_HIGH>; sata-clk-pwren-gpios = <&aw9535_1 13 GPIO_ACTIVE_HIGH>; status = "disabled"; }; &mipi0_csi0 { status = "disabled"; }; &mipi0_csi1 { //combination 4lane mode: host addr; aphy ctrl addr; bphy ctrl addr; mipi_ctrl addr reg = < 0x00 0x06310000 0x0 0x10000 0x00 0x063a0020 0x0 0x4 0x00 0x063a0024 0x0 0x4 0x00 0x063a0028 0x0 0x4>; phy_name = "CSI_4LANE"; //combination 4lane }; //config dsi display: dpu_disp0->dup_enc0->dsi0->lcd_plane &dpu_enc0 { status = "disabled"; ports { /* output */ port@1 { reg = <1>; enc0_out: endpoint { remote-endpoint = <&dsi0_in>; }; }; }; }; &dhost_0 { status = "disabled"; ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; dsi0_in: endpoint { remote-endpoint = <&enc0_out>; }; }; port@1 { reg = <1>; dsi0_out: endpoint { remote-endpoint = <&panel0_in>; }; }; }; panel0@0 { compatible = "jadard,jd9365da-h3"; reg = <0>; backlight = <&lcd0_backlight>; reset-gpio = <&aw9535_0 13 0>; /* active low */ hsvcc-supply = <®_vdd33_lcd0>; vspn3v3-supply = <®_vddtp33_lcd0>; port { panel0_in: endpoint { remote-endpoint = <&dsi0_out>; }; }; }; };