555 lines
11 KiB
Plaintext
555 lines
11 KiB
Plaintext
/dts-v1/;
|
|
|
|
#include "a210-soc-core.dtsi"
|
|
#include "a210-soc-peri.dtsi"
|
|
#include "a210-platform-haps.dtsi"
|
|
|
|
#define SOUND_CARD_LINK(REG, FMT, CPU, M, CODEC, N) \
|
|
simple-audio-card,dai-link@##REG { \
|
|
reg = <REG>; \
|
|
format = #FMT; \
|
|
cpu { \
|
|
sound-dai = <&audio_##CPU M>; \
|
|
}; \
|
|
codec { \
|
|
sound-dai = <&codec_##CODEC N>; \
|
|
}; \
|
|
}
|
|
|
|
/ {
|
|
model = "A210 HAPS configuration";
|
|
|
|
aliases {
|
|
ethernet0 = &gmac0;
|
|
ethernet1 = &gmac1;
|
|
|
|
gpio0 = &gpio0;
|
|
gpio1 = &gpio1;
|
|
gpio2 = &gpio2;
|
|
gpio3 = &gpio3;
|
|
gpio4 = &gpio4;
|
|
|
|
i2c0 = &i2c0;
|
|
i2c1 = &i2c1;
|
|
i2c2 = &i2c2;
|
|
i2c3 = &i2c3;
|
|
i2c4 = &i2c4;
|
|
i2c5 = &i2c5;
|
|
i2c6 = &i2c6;
|
|
i2c7 = &i2c7;
|
|
|
|
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 = &spi0;
|
|
spi1 = &spi1;
|
|
qspi0 = &qspi0;
|
|
qspi1 = &qspi1;
|
|
pcie3x4 = &dm3x4;
|
|
pcie3x1 = &rp3x1;
|
|
};
|
|
|
|
/* The first 2M will be reserved in the Kernel, and the entire available range is set here */
|
|
memory@0 {
|
|
device_type = "memory";
|
|
reg = <0x00 0x80000000 0x01 0x00000000>; /* 4G - 64MB */
|
|
numa-node-id = <0>;
|
|
};
|
|
|
|
reserved-memory {
|
|
#address-cells = <0x02>;
|
|
#size-cells = <0x02>;
|
|
ranges;
|
|
|
|
linux,cma {
|
|
compatible = "shared-dma-pool";
|
|
reusable;
|
|
size = <0x00 0x4000000>;
|
|
alloc-ranges = <0x00 0x90000000 0x00 0x4000000>;
|
|
linux,cma-default;
|
|
};
|
|
|
|
memory@1c000000 {
|
|
reg = <0x00 0x1c000000 0x00 0x2000000>;
|
|
no-map;
|
|
};
|
|
|
|
framebuffer: framebuffer@10000000 {
|
|
reg = <0x01 0x00 0x00 0x20000000>;
|
|
no-map;
|
|
};
|
|
|
|
zh_videomem@100000000 {
|
|
reg = <0x01 0x00 0x00 0x20000000>;
|
|
no-map;
|
|
};
|
|
|
|
memblock-memory@17b800000 {
|
|
reg = <0x01 0x7b800000 0x00 0x04000000>;
|
|
no-map;
|
|
};
|
|
};
|
|
|
|
/* The bootargs in U-Boot will override the configuration set here. */
|
|
chosen {
|
|
stdout-path = "serial4";
|
|
};
|
|
|
|
codec_dummy_i2s: codec_dummy_i2s {
|
|
compatible = "zhihe,dummy-pcm-i2s";
|
|
sound-name-prefix = "DUMMY";
|
|
#address-cells = <0>;
|
|
#size-cells = <0>;
|
|
#sound-dai-cells = <1>;
|
|
status = "okay";
|
|
};
|
|
|
|
codec_dummy_i2s_8ch: codec_dummy_i2s_8ch {
|
|
compatible = "zhihe,dummy-pcm-i2s-8ch";
|
|
sound-name-prefix = "DUMMY";
|
|
#address-cells = <0>;
|
|
#size-cells = <0>;
|
|
#sound-dai-cells = <1>;
|
|
status = "okay";
|
|
};
|
|
|
|
codec_dummy_tdm: codec_dummy_tdm {
|
|
compatible = "zhihe,dummy-pcm-tdm";
|
|
sound-name-prefix = "DUMMY";
|
|
#address-cells = <0>;
|
|
#size-cells = <0>;
|
|
#sound-dai-cells = <1>;
|
|
status = "okay";
|
|
};
|
|
|
|
codec_dmic: dmic-codec {
|
|
compatible = "dmic-codec";
|
|
num-channels = <8>;
|
|
#sound-dai-cells = <1>;
|
|
};
|
|
|
|
sound_i2s {
|
|
compatible = "simple-audio-card";
|
|
simple-audio-card,name = "Sound-Card-I2S";
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
status = "okay";
|
|
|
|
SOUND_CARD_LINK(0, i2s, i2s0, 0, dummy_i2s, 0); /* I2S0 <-> DUMMY_CODEC */
|
|
SOUND_CARD_LINK(1, i2s, i2s1, 0, dummy_i2s, 0); /* I2S1 <-> DUMMY_CODEC */
|
|
SOUND_CARD_LINK(2, i2s, i2s2, 0, dummy_i2s, 0); /* I2S2 <-> DUMMY_CODEC */
|
|
};
|
|
|
|
sound_i2s_8ch {
|
|
compatible = "simple-audio-card";
|
|
simple-audio-card,name = "Sound-Card-I2S-8CH";
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
status = "okay";
|
|
|
|
SOUND_CARD_LINK(0, i2s, i2s_8ch_sd0, 0, dummy_i2s_8ch, 0); /* i2s_8ch_sd0 <-> DUMMY_CODEC */
|
|
SOUND_CARD_LINK(1, i2s, i2s_8ch_sd1, 0, dummy_i2s_8ch, 0); /* i2s_8ch_sd1 <-> DUMMY_CODEC */
|
|
SOUND_CARD_LINK(2, i2s, i2s_8ch_sd2, 0, dummy_i2s_8ch, 0); /* i2s_8ch_sd2 <-> DUMMY_CODEC */
|
|
SOUND_CARD_LINK(3, i2s, i2s_8ch_sd3, 0, dummy_i2s_8ch, 0); /* i2s_8ch_sd3 <-> DUMMY_CODEC */
|
|
};
|
|
|
|
sound_tdm {
|
|
compatible = "simple-audio-card";
|
|
simple-audio-card,name = "Sound-Card-TDM";
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
status = "okay";
|
|
|
|
SOUND_CARD_LINK(0, dsp_a, tdm_slot0, 0, dummy_tdm, 0); /* TDM_SLOT0 <-> DUMMY_CODEC */
|
|
SOUND_CARD_LINK(1, dsp_a, tdm_slot1, 0, dummy_tdm, 0); /* TDM_SLOT1 <-> DUMMY_CODEC */
|
|
SOUND_CARD_LINK(2, dsp_a, tdm_slot2, 0, dummy_tdm, 0); /* TDM_SLOT2 <-> DUMMY_CODEC */
|
|
SOUND_CARD_LINK(3, dsp_a, tdm_slot3, 0, dummy_tdm, 0); /* TDM_SLOT3 <-> DUMMY_CODEC */
|
|
SOUND_CARD_LINK(4, dsp_a, tdm_slot4, 0, dummy_tdm, 0); /* TDM_SLOT4 <-> DUMMY_CODEC */
|
|
SOUND_CARD_LINK(5, dsp_a, tdm_slot5, 0, dummy_tdm, 0); /* TDM_SLOT5 <-> DUMMY_CODEC */
|
|
SOUND_CARD_LINK(6, dsp_a, tdm_slot6, 0, dummy_tdm, 0); /* TDM_SLOT6 <-> DUMMY_CODEC */
|
|
SOUND_CARD_LINK(7, dsp_a, tdm_slot7, 0, dummy_tdm, 0); /* TDM_SLOT7 <-> DUMMY_CODEC */
|
|
};
|
|
|
|
sound_pdm {
|
|
compatible = "simple-audio-card";
|
|
simple-audio-card,name = "Sound-Card-PDM";
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
status = "okay";
|
|
|
|
SOUND_CARD_LINK(0, pdm, pdm0, 0, dmic, 0); /* PDM <-> Dmic */
|
|
SOUND_CARD_LINK(1, pdm, pdm1, 1, dmic, 0); /* PDM <-> Dmic */
|
|
SOUND_CARD_LINK(2, pdm, pdm2, 2, dmic, 0); /* PDM <-> Dmic */
|
|
SOUND_CARD_LINK(3, pdm, pdm3, 3, dmic, 0); /* PDM <-> Dmic */
|
|
SOUND_CARD_LINK(4, pdm, pdm4, 4, dmic, 0); /* PDM <-> Dmic */
|
|
SOUND_CARD_LINK(5, pdm, pdm5, 5, dmic, 0); /* PDM <-> Dmic */
|
|
SOUND_CARD_LINK(6, pdm, pdm6, 6, dmic, 0); /* PDM <-> Dmic */
|
|
SOUND_CARD_LINK(7, pdm, pdm7, 7, dmic, 0); /* PDM <-> Dmic */
|
|
};
|
|
};
|
|
|
|
&clk {
|
|
compatible = "zhihe,a210-clk-haps";
|
|
/* pll */
|
|
audio0_pll_foutvco_frequency = <150000000>;
|
|
audio1_pll_foutvco_frequency = <80000000>;
|
|
video_pll_foutvco_frequency = <80000000>;
|
|
gmac_pll_foutvco_frequency = <300000000>;
|
|
dvfs_pll_foutvco_frequency = <150000000>;
|
|
tee_pll_foutvco_frequency = <130000000>;
|
|
/* top */
|
|
top_cfg_aclk_frequency = <10000000>;
|
|
top_pclk_frequency = <10000000>;
|
|
top_amux_clk_frequency = <20000000>;
|
|
iommu_ptw_aclk_frequency = <10000000>;
|
|
noc_cclk_frequency = <792000000>;
|
|
};
|
|
|
|
&clk_peri {
|
|
peri0_timer_clk_frequency = <10000000>;
|
|
peri1_i2s0_src_clk_frequency = <10000000>;
|
|
peri2_i2s1_src_clk_frequency = <10000000>;
|
|
peri2_i2s2_src_clk_frequency = <10000000>;
|
|
peri2_i2s3_src_clk_frequency = <10000000>;
|
|
peri1_spi_ssi_clk_frequency = <10000000>;
|
|
peri2_spi_ssi_clk_frequency = <10000000>;
|
|
peri1_qspi_ssi_clk_frequency = <10000000>;
|
|
peri2_qspi_ssi_clk_frequency = <10000000>;
|
|
peri1_pdm_mclk_frequency = <10000000>;
|
|
uart_sclk_frequency = <10000000>;
|
|
peri1_tdm_src_clk_frequency = <10000000>;
|
|
peri1_hires_clk_frequency = <10000000>;
|
|
peri2_hires_clk_frequency = <10000000>;
|
|
emmc_ref_clk_frequency = <10000000>;
|
|
peri1_mst_aclk_frequency = <10000000>;
|
|
peri3_mst_aclk_frequency = <10000000>;
|
|
};
|
|
|
|
&clk_vi {
|
|
/* Reg_base redirect to BRAM */
|
|
reg = <0x00 0x00100000 0x0 0x1000>;
|
|
};
|
|
|
|
&clk_vp {
|
|
/* Reg_base redirect to BRAM */
|
|
reg = <0x00 0x00101000 0x0 0x1000>;
|
|
};
|
|
|
|
&clk_vo {
|
|
/* Reg_base redirect to BRAM */
|
|
reg = <0x00 0x00102000 0x0 0x1000>;
|
|
};
|
|
|
|
&spi0 {
|
|
cs-gpios = <&gpio1 7 0>;
|
|
rx-sample-delay-ns = <10>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&spi0_pins>;
|
|
|
|
spi_norflash@0 {
|
|
status = "okay";
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
compatible = "jedec,spi-nor";
|
|
reg = <0>;
|
|
spi-max-frequency = <1000000>;
|
|
w25q,fast-read;
|
|
};
|
|
|
|
spidev@1 {
|
|
status = "disabled";
|
|
compatible = "spidev";
|
|
#address-cells = <0x1>;
|
|
#size-cells = <0x1>;
|
|
reg = <0x1>;
|
|
spi-max-frequency = <1000000>;
|
|
};
|
|
};
|
|
|
|
&spi1 {
|
|
// cs-gpios = <&gpio2 15 0>;
|
|
rx-sample-delay-ns = <10>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&spi1_pins>;
|
|
|
|
spi_norflash@0 {
|
|
status = "disabled";
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
compatible = "jedec,spi-nor";
|
|
reg = <0>;
|
|
spi-max-frequency = <1000000>;
|
|
w25q,fast-read;
|
|
};
|
|
};
|
|
|
|
&qspi0 {
|
|
cs-gpios = <&gpio0 19 0>;
|
|
rx-sample-dly = <4>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&qspi0_pins>;
|
|
|
|
spi_norflash@0 {
|
|
status = "disabled";
|
|
compatible = "jedec,spi-nor";
|
|
reg = <0>;
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
spi-tx-bus-width = <4>;
|
|
spi-rx-bus-width = <4>;
|
|
spi-max-frequency = <1000000>;
|
|
};
|
|
|
|
spi-nandflash@1 {
|
|
status = "disabled";
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
compatible = "spi-nand";
|
|
spi-max-frequency = <1000000>;
|
|
spi-tx-bus-width = <4>;
|
|
spi-rx-bus-width = <4>;
|
|
reg = <1>;
|
|
|
|
partition@0 {
|
|
label = "nand0";
|
|
reg = <0x00000000 0x08000000>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&qspi1 {
|
|
cs-gpios = <&gpio2 29 0>;
|
|
rx-sample-dly = <4>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&qspi1_pins>;
|
|
|
|
spi_norflash@0 {
|
|
status = "okay";
|
|
compatible = "jedec,spi-nor";
|
|
reg = <0>;
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
spi-tx-bus-width = <4>;
|
|
spi-rx-bus-width = <4>;
|
|
spi-max-frequency = <1000000>;
|
|
};
|
|
|
|
spi-nandflash@1 {
|
|
status = "disabled";
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
compatible = "spi-nand";
|
|
spi-max-frequency = <1000000>;
|
|
spi-tx-bus-width = <4>;
|
|
spi-rx-bus-width = <4>;
|
|
reg = <1>;
|
|
|
|
partition@0 {
|
|
label = "nand1";
|
|
reg = <0x00000000 0x08000000>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&emmc {
|
|
max-frequency = <400000>;
|
|
non-removable;
|
|
mmc-hs200-1_8v;
|
|
io_fixed_1v8;
|
|
is_emmc;
|
|
no-sdio;
|
|
no-sd;
|
|
pull_up;
|
|
bus-width = <8>;
|
|
};
|
|
|
|
&sdhci0 {
|
|
max-frequency = <400000>;
|
|
bus-width = <4>;
|
|
pull_up;
|
|
wprtn_ignore;
|
|
};
|
|
|
|
&gmac0 {
|
|
phy-mode = "rgmii-id";
|
|
rx-clk-delay = <0x00>; /* for RGMII */
|
|
tx-clk-delay = <0x00>; /* for RGMII */
|
|
phy-handle = <&phy_88E1111_0>;
|
|
|
|
mdio0 {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
compatible = "snps,dwmac-mdio";
|
|
|
|
phy_88E1111_0: ethernet-phy@0 {
|
|
reg = <0x0>;
|
|
};
|
|
|
|
phy_88E1111_1: ethernet-phy@1 {
|
|
reg = <0x2>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&gmac1 {
|
|
phy-mode = "rgmii-id";
|
|
rx-clk-delay = <0x00>; /* for RGMII */
|
|
tx-clk-delay = <0x00>; /* for RGMII */
|
|
phy-handle = <&phy_88E1111_1>;
|
|
};
|
|
|
|
&vidmem {
|
|
status = "okay";
|
|
memory-region = <&framebuffer>;
|
|
};
|
|
|
|
&peri1_padctrl {
|
|
spi0_pins: spi0-0 {
|
|
spi-pins {
|
|
pins = "GPIO1_6", "GPIO1_9", "GPIO1_10";
|
|
function = "spi0";
|
|
bias-disable;
|
|
drive-strength = <7>;
|
|
input-enable;
|
|
input-schmitt-enable;
|
|
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 = <7>;
|
|
input-enable;
|
|
input-schmitt-enable;
|
|
slew-rate = <0>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&peri2_padctrl {
|
|
spi1_pins: spi1-0 {
|
|
spi-pins {
|
|
pins = "GPIO2_8", "GPIO2_11", "GPIO2_12";
|
|
function = "spi1";
|
|
bias-disable;
|
|
drive-strength = <7>;
|
|
input-enable;
|
|
input-schmitt-enable;
|
|
slew-rate = <0>;
|
|
};
|
|
};
|
|
|
|
qspi1_pins: qspi1-0 {
|
|
qspi-pins {
|
|
pins = "GPIO3_2", "GPIO3_5", "GPIO3_6", "GPIO3_7", "GPIO3_8";
|
|
function = "qspi1";
|
|
bias-disable;
|
|
drive-strength = <7>;
|
|
input-enable;
|
|
input-schmitt-enable;
|
|
slew-rate = <0>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&i2c0 {
|
|
clock-frequency = <400000>;
|
|
|
|
eeprom@50 {
|
|
status = "okay";
|
|
compatible = "atmel,24c02";
|
|
reg = <0x50>;
|
|
pagesize = <16>;
|
|
};
|
|
};
|
|
|
|
&i2c1 {
|
|
clock-frequency = <400000>;
|
|
};
|
|
|
|
&i2c2 {
|
|
clock-frequency = <400000>;
|
|
};
|
|
|
|
&i2c3 {
|
|
clock-frequency = <400000>;
|
|
};
|
|
|
|
&i2c4 {
|
|
clock-frequency = <400000>;
|
|
};
|
|
|
|
&i2c5 {
|
|
clock-frequency = <400000>;
|
|
};
|
|
|
|
&i2c6 {
|
|
clock-frequency = <400000>;
|
|
};
|
|
|
|
&i2c7 {
|
|
clock-frequency = <400000>;
|
|
|
|
tmp102@49 {
|
|
status = "disabled";
|
|
compatible = "ti,tmp102";
|
|
host-notify;
|
|
reg = <0x49>;
|
|
};
|
|
};
|
|
|
|
&bmu0 {
|
|
status = "okay";
|
|
};
|
|
|
|
&bmu1 {
|
|
status = "disabled";
|
|
};
|
|
|
|
&bmu2 {
|
|
status = "disabled";
|
|
};
|
|
|
|
&bmu3 {
|
|
status = "disabled";
|
|
};
|
|
|
|
&bmu4 {
|
|
status = "disabled";
|
|
};
|
|
|
|
&bmu5 {
|
|
status = "disabled";
|
|
};
|
|
|
|
&bmu6 {
|
|
status = "disabled";
|
|
};
|
|
|
|
&bmu7 {
|
|
status = "disabled";
|
|
};
|
|
|
|
&bmu8 {
|
|
status = "disabled";
|
|
};
|
|
|
|
&bmu9 {
|
|
status = "disabled";
|
|
};
|