Post Go back to editing

dma-axi-dmac module failed to load on adrv9361-z703 (ADRV9361)

Hi :)

I have been trying to load analog devices axi-dma driver (from analog devices kernel), but with no luck so far.

Every time I tried to load it, I got an internal error:

Unhandled fault: imprecise externel abort (0x406) at 0xbf000000
pgd = 5be1d2a8
[0xbf000000] *pgd=22ea8e811, *pte=3ec7e4df, *ppte=3ec7e65e
Internal error: Oops- BUG: 406 [#1] PREEMPT SMP ARM
Modules linked in: dma_axi_dmac(+) virt_dma
CPU: 1 PID: 810 Comm: modprobe Not tainted 4.19.0-xilinx #2
Hardware name: Xilinx Zynq Platform
PC is at axi_dmac_probe+0x20c/0x5c8 [dma_axi_dmac]
LR is at clk_core_enable_lock+0x24/0x2c
pc : [<bf007ad4>] lr : [<c036cd38>] psr: 60000013
sp : eeae1cc8 ip : 00000000 fp : bf009335
r10: bf009321 r9 : eea91b80 r8 : ee9f561c
r7 : ef11b010 r6 : 00000000 r5 : ef11b000 r4 : ee9f5610
r3 : f09c0000 r2 : 00000000 r1 : a0000013 r0 : 00000000
Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM segment none
Control: 18c5387d Table: 2eadc04a DAC: 00000051
Process modprobe (pid: 810, stack limit = 0xddb0adff)
Stack: (.....)
........
........
........

When i run lsmod after trying to load it, dma-axi-dmac is there! Despite of the error..

my dts -> https://github.com/analogdevicesinc/linux/blob/master/arch/arm/boot/dts/zynq-adrv9361-z7035.dtsi

		rx_dma: dma@7c400000 {
			compatible = "adi,axi-dmac-1.00.a";
			reg = <0x7c400000 0x10000>;
			#dma-cells = <1>;
			interrupts = <0 57 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&clkc 16>;

			adi,channels {
				#size-cells = <0>;
				#address-cells = <1>;

				dma-channel@0 {
					reg = <0>;
					adi,source-bus-width = <64>;
					adi,source-bus-type = <2>;
					adi,destination-bus-width = <64>;
					adi,destination-bus-type = <0>;
				};
			};
		};

		tx_dma: dma@7c420000 {
			compatible = "adi,axi-dmac-1.00.a";
			reg = <0x7c420000 0x10000>;
			#dma-cells = <1>;
			interrupts = <0 56 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&clkc 16>;

			adi,channels {
				#size-cells = <0>;
				#address-cells = <1>;

				dma-channel@0 {
					reg = <0>;
					adi,source-bus-width = <64>;
					adi,source-bus-type = <0>;
					adi,destination-bus-width = <64>;
					adi,destination-bus-type = <2>;
				};
			};
		};

		cf_ad9361_adc_core_0: cf-ad9361-lpc@79020000 {
			compatible = "adi,axi-ad9361-6.00.a";
			reg = <0x79020000 0x6000>;
			dmas = <&rx_dma 0>;
			dma-names = "rx";
			spibus-connected = <&adc0_ad9361>;
		};

		cf_ad9361_dac_core_0: cf-ad9361-dds-core-lpc@79024000 {
			compatible = "adi,axi-ad9361-dds-6.00.a";
			reg = <0x79024000 0x1000>;
			clocks = <&adc0_ad9361 13>;
			clock-names = "sampl_clk";
			dmas = <&tx_dma 0>;
			dma-names = "tx";
		};

I tried to change the dma clocks a bit because it seems like they might have something to do with the problem, but with not much have changed.

Any suggestions?

Thanks!



tag
[edited by: lallison at 4:15 PM (GMT 0) on 24 Feb 2020]
Parents Reply Children
No Data