Hi,
I have a Respeaker 2-mic HAT with a WM8960 on it.
From what I can tell, it seems like it needs an I2S and an I2C interface.
There’s a DTS overlay for the Raspberry Pi and someone else has made one for the Rock Pi.
I’d quite like to make an overlay for the Radxa Zero — supposedly it supports I2S (or at least, it’s listed as having one I2S interface where I bought it.
However, I can’t find:
- any details about the I2S support, including its pinout on the GPIO header (this could be an obvious show stopper if the pins don’t match)
- any overlays that use I2S already
- any symbols in the device tree that look related e.g.
i2s1
- a few things talk about audio but I imagine they’re probably just about HDMI audio — not that I understand them, I’m afraid
For context, some interesting bits of the device tree (obtained with dtc -I fs /sys/firmware/devicetree/base -O dts
) seem to be:
...
aliases {
i2c3 = "/soc/bus@ffd00000/i2c@1c000";
spi2 = "/soc/bus@ffd00000/spi@14000";
i2c1 = "/soc/bus@ffd00000/i2c@1e000";
spi0 = "/soc/bus@ffd00000/spi@13000";
serial3 = "/soc/bus@ffd00000/serial@23000";
serial1 = "/soc/bus@ff800000/serial@4000";
i2c4 = "/soc/bus@ff800000/i2c@5000";
i2c2 = "/soc/bus@ffd00000/i2c@1d000";
spi1 = "/soc/bus@ffd00000/spi@15000";
i2c0 = "/soc/bus@ffd00000/i2c@1f000";
serial4 = "/soc/bus@ffd00000/serial@22000";
serial2 = "/soc/bus@ffd00000/serial@24000";
serial0 = "/soc/bus@ff800000/serial@3000";
};
sound {
assigned-clocks = <0x02 0x0d 0x02 0x0b 0x02 0x0c>;
assigned-clock-parents = <0x00 0x00 0x00>;
assigned-clock-rates = <0x11940000 0x10266000 0x17700000>;
model = "RADXA-ZERO";
audio-routing = "TDMOUT_B IN 0\0FRDDR_A OUT 1\0TDMOUT_B IN 1\0FRDDR_B OUT 1\0TDMOUT_B IN 2\0FRDDR_C OUT 1\0TDM_B Playback\0TDMOUT_B OUT";
compatible = "amlogic,axg-sound-card";
status = "okay";
audio-aux-devs = <0x49>;
dai-link-2 {
sound-dai = <0x4c>;
};
dai-link-0 {
sound-dai = <0x4a>;
};
dai-link-3 {
mclk-fs = <0x100>;
dai-format = "i2s";
dai-tdm-slot-tx-mask-3 = <0x01 0x01>;
dai-tdm-slot-tx-mask-1 = <0x01 0x01>;
sound-dai = <0x4d>;
dai-tdm-slot-tx-mask-2 = <0x01 0x01>;
dai-tdm-slot-tx-mask-0 = <0x01 0x01>;
codec {
sound-dai = <0x4e 0x01>;
};
};
dai-link-1 {
sound-dai = <0x4b>;
};
dai-link-4 {
sound-dai = <0x4e 0x03>;
codec {
sound-dai = <0x21>;
};
};
};
...
audio-controller-1 {
clock-names = "mclk\0sclk\0lrclk";
clocks = <0x1c 0x32 0x1c 0x50 0x1c 0x57>;
#sound-dai-cells = <0x00>;
sound-name-prefix = "TDM_B";
compatible = "amlogic,axg-tdm-iface";
status = "okay";
phandle = <0x4d>;
};
...
__symbols__ {
i2c3 = "/soc/bus@ffd00000/i2c@1c000";
pwm_f_h_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pwm-f-h";
mclk1_x_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/mclk1-x";
spicc1_ss0_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/spicc1-ss0";
tdm_b_dout2_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-b-dout2";
tdm_c_dout0_a_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-c-dout0-a";
pdm_din1_x_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pdm-din1-x";
vddao_3v3 = "/regulator-vddao_3v3";
tdm_ao_b_fs_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/tdm-ao-b-fs";
tdm_c_din3_z_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-c-din3-z";
pwm_b_x7_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pwm-b-x7";
i2c0_sda_z0_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/i2c0-sda-z0";
usb3_pcie_phy = "/soc/bus@ff600000/phy@46000";
uart_ao_b_tx_8_rx_9_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/uart-ao-b-tx-8-rx-9";
wifi32k = "/wifi32k";
uart_ao_a_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/uart-a-ao";
saradc = "/soc/bus@ff800000/adc@9000";
toddr_b = "/soc/bus@ff600000/bus@42000/audio-controller@140";
tdm_b_fs_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-b-fs";
ir = "/soc/bus@ff800000/ir@8000";
pdm_dclk_x_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pdm-dclk-x";
tdm_c_dout1_a_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-c-dout1-a";
pdm_din2_x_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pdm-din2-x";
uart_c_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/uart-c";
pdm_din0_c_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pdm-din0-c";
secmon_reserved = "/reserved-memory/secmon@5000000";
pdm = "/soc/bus@ff600000/audio-controller@40000";
pwm_c_z1_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pwm-c-z1";
i2c1 = "/soc/bus@ffd00000/i2c@1e000";
emmc_data_4b_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/emmc-data-4b";
tdm_ao_b_dout1_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/tdm-ao-b-dout1";
hwrng = "/soc/bus@ff600000/bus@30000/rng@218";
tdmout_c = "/soc/bus@ff600000/bus@42000/audio-controller@580";
clkc_audio = "/soc/bus@ff600000/bus@42000/clock-controller@0";
apb_efuse = "/soc/bus@ff600000/bus@30000";
tdm_ao_b_sclk_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/tdm-ao-b-sclk";
ethmac = "/soc/ethernet@ff3f0000";
mali = "/soc/gpu@ffe40000";
spdif_ao_out_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/spdif-ao-out";
tdm_c_dout2_a_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-c-dout2-a";
pdm_din3_x_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pdm-din3-x";
i2c1_sck_x_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/i2c1-sck-x";
pdm_din1_c_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pdm-din1-c";
hdmi_tx_tmds_port = "/soc/bus@ff600000/hdmi-tx@0/port@1";
tdm_b_din1_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-b-din1";
canvas = "/soc/bus@ff600000/bus@38000/video-lut@48";
dmc = "/soc/bus@ff600000/bus@38000";
tdm_c_dout3_a_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-c-dout3-a";
tdm_b_dout1_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-b-dout1";
i2c1_sda_x_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/i2c1-sda-x";
audio = "/soc/bus@ff600000/bus@42000";
pdm_dclk_c_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pdm-dclk-c";
pdm_din2_c_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pdm-din2-c";
spdifout_b = "/soc/bus@ff600000/bus@42000/audio-controller@680";
tdm_b_din3_h_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-b-din3-h";
clkc_AO = "/soc/bus@ff800000/sys-ctrl@0/clock-controller";
gpio = "/soc/bus@ff600000/bus@34400/pinctrl@40/bank@40";
tdmout_a = "/soc/bus@ff600000/bus@42000/audio-controller@500";
uart_C = "/soc/bus@ffd00000/serial@22000";
emmc_data_8b_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/emmc-data-8b";
pwm_a_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pwm-a";
pwm_AO_cd = "/soc/bus@ff800000/pwm@2000";
cpu_temp = "/soc/bus@ff600000/temperature-sensor@34800";
pwm_a_e_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/pwm-a-e";
i2c2_sck_z_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/i2c2-sck-z";
uart_b_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/uart-b";
pdm_din3_c_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pdm-din3-c";
tdm_a_slv_sclk_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-a-slv-sclk";
sdcard_z_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/sdcard_z";
tdm_ao_b_dout0_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/tdm-ao-b-dout0";
i2c1_sda_h2_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/i2c1-sda-h2";
tdmif_b = "/audio-controller-1";
uart_a_cts_rts_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/uart-a-cts-rts";
pwm_b_x19_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pwm-b-x19";
i2c3_sck_h_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/i2c3-sck-h";
i2c2_sda_z_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/i2c2-sda-z";
cpu_thermal = "/soc/thermal-zones/cpu-thermal";
vcc_5v = "/regulator-vcc_5v";
tdm_b_din3_a_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-b-din3-a";
tdm_c_dout0_z_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-c-dout0-z";
tdmin_c = "/soc/bus@ff600000/bus@42000/audio-controller@380";
sd_emmc_c = "/soc/mmc@ffe07000";
uart_A = "/soc/bus@ffd00000/serial@24000";
tdm_b_slv_fs_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-b-slv-fs";
tdm_b_din0_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-b-din0";
cvbs_vdac_port = "/soc/vpu@ff900000/port@0";
i2c0_sck_z1_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/i2c0-sck-z1";
reset = "/soc/bus@ffd00000/reset-controller@1004";
pwm_d_x6_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pwm-d-x6";
clk_msr = "/soc/bus@ffd00000/clock-measure@18000";
sdcard_clk_gate_z_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/sdcard_clk_gate_z";
i2c3_sda_h_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/i2c3-sda-h";
cpu3 = "/cpus/cpu@3";
cbus = "/soc/bus@ffd00000";
spdif_in_a12_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/spdif-in-a12";
tdm_b_dout0_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-b-dout0";
tdm_c_dout1_z_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-c-dout1-z";
periphs = "/soc/bus@ff600000/bus@34400";
pwm_ao_c_6_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/pwm-ao-c-6";
sdio_pwrseq = "/sdio-pwrseq";
pwm_ef = "/soc/bus@ffd00000/pwm@19000";
tdm_ao_b_din2_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/tdm-ao-b-din2";
tdm_a_sclk_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-a-sclk";
vdec = "/soc/video-decoder@ff620000";
sdio_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/sdio";
pwm_AO_ab = "/soc/bus@ff800000/pwm@7000";
i2c3_sck_a_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/i2c3-sck-a";
gic = "/soc/interrupt-controller@ffc01000";
usb2_phy0 = "/soc/bus@ff600000/phy@36000";
int_mdio = "/soc/bus@ff600000/mdio-multiplexer@4c000/mdio@1";
mclk0_a_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/mclk0-a";
tdmin_a = "/soc/bus@ff600000/bus@42000/audio-controller@300";
sd_emmc_a = "/soc/sd@ffe03000";
frddr_c = "/soc/bus@ff600000/bus@42000/audio-controller@240";
tdm_c_dout2_z_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-c-dout2-z";
emmc_clk_gate_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/emmc_clk_gate";
uart_a_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/uart-a";
vpu = "/soc/vpu@ff900000";
pdm_din0_a_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pdm-din0-a";
aobus = "/soc/bus@ff800000";
gpu_opp_table = "/gpu-opp-table";
i2c3_sda_a_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/i2c3-sda-a";
cpu1 = "/cpus/cpu@1";
mclk1_a_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/mclk1-a";
vddcpu = "/regulator-vddcpu";
tdm_c_dout3_z_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-c-dout3-z";
cvbs_connector_in = "/cvbs-connector/port/endpoint";
flash_1v8 = "/regulator-flash_1v8";
pwm_c_x8_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pwm-c-x8";
l2 = "/cpus/l2-cache0";
tdm_ao_b_slv_fs_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/tdm-ao-b-slv-fs";
spicc0 = "/soc/bus@ffd00000/spi@13000";
pdm_din1_a_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pdm-din1-a";
ddr_temp = "/soc/bus@ff600000/temperature-sensor@34c00";
uart_ao_a_cts_rts_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/uart-ao-a-cts-rts";
cpu_passive = "/soc/thermal-zones/cpu-thermal/trips/cpu-passive";
emmc_ctrl_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/emmc-ctrl";
dwc2 = "/soc/usb@ffe09000/usb@ff400000";
ddr_thermal = "/soc/thermal-zones/ddr-thermal";
frddr_a = "/soc/bus@ff600000/bus@42000/audio-controller@1c0";
tdm_c_slv_sclk_a_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-c-slv-sclk-a";
cpu_opp_table = "/opp-table";
nor_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/nor";
pcie = "/soc/pcie@fc000000";
pdm_dclk_a_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pdm-dclk-a";
clkc = "/soc/bus@ff600000/bus@3c000/system-controller@0/clock-controller";
pdm_din2_a_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pdm-din2-a";
tdm_c_sclk_a_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-c-sclk-a";
tdm_a_fs_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-a-fs";
pwrc = "/soc/bus@ff600000/bus@3c000/system-controller@0/power-controller";
pwm_cd = "/soc/bus@ffd00000/pwm@1a000";
pwm_d_z2_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pwm-d-z2";
tdm_ao_b_din1_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/tdm-ao-b-din1";
gpio_ao = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/bank@14";
toddr_c = "/soc/bus@ff600000/bus@42000/audio-controller@180";
hdmi_tx_port = "/soc/vpu@ff900000/port@1";
hdmi_tx_out = "/soc/vpu@ff900000/port@1/endpoint";
sec_AO = "/soc/bus@ff800000/ao-secure@140";
i2c2_sck_x_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/i2c2-sck-x";
i2c1_sck_h3_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/i2c1-sck-h3";
spdifin = "/soc/bus@ff600000/bus@42000/audio-controller@400";
pwm_ao_d_5_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/pwm-ao-d-5";
i2c2 = "/soc/bus@ffd00000/i2c@1d000";
pdm_din3_a_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pdm-din3-a";
spdif_out_a13_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/spdif-out-a13";
eth_rgmii_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/eth-rgmii";
cecb_AO = "/soc/bus@ff800000/cec@280";
pwm_ao_d_e_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/pwm-ao-d-e";
tdm_c_slv_fs_a_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-c-slv-fs-a";
sm = "/secure-monitor";
emmc_pwrseq = "/emmc-pwrseq";
cpu_hot = "/soc/thermal-zones/cpu-thermal/trips/cpu-hot";
acodec = "/soc/bus@ff600000/audio-controller@32000";
toacodec = "/soc/bus@ff600000/bus@42000/audio-controller@740";
uart_ao_b_tx_2_rx_3_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/uart-ao-b-tx-2-rx-3";
hdmi_tx_tmds_out = "/soc/bus@ff600000/hdmi-tx@0/port@1/endpoint";
pwm_e_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pwm-e";
brcmf = "/soc/sd@ffe03000/wifi@1";
i2c_ao_sck_e_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/i2c_ao_sck_e";
i2c2_sda_x_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/i2c2-sda-x";
tdm_c_fs_a_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-c-fs-a";
cpu_critical = "/soc/thermal-zones/cpu-thermal/trips/cpu-critical";
hiu = "/soc/bus@ff600000/bus@3c000";
tdm_c_din0_a_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-c-din0-a";
toddr_a = "/soc/bus@ff600000/bus@42000/audio-controller@100";
tdmin_lb = "/soc/bus@ff600000/bus@42000/audio-controller@3c0";
spicc0_x_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/spicc0-x";
hdmi_tx_in = "/soc/bus@ff600000/hdmi-tx@0/port@0/endpoint";
usb = "/soc/usb@ffe09000";
dc_in = "/regulator-dc_in";
i2c_ao_sda_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/i2c_ao_sda";
pwm_c_c_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pwm-c-c";
uart_AO = "/soc/bus@ff800000/serial@3000";
i2c1_sda_h6_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/i2c1-sda-h6";
i2c_ao_sda_e_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/i2c_ao_sda_e";
pwm_b_h7_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pwm-b-h7";
hdmitx_ddc_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/hdmitx_ddc";
spdifout = "/soc/bus@ff600000/bus@42000/audio-controller@480";
spdif_in_a10_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/spdif-in-a10";
i2c0 = "/soc/bus@ffd00000/i2c@1f000";
tdmout_b = "/soc/bus@ff600000/bus@42000/audio-controller@540";
pwm_ao_c_4_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/pwm-ao-c-4";
pwm_ab = "/soc/bus@ffd00000/pwm@1b000";
pdm_din0_z_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pdm-din0-z";
ddr_passive = "/soc/thermal-zones/ddr-thermal/trips/ddr-passive";
tdm_c_din1_a_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-c-din1-a";
remote_input_ao_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/remote-input-ao";
tdm_ao_b_din0_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/tdm-ao-b-din0";
rti = "/soc/bus@ff800000/sys-ctrl@0";
simplefb_hdmi = "/chosen/framebuffer-hdmi";
sdcard_c_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/sdcard_c";
pwm_f_x_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pwm-f-x";
tdm_b_slv_sclk_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-b-slv-sclk";
pwm_b_z0_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pwm-b-z0";
i2c_AO = "/soc/bus@ff800000/i2c@5000";
spifc = "/soc/bus@ffd00000/spi@14000";
mclk1_z_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/mclk1-z";
pdm_din1_z_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pdm-din1-z";
tdmif_c = "/audio-controller-2";
tdm_c_din2_a_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-c-din2-a";
fusb302_irq_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/fusb302_irq";
spicc0_c_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/spicc0-c";
tdm_ao_b_slv_sclk_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/tdm-ao-b-slv-sclk";
tdm_c_slv_sclk_z_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-c-slv-sclk-z";
sdcard_clk_gate_c_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/sdcard_clk_gate_c";
pwm_ao_b_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/pwm-ao-b";
uart_B = "/soc/bus@ffd00000/serial@23000";
tdm_a_din1_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-a-din1";
eth_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/eth";
tdm_b_sclk_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-b-sclk";
pdm_dclk_z_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pdm-dclk-z";
pdm_din2_z_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pdm-din2-z";
tdm_c_sclk_z_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-c-sclk-z";
uart_ao_b_cts_rts_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/uart-ao-b-cts-rts";
tdm_c_din3_a_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-c-din3-a";
tdm_b_dout3_h_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-b-dout3-h";
tdm_a_dout1_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-a-dout1";
internal_ephy = "/soc/bus@ff600000/mdio-multiplexer@4c000/mdio@1/ethernet_phy@8";
ddr_critical = "/soc/thermal-zones/ddr-thermal/trips/ddr-critical";
i2c_ao_sck_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/i2c_ao_sck_pins";
i2c0_sda_z8_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/i2c0-sda-z8";
xtal = "/xtal-clk";
pwm_d_x3_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pwm-d-x3";
mclk0_ao_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/mclk0-ao";
spdif_in_h_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/spdif-in-h";
spicc1_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/spicc1";
hhi = "/soc/bus@ff600000/bus@3c000/system-controller@0";
tdmif_a = "/audio-controller-0";
pdm_din3_z_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pdm-din3-z";
vcc_1v8 = "/regulator-vcc_1v8";
tohdmitx = "/soc/bus@ff600000/bus@42000/audio-controller@744";
cec_ao_a_h_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/cec_ao_a_h";
tdm_a_slv_fs_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-a-slv-fs";
periphs_pinctrl = "/soc/bus@ff600000/bus@34400/pinctrl@40";
tdm_c_slv_fs_z_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-c-slv-fs-z";
usb2_phy1 = "/soc/bus@ff600000/phy@3a000";
tdmin_b = "/soc/bus@ff600000/bus@42000/audio-controller@340";
i2c0_sck_c_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/i2c0-sck-c";
sd_emmc_b = "/soc/sd@ffe05000";
pwm_ao_d_10_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/pwm-ao-d-10";
cec_AO = "/soc/bus@ff800000/cec@100";
efuse = "/efuse";
tdm_b_dout3_a_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-b-dout3-a";
spdif_out_a11_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/spdif-out-a11";
tdm_c_fs_z_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-c-fs-z";
cec_ao_b_h_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/cec_ao_b_h";
tdm_c_din0_z_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-c-din0-z";
cpu2 = "/cpus/cpu@2";
i2c0_sda_c_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/i2c0-sda-c";
vddao_1v8 = "/regulator-vddao_1v8";
uart_c_cts_rts_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/uart-c-cts-rts";
spicc1 = "/soc/bus@ffd00000/spi@15000";
ext_mdio = "/soc/bus@ff600000/mdio-multiplexer@4c000/mdio@0";
spdif_out_h_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/spdif-out-h";
pwm_ao_a_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/pwm-ao-a";
uart_AO_B = "/soc/bus@ff800000/serial@4000";
tdm_a_din0_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-a-din0";
pwm_c_x5_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pwm-c-x5";
i2c1_sck_h7_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/i2c1-sck-h7";
sdio_clk_gate_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/sdio_clk_gate";
vrtc = "/soc/bus@ff800000/rtc@0a8";
hdmi_connector_in = "/hdmi-connector/port/endpoint";
dwc3 = "/soc/usb@ffe09000/usb@ff500000";
tdm_c_din1_z_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-c-din1-z";
tdm_a_dout0_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-a-dout0";
simplefb_cvbs = "/chosen/framebuffer-cvbs";
arb = "/soc/bus@ff600000/bus@42000/reset-controller@280";
gpio_intc = "/soc/bus@ffd00000/interrupt-controller@f080";
typec2_vbus = "/regulator-typec2_vbus";
frddr_b = "/soc/bus@ff600000/bus@42000/audio-controller@200";
ao_pinctrl = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14";
tdm_ao_b_dout2_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/tdm-ao-b-dout2";
eth_phy = "/soc/bus@ff600000/mdio-multiplexer@4c000";
emmc_ds_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/emmc-ds";
i2c0_sda_z7_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/i2c0-sda-z7";
vcc_3v3 = "/regulator-vcc_3v3";
hdmi_tx = "/soc/bus@ff600000/hdmi-tx@0";
spicc0_ss0_x_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/spicc0-ss0-x";
hdmi_tx_venc_port = "/soc/bus@ff600000/hdmi-tx@0/port@0";
cvbs_vdac_out = "/soc/vpu@ff900000/port@0/endpoint";
mdio0 = "/soc/ethernet@ff3f0000/mdio";
pdm_din0_x_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pdm-din0-x";
cpu0 = "/cpus/cpu@0";
hdmitx_hpd_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/hdmitx_hpd";
tdm_c_din2_z_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-c-din2-z";
apb = "/soc/bus@ff600000";
eth_leds_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/eth-leds";
tdm_b_din2_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-b-din2";
};
...
I can’t say I see anything enlightening, but I have very little experience with these device trees :/.
Any thoughts, or should I just ditch the idea altogether?