SAMA5D3 U(S)ART high baud rate problem

Moderator: nferre

drzile
Posts: 9
Joined: Thu Mar 26, 2015 11:42 am

SAMA5D3 U(S)ART high baud rate problem

Thu Mar 26, 2015 2:15 pm

Hello,

I'm testing U(S)ART on SAMA5D3 Xplained board and I have troubles with receiving bytes at high baud rate (>115200bps). I'm using Linux Kernel 3.10 from git://github.com/linux4sam/linux-at91.git with Buildroot (Bootup log is below). 

USART2 (/dev/ttyS2) is connected to the other development board with MCU. I wrote application which only read data from /dev/ttyS2 and write into log file (using non blocking read function). Baudrate is set to the 2.0625Mbps (8N1 with RTS/CTS). When I send bytes from MCU to Xplained board one by one (at least 50us space between bytes), I receive them ok, but when I send string of bytes (immediately after stop bit MCU send start bit of the next byte) overrun happen and I don't receive all bytes. I can see overruns with

cat /proc/tty/driver/atmel_serial 
serinfo:1.0 driver revision:
0: uart:ATMEL_SERIAL mmio:0xFFFFEE00 irq:37 tx:3064 rx:114 RTS|CTS|DTR|DSR|CD|RI
1: uart:ATMEL_SERIAL mmio:0xF001C000 irq:23 tx:0 rx:0 DSR|CD|RI
2: uart:ATMEL_SERIAL mmio:0xF0020000 irq:24 tx:57 rx:59 oe:22 RTS|CTS|DTR|DSR|CD|RI
5: uart:ATMEL_SERIAL mmio:0xF0024000 irq:25 tx:0 rx:0 CTS|DSR|CD|RI

MCU receive string of bytes from Xplained without problem, so I am sure that baud rate and other UART parameters are ok. Also when I make loopback on Xplained USART (connect directly USART2 pins TXD1 and RXD1) and send string of bytes on TXD1 I receive them ok. This is because SAMA5D3 send bytes over U(S)ART with spaces (delay between bytes). On this way throughput on USART is not equal to the baud rate.

I tried other Kernels (3.16.2 and 3.19.2 from kernel.org and 3.18-at91 from Linux4SAM), but results are the same. Also tried other U(S)ART, with/without RTS/CTS and other baudrates. Problem start with baudrate higher than 115200bps.

I suppose that problem is with DMA/interrupts and transferring bytes internally in kernel driver drivers/tty/serial/atmel_serial.c, but I can't figure out how to solve it.

Is anybody tested USART at higher baudrates? 

Regards,

------------------------------------------------------------------------
AT91Bootstrap 3.6.2 (пет, 20. мар 2015.  10:14:47 CET)

NAND: ONFI flash detected
NAND: Manufacturer ID: 0x2c Chip ID: 0x32
NAND: Disable On-Die ECC
NAND: Initialize PMECC params, cap: 0x4, sector: 0x200
NAND: Image: Copy 0x80000 bytes from 0x20000 to 0x26f00000
NAND: Done to load image

U-Boot 2014.04 (Mar 24 2015 - 12:53:34)

CPU: SAMA5D36
Crystal frequency:       12 MHz
CPU clock        :      528 MHz
Master clock     :      132 MHz
DRAM:  256 MiB
NAND:  256 MiB
MMC:   mci: 0
In:    serial
Out:   serial
Err:   serial
Net:   gmac0, macb0
Warning: failed to set MAC address

Hit any key to stop autoboot:  0 
NAND read: device 0 offset 0x120000, size 0x60ed
 24813 bytes read: OK

NAND read: device 0 offset 0x1a0000, size 0x34bdc0
 3456448 bytes read: OK
Kernel image @ 0x22000000 [ 0x000000 - 0x34bdc0 ]
## Flattened Device Tree blob at 21000000
   Booting using the fdt blob at 0x21000000
   Loading Device Tree to 2faf5000, end 2fafe0ec ... OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
Booting Linux on physical CPU 0x0
Linux version 3.10.0 (zile@Zile-Ubuntu) (gcc version 4.8.3 (Buildroot 2014.08) ) #1 Wed Mar 25 16:54:55 CET 2015
CPU: ARMv7 Processor [410fc051] revision 1 (ARMv7), cr=10c5387d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine: Atmel SAMA5 (Device Tree), model: SAMA5D3 Xplained
bootconsole [earlycon0] enabled
Memory policy: ECC disabled, Data cache writeback
AT91: Detected soc type: sama5d3
AT91: Detected soc subtype: sama5d36
AT91: sram at 0x300000 of 0x20000 mapped at 0xfef58000
CPU: All CPU(s) started in SVC mode.
Clocks: CPU 528 MHz, master 132 MHz, main 12.000 MHz
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 65024
Kernel command line: console=ttyS0,115200 earlyprintk mtdparts=atmel_nand:128k(at91bootstrap)ro,512k(uboot)ro,256K(ubootenv),256k(ubootenv2),512k(dtb_a),8M(kernel_a),64M(rootfs_a),512k(dtb_b),8M(kernel_b),64M(rootfs_b),-(data) rootfstype=ubifs ubi.mtd=rootfs_a ubi.mtd=rootfs_b ubi.mtd=data root=ubi0:rootfs
PID hash table entries: 1024 (order: 0, 4096 bytes)
Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
Memory: 256MB = 256MB total
Memory: 252128k/252128k available, 10016k reserved, 0K highmem
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
    vmalloc : 0xd0800000 - 0xff000000   ( 744 MB)
    lowmem  : 0xc0000000 - 0xd0000000   ( 256 MB)
    modules : 0xbf000000 - 0xc0000000   (  16 MB)
      .text : 0xc0008000 - 0xc06c3dac   (6896 kB)
      .init : 0xc06c4000 - 0xc06eb488   ( 158 kB)
      .data : 0xc06ec000 - 0xc0752b80   ( 411 kB)
       .bss : 0xc0752b80 - 0xc0778c94   ( 153 kB)
NR_IRQS:16 nr_irqs:16 16
sched_clock: 32 bits at 100 Hz, resolution 10000000ns, wraps every 4294967286ms
Console: colour dummy device 80x30
Calibrating delay loop... 262.96 BogoMIPS (lpj=1314816)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
Setting up static identity map for 0xc046d718 - 0xc046d770
devtmpfs: initialized
pinctrl core: initialized pinctrl subsystem
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic coherent allocations
AT91: Power Management (with slow clock mode)
gpio-at91 fffff200.gpio: at address fefff200
gpio-at91 fffff400.gpio: at address fefff400
gpio-at91 fffff600.gpio: at address fefff600
gpio-at91 fffff800.gpio: at address fefff800
gpio-at91 fffffa00.gpio: at address fefffa00
pinctrl-at91 pinctrl.2: initialized AT91 pinctrl driver
bio: create slab <bio-0> at 0
at_hdmac ffffe600.dma-controller: Atmel AHB DMA Controller ( cpy slave ), 8 channels
at_hdmac ffffe800.dma-controller: Atmel AHB DMA Controller ( cpy slave ), 8 channels
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
of_dma_request_slave_channel: dma-names property missing or empty
at91_i2c f0014000.i2c: can't get a DMA channel for tx
at91_i2c f0014000.i2c: can't use DMA
at91_i2c f0014000.i2c: AT91 i2c bus driver.
at91_i2c f0018000.i2c: using dma0chan0 (tx) and dma0chan1 (rx) for DMA transfers
at91_i2c f0018000.i2c: AT91 i2c bus driver.
media: Linux media interface: v0.10
Linux video capture interface: v2.00
Advanced Linux Sound Architecture Driver Initialized.
cfg80211: Calling CRDA to update world regulatory domain
Switching to clocksource tcb_clksrc
NET: Registered protocol family 2
TCP established hash table entries: 2048 (order: 2, 16384 bytes)
TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
TCP: Hash tables configured (established 2048 bind 2048)
TCP: reno registered
UDP hash table entries: 256 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
msgmni has been set to 492
io scheduler noop registered (default)
f001c000.serial: ttyS1 at MMIO 0xf001c000 (irq = 23) is a ATMEL_SERIAL
f0020000.serial: ttyS2 at MMIO 0xf0020000 (irq = 24) is a ATMEL_SERIAL
f0024000.serial: ttyS5 at MMIO 0xf0024000 (irq = 25) is a ATMEL_SERIAL
ffffee00.serial: ttyS0 at MMIO 0xffffee00 (irq = 37) is a ATMEL_SERIAL
console [ttyS0] enabled, bootconsole disabled
console [ttyS0] enabled, bootconsole disabled
brd: module loaded
loop: module loaded
atmel_nand_nfc 70000000.nfc: NFC is probed.
atmel_nand: Use On Flash BBT
atmel_nand 60000000.nand: Using dma0chan2 for DMA transfers.
ONFI param page 0 valid
ONFI flash detected
NAND device: Manufacturer ID: 0x2c, Chip ID: 0xda (Micron MT29F2G08ABAEAWP), 256MiB, page size: 2048, OOB size: 64
atmel_nand 60000000.nand: ONFI params, minimum required ECC: 4 bits in 512 bytes
atmel_nand 60000000.nand: Initialize PMECC params, cap: 4, sector: 512
atmel_nand 60000000.nand: Using NFC Sram read and write
Bad block table found at page 131008, version 0x01
Bad block table found at page 130944, version 0x01
nand_read_bbt: bad block at 0x000000c80000
nand_read_bbt: bad block at 0x000000ca0000
11 cmdlinepart partitions found on MTD device atmel_nand
Creating 11 MTD partitions on "atmel_nand":
0x000000000000-0x000000020000 : "at91bootstrap"
0x000000020000-0x0000000a0000 : "uboot"
0x0000000a0000-0x0000000e0000 : "ubootenv"
0x0000000e0000-0x000000120000 : "ubootenv2"
0x000000120000-0x0000001a0000 : "dtb_a"
0x0000001a0000-0x0000009a0000 : "kernel_a"
0x0000009a0000-0x0000049a0000 : "rootfs_a"
0x0000049a0000-0x000004a20000 : "dtb_b"
0x000004a20000-0x000005220000 : "kernel_b"
0x000005220000-0x000009220000 : "rootfs_b"
0x000009220000-0x000010000000 : "data"
atmel_spi f0004000.spi: version: 0x213
atmel_spi f0004000.spi: Using dma0chan3 (tx) and dma0chan4 (rx) for DMA transfers
atmel_spi f0004000.spi: Atmel SPI Controller at 0xf0004000 (irq 18)
atmel_spi f0004000.spi: master is unqueued, this is deprecated
atmel_spi f8008000.spi: version: 0x213
atmel_spi f8008000.spi: Using dma1chan0 (tx) and dma1chan1 (rx) for DMA transfers
atmel_spi f8008000.spi: Atmel SPI Controller at 0xf8008000 (irq 28)
atmel_spi f8008000.spi: master is unqueued, this is deprecated
CAN device driver interface
at91_can f000c000.can: device registered (reg_base=d08e6000, irq=19)
at91_can f8010000.can: device registered (reg_base=d08e8000, irq=29)
libphy: MACB_mii_bus: probed
macb f0028000.ethernet eth0: no PHY found
macb f802c000.ethernet (unregistered net_device): invalid hw address, using random
libphy: MACB_mii_bus: probed
macb f802c000.ethernet eth0: no PHY found
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ehci-atmel: EHCI Atmel driver
atmel-ehci 700000.ehci: EHCI Host Controller
atmel-ehci 700000.ehci: new USB bus registered, assigned bus number 1
atmel-ehci 700000.ehci: irq 45, io mem 0x00700000
atmel-ehci 700000.ehci: USB 2.0 started, EHCI 1.00
usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb1: Product: EHCI Host Controller
usb usb1: Manufacturer: Linux 3.10.0 ehci_hcd
usb usb1: SerialNumber: 700000.ehci
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 3 ports detected
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
at91_ohci 600000.ohci: AT91 OHCI
at91_ohci 600000.ohci: new USB bus registered, assigned bus number 2
at91_ohci 600000.ohci: irq 45, io mem 0x00600000
usb usb2: New USB device found, idVendor=1d6b, idProduct=0001
usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb2: Product: AT91 OHCI
usb usb2: Manufacturer: Linux 3.10.0 ohci_hcd
usb usb2: SerialNumber: at91
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 3 ports detected
usbcore: registered new interface driver cdc_acm
cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
usbcore: registered new interface driver usb-storage
usbcore: registered new interface driver usbserial
usbcore: registered new interface driver usbserial_generic
usbserial: USB Serial support registered for generic
usbcore: registered new interface driver ftdi_sio
usbserial: USB Serial support registered for FTDI USB Serial Device
usbcore: registered new interface driver pl2303
usbserial: USB Serial support registered for pl2303
at91_rtc fffffeb0.rtc: rtc core: registered fffffeb0.rtc as rtc0
at91_rtc fffffeb0.rtc: AT91 Real Time Clock driver.
i2c /dev entries driver
Driver for 1-wire Dallas network protocol.
leds-gpio leds.4: pins are not configured from the driver
atmel_aes f8038000.aes: version: 0x135
atmel_aes f8038000.aes: Atmel AES - Using dma1chan2, dma1chan3 for DMA transfers
atmel_tdes f803c000.tdes: version: 0x701
atmel_tdes f803c000.tdes: using dma1chan4, dma1chan5 for DMA transfers
atmel_tdes f803c000.tdes: Atmel DES/TDES
atmel_sha f8034000.sha: version: 0x410
atmel_sha f8034000.sha: using dma1chan6 for DMA transfers
atmel_sha f8034000.sha: Atmel SHA1/SHA256/SHA224/SHA384/SHA512
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
TCP: cubic registered
NET: Registered protocol family 10
sit: IPv6 over IPv4 tunneling driver
NET: Registered protocol family 17
can: controller area network core (rev 20120528 abi 9)
NET: Registered protocol family 29
can: raw protocol (rev 20120528)
can: broadcast manager protocol (rev 20120528 t)
can: netlink gateway (rev 20130117) max_hops=1
VFP support v0.3: implementor 41 architecture 2 part 30 variant 5 rev 1
ThumbEE CPU extension supported.
Registering SWP/SWPB emulation handler
UBI: attaching mtd6 to ubi0
UBI: scanning is finished
UBI: attached mtd6 (name "rootfs_a", size 64 MiB) to ubi0
UBI: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes
UBI: min./max. I/O unit sizes: 2048/2048, sub-page size 2048
UBI: VID header offset: 2048 (aligned 2048), data offset: 4096
UBI: good PEBs: 510, bad PEBs: 2, corrupted PEBs: 0
UBI: user volume: 1, internal volumes: 1, max. volumes count: 128
UBI: max/mean erase counter: 2/0, WL threshold: 4096, image sequence number: 271684108
UBI: available PEBs: 0, total reserved PEBs: 510, PEBs reserved for bad PEB handling: 38
UBI: background thread "ubi_bgt0d" started, PID 689
UBI: attaching mtd9 to ubi1
UBI: scanning is finished
UBI: attached mtd9 (name "rootfs_b", size 64 MiB) to ubi1
UBI: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes
UBI: min./max. I/O unit sizes: 2048/2048, sub-page size 2048
UBI: VID header offset: 2048 (aligned 2048), data offset: 4096
UBI: good PEBs: 512, bad PEBs: 0, corrupted PEBs: 0
UBI: user volume: 0, internal volumes: 1, max. volumes count: 128
UBI: max/mean erase counter: 1/1, WL threshold: 4096, image sequence number: 2406101015
UBI: available PEBs: 468, total reserved PEBs: 44, PEBs reserved for bad PEB handling: 40
UBI: background thread "ubi_bgt1d" started, PID 695
UBI: attaching mtd10 to ubi2
UBI: scanning is finished
UBI warning: print_rsvd_warning: cannot reserve enough PEBs for bad PEB handling, reserved 4, need 36
UBI: attached mtd10 (name "data", size 109 MiB) to ubi2
UBI: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes
UBI: min./max. I/O unit sizes: 2048/2048, sub-page size 2048
UBI: VID header offset: 2048 (aligned 2048), data offset: 4096
UBI: good PEBs: 875, bad PEBs: 4, corrupted PEBs: 0
UBI: user volume: 1, internal volumes: 1, max. volumes count: 128
UBI: max/mean erase counter: 2/1, WL threshold: 4096, image sequence number: 0
UBI: available PEBs: 0, total reserved PEBs: 875, PEBs reserved for bad PEB handling: 4
UBI: background thread "ubi_bgt2d" started, PID 698
input: gpio_keys.3 as /devices/gpio_keys.3/input/input0
at91_rtc fffffeb0.rtc: setting system clock to 2007-01-01 00:35:46 UTC (1167611746)
atmel_mci f0000000.mmc: version: 0x505
atmel_mci f0000000.mmc: using dma0chan5 for DMA transfers
atmel_mci f0000000.mmc: Atmel MCI controller at 0xf0000000 irq 17, 1 slots
atmel_mci f8000000.mmc: version: 0x505
atmel_mci f8000000.mmc: using dma1chan7 for DMA transfers
atmel_mci f8000000.mmc: Atmel MCI controller at 0xf8000000 irq 27, 1 slots
ALSA device list:
  No soundcards found.
UBIFS: mounted UBI device 0, volume 0, name "rootfs", R/O mode
UBIFS: LEB size: 126976 bytes (124 KiB), min./max. I/O unit sizes: 2048 bytes/2048 bytes
UBIFS: FS size: 58028032 bytes (55 MiB, 457 LEBs), journal size 9023488 bytes (8 MiB, 72 LEBs)
UBIFS: reserved for root: 0 bytes (0 KiB)
UBIFS: media format: w4/r0 (latest is w4/r0), UUID 6747A14E-C00D-4E75-9897-D6549ACD25D6, small LPT model
VFS: Mounted root (ubifs filesystem) readonly on device 0:11.
devtmpfs: mounted
Freeing unused kernel memory: 156K (c06c4000 - c06eb000)
UBIFS: background thread "ubifs_bgt0_0" started, PID 713
UBIFS: background thread "ubifs_bgt2_0" started, PID 718
UBIFS: recovery needed
UBIFS: recovery completed
UBIFS: mounted UBI device 2, volume 0, name "data"(null)
UBIFS: LEB size: 126976 bytes (124 KiB), min./max. I/O unit sizes: 2048 bytes/2048 bytes
UBIFS: FS size: 108691456 bytes (103 MiB, 856 LEBs), journal size 5459968 bytes (5 MiB, 43 LEBs)
UBIFS: reserved for root: 4952683 bytes (4836 KiB)
UBIFS: media format: w4/r0 (latest is w4/r0), UUID 478E9FAD-CE24-4FAF-9013-2E4678BAAB2B, small LPT model
Starting logging: OK
Populating /dev using udev: udevd[734]: starting version 1.9
udevd[734]: specified group 'input' unknown
atmel_usba_udc 500000.gadget: MMIO registers at 0xf8030000 mapped at d0d08000
atmel_usba_udc 500000.gadget: FIFO at 0x00500000 mapped at d2400000
done
Initializing random number generator... done.
UBI error: ubi_open_volume: cannot open device 0, volume 0, error -16
UBI error: ubi_open_volume: cannot open device 2, volume 0, error -16
Starting system message bus: done
Starting network...
Cannot find device "usb0"
Error: argument "usb0" is wrong: Unknown device
Error: argument "eth0" is wrong: Unknown device
Starting network time protocol daemon: ntpd.
Starting dropbear sshd: OK
Starting sshd: OK

Welcome to SAMA5D3 Explained Buildroot Board
SAMA5D3_Xplained login: 
drzile
Posts: 9
Joined: Thu Mar 26, 2015 11:42 am

Re: SAMA5D3 U(S)ART high baud rate problem

Thu Mar 26, 2015 2:27 pm

I'm not sure why my whole post can't be see, and why I can't delete previous post, so post it again...

Hello,

I'm testing U(S)ART on SAMA5D3 Xplained board and I have troubles
with receiving bytes at high baud rate (>115200bps).
I'm using Linux Kernel 3.10 from git://github.com/linux4sam/linux-at91.git
with Buildroot (Bootup log is below). 

USART2 (/dev/ttyS2) is connected to the other development board with MCU.
I wrote application which only read data from /dev/ttyS2 and write into log file
(using non blocking read function). Baudrate is set to the 2.0625Mbps (8N1 with RTS/CTS).
When I send bytes from MCU to Xplained board one by one
(at least 50us space between bytes), I receive them ok,
but when I send string of bytes (immediately after stop bit MCU send start bit of the next byte) overrun happen and I don't receive all bytes. I can see overruns with

cat /proc/tty/driver/atmel_serial 
serinfo:1.0 driver revision:
0: uart:ATMEL_SERIAL mmio:0xFFFFEE00 irq:37 tx:3064 rx:114 RTS|CTS|DTR|DSR|CD|RI
1: uart:ATMEL_SERIAL mmio:0xF001C000 irq:23 tx:0 rx:0 DSR|CD|RI
2: uart:ATMEL_SERIAL mmio:0xF0020000 irq:24 tx:57 rx:59 oe:22 RTS|CTS|DTR|DSR|CD|RI
5: uart:ATMEL_SERIAL mmio:0xF0024000 irq:25 tx:0 rx:0 CTS|DSR|CD|RI

MCU receive string of bytes from Xplained without problem, so I am sure that baud rate
and other UART parameters are ok. Also when I make loopback on Xplained USART
(connect directly USART2 pins TXD1 and RXD1) and send string of bytes on TXD1
I receive them ok. This is because SAMA5D3 send bytes over U(S)ART
with spaces (delay between bytes). On this way throughput on USART is not equal to the baud rate.

I tried other Kernels (3.16.2 and 3.19.2 from kernel.org and 3.18-at91 from Linux4SAM),
but results are the same. Also tried other U(S)ART,
with/without RTS/CTS and other baudrates.
Problem start with baudrate higher than 115200bps.

I suppose that problem is with DMA/interrupts and transferring bytes internally in
kernel driver drivers/tty/serial/atmel_serial.c, but I can't figure out how to solve it.

Is anybody tested USART at higher baudrates?

Regards,

------------------------------------------------------------------------
AT91Bootstrap 3.6.2 (пет, 20. мар 2015.  10:14:47 CET)

NAND: ONFI flash detected
NAND: Manufacturer ID: 0x2c Chip ID: 0x32
NAND: Disable On-Die ECC
NAND: Initialize PMECC params, cap: 0x4, sector: 0x200
NAND: Image: Copy 0x80000 bytes from 0x20000 to 0x26f00000
NAND: Done to load image

U-Boot 2014.04 (Mar 24 2015 - 12:53:34)

CPU: SAMA5D36
Crystal frequency:       12 MHz
CPU clock        :      528 MHz
Master clock     :      132 MHz
DRAM:  256 MiB
NAND:  256 MiB
MMC:   mci: 0
In:    serial
Out:   serial
Err:   serial
Net:   gmac0, macb0
Warning: failed to set MAC address

Hit any key to stop autoboot:  0 
NAND read: device 0 offset 0x120000, size 0x60ed
 24813 bytes read: OK

NAND read: device 0 offset 0x1a0000, size 0x34bdc0
 3456448 bytes read: OK
Kernel image @ 0x22000000 [ 0x000000 - 0x34bdc0 ]
## Flattened Device Tree blob at 21000000
   Booting using the fdt blob at 0x21000000
   Loading Device Tree to 2faf5000, end 2fafe0ec ... OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
Booting Linux on physical CPU 0x0
Linux version 3.10.0 (zile@Zile-Ubuntu) (gcc version 4.8.3 (Buildroot 2014.08) ) #1 Wed Mar 25 16:54:55 CET 2015
CPU: ARMv7 Processor [410fc051] revision 1 (ARMv7), cr=10c5387d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine: Atmel SAMA5 (Device Tree), model: SAMA5D3 Xplained
bootconsole [earlycon0] enabled
Memory policy: ECC disabled, Data cache writeback
AT91: Detected soc type: sama5d3
AT91: Detected soc subtype: sama5d36
AT91: sram at 0x300000 of 0x20000 mapped at 0xfef58000
CPU: All CPU(s) started in SVC mode.
Clocks: CPU 528 MHz, master 132 MHz, main 12.000 MHz
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 65024
Kernel command line: console=ttyS0,115200 earlyprintk mtdparts=atmel_nand:128k(at91bootstrap)ro,512k(uboot)ro,256K(ubootenv),256k(ubootenv2),
512k(dtb_a),8M(kernel_a),64M(rootfs_a),512k(dtb_b),8M(kernel_b),64M(rootfs_b),-(data) rootfstype=ubifs ubi.mtd=rootfs_a ubi.mtd=rootfs_b ubi.mtd=data root=ubi0:rootfs
PID hash table entries: 1024 (order: 0, 4096 bytes)
Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
Memory: 256MB = 256MB total
Memory: 252128k/252128k available, 10016k reserved, 0K highmem
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
    vmalloc : 0xd0800000 - 0xff000000   ( 744 MB)
    lowmem  : 0xc0000000 - 0xd0000000   ( 256 MB)
    modules : 0xbf000000 - 0xc0000000   (  16 MB)
      .text : 0xc0008000 - 0xc06c3dac   (6896 kB)
      .init : 0xc06c4000 - 0xc06eb488   ( 158 kB)
      .data : 0xc06ec000 - 0xc0752b80   ( 411 kB)
       .bss : 0xc0752b80 - 0xc0778c94   ( 153 kB)
NR_IRQS:16 nr_irqs:16 16
sched_clock: 32 bits at 100 Hz, resolution 10000000ns, wraps every 4294967286ms
Console: colour dummy device 80x30
Calibrating delay loop... 262.96 BogoMIPS (lpj=1314816)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
Setting up static identity map for 0xc046d718 - 0xc046d770
devtmpfs: initialized
pinctrl core: initialized pinctrl subsystem
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic coherent allocations
AT91: Power Management (with slow clock mode)
gpio-at91 fffff200.gpio: at address fefff200
gpio-at91 fffff400.gpio: at address fefff400
gpio-at91 fffff600.gpio: at address fefff600
gpio-at91 fffff800.gpio: at address fefff800
gpio-at91 fffffa00.gpio: at address fefffa00
pinctrl-at91 pinctrl.2: initialized AT91 pinctrl driver
bio: create slab <bio-0> at 0
at_hdmac ffffe600.dma-controller: Atmel AHB DMA Controller ( cpy slave ), 8 channels
at_hdmac ffffe800.dma-controller: Atmel AHB DMA Controller ( cpy slave ), 8 channels
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
of_dma_request_slave_channel: dma-names property missing or empty
at91_i2c f0014000.i2c: can't get a DMA channel for tx
at91_i2c f0014000.i2c: can't use DMA
at91_i2c f0014000.i2c: AT91 i2c bus driver.
at91_i2c f0018000.i2c: using dma0chan0 (tx) and dma0chan1 (rx) for DMA transfers
at91_i2c f0018000.i2c: AT91 i2c bus driver.
media: Linux media interface: v0.10
Linux video capture interface: v2.00
Advanced Linux Sound Architecture Driver Initialized.
cfg80211: Calling CRDA to update world regulatory domain
Switching to clocksource tcb_clksrc
NET: Registered protocol family 2
TCP established hash table entries: 2048 (order: 2, 16384 bytes)
TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
TCP: Hash tables configured (established 2048 bind 2048)
TCP: reno registered
UDP hash table entries: 256 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
msgmni has been set to 492
io scheduler noop registered (default)
f001c000.serial: ttyS1 at MMIO 0xf001c000 (irq = 23) is a ATMEL_SERIAL
f0020000.serial: ttyS2 at MMIO 0xf0020000 (irq = 24) is a ATMEL_SERIAL
f0024000.serial: ttyS5 at MMIO 0xf0024000 (irq = 25) is a ATMEL_SERIAL
ffffee00.serial: ttyS0 at MMIO 0xffffee00 (irq = 37) is a ATMEL_SERIAL
console [ttyS0] enabled, bootconsole disabled
console [ttyS0] enabled, bootconsole disabled
brd: module loaded
loop: module loaded
atmel_nand_nfc 70000000.nfc: NFC is probed.
atmel_nand: Use On Flash BBT
atmel_nand 60000000.nand: Using dma0chan2 for DMA transfers.
ONFI param page 0 valid
ONFI flash detected
NAND device: Manufacturer ID: 0x2c, Chip ID: 0xda (Micron MT29F2G08ABAEAWP), 256MiB, page size: 2048, OOB size: 64
atmel_nand 60000000.nand: ONFI params, minimum required ECC: 4 bits in 512 bytes
atmel_nand 60000000.nand: Initialize PMECC params, cap: 4, sector: 512
atmel_nand 60000000.nand: Using NFC Sram read and write
Bad block table found at page 131008, version 0x01
Bad block table found at page 130944, version 0x01
nand_read_bbt: bad block at 0x000000c80000
nand_read_bbt: bad block at 0x000000ca0000
11 cmdlinepart partitions found on MTD device atmel_nand
Creating 11 MTD partitions on "atmel_nand":
0x000000000000-0x000000020000 : "at91bootstrap"
0x000000020000-0x0000000a0000 : "uboot"
0x0000000a0000-0x0000000e0000 : "ubootenv"
0x0000000e0000-0x000000120000 : "ubootenv2"
0x000000120000-0x0000001a0000 : "dtb_a"
0x0000001a0000-0x0000009a0000 : "kernel_a"
0x0000009a0000-0x0000049a0000 : "rootfs_a"
0x0000049a0000-0x000004a20000 : "dtb_b"
0x000004a20000-0x000005220000 : "kernel_b"
0x000005220000-0x000009220000 : "rootfs_b"
0x000009220000-0x000010000000 : "data"
atmel_spi f0004000.spi: version: 0x213
atmel_spi f0004000.spi: Using dma0chan3 (tx) and dma0chan4 (rx) for DMA transfers
atmel_spi f0004000.spi: Atmel SPI Controller at 0xf0004000 (irq 18)
atmel_spi f0004000.spi: master is unqueued, this is deprecated
atmel_spi f8008000.spi: version: 0x213
atmel_spi f8008000.spi: Using dma1chan0 (tx) and dma1chan1 (rx) for DMA transfers
atmel_spi f8008000.spi: Atmel SPI Controller at 0xf8008000 (irq 28)
atmel_spi f8008000.spi: master is unqueued, this is deprecated
CAN device driver interface
at91_can f000c000.can: device registered (reg_base=d08e6000, irq=19)
at91_can f8010000.can: device registered (reg_base=d08e8000, irq=29)
libphy: MACB_mii_bus: probed
macb f0028000.ethernet eth0: no PHY found
macb f802c000.ethernet (unregistered net_device): invalid hw address, using random
libphy: MACB_mii_bus: probed
macb f802c000.ethernet eth0: no PHY found
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ehci-atmel: EHCI Atmel driver
atmel-ehci 700000.ehci: EHCI Host Controller
atmel-ehci 700000.ehci: new USB bus registered, assigned bus number 1
atmel-ehci 700000.ehci: irq 45, io mem 0x00700000
atmel-ehci 700000.ehci: USB 2.0 started, EHCI 1.00
usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb1: Product: EHCI Host Controller
usb usb1: Manufacturer: Linux 3.10.0 ehci_hcd
usb usb1: SerialNumber: 700000.ehci
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 3 ports detected
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
at91_ohci 600000.ohci: AT91 OHCI
at91_ohci 600000.ohci: new USB bus registered, assigned bus number 2
at91_ohci 600000.ohci: irq 45, io mem 0x00600000
usb usb2: New USB device found, idVendor=1d6b, idProduct=0001
usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb2: Product: AT91 OHCI
usb usb2: Manufacturer: Linux 3.10.0 ohci_hcd
usb usb2: SerialNumber: at91
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 3 ports detected
usbcore: registered new interface driver cdc_acm
cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
usbcore: registered new interface driver usb-storage
usbcore: registered new interface driver usbserial
usbcore: registered new interface driver usbserial_generic
usbserial: USB Serial support registered for generic
usbcore: registered new interface driver ftdi_sio
usbserial: USB Serial support registered for FTDI USB Serial Device
usbcore: registered new interface driver pl2303
usbserial: USB Serial support registered for pl2303
at91_rtc fffffeb0.rtc: rtc core: registered fffffeb0.rtc as rtc0
at91_rtc fffffeb0.rtc: AT91 Real Time Clock driver.
i2c /dev entries driver
Driver for 1-wire Dallas network protocol.
leds-gpio leds.4: pins are not configured from the driver
atmel_aes f8038000.aes: version: 0x135
atmel_aes f8038000.aes: Atmel AES - Using dma1chan2, dma1chan3 for DMA transfers
atmel_tdes f803c000.tdes: version: 0x701
atmel_tdes f803c000.tdes: using dma1chan4, dma1chan5 for DMA transfers
atmel_tdes f803c000.tdes: Atmel DES/TDES
atmel_sha f8034000.sha: version: 0x410
atmel_sha f8034000.sha: using dma1chan6 for DMA transfers
atmel_sha f8034000.sha: Atmel SHA1/SHA256/SHA224/SHA384/SHA512
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
TCP: cubic registered
NET: Registered protocol family 10
sit: IPv6 over IPv4 tunneling driver
NET: Registered protocol family 17
can: controller area network core (rev 20120528 abi 9)
NET: Registered protocol family 29
can: raw protocol (rev 20120528)
can: broadcast manager protocol (rev 20120528 t)
can: netlink gateway (rev 20130117) max_hops=1
VFP support v0.3: implementor 41 architecture 2 part 30 variant 5 rev 1
ThumbEE CPU extension supported.
Registering SWP/SWPB emulation handler
UBI: attaching mtd6 to ubi0
UBI: scanning is finished
UBI: attached mtd6 (name "rootfs_a", size 64 MiB) to ubi0
UBI: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes
UBI: min./max. I/O unit sizes: 2048/2048, sub-page size 2048
UBI: VID header offset: 2048 (aligned 2048), data offset: 4096
UBI: good PEBs: 510, bad PEBs: 2, corrupted PEBs: 0
UBI: user volume: 1, internal volumes: 1, max. volumes count: 128
UBI: max/mean erase counter: 2/0, WL threshold: 4096, image sequence number: 271684108
UBI: available PEBs: 0, total reserved PEBs: 510, PEBs reserved for bad PEB handling: 38
UBI: background thread "ubi_bgt0d" started, PID 689
UBI: attaching mtd9 to ubi1
UBI: scanning is finished
UBI: attached mtd9 (name "rootfs_b", size 64 MiB) to ubi1
UBI: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes
UBI: min./max. I/O unit sizes: 2048/2048, sub-page size 2048
UBI: VID header offset: 2048 (aligned 2048), data offset: 4096
UBI: good PEBs: 512, bad PEBs: 0, corrupted PEBs: 0
UBI: user volume: 0, internal volumes: 1, max. volumes count: 128
UBI: max/mean erase counter: 1/1, WL threshold: 4096, image sequence number: 2406101015
UBI: available PEBs: 468, total reserved PEBs: 44, PEBs reserved for bad PEB handling: 40
UBI: background thread "ubi_bgt1d" started, PID 695
UBI: attaching mtd10 to ubi2
UBI: scanning is finished
UBI warning: print_rsvd_warning: cannot reserve enough PEBs for bad PEB handling, reserved 4, need 36
UBI: attached mtd10 (name "data", size 109 MiB) to ubi2
UBI: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes
UBI: min./max. I/O unit sizes: 2048/2048, sub-page size 2048
UBI: VID header offset: 2048 (aligned 2048), data offset: 4096
UBI: good PEBs: 875, bad PEBs: 4, corrupted PEBs: 0
UBI: user volume: 1, internal volumes: 1, max. volumes count: 128
UBI: max/mean erase counter: 2/1, WL threshold: 4096, image sequence number: 0
UBI: available PEBs: 0, total reserved PEBs: 875, PEBs reserved for bad PEB handling: 4
UBI: background thread "ubi_bgt2d" started, PID 698
input: gpio_keys.3 as /devices/gpio_keys.3/input/input0
at91_rtc fffffeb0.rtc: setting system clock to 2007-01-01 00:35:46 UTC (1167611746)
atmel_mci f0000000.mmc: version: 0x505
atmel_mci f0000000.mmc: using dma0chan5 for DMA transfers
atmel_mci f0000000.mmc: Atmel MCI controller at 0xf0000000 irq 17, 1 slots
atmel_mci f8000000.mmc: version: 0x505
atmel_mci f8000000.mmc: using dma1chan7 for DMA transfers
atmel_mci f8000000.mmc: Atmel MCI controller at 0xf8000000 irq 27, 1 slots
ALSA device list:
  No soundcards found.
UBIFS: mounted UBI device 0, volume 0, name "rootfs", R/O mode
UBIFS: LEB size: 126976 bytes (124 KiB), min./max. I/O unit sizes: 2048 bytes/2048 bytes
UBIFS: FS size: 58028032 bytes (55 MiB, 457 LEBs), journal size 9023488 bytes (8 MiB, 72 LEBs)
UBIFS: reserved for root: 0 bytes (0 KiB)
UBIFS: media format: w4/r0 (latest is w4/r0), UUID 6747A14E-C00D-4E75-9897-D6549ACD25D6, small LPT model
VFS: Mounted root (ubifs filesystem) readonly on device 0:11.
devtmpfs: mounted
Freeing unused kernel memory: 156K (c06c4000 - c06eb000)
UBIFS: background thread "ubifs_bgt0_0" started, PID 713
UBIFS: background thread "ubifs_bgt2_0" started, PID 718
UBIFS: recovery needed
UBIFS: recovery completed
UBIFS: mounted UBI device 2, volume 0, name "data"(null)
UBIFS: LEB size: 126976 bytes (124 KiB), min./max. I/O unit sizes: 2048 bytes/2048 bytes
UBIFS: FS size: 108691456 bytes (103 MiB, 856 LEBs), journal size 5459968 bytes (5 MiB, 43 LEBs)
UBIFS: reserved for root: 4952683 bytes (4836 KiB)
UBIFS: media format: w4/r0 (latest is w4/r0), UUID 478E9FAD-CE24-4FAF-9013-2E4678BAAB2B, small LPT model
Starting logging: OK
Populating /dev using udev: udevd[734]: starting version 1.9
udevd[734]: specified group 'input' unknown
atmel_usba_udc 500000.gadget: MMIO registers at 0xf8030000 mapped at d0d08000
atmel_usba_udc 500000.gadget: FIFO at 0x00500000 mapped at d2400000
done
Initializing random number generator... done.
UBI error: ubi_open_volume: cannot open device 0, volume 0, error -16
UBI error: ubi_open_volume: cannot open device 2, volume 0, error -16
Starting system message bus: done
Starting network...
Cannot find device "usb0"
Error: argument "usb0" is wrong: Unknown device
Error: argument "eth0" is wrong: Unknown device
Starting network time protocol daemon: ntpd.
Starting dropbear sshd: OK
Starting sshd: OK

Welcome to SAMA5D3 Explained Buildroot Board
SAMA5D3_Xplained login: 
drzile
Posts: 9
Joined: Thu Mar 26, 2015 11:42 am

Re: SAMA5D3 U(S)ART high baud rate problem

Thu Mar 26, 2015 5:40 pm

Hello,

Thank you for your quick response.

Baudrate and RTS/CTS configuration is ok, because when SAMA5D3 send bytes MCU receive them without problems, also when MCU send one by one byte SAMA5D3 receive them without problems.

I tried several baud rates, with and without RTS/CTS and as baud rate is higher overruns start to happen more frequently with sending consecutive bytes.  

It seems that problem already exist on other processors running Linux
discussions/viewtopic.php/f,12/t,22595.html

Regards,
drzile
Posts: 9
Joined: Thu Mar 26, 2015 11:42 am

Re: SAMA5D3 U(S)ART high baud rate problem

Thu Mar 26, 2015 8:05 pm

I also says that problem is with volume of data, which start to occur on higher bit rate. 
So problem exists. 

I'm 100% sure that application works, because it works on different platform (OMAP based)
and it is single while loop with non blocking read function (it reads and logs whatever has in buffer). Also loopback on RXD and TXD works.

Also on OMAP platform when I write string of bytes to the UART buffer(with write to file function), it sends bytes without delays between. On SAMA5D3 Xplained there are delays between
each byte and that significantly reduces bytes per second (volume).

Can you please test on your Xplained board which is connected on some MCU
which send string bytes over UART? Or can you please send me Linux application which open connection on USART2 and receive bytes at for example 2.0625Mbps? I will post my application tomorrow. You can test also without connecting anything,
just send multiple bytes and you will see delays between each byte, as per picture 

http://postimg.org/image/bnfvnaf7v/


I know this issue can be posted into Linux part of forum...

Regards,
PS. I can't attach pictures on forum, it says that the board attachment quota has been reached.
blue_z
Location: USA
Posts: 1598
Joined: Thu Apr 19, 2007 10:15 pm

Re: SAMA5D3 U(S)ART high baud rate problem

Fri Mar 27, 2015 9:21 pm

drzile wrote:... it is single while loop with non blocking read function (it reads and logs whatever has in buffer).
That may be part of your problem.
Nonblocking reads are expensive (i.e. waste CPU cycles) and do nothing to avoid overruns at the USART.

BTW I've seen transmitted bytes out of a SAMA5D36's USART at 230400 baud with no intercharacter gaps.

Regards
drzile
Posts: 9
Joined: Thu Mar 26, 2015 11:42 am

Re: SAMA5D3 U(S)ART high baud rate problem

Mon Mar 30, 2015 11:42 am

Hello,

Here you can look into my application
https://www.dropbox.com/sh/vu1tdltblium ... qRY2a?dl=0

Application sleep every 2ms, and with top command in Linux console,
I can see it doesn't waste CPU time.
On the User button press application sends data over USART.
Received data from USART is written into /work/serial_data file.

Can you please post your application, and how you configure USART? 

blue_z can you please check Tx on USART with bigger baud rate (>=921600bps)?
This picture is with 921600 setting when 5 bytes are send (written to the USART buffer)
http://s24.postimg.org/nre8iz005/IMG_20 ... 113646.jpg

Regards,
drzile
Posts: 9
Joined: Thu Mar 26, 2015 11:42 am

Re: SAMA5D3 U(S)ART high baud rate problem

Mon Mar 30, 2015 11:54 am

PS. I want to achieve as fast as possible speed on USART or at least >=2Mbps. I run that speed on USART on other platforms without problems with byte rate.
fromeijn
Posts: 1
Joined: Wed Apr 01, 2015 9:55 am

Re: SAMA5D3 U(S)ART high baud rate problem

Sat Apr 04, 2015 1:50 pm

I have the same problem, I'm trying to receive a 921600 baud signal. sadly that baud-rate is not possible (as far as I know) because the usart clock is 66MHz and the formula for the baud-rate is clock/(16*prescaler). There is an option to reduce the oversampling (16 times) to 8 but have not tried that. My main problem now is that I can't get DMA to work on more than 1 usart, because I need to receive 4 data-streams. I'm now trying to edit the device-tree, but so far no luck  :cry:
drzile
Posts: 9
Joined: Thu Mar 26, 2015 11:42 am

Re: SAMA5D3 U(S)ART high baud rate problem

Thu Apr 16, 2015 2:35 pm

So, I still have 2 problems with USART at high speed:
1. On Usart Tx side. There are intercharacter gaps between each byte, which significantly
reduced overall throughput on USART bus.
2. On Usart Rx side. I lose some bytes and I can see overruns in /proc/tty/driver/atmel_serial file,
when receiving bytes without gaps between (immediately after stop bit external MCU send start bit)

I suspect that problem exists, because USART doesn't use DMA channels,
but I'm not 100% sure.
By default DMA channels are occupied by these peripherals:
DMA0 
channel0: i2c0 (tx) 
channel1: i2c0 (rx) 
channel2: i2c1 (tx) 
channel3: i2c1 (rx) 
channel4: nand 
channel5: spi0 (tx) 
channel6: spi0 (rx) 
channel7: mmc 
DMA1 
channel0: spi1 (tx) 
channel1: spi1 (rx) 
channel2: mmc 
channel3: aes 
channel4: aes 
channel5: sha 
channel6: tdes 
channel7: tdes 

If I add in device tree file (for example):
spi0: spi@f0004000 { 
+++ dmas = <0>, <0>; /* Do not use DMA for spi0 */ 
cs-gpios = <&pioD 13 0>, <0>, <0>, <&pioD 16 0>; 
status = "okay"; 
}; 

I will disable DMA channels for SPI0 i, but I am not sure how to enable USART to use these free channel (dma0channel6 and dma0channel7). I tried with something:
usart0: serial@f001c000 {
+++dmas = <1>, <1>; /* Use DMA for usart0 */
status = "okay";
};

But no success.
fromeijn, did you success to enable USARTs to use DMA channels? Which kernel do you use?

Regards, 
drzile
Posts: 9
Joined: Thu Mar 26, 2015 11:42 am

Re: SAMA5D3 U(S)ART high baud rate problem

Thu Apr 30, 2015 3:38 pm

We solved the issue. Problem was exactly because USART doesn't use DMA by default. We commented unnecessary DMA channels (for SPI, I2C) and enabled DMA channels for USART by adding
atmel,use-dma-rx;
atmel,use-dma-tx;
In .dts file. Message that USART use DMA channels will be displayed after USART is initialized.
Helpful link was:
https://git.kernel.org/cgit/linux/kerne ... s/v3.18.12

Regards

Return to “SAMA5-based”

Who is online

Users browsing this forum: sirdan and 1 guest