4 Replies Latest reply on Oct 16, 2015 3:46 AM by shubham_k

    How to switch off the DMA mode in Quark SoC X1000??

    shubham_k

      Hi Guys,

       

      By default, DMA is enabled and being used by the UARTs in Intel Galileo Boards. The entry cat /sys/class/dma/dma*chan*/in_use shows 1 in all the 4 DMA channels which means that both the UARTs are using the DMA for both Tx FIFO as well as Rx FIFO ( DMA Support for Rx FIFO has now been added in BSP v1.2 for Yocto). But I want to switch off the DMA mode and want both the UARTs to operate in the normal PIO mode. To do this, I found from pg. 15 of  quark-x1000-linux-sw-developers-manual.pdf that I need to add the following lines as the Kernel Parameter in grub.conf file :- intel_quark_hsuart_dma.uart0_dma=0  for UART0 and intel_quark_hsuart_dma.uart1_dma=0 for UART1.

       

      Now the grub.conf looks like the following after making these entries into it:--

       

      title Quark X1000 kernel-MassStorage initrd-MassStorage RootFS-MassStorage IMR-On IO-APIC/HPET NoEMU debug

          root (hd0,0)

          kernel /bzImage intel_quark_hsuart_dma.uart0_dma=0 , intel_quark_hsuart_dma.uart1_dma=0 root=/dev/ram0 console=ttyUSB0 console=ttyS1,115200n8 earlycon=uart8250,mmio32,$EARLY_CON_ADDR_REPLACE,115200n8 reboot=efi,warm apic=debug rw LABEL=boot debugshell=5 rootimage=image-full-quark.ext3

          initrd /core-image-minimal-initramfs-quark.cpio.gz

       

       

       

      But inspite of adding these 2 lines and then booting the Board with these changes , I didn't find any difference. The UARTS are still using the DMA , and I can still see the above /sys entries showing 1 in all the 4 channels. (Please note that the error in UART numbering which was found in the BSP 1.1 and earlier versions have been fixed in v1.2).

       

       

      Thanks in advance. Waiting for your responses.