Can an I2S HAT (Respeaker) be used with the Radxa Zero via Device Tree Overlay?

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?

Hi

Have you already found a solution for this?
If yes, would you share them?

Thanks,
Michael

Afraid I didn’t! Due to some other issues with the Radxa Zeroes crashing every few days I had to give up on them altogether.

Oh, sadly, thanks anyway…