Device Tree eDMA3 "i.MX 8QuadXPlus"

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Device Tree eDMA3 "i.MX 8QuadXPlus"

559 Views
xaviersoulie
Contributor I

Hi all,

I want to define the eDMA3 resource on an "i.MX 8QuadXPlus" processor via the device tree.
After searching online, I haven't found a device tree for this processor that includes this definition.
Could you please tell me how I can create this resource?
I can't find the methodology for providing an IRQ number for the GIC_SPI parameter.
Is there a guide for creating this?
Thank you in advance for your help.

Best Regards

Xavier

0 Kudos
Reply
5 Replies

515 Views
pengyong_zhang
NXP Employee
NXP Employee

Hi @xaviersoulie 

Sorry to reply late, what is your BSP code version?

B.R

0 Kudos
Reply

415 Views
xaviersoulie
Contributor I
Hi,
We do not use Linux in our project. We use a different RTOS.
Thank you
0 Kudos
Reply

397 Views
Zhiming_Liu
NXP TechSupport
NXP TechSupport

Hi @xaviersoulie 

You can find definitions in linux dts: arch/arm64/boot/dts/freescale/imx8-ss-dma.dtsi

	edma3: dma-controller@5a9f0000 {
		compatible = "fsl,imx8qm-edma";
		reg = <0x5a9f0000 0x90000>;
		#dma-cells = <3>;
		dma-channels = <8>;
		interrupts = <GIC_SPI 424 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 425 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 426 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 427 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 428 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 429 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 430 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 431 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
		power-domains = <&pd IMX_SC_R_DMA_3_CH0>,
				<&pd IMX_SC_R_DMA_3_CH1>,
				<&pd IMX_SC_R_DMA_3_CH2>,
				<&pd IMX_SC_R_DMA_3_CH3>,
				<&pd IMX_SC_R_DMA_3_CH4>,
				<&pd IMX_SC_R_DMA_3_CH5>,
				<&pd IMX_SC_R_DMA_3_CH6>,
				<&pd IMX_SC_R_DMA_3_CH7>;
	};



Best Regards,
Zhiming

0 Kudos
Reply

385 Views
xaviersoulie
Contributor I

Hello Zhiming
Thank you very much for this data.
I have a related question: in the compatible field = "fsl,imx8qm-edma", it indicates imx8qm. Could you tell me why it doesn't say "imx8qxp"? Is there a difference between an imx8xqm and an imx8qxp processor for this node in the device tree?
Furthermore, I want to expand this definition to be able to use all 16 channels of the EDMA3. How do I complete this definition?
I want to use the adc0 device with channel 8 of the EDMA3. Are there also guidelines for defining these nodes (EDMA3 channel 8 and adc0)?
Thank you in advance for your feedback and advice.

0 Kudos
Reply

372 Views
Zhiming_Liu
NXP TechSupport
NXP TechSupport

Hi,

The i.MX8QM and i.MX8QXP share lots of peripherals. The device tree inclusion relationship is:

imx8qxp.dtsi
  -->imx8-ss-adma.dtsi
    -->imx8-ss-dma.dtsi

If you are not using Linux, you should refer the imx8-ss-dma.dtsi and reference manual to define your edma3 node. For the 8 channel adc, you can refer linux driver:drivers/iio/adc/imx8qxp-adc.c, this driver is using 8 channels


Best Regards,
Zhiming

0 Kudos
Reply
%3CLINGO-SUB%20id%3D%22lingo-sub-2200650%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EDevice%20Tree%20eDMA3%20%22i.MX%208QuadXPlus%22%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2200650%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%20all%2C%3C%2FP%3E%3CP%3EI%20want%20to%20define%20the%20eDMA3%20resource%20on%20an%20%22i.MX%208QuadXPlus%22%20processor%20via%20the%20device%20tree.%3CBR%20%2F%3EAfter%20searching%20online%2C%20I%20haven't%20found%20a%20device%20tree%20for%20this%20processor%20that%20includes%20this%20definition.%3CBR%20%2F%3ECould%20you%20please%20tell%20me%20how%20I%20can%20create%20this%20resource%3F%3CBR%20%2F%3EI%20can't%20find%20the%20methodology%20for%20providing%20an%20IRQ%20number%20for%20the%20GIC_SPI%20parameter.%3CBR%20%2F%3EIs%20there%20a%20guide%20for%20creating%20this%3F%3CBR%20%2F%3EThank%20you%20in%20advance%20for%20your%20help.%3C%2FP%3E%3CP%3EBest%20Regards%3C%2FP%3E%3CP%3EXavier%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-2200650%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CLINGO-LABEL%3Ei.MX%208%20Family%20%7C%20i.MX%208QuadMax%20(8QM)%20%7C%208QuadPlus%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2201367%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20Device%20Tree%20eDMA3%20%22i.MX%208QuadXPlus%22%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2201367%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F131026%22%20target%3D%22_blank%22%3E%40xaviersoulie%3C%2FA%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3ESorry%20to%20reply%20late%2C%20what%20is%20your%20BSP%20code%20version%3F%3C%2FP%3E%0A%3CP%3EB.R%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2252684%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20Device%20Tree%20eDMA3%20%22i.MX%208QuadXPlus%22%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2252684%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F131026%22%20target%3D%22_blank%22%3E%40xaviersoulie%3C%2FA%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EYou%20can%20find%20definitions%20in%20linux%20dts%3A%20arch%2Farm64%2Fboot%2Fdts%2Ffreescale%2Fimx8-ss-dma.dtsi%3C%2FP%3E%0A%3CPRE%20class%3D%22lia-code-sample%20language-markup%22%3E%3CCODE%3E%09edma3%3A%20dma-controller%405a9f0000%20%7B%0A%09%09compatible%20%3D%20%22fsl%2Cimx8qm-edma%22%3B%0A%09%09reg%20%3D%20%26lt%3B0x5a9f0000%200x90000%26gt%3B%3B%0A%09%09%23dma-cells%20%3D%20%26lt%3B3%26gt%3B%3B%0A%09%09dma-channels%20%3D%20%26lt%3B8%26gt%3B%3B%0A%09%09interrupts%20%3D%20%3CGIC_SPI%20424%3D%22%22%20irq_type_level_high%3D%22%22%3E%2C%0A%09%09%09%20%20%20%20%20%3CGIC_SPI%20425%3D%22%22%20irq_type_level_high%3D%22%22%3E%2C%0A%09%09%09%20%20%20%20%20%3CGIC_SPI%20426%3D%22%22%20irq_type_level_high%3D%22%22%3E%2C%0A%09%09%09%20%20%20%20%20%3CGIC_SPI%20427%3D%22%22%20irq_type_level_high%3D%22%22%3E%2C%0A%09%09%09%20%20%20%20%20%3CGIC_SPI%20428%3D%22%22%20irq_type_level_high%3D%22%22%3E%2C%0A%09%09%09%20%20%20%20%20%3CGIC_SPI%20429%3D%22%22%20irq_type_level_high%3D%22%22%3E%2C%0A%09%09%09%20%20%20%20%20%3CGIC_SPI%20430%3D%22%22%20irq_type_level_high%3D%22%22%3E%2C%0A%09%09%09%20%20%20%20%20%3CGIC_SPI%20431%3D%22%22%20irq_type_level_high%3D%22%22%3E%2C%0A%09%09%09%20%20%20%20%20%3CGIC_SPI%2069%3D%22%22%20irq_type_level_high%3D%22%22%3E%3B%0A%09%09power-domains%20%3D%20%26lt%3B%26amp%3Bpd%20IMX_SC_R_DMA_3_CH0%26gt%3B%2C%0A%09%09%09%09%26lt%3B%26amp%3Bpd%20IMX_SC_R_DMA_3_CH1%26gt%3B%2C%0A%09%09%09%09%26lt%3B%26amp%3Bpd%20IMX_SC_R_DMA_3_CH2%26gt%3B%2C%0A%09%09%09%09%26lt%3B%26amp%3Bpd%20IMX_SC_R_DMA_3_CH3%26gt%3B%2C%0A%09%09%09%09%26lt%3B%26amp%3Bpd%20IMX_SC_R_DMA_3_CH4%26gt%3B%2C%0A%09%09%09%09%26lt%3B%26amp%3Bpd%20IMX_SC_R_DMA_3_CH5%26gt%3B%2C%0A%09%09%09%09%26lt%3B%26amp%3Bpd%20IMX_SC_R_DMA_3_CH6%26gt%3B%2C%0A%09%09%09%09%26lt%3B%26amp%3Bpd%20IMX_SC_R_DMA_3_CH7%26gt%3B%3B%0A%09%7D%3B%3C%2FGIC_SPI%3E%3C%2FGIC_SPI%3E%3C%2FGIC_SPI%3E%3C%2FGIC_SPI%3E%3C%2FGIC_SPI%3E%3C%2FGIC_SPI%3E%3C%2FGIC_SPI%3E%3C%2FGIC_SPI%3E%3C%2FGIC_SPI%3E%3C%2FCODE%3E%3C%2FPRE%3E%0A%3CP%3E%3CBR%20%2F%3E%3CBR%20%2F%3EBest%20Regards%2C%3CBR%20%2F%3EZhiming%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2252334%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20Device%20Tree%20eDMA3%20%22i.MX%208QuadXPlus%22%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2252334%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EHi%2C%3CBR%20%2F%3EWe%20do%20not%20use%20Linux%20in%20our%20project.%20We%20use%20a%20different%20RTOS.%3CBR%20%2F%3EThank%20you%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2253205%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20Device%20Tree%20eDMA3%20%22i.MX%208QuadXPlus%22%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2253205%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHello%20Zhiming%3CBR%20%2F%3EThank%20you%20very%20much%20for%20this%20data.%3CBR%20%2F%3EI%20have%20a%20related%20question%3A%20in%20the%20compatible%20field%20%3D%20%22fsl%2Cimx8qm-edma%22%2C%20it%20indicates%20imx8qm.%20Could%20you%20tell%20me%20why%20it%20doesn't%20say%20%22imx8qxp%22%3F%20Is%20there%20a%20difference%20between%20an%20imx8xqm%20and%20an%20imx8qxp%20processor%20for%20this%20node%20in%20the%20device%20tree%3F%3CBR%20%2F%3EFurthermore%2C%20I%20want%20to%20expand%20this%20definition%20to%20be%20able%20to%20use%20all%2016%20channels%20of%20the%20EDMA3.%20How%20do%20I%20complete%20this%20definition%3F%3CBR%20%2F%3EI%20want%20to%20use%20the%20adc0%20device%20with%20channel%208%20of%20the%20EDMA3.%20Are%20there%20also%20guidelines%20for%20defining%20these%20nodes%20(EDMA3%20channel%208%20and%20adc0)%3F%3CBR%20%2F%3EThank%20you%20in%20advance%20for%20your%20feedback%20and%20advice.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2253604%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20Device%20Tree%20eDMA3%20%22i.MX%208QuadXPlus%22%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2253604%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%2C%3C%2FP%3E%0A%3CP%3EThe%20i.MX8QM%20and%20i.MX8QXP%20share%20lots%20of%20peripherals.%20The%20device%20tree%26nbsp%3Binclusion%20relationship%20is%3A%3C%2FP%3E%0A%3CPRE%20class%3D%22lia-code-sample%20language-markup%22%3E%3CCODE%3Eimx8qxp.dtsi%0A%20%20--%26gt%3Bimx8-ss-adma.dtsi%0A%20%20%20%20--%26gt%3Bimx8-ss-dma.dtsi%3C%2FCODE%3E%3C%2FPRE%3E%0A%3CP%3EIf%20you%20are%20not%20using%20Linux%2C%20you%20should%20refer%20the%26nbsp%3Bimx8-ss-dma.dtsi%20and%20reference%20manual%20to%20define%20your%20edma3%20node.%20For%20the%208%20channel%20adc%2C%20you%20can%20refer%20linux%20driver%3Adrivers%2Fiio%2Fadc%2Fimx8qxp-adc.c%2C%20this%20driver%20is%20using%208%20channels%3C%2FP%3E%0A%3CP%3E%3CBR%20%2F%3EBest%20Regards%2C%3CBR%20%2F%3EZhiming%3C%2FP%3E%3C%2FLINGO-BODY%3E