This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM572X: UART hardware flow control configuration

Other Parts Discussed in Thread: AM5728

Hi,

I'm using AM5728 processor, i want to configure the hardware flow control for UART9.

Can anyone suggest me how to configure the hardware flow control in DTS file.

Thanks,

Shekar

  • I will ask the software team to comment.
  • Hi,

    What you need to do in dts file is appropriate pinmuxing for uart_ctsn & uart_rtsn.
    Then from the 8250 driver you need to add the logic described in Section 24.3.4.8.1.3.2 Hardware Flow Control to enable the hw flow control, that is set the following registers, as described in TRM:
    UARTi.UART_EFR[7] AUTO_CTS_EN
    UARTi.UART_EFR[6] AUTO_RTS_EN

    Then set the uart rx fifo levels in UARTi.UART_TCR register.

    Best Regards,
    Yordan

  • Hi Yordan
    i use am5728+ti-sdk-am57xx-evm-03.01.00.06,i test hw flow control function,
    if use FIFO mode,auto-RTS & auto -CTS function is ok,
    but if i enable CONFIG_SERIAL_8250_DMA,auto -CTS is ok,but auto-RTS can't work,
    what can i do?
    thanks!
  • Are you using a custom evm or the TI reference designs?
    If you use reference designs I suggest you test with the latest SDK (03.04).

    Best Regards,
    Yordan
  • thanks Yordan!

    1:i use the latest SDK V03.03(not find V03.04),and get the same result,auto-RTS not work.

    2:i test uart hw flow control in our designed board,our board follow TI evm board,and has been checked by TI

    3:our schedule is very critical,so we cant upgrade SDK,our SDK base on V03.01.00.06


  • Hi Yordan,
    I am facing the same problem.
    Any ideas?

  • Hi Yordan:

     Please request the AE to reply this.

     Our customer is waiting for a long time.

     THanks.

    BR Rio

  • Hi,

    I'll have a detailed look in the sources. In the mean time have you tried using the omap_serial.c driver? It should support the rs485 with hardware flow control enabled. See: 

    e2e.ti.com/.../408682
    e2e.ti.com/.../932284

    Best Regards,
    Yordan

  • Hi  yordan

    1:i use rs232 mode;

    2: if i use DMA mode, auto-RTS is fail,but if i use FIFO mode(by disable CONFIG_SERIAL_8250_DMA),auto-RTS is ok;

    so,the DMA mode have some problems  in 8250_omap.c.i will try omap_serial.c.

  • Hi,

    I suppose omap_serial did not show good results either, is this correct?

    Can you show me a dump of your UART registers?
    Also share the relevant dts part & bootlog (dmesg).

    Best Regards,
    Yordan
  • 0x48066000 (0xb6efe000): 0x00000007

    0x48066004 (0xb6f52004): 0x00000010

    0x48066008 (0xb6f9c008): 0x00000001

    0x4806600C (0xb6f4700c): 0x00000000

    0x48066010 (0xb6f64010): 0x00000000

    0x48066014 (0xb6f0d014): 0x00000060

    0x48066018 (0xb6ff3018): 0x00000020

    0x4806601C (0xb6fd901c): 0x00000000

    0x48066020 (0xb6f00020): 0x00000000

    0x48066024 (0xb6f17024): 0x00000000

    0x48066028 (0xb6fbd028): 0x00000000

    0x4806602C (0xb6f6d02c): 0x00000000

    0x48066030 (0xb6fe0030): 0x000000EE

    0x48066034 (0xb6fc3034): 0x00000008

    0x48066038 (0xb6f13038): 0x00000040

    0x4806603C (0xb6f8803c): 0x00000000

    0x48066040 (0xb6fd7040): 0x000000CB

    0x48066044 (0xb6f91044): 0x00000004

    0x48066048 (0xb6fa4048): 0x00000000

    0x48066050 (0xb6fdb050): 0x50412E03

    0x48066054 (0xb6fc9054): 0x0000000D

    0x48066058 (0xb6fce058): 0x00000001

    0x4806605C (0xb6f2805c): 0x00000000

    0x48066060 (0xb6fc6060): 0x00000069

    0x48066064 (0xb6f6f064): 0x00000000

    0x48066068 (0xb6f4e068): 0x00000000

    0x4806606C (0xb6f8006c): 0x00000000

    0x48066070 (0xb6fc6070): 0x00000003

    0x48066074 (0xb6f33074): 0x0000001A

    0x48066080 (0xb6f5f080): 0x00000000

    0x48066084 (0xb6ff8084): 0x00000000

    0x4A003440 (0xb6f17440): 0x00050008

    0x4A003444 (0xb6f78444): 0x00010008

    0x4A003448 (0xb6f7a448): 0x00050008

    0x4A00344C (0xb6ff944c): 0x00000008

    &uart5 {

    pinctrl-names = "default";

    pinctrl-0 = <&uart5_pins>;

    };

    [    0.000000] Booting Linux on physical CPU 0x0
    [    0.000000] Initializing cgroup subsys cpuset
    [    0.000000] Initializing cgroup subsys cpu
    [    0.000000] Initializing cgroup subsys cpuacct
    [    0.000000] Linux version 4.4.19-gdb0b54cdad (root@AplusTC_ECG) (gcc version 5.3.1 20160113 (Linaro GCC 5.3-2016.02) ) #17 SMP PREEMPT Fri Sep 1 13:20:21 CST 2017
    [    0.000000] CPU: ARMv7 Processor [412fc0f2] revision 2 (ARMv7), cr=30c5387d
    [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache
    [    0.000000] Machine model: TI AM5728 ROM7510
    [    0.000000] Reserved memory: created CMA memory pool at 0x0000000095800000, size 56 MiB
    [    0.000000] Reserved memory: initialized node ipu2_cma@95800000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created CMA memory pool at 0x0000000099000000, size 64 MiB
    [    0.000000] Reserved memory: initialized node dsp1_cma@99000000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created CMA memory pool at 0x000000009d000000, size 32 MiB
    [    0.000000] Reserved memory: initialized node ipu1_cma@9d000000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created CMA memory pool at 0x000000009f000000, size 8 MiB
    [    0.000000] Reserved memory: initialized node dsp2_cma@9f000000, compatible id shared-dma-pool
    [    0.000000] cma: Reserved 24 MiB at 0x00000000fd400000
    [    0.000000] Forcing write-allocate cache policy for SMP
    [    0.000000] Memory policy: Data cache writealloc
    [    0.000000] OMAP4: Map 0x00000000fed00000 to fe600000 for dram barrier
    [    0.000000] On node 0 totalpages: 339200
    [    0.000000] free_area_init_node: node 0, pgdat c0983a40, node_mem_map eedc6000
    [    0.000000]   DMA zone: 1728 pages used for memmap
    [    0.000000]   DMA zone: 0 pages reserved
    [    0.000000]   DMA zone: 147456 pages, LIFO batch:31
    [    0.000000]   HighMem zone: 191744 pages, LIFO batch:31
    [    0.000000] DRA752 ES2.0
    [    0.000000] PERCPU: Embedded 11 pages/cpu @eed54000 s14848 r8192 d22016 u45056
    [    0.000000] pcpu-alloc: s14848 r8192 d22016 u45056 alloc=11*4096
    [    0.000000] pcpu-alloc: [0] 0 [0] 1
    [    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 337472
    [    0.000000] Kernel command line: console=ttyS2,115200n8 root=PARTUUID=00000000-02 rw rootfstype=ext4 rootwait
    [    0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
    [    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
    [    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
    [    0.000000] Memory: 1144688K/1356800K available (6763K kernel code, 302K rwdata, 2316K rodata, 332K init, 289K bss, 23696K reserved, 188416K cma-reserved, 742400K highmem)
    [    0.000000] Virtual kernel memory layout:
                       vector  : 0xffff0000 - 0xffff1000   (   4 kB)
                       fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
                       vmalloc : 0xf0800000 - 0xff800000   ( 240 MB)
                       lowmem  : 0xc0000000 - 0xf0000000   ( 768 MB)
                       pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
                       modules : 0xbf000000 - 0xbfe00000   (  14 MB)
                         .text : 0xc0008000 - 0xc08e609c   (9081 kB)
                         .init : 0xc08e7000 - 0xc093a000   ( 332 kB)
                         .data : 0xc093a000 - 0xc09859d0   ( 303 kB)
                          .bss : 0xc0987000 - 0xc09cf5c8   ( 290 kB)
    [    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
    [    0.000000] Preemptible hierarchical RCU implementation.
    [    0.000000]  Build-time adjustment of leaf fanout to 32.
    [    0.000000] NR_IRQS:16 nr_irqs:16 16
    [    0.000000] OMAP clockevent source: timer1 at 32786 Hz
    [    0.000000] Architected cp15 timer(s) running at 6.14MHz (virt).
    [    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x16af5adb9, max_idle_ns: 440795202250 ns
    [    0.000004] sched_clock: 56 bits at 6MHz, resolution 162ns, wraps every 4398046511023ns
    [    0.000015] Switching to timer-based delay loop, resolution 162ns
    [    0.000333] clocksource: 32k_counter: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 58327039986419 ns
    [    0.000341] OMAP clocksource: 32k_counter at 32768 Hz
    [    0.000748] Console: colour dummy device 80x30
    [    0.000771] Calibrating delay loop (skipped), value calculated using timer frequency.. 12.29 BogoMIPS (lpj=61475)
    [    0.000785] pid_max: default: 32768 minimum: 301
    [    0.000879] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
    [    0.000889] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)
    [    0.001429] Initializing cgroup subsys io
    [    0.001446] Initializing cgroup subsys memory
    [    0.001471] Initializing cgroup subsys devices
    [    0.001483] Initializing cgroup subsys freezer
    [    0.001494] Initializing cgroup subsys perf_event
    [    0.001505] Initializing cgroup subsys pids
    [    0.001531] CPU: Testing write buffer coherency: ok
    [    0.001727] /cpus/cpu@0 missing clock-frequency property
    [    0.001742] /cpus/cpu@1 missing clock-frequency property
    [    0.001753] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
    [    0.001792] Setting up static identity map for 0x800082c0 - 0x80008318
    [    0.080087] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
    [    0.080147] Brought up 2 CPUs
    [    0.080160] SMP: Total of 2 processors activated (24.59 BogoMIPS).
    [    0.080166] CPU: All CPU(s) started in SVC mode.
    [    0.080537] devtmpfs: initialized
    [    0.108738] VFP support v0.3: implementor 41 architecture 4 part 30 variant f rev 0
    [    0.109690] omap_hwmod: l3_main_2 using broken dt data from ocp
    [    0.220034] omap_hwmod: dcan2: _wait_target_disable failed
    [    0.314087] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
    [    0.318034] pinctrl core: initialized pinctrl subsystem
    [    0.318882] NET: Registered protocol family 16
    [    0.319795] DMA: preallocated 256 KiB pool for atomic coherent allocations
    [    0.350240] cpuidle: using governor ladder
    [    0.380266] cpuidle: using governor menu
    [    0.389002] gpiochip_add: registered GPIOs 0 to 31 on device: gpio
    [    0.389547] OMAP GPIO hardware version 0.1
    [    0.390227] gpiochip_add: registered GPIOs 32 to 63 on device: gpio
    [    0.391155] gpiochip_add: registered GPIOs 64 to 95 on device: gpio
    [    0.392038] gpiochip_add: registered GPIOs 96 to 127 on device: gpio
    [    0.392910] gpiochip_add: registered GPIOs 128 to 159 on device: gpio
    [    0.393767] gpiochip_add: registered GPIOs 160 to 191 on device: gpio
    [    0.394618] gpiochip_add: registered GPIOs 192 to 223 on device: gpio
    [    0.395479] gpiochip_add: registered GPIOs 224 to 255 on device: gpio
    [    0.396097] irq: no irq domain found for /ocp/l4@4a000000/scm@2000/pinmux@1400 !
    [    0.423431] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
    [    0.423442] hw-breakpoint: maximum watchpoint size is 8 bytes.
    [    0.423902] omap4_sram_init:Unable to allocate sram needed to handle errata I688
    [    0.423911] omap4_sram_init:Unable to get sram pool needed to handle errata I688
    [    0.424491] OMAP DMA hardware revision 0.0
    [    0.464590] omap-dma-engine 4a056000.dma-controller: OMAP DMA engine driver
    [    0.465752] edma 43300000.edma: memcpy is disabled
    [    0.470621] edma 43300000.edma: TI EDMA DMA engine driver
    [    0.471048] of_get_named_gpiod_flags: can't parse 'gpio' property of node '/fixedregulator-vdd_3v3[0]'
    [    0.471264] of_get_named_gpiod_flags: can't parse 'gpio' property of node '/fixedregulator-aic_dvdd[0]'
    [    0.471498] of_get_named_gpiod_flags: parsed 'gpio' property of node '/fixedregulator-vtt[0]' - status (0)
    [    0.474420] omap-iommu 40d01000.mmu: 40d01000.mmu registered
    [    0.474604] omap-iommu 40d02000.mmu: 40d02000.mmu registered
    [    0.474760] omap-iommu 58882000.mmu: 58882000.mmu registered
    [    0.474915] omap-iommu 55082000.mmu: 55082000.mmu registered
    [    0.475191] omap-iommu 41501000.mmu: 41501000.mmu registered
    [    0.475376] omap-iommu 41502000.mmu: 41502000.mmu registered
    [    0.478299] palmas 0-0058: Irq flag is 0x00000008
    [    0.491887] palmas 0-0058: Muxing GPIO ff, PWM 0, LED 0
    [    0.571781] omap_i2c 48070000.i2c: bus 0 rev0.12 at 400 kHz
    [    0.572405] omap_i2c 48060000.i2c: bus 2 rev0.12 at 100 kHz
    [    0.572780] omap_i2c 4807a000.i2c: bus 3 rev0.12 at 100 kHz
    [    0.573253] omap_i2c 4807c000.i2c: bus 4 rev0.12 at 100 kHz
    [    0.573460] media: Linux media interface: v0.10
    [    0.573511] Linux video capture interface: v2.00
    [    0.573552] pps_core: LinuxPPS API ver. 1 registered
    [    0.573559] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [    0.573584] PTP clock support registered
    [    0.573627] EDAC MC: Ver: 3.0.0
    [    0.574383] omap-mailbox 4883c000.mailbox: omap mailbox rev 0x400
    [    0.574677] omap-mailbox 4883e000.mailbox: omap mailbox rev 0x400
    [    0.574974] omap-mailbox 48840000.mailbox: omap mailbox rev 0x400
    [    0.575257] omap-mailbox 48842000.mailbox: omap mailbox rev 0x400
    [    0.575591] Advanced Linux Sound Architecture Driver Initialized.
    [    0.576100] Bluetooth: Core ver 2.21
    [    0.576133] NET: Registered protocol family 31
    [    0.576141] Bluetooth: HCI device and connection manager initialized
    [    0.576153] Bluetooth: HCI socket layer initialized
    [    0.576165] Bluetooth: L2CAP socket layer initialized
    [    0.576196] Bluetooth: SCO socket layer initialized
    [    0.576523] clocksource: Switched to clocksource arch_sys_counter
    [    0.587235] NET: Registered protocol family 2
    [    0.587730] TCP established hash table entries: 8192 (order: 3, 32768 bytes)
    [    0.587793] TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
    [    0.587918] TCP: Hash tables configured (established 8192 bind 8192)
    [    0.587966] UDP hash table entries: 512 (order: 2, 16384 bytes)
    [    0.587998] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
    [    0.588141] NET: Registered protocol family 1
    [    0.588405] RPC: Registered named UNIX socket transport module.
    [    0.588414] RPC: Registered udp transport module.
    [    0.588421] RPC: Registered tcp transport module.
    [    0.588427] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [    0.588443] PCI: CLS 0 bytes, default 64
    [    0.589486] hw perfevents: enabled with armv7_cortex_a15 PMU driver, 7 counters available
    [    0.591907] futex hash table entries: 512 (order: 3, 32768 bytes)
    [    0.599871] squashfs: version 4.0 (2009/01/31) Phillip Lougher
    [    0.600536] NFS: Registering the id_resolver key type
    [    0.600564] Key type id_resolver registered
    [    0.600571] Key type id_legacy registered
    [    0.600645] ntfs: driver 2.1.32 [Flags: R/O].
    [    0.602291] bounce: pool size: 64 pages
    [    0.602445] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 248)
    [    0.602462] io scheduler noop registered
    [    0.602473] io scheduler deadline registered
    [    0.602505] io scheduler cfq registered (default)
    [    0.608071] pinctrl-single 4a003400.pinmux: 282 pins at pa fc003400 size 1128
    [    0.611975] dra7-pcie 51000000.pcie: GPIO lookup for consumer (null)
    [    0.611987] dra7-pcie 51000000.pcie: using device tree for GPIO lookup
    [    0.611998] of_get_named_gpiod_flags: can't parse 'gpios' property of node '/ocp/axi@0/pcie@51000000[0]'
    [    0.612008] of_get_named_gpiod_flags: can't parse 'gpio' property of node '/ocp/axi@0/pcie@51000000[0]'
    [    0.612016] dra7-pcie 51000000.pcie: using lookup tables for GPIO lookup
    [    0.612025] dra7-pcie 51000000.pcie: lookup for GPIO (null) failed
    [    0.612127] PCI host bridge /ocp/axi@0/pcie@51000000 ranges:
    [    0.612138]   No bus range found for /ocp/axi@0/pcie@51000000, using [bus 00-ff]
    [    0.612170]    IO 0x20003000..0x20012fff -> 0x00000000
    [    0.612190]   MEM 0x20013000..0x2fffffff -> 0x20013000
    [    0.642876] dra7-pcie 51000000.pcie: link is not up
    [    0.643059] dra7-pcie 51000000.pcie: PCI host bridge to bus 0000:00
    [    0.643072] pci_bus 0000:00: root bus resource [bus 00-ff]
    [    0.643083] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
    [    0.643092] pci_bus 0000:00: root bus resource [mem 0x20013000-0x2fffffff]
    [    0.643125] pci 0000:00:00.0: [104c:8888] type 01 class 0x060400
    [    0.643169] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x000fffff]
    [    0.643191] pci 0000:00:00.0: reg 0x14: [mem 0x00000000-0x0000ffff]
    [    0.643258] pci 0000:00:00.0: supports D1
    [    0.643267] pci 0000:00:00.0: PME# supported from D0 D1 D3hot
    [    0.643505] PCI: bus0: Fast back to back transfers disabled
    [    0.643630] PCI: bus1: Fast back to back transfers enabled
    [    0.643679] irq: no irq domain found for /ocp/axi@0/pcie@51000000/interrupt-controller !
    [    0.643711] pci 0000:00:00.0: BAR 0: assigned [mem 0x20100000-0x201fffff]
    [    0.643726] pci 0000:00:00.0: BAR 1: assigned [mem 0x20020000-0x2002ffff]
    [    0.643739] pci 0000:00:00.0: PCI bridge to [bus 01]
    [    0.643976] pcieport 0000:00:00.0: Signaling PME through PCIe PME interrupt
    [    0.643989] pcie_pme 0000:00:00.0:pcie01: service driver pcie_pme loaded
    [    0.644114] aer 0000:00:00.0:pcie02: service driver aer loaded
    [    0.644390] dra7-pcie 51800000.pcie: GPIO lookup for consumer (null)
    [    0.644401] dra7-pcie 51800000.pcie: using device tree for GPIO lookup
    [    0.644411] of_get_named_gpiod_flags: can't parse 'gpios' property of node '/ocp/axi@1/pcie@51800000[0]'
    [    0.644420] of_get_named_gpiod_flags: can't parse 'gpio' property of node '/ocp/axi@1/pcie@51800000[0]'
    [    0.644428] dra7-pcie 51800000.pcie: using lookup tables for GPIO lookup
    [    0.644437] dra7-pcie 51800000.pcie: lookup for GPIO (null) failed
    [    0.644529] PCI host bridge /ocp/axi@1/pcie@51800000 ranges:
    [    0.644539]   No bus range found for /ocp/axi@1/pcie@51800000, using [bus 00-ff]
    [    0.644570]    IO 0x30003000..0x30012fff -> 0x00000000
    [    0.644590]   MEM 0x30013000..0x3fffffff -> 0x30013000
    [    0.675897] dra7-pcie 51800000.pcie: link is not up
    [    0.676070] dra7-pcie 51800000.pcie: PCI host bridge to bus 0001:00
    [    0.676082] pci_bus 0001:00: root bus resource [bus 00-ff]
    [    0.676094] pci_bus 0001:00: root bus resource [io  0x10000-0x1ffff] (bus address [0x0000-0xffff])
    [    0.676103] pci_bus 0001:00: root bus resource [mem 0x30013000-0x3fffffff]
    [    0.676133] pci 0001:00:00.0: [104c:8888] type 01 class 0x060400
    [    0.676172] pci 0001:00:00.0: reg 0x10: [mem 0x00000000-0x000fffff]
    [    0.676193] pci 0001:00:00.0: reg 0x14: [mem 0x00000000-0x0000ffff]
    [    0.676253] pci 0001:00:00.0: supports D1
    [    0.676262] pci 0001:00:00.0: PME# supported from D0 D1 D3hot
    [    0.676492] PCI: bus0: Fast back to back transfers disabled
    [    0.676634] PCI: bus1: Fast back to back transfers enabled
    [    0.676681] irq: no irq domain found for /ocp/axi@0/pcie@51000000/interrupt-controller !
    [    0.676715] irq: no irq domain found for /ocp/axi@1/pcie@51800000/interrupt-controller !
    [    0.676741] pci 0001:00:00.0: BAR 0: assigned [mem 0x30100000-0x301fffff]
    [    0.676756] pci 0001:00:00.0: BAR 1: assigned [mem 0x30020000-0x3002ffff]
    [    0.676767] pci 0001:00:00.0: PCI bridge to [bus 01]
    [    0.676987] pcieport 0001:00:00.0: Signaling PME through PCIe PME interrupt
    [    0.677000] pcie_pme 0001:00:00.0:pcie01: service driver pcie_pme loaded
    [    0.677119] aer 0001:00:00.0:pcie02: service driver aer loaded
    [    0.678276] pwm-backlight backlight: GPIO lookup for consumer enable
    [    0.678287] pwm-backlight backlight: using device tree for GPIO lookup
    [    0.678296] of_get_named_gpiod_flags: can't parse 'enable-gpios' property of node '/backlight[0]'
    [    0.678305] of_get_named_gpiod_flags: can't parse 'enable-gpio' property of node '/backlight[0]'
    [    0.678313] pwm-backlight backlight: using lookup tables for GPIO lookup
    [    0.678321] pwm-backlight backlight: lookup for GPIO enable failed
    [    0.678352] backlight supply power not found, using dummy regulator
    [    0.739507] Serial: 8250/16550 driver, 10 ports, IRQ sharing disabled
    [    0.742883] console [ttyS2] disabled
    [    0.742935] 48020000.serial: ttyS2 at MMIO 0x48020000 (irq = 303, base_baud = 3000000) is a 8250
    [    1.831155] console [ttyS2] enabled
    [    1.835573] 4806e000.serial: ttyS3 at MMIO 0x4806e000 (irq = 304, base_baud = 3000000) is a 8250
    [    1.845318] 48066000.serial: ttyS4 at MMIO 0x48066000 (irq = 305, base_baud = 3000000) is a 8250
    [    1.855458] [drm] Initialized drm 1.1.0 20060810
    [    1.862204] OMAP DSS rev 6.1
    [    1.865957] omapdss_dss 58000000.dss: bound 58001000.dispc (ops dispc_component_ops)
    [    1.874445] omapdss_dss 58000000.dss: bound 58040000.encoder (ops hdmi5_component_ops)
    [    1.883368] of_get_named_gpiod_flags: parsed 'hpd-gpios' property of node '/connector[0]' - status (0)
    [    1.883664] panel-dpi display: GPIO lookup for consumer enable
    [    1.883673] panel-dpi display: using device tree for GPIO lookup
    [    1.883683] of_get_named_gpiod_flags: can't parse 'enable-gpios' property of node '/display[0]'
    [    1.883693] of_get_named_gpiod_flags: can't parse 'enable-gpio' property of node '/display[0]'
    [    1.883700] panel-dpi display: using lookup tables for GPIO lookup
    [    1.883709] panel-dpi display: lookup for GPIO enable failed
    [    1.883891] ch7055_init
    [    1.892492] loop: module loaded
    [    1.898355] spi spi1.1: not using DMA for McSPI (-19)
    [    1.904793] m25p80 spi32766.0: found w25q32, expected w25q128
    [    1.910594] m25p80 spi32766.0: w25q32 (4096 Kbytes)
    [    1.917456] libphy: Fixed MDIO Bus: probed
    [    1.922092] igb: Intel(R) Gigabit Ethernet Network Driver - version 5.3.0-k
    [    1.929102] igb: Copyright (c) 2007-2014 Intel Corporation.
    [    1.986555] davinci_mdio 48485000.mdio: davinci mdio revision 1.6
    [    1.992678] davinci_mdio 48485000.mdio: detected phy mask ffffffef
    [    2.000880] Atheros 8035 ethernet 48485000.mdio:04: GPIO lookup for consumer reset
    [    2.000891] Atheros 8035 ethernet 48485000.mdio:04: using lookup tables for GPIO lookup
    [    2.000901] Atheros 8035 ethernet 48485000.mdio:04: lookup for GPIO reset failed
    [    2.000915] libphy: 48485000.mdio: probed
    [    2.004943] davinci_mdio 48485000.mdio: phy[4]: device 48485000.mdio:04, driver Atheros 8035 ethernet
    [    2.014881] cpsw 48484000.ethernet: Detected MACID = 00:01:02:03:04:05
    [    2.022318] PPP generic driver version 2.4.2
    [    2.026823] PPP BSD Compression module registered
    [    2.031549] PPP Deflate Compression module registered
    [    2.036757] PPP MPPE Compression module registered
    [    2.041578] NET: Registered protocol family 24
    [    2.046988] mousedev: PS/2 mouse device common for all mice
    [    2.078085] rtc-s35390a 2-0030: s35390a_get_datetime: tm is secs=19, mins=33, hours=6, mday=1, mon=8, year=117, wday=5
    [    2.078904] rtc-s35390a 2-0030: s35390a_get_datetime: tm is secs=19, mins=33, hours=6, mday=1, mon=8, year=117, wday=5
    [    2.079320] rtc rtc0: rtc-s35390a: dev (254:0)
    [    2.079339] rtc-s35390a 2-0030: rtc core: registered rtc-s35390a as rtc0
    [    2.086118] i2c /dev entries driver
    [    2.090235] pca954x 4-0070: GPIO lookup for consumer reset
    [    2.090245] pca954x 4-0070: using device tree for GPIO lookup
    [    2.090255] of_get_named_gpiod_flags: can't parse 'reset-gpios' property of node '/ocp/i2c@4807c000/pca954x@70[0]'
    [    2.090264] of_get_named_gpiod_flags: can't parse 'reset-gpio' property of node '/ocp/i2c@4807c000/pca954x@70[0]'
    [    2.090272] pca954x 4-0070: using lookup tables for GPIO lookup
    [    2.090280] pca954x 4-0070: lookup for GPIO reset failed
    [    2.107064] i2c i2c-4: Added multiplexed i2c bus 5
    [    2.112304] i2c i2c-4: Added multiplexed i2c bus 6
    [    2.117907] pca953x 7-0022: failed reading register
    [    2.122817] pca953x: probe of 7-0022 failed with error -121
    [    2.128499] i2c i2c-4: Added multiplexed i2c bus 7
    [    2.133576] i2c i2c-4: Added multiplexed i2c bus 8
    [    2.138409] pca954x 4-0070: registered 4 multiplexed busses for I2C switch pca9545
    [    2.147766] lm75 0-0048: hwmon0: sensor 'tmp112'
    [    2.154500] of_get_named_gpiod_flags: parsed 'wdt-en' property of node '/ocp/i2c@48060000/adv-wdt-i2c@29[0]' - status (0)
    [    2.154555] of_get_named_gpiod_flags: parsed 'wdt-ping' property of node '/ocp/i2c@48060000/adv-wdt-i2c@29[0]' - status (0)
    [    2.276550] adv-wdt-i2c 2-0029: Advantech Watchdog Timer enabled. timeout=60s (nowayout=0), Ver.17
    [    2.286547] omap_hsmmc 4809c000.mmc: GPIO lookup for consumer cd
    [    2.286558] omap_hsmmc 4809c000.mmc: using device tree for GPIO lookup
    [    2.286587] of_get_named_gpiod_flags: parsed 'cd-gpios' property of node '/ocp/mmc@4809c000[0]' - status (0)
    [    2.286618] omap_hsmmc 4809c000.mmc: Got CD GPIO
    [    2.291259] omap_hsmmc 4809c000.mmc: GPIO lookup for consumer wp
    [    2.291267] omap_hsmmc 4809c000.mmc: using device tree for GPIO lookup
    [    2.291276] of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/ocp/mmc@4809c000[0]'
    [    2.291285] of_get_named_gpiod_flags: can't parse 'wp-gpio' property of node '/ocp/mmc@4809c000[0]'
    [    2.291292] omap_hsmmc 4809c000.mmc: using lookup tables for GPIO lookup
    [    2.291300] omap_hsmmc 4809c000.mmc: lookup for GPIO wp failed
    [    2.326916] omap_hsmmc 480b4000.mmc: GPIO lookup for consumer cd
    [    2.326927] omap_hsmmc 480b4000.mmc: using device tree for GPIO lookup
    [    2.326937] of_get_named_gpiod_flags: can't parse 'cd-gpios' property of node '/ocp/mmc@480b4000[0]'
    [    2.326946] of_get_named_gpiod_flags: can't parse 'cd-gpio' property of node '/ocp/mmc@480b4000[0]'
    [    2.326954] omap_hsmmc 480b4000.mmc: using lookup tables for GPIO lookup
    [    2.326962] omap_hsmmc 480b4000.mmc: lookup for GPIO cd failed
    [    2.326973] omap_hsmmc 480b4000.mmc: GPIO lookup for consumer wp
    [    2.326980] omap_hsmmc 480b4000.mmc: using device tree for GPIO lookup
    [    2.326988] of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/ocp/mmc@480b4000[0]'
    [    2.326996] of_get_named_gpiod_flags: can't parse 'wp-gpio' property of node '/ocp/mmc@480b4000[0]'
    [    2.327003] omap_hsmmc 480b4000.mmc: using lookup tables for GPIO lookup
    [    2.327011] omap_hsmmc 480b4000.mmc: lookup for GPIO wp failed
    [    2.327181] omap_hsmmc 480b4000.mmc: no pinctrl state for sdr25 mode
    [    2.333563] omap_hsmmc 480b4000.mmc: no pinctrl state for sdr12 mode
    [    2.356664] vdd_3v3: supplied by regen1
    [    2.416798] omap_hsmmc 480ad000.mmc: GPIO lookup for consumer cd
    [    2.416809] omap_hsmmc 480ad000.mmc: using device tree for GPIO lookup
    [    2.416819] of_get_named_gpiod_flags: can't parse 'cd-gpios' property of node '/ocp/mmc@480ad000[0]'
    [    2.416828] of_get_named_gpiod_flags: can't parse 'cd-gpio' property of node '/ocp/mmc@480ad000[0]'
    [    2.416835] omap_hsmmc 480ad000.mmc: using lookup tables for GPIO lookup
    [    2.416843] omap_hsmmc 480ad000.mmc: lookup for GPIO cd failed
    [    2.416853] omap_hsmmc 480ad000.mmc: GPIO lookup for consumer wp
    [    2.416860] omap_hsmmc 480ad000.mmc: using device tree for GPIO lookup
    [    2.416868] of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/ocp/mmc@480ad000[0]'
    [    2.416876] of_get_named_gpiod_flags: can't parse 'wp-gpio' property of node '/ocp/mmc@480ad000[0]'
    [    2.416883] omap_hsmmc 480ad000.mmc: using lookup tables for GPIO lookup
    [    2.416891] omap_hsmmc 480ad000.mmc: lookup for GPIO wp failed
    [    2.457025] of_get_named_gpiod_flags: parsed 'gpios' property of node '/leds/led@0[0]' - status (0)
    [    2.457186] of_get_named_gpiod_flags: parsed 'gpios' property of node '/leds/led@1[0]' - status (0)
    [    2.457306] of_get_named_gpiod_flags: parsed 'gpios' property of node '/leds/led@2[0]' - status (0)
    [    2.457806] ledtrig-cpu: registered to indicate activity on CPUs
    [    2.467435] of_get_named_gpiod_flags: can't parse 'gpio-reset' property of node '/ocp/i2c@4807c000/pca954x@70/i2c@1/tlv320aic3106@1b[0]'
    [    2.467574] aic_dvdd_fixed: supplied by vdd_3v3
    [    2.474633] NET: Registered protocol family 10
    [    2.489855] sit: IPv6 over IPv4 tunneling driver
    [    2.495045] NET: Registered protocol family 17
    [    2.499633] Bluetooth: RFCOMM TTY layer initialized
    [    2.504541] Bluetooth: RFCOMM socket layer initialized
    [    2.509765] Bluetooth: RFCOMM ver 1.11
    [    2.513545] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
    [    2.518892] Bluetooth: BNEP filters: protocol multicast
    [    2.524146] Bluetooth: BNEP socket layer initialized
    [    2.529145] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
    [    2.535095] Bluetooth: HIDP socket layer initialized
    [    2.540307] Key type dns_resolver registered
    [    2.544685] omap_voltage_late_init: Voltage driver support not added
    [    2.551565] Adding alias for supply vdd,cpu0 -> vdd,4a003b20.oppdm
    [    2.557787] Adding alias for supply vbb,cpu0 -> vbb,4a003b20.oppdm
    [    2.564469] Adding alias for supply vdd,cpu0 -> vdd,4a003b20.oppdm
    [    2.570702] Adding alias for supply vbb,cpu0 -> vbb,4a003b20.oppdm
    [    2.578849] Power Management for TI OMAP4+ devices.
    [    2.583946] Registering SWP/SWPB emulation handler
    [    2.590616] dmm 4e000000.dmm: initialized all PAT entries
    [    2.619325] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
    [    2.625967] [drm] No driver support for vblank timestamp query.
    [    2.684566] mmc0: host does not support reading read-only switch, assuming write-enable
    [    2.695996] mmc0: new high speed SDHC card at address 0007
    [    2.701811] mmcblk0: mmc0:0007 SD08G 7.42 GiB
    [    2.707874]  mmcblk0: p1 p2
    [    2.749823] mmc1: MAN_BKOPS_EN bit is not set
    [    2.757048] mmc1: new DDR MMC card at address 0001
    [    2.772155] mmcblk1: mmc1:0001 Q2J55L 7.09 GiB
    [    2.786884] mmcblk1boot0: mmc1:0001 Q2J55L partition 1 16.0 MiB
    [    2.793006] mmcblk1boot1: mmc1:0001 Q2J55L partition 2 16.0 MiB
    [    2.800205]  mmcblk1: p1 p2
    [    2.898921] [drm] Enabling DMM ywrap scrolling
    [    2.940626] Console: switching to colour frame buffer device 128x48
    [    2.951283] omapdrm omapdrm.0: fb0: omapdrm frame buffer device
    [    2.986829] [drm] Initialized omapdrm 1.0.0 20110917 on minor 0
    [    3.003424] of_get_named_gpiod_flags: can't parse 'simple-audio-card,hp-det-gpio' property of node '/sound@0[0]'
    [    3.003434] of_get_named_gpiod_flags: can't parse 'simple-audio-card,mic-det-gpio' property of node '/sound@0[0]'
    [    3.004501] asoc-simple-card sound@0: tlv320aic3x-hifi <-> 48468000.mcasp mapping ok
    [    3.014170] of_get_named_gpiod_flags: parsed 'gpios' property of node '/gpio_keys/powerbtn[0]' - status (0)
    [    3.014436] input: gpio_keys as /devices/platform/gpio_keys/input/input0
    [    3.021604] of_get_named_gpiod_flags: parsed 'gpios' property of node '/sleep_key/sleepbtn[0]' - status (0)
    [    3.022558] rtc-s35390a 2-0030: s35390a_get_datetime: tm is secs=20, mins=33, hours=6, mday=1, mon=8, year=117, wday=5
    [    3.022583] rtc-s35390a 2-0030: setting system clock to 2017-09-01 06:33:20 UTC (1504247600)
    [    3.041222] aic_dvdd_fixed: disabling
    [    3.045083] ldousb: disabling
    [    3.048524] ALSA device list:
    [    3.051503]   #0: BeagleBoard-X15
    [    4.082164] EXT4-fs (mmcblk0p2): recovery complete
    [    4.092073] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
    [    4.100265] VFS: Mounted root (ext4 filesystem) on device 179:2.
    [    4.119304] devtmpfs: mounted
    [    4.122485] Freeing unused kernel memory: 332K (c08e7000 - c093a000)
    [    4.128885] This architecture does not have kernel memory protection.
    [    4.481818] random: systemd: uninitialized urandom read (16 bytes read, 17 bits of entropy available)
    [    4.497526] random: systemd: uninitialized urandom read (16 bytes read, 18 bits of entropy available)
    [    4.509304] systemd[1]: systemd 229 running in system mode. (+PAM -AUDIT -SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP -LIBCRYPTSETUP -GCRYPT -GNUTLS +ACL +XZ -LZ4 -SECCOMP +BLKID -ELFUTILS +KMOD -IDN)
    [    4.527852] systemd[1]: Detected architecture arm.
    [    4.568412] systemd[1]: Set hostname to <am57xx-evm>.
    [    4.646097] random: systemd-sysv-ge: uninitialized urandom read (16 bytes read, 19 bits of entropy available)
    [    4.667479] random: systemd-gpt-aut: uninitialized urandom read (16 bytes read, 19 bits of entropy available)
    [    4.678171] random: systemd-gpt-aut: uninitialized urandom read (16 bytes read, 19 bits of entropy available)
    [    4.719411] random: systemd-sysv-ge: uninitialized urandom read (16 bytes read, 20 bits of entropy available)
    [    4.746985] random: systemd-sysv-ge: uninitialized urandom read (16 bytes read, 21 bits of entropy available)
    [    4.906971] random: systemd: uninitialized urandom read (16 bytes read, 24 bits of entropy available)
    [    4.916446] random: systemd: uninitialized urandom read (16 bytes read, 24 bits of entropy available)
    [    4.926318] random: systemd: uninitialized urandom read (16 bytes read, 24 bits of entropy available)
    [    5.566208] systemd[1]: alignment.service: Found ordering cycle on alignment.service/start
    [    5.574603] systemd[1]: alignment.service: Found dependency on sysinit.target/start
    [    5.582332] systemd[1]: alignment.service: Found dependency on alignment.service/start
    [    5.590357] systemd[1]: alignment.service: Breaking ordering cycle by deleting job alignment.service/start
    [    5.600072] systemd[1]: alignment.service: Job alignment.service/start deleted to break ordering cycle starting with alignment.service/start
    [    5.638980] systemd[1]: Reached target Swap.
    [    5.666922] systemd[1]: Listening on Network Service Netlink Socket.
    [    5.696816] systemd[1]: Listening on udev Control Socket.
    [    5.726777] systemd[1]: Listening on Syslog Socket.
    [    5.746741] systemd[1]: Listening on udev Kernel Socket.
    [    5.776802] systemd[1]: Listening on Journal Socket.
    [    5.796804] systemd[1]: Listening on /dev/initctl Compatibility Named Pipe.
    [    5.826712] systemd[1]: Reached target Remote File Systems.
    [    5.858009] systemd[1]: Created slice User and Session Slice.
    [    5.886885] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
    [    5.916768] systemd[1]: Listening on Journal Socket (/dev/log).
    [    5.947257] systemd[1]: Created slice System Slice.
    [    5.976732] systemd[1]: Reached target Slices.
    [    6.026726] systemd[1]: Mounting Temporary Directory...
    [    6.050728] systemd[1]: Starting Create list of required static device nodes for the current kernel...
    [    6.102476] systemd[1]: Starting Load Kernel Modules...
    [    6.126025] CMEMK module: reference Linux version 4.4.19
    [    6.134353] allocated heap buffer 0x40500000 of size 0x100000
    [    6.140215] cmemk initialized
    [    6.153162] cryptodev: driver 1.8 loaded.
    [    6.166802] systemd[1]: Mounting POSIX Message Queue File System...
    [    6.197514] systemd[1]: Created slice system-getty.slice.
    [    6.228747] systemd[1]: Mounting Debug File System...
    [    6.256936] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
    [    6.286725] systemd[1]: Reached target Paths.
    [    6.336881] systemd[1]: Starting Setup Virtual Console...
    [    6.375931] systemd[1]: Starting Journal Service...
    [    6.399196] systemd[1]: Starting Remount Root and Kernel File Systems...
    [    6.420847] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
    [    6.427664] systemd[1]: Created slice system-serial\x2dgetty.slice.
    [    6.774584] systemd[1]: Mounted POSIX Message Queue File System.
    [    6.806807] systemd[1]: Mounted Debug File System.
    [    6.826753] systemd[1]: Mounted Temporary Directory.
    [    6.846933] systemd[1]: Started Journal Service.
    [    7.493810] systemd-journald[147]: Received request to flush runtime journal from PID 1
    [    7.832735] omap-rproc 58820000.ipu: assigned reserved memory node ipu1_cma@9d000000
    [    7.847980]  remoteproc0: 58820000.ipu is available
    [    7.854511]  remoteproc0: Note: remoteproc is still under development and considered experimental.
    [    7.878379]  remoteproc0: THE BINARY FORMAT IS NOT YET FINALIZED, and backward compatibility isn't yet guaranteed.
    [    7.894621] omap-rproc 55020000.ipu: assigned reserved memory node ipu2_cma@95800000
    [    7.914482]  remoteproc1: 55020000.ipu is available
    [    7.919916]  remoteproc1: Note: remoteproc is still under development and considered experimental.
    [    7.944626]  remoteproc1: THE BINARY FORMAT IS NOT YET FINALIZED, and backward compatibility isn't yet guaranteed.
    [    7.965138] omap-rproc 40800000.dsp: assigned reserved memory node dsp1_cma@99000000
    [    7.975982]  remoteproc2: 40800000.dsp is available
    [    7.987581]  remoteproc2: Note: remoteproc is still under development and considered experimental.
    [    7.997063]  remoteproc2: THE BINARY FORMAT IS NOT YET FINALIZED, and backward compatibility isn't yet guaranteed.
    [    8.021902] omap-rproc 41000000.dsp: assigned reserved memory node dsp2_cma@9f000000
    [    8.032400]  remoteproc3: 41000000.dsp is available
    [    8.041184]  remoteproc3: Note: remoteproc is still under development and considered experimental.
    [    8.059179]  remoteproc3: THE BINARY FORMAT IS NOT YET FINALIZED, and backward compatibility isn't yet guaranteed.
    [    8.597037]  remoteproc1: registered virtio0 (type 7)
    [    8.719108] omap_rng 48090000.rng: OMAP Random Number Generator ver. 20
    [    8.803609] omap-des 480a5000.des: OMAP DES hw accel rev: 2.2
    [    8.950400] CAN device driver interface
    [    9.037180] c_can_platform 48480000.can: c_can_platform device registered (regs=fa480000, irq=362)
    [    9.151620]  remoteproc0: registered virtio1 (type 7)
    [    9.258748] SCSI subsystem initialized
    [    9.286154] omap-sham 4b101000.sham: hw accel on OMAP rev 4.3
    [    9.545697] ti-pruss 4b200000.pruss: creating PRU cores and other child platform devices
    [    9.558092] irq: no irq domain found for /ocp/pruss@4b200000/intc@4b220000 !
    [    9.565530] irq: no irq domain found for /ocp/pruss@4b200000/intc@4b220000 !
    [    9.573671] ti-pruss 4b280000.pruss: creating PRU cores and other child platform devices
    [    9.586228] irq: no irq domain found for /ocp/pruss@4b280000/intc@4b2a0000 !
    [    9.596788] irq: no irq domain found for /ocp/pruss@4b280000/intc@4b2a0000 !
    [    9.786259] omap-aes 4b500000.aes: OMAP AES hw accel rev: 3.3
    [    9.792693] omap-aes 4b700000.aes: OMAP AES hw accel rev: 3.3
    [    9.866465] watchdog: OMAP Watchdog: cannot register miscdev on minor=130 (err=-16).
    [    9.885262] watchdog: OMAP Watchdog: a legacy watchdog module is probably present.
    [    9.899107] omap_wdt: OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec
    [   10.174620]  remoteproc4: 4b234000.pru0 is available
    [   10.180342]  remoteproc4: Note: remoteproc is still under development and considered experimental.
    [   10.194699] vpe 489d0000.vpe: loading firmware vpdma-1b8.bin
    [   10.202042] libata version 3.00 loaded.
    [   10.208334]  remoteproc4: THE BINARY FORMAT IS NOT YET FINALIZED, and backward compatibility isn't yet guaranteed.
    [   10.226929] vpe 489d0000.vpe: Device registered as /dev/video0
    [   10.247582] omap-hdmi-audio omap-hdmi-audio.0.auto: snd-soc-dummy-dai <-> 58040000.encoder mapping ok
    [   10.252114] [drm] Initialized pvr 1.14.3699939 20110701 on minor 1
    [   10.265461] vip 48970000.vip: loading firmware vpdma-1b8.bin
    [   10.276180] vip 48990000.vip: loading firmware vpdma-1b8.bin
    [   10.286566] vip 48970000.vip: VPDMA firmware loaded
    [   10.296579] vip 48990000.vip: VPDMA firmware loaded
    [   10.329249] ahci 4a140000.sata: SSS flag set, parallel bus scan disabled
    [   10.339718] ahci 4a140000.sata: AHCI 0001.0300 32 slots 1 ports 3 Gbps 0x1 impl platform mode
    [   10.352817] ahci 4a140000.sata: flags: 64bit ncq sntf stag pm led clo only pmp pio slum part ccc apst
    [   10.363001] extcon-usb-gpio extcon_usb1: GPIO lookup for consumer id
    [   10.363010] extcon-usb-gpio extcon_usb1: using device tree for GPIO lookup
    [   10.363020] of_get_named_gpiod_flags: can't parse 'id-gpios' property of node '/extcon_usb1[0]'
    [   10.363081] of_get_named_gpiod_flags: parsed 'id-gpio' property of node '/extcon_usb1[0]' - status (0)
    [   10.366437] extcon-usb-gpio extcon_usb2: GPIO lookup for consumer id
    [   10.366449] extcon-usb-gpio extcon_usb2: using device tree for GPIO lookup
    [   10.366458] of_get_named_gpiod_flags: can't parse 'id-gpios' property of node '/extcon_usb2[0]'
    [   10.366506] of_get_named_gpiod_flags: parsed 'id-gpio' property of node '/extcon_usb2[0]' - status (0)
    [   10.387138] scsi host0: ahci
    [   10.390709] ata1: SATA max UDMA/133 mmio [mem 0x4a140000-0x4a1410ff] port 0x100 irq 353
    [   10.471365] EXT4-fs (mmcblk1p2): recovery complete
    [   10.476187] EXT4-fs (mmcblk1p2): mounted filesystem with ordered data mode. Opts: (null)
    [   10.550306] random: nonblocking pool is initialized
    [   10.746581] ata1: SATA link down (SStatus 0 SControl 300)
    [   11.034728]  remoteproc3: registered virtio2 (type 7)
    [   11.064848] rtc-s35390a 2-0030: s35390a_set_datetime: tm is secs=28, mins=33, hours=6 mday=1, mon=8, year=117, wday=5
    [   11.067028] rtc-s35390a 2-0030: s35390a_get_datetime: tm is secs=28, mins=33, hours=6, mday=1, mon=8, year=117, wday=5
    [   11.083279]  remoteproc4: registered virtio3 (type 7)
    [   11.098725] pru-rproc 4b234000.pru0: PRU rproc node /ocp/pruss@4b200000/pru0@4b234000 probed successfully
    [   11.119467]  remoteproc5: 4b238000.pru1 is available
    [   11.133119]  remoteproc5: Note: remoteproc is still under development and considered experimental.
    [   11.159595]  remoteproc5: THE BINARY FORMAT IS NOT YET FINALIZED, and backward compatibility isn't yet guaranteed.
    [   11.259144]  remoteproc5: registered virtio4 (type 7)
    [   11.264255] pru-rproc 4b238000.pru1: PRU rproc node /ocp/pruss@4b200000/pru1@4b238000 probed successfully
    [   11.279031]  remoteproc6: 4b2b4000.pru0 is available
    [   11.287545]  remoteproc6: Note: remoteproc is still under development and considered experimental.
    [   11.300051]  remoteproc6: THE BINARY FORMAT IS NOT YET FINALIZED, and backward compatibility isn't yet guaranteed.
    [   11.393331] FAT-fs (mmcblk1p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
    [   11.412182]  remoteproc6: registered virtio5 (type 7)
    [   11.418177] pru-rproc 4b2b4000.pru0: PRU rproc node /ocp/pruss@4b280000/pru0@4b2b4000 probed successfully
    [   11.431123]  remoteproc7: 4b2b8000.pru1 is available
    [   11.448063]  remoteproc7: Note: remoteproc is still under development and considered experimental.
    [   11.461090]  remoteproc7: THE BINARY FORMAT IS NOT YET FINALIZED, and backward compatibility isn't yet guaranteed.
    [   11.494115]  remoteproc7: registered virtio6 (type 7)
    [   11.501976] pru-rproc 4b2b8000.pru1: PRU rproc node /ocp/pruss@4b280000/pru1@4b2b8000 probed successfully
    [   11.544762]  remoteproc2: registered virtio7 (type 7)
    [   11.628809] FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
    [   11.749543]  remoteproc1: powering up 55020000.ipu
    [   11.772586]  remoteproc1: Booting fw image dra7-ipu2-fw.xem4, size 3497308
    [   11.803502] omap-iommu 55082000.mmu: 55082000.mmu: version 2.1
    [   11.888865]  remoteproc1: remote processor 55020000.ipu is now up
    [   11.896984] virtio_rpmsg_bus virtio0: rpmsg host is online
    [   11.900030] virtio_rpmsg_bus virtio0: creating channel rpmsg-rpc addr 0x65
    [   11.900920] virtio_rpmsg_bus virtio0: creating channel rpmsg-rpc addr 0x66
    [   11.920925]  remoteproc0: powering up 58820000.ipu
    [   11.933296]  remoteproc0: Booting fw image dra7-ipu1-fw.xem4, size 4953116
    [   11.940857] omap-iommu 58882000.mmu: 58882000.mmu: version 2.1
    [   11.954536]  remoteproc0: remote processor 58820000.ipu is now up
    [   11.964329] virtio_rpmsg_bus virtio1: rpmsg host is online
    [   11.965988] virtio_rpmsg_bus virtio1: creating channel rpmsg-client-sample addr 0x32
    [   11.966130] virtio_rpmsg_bus virtio1: creating channel rpmsg-client-sample addr 0x33
    [   11.971007] virtio_rpmsg_bus virtio1: creating channel rpmsg-omx addr 0x3c
    [   11.971115] virtio_rpmsg_bus virtio1: creating channel rpmsg-rpc addr 0x65
    [   12.000294]  remoteproc3: powering up 41000000.dsp
    [   12.031304]  remoteproc3: Booting fw image dra7-dsp2-fw.xe66, size 22037092
    [   12.045296] omap_hwmod: mmu0_dsp2: _wait_target_disable failed
    [   12.051189] omap-iommu 41501000.mmu: 41501000.mmu: version 3.0
    [   12.057116] omap-iommu 41502000.mmu: 41502000.mmu: version 3.0
    [   12.072990]  remoteproc3: remote processor 41000000.dsp is now up
    [   12.081504] virtio_rpmsg_bus virtio2: rpmsg host is online
    [   12.081585] virtio_rpmsg_bus virtio2: creating channel rpmsg-proto addr 0x3d
    [   12.094729]  remoteproc4: powering up 4b234000.pru0
    [   12.099803]  remoteproc4: Booting fw image am57xx-pru1_0-fw, size 75804
    [   12.116620] ti-pruss 4b200000.pruss: configured system_events = 0x0000000000030000 intr_channels = 0x00000005 host_intr = 0x00000005
    [   12.137101]  remoteproc4: remote processor 4b234000.pru0 is now up
    [   12.143405] virtio_rpmsg_bus virtio3: rpmsg host is online
    [   12.143429] virtio_rpmsg_bus virtio3: creating channel rpmsg-pru addr 0x1e
    [   12.156346]  remoteproc5: powering up 4b238000.pru1
    [   12.162077]  remoteproc5: Booting fw image am57xx-pru1_1-fw, size 75804
    [   12.177513] ti-pruss 4b200000.pruss: configured system_events = 0x00000000000c0000 intr_channels = 0x0000000a host_intr = 0x0000000a
    [   12.216590]  remoteproc5: remote processor 4b238000.pru1 is now up
    [   12.222884] virtio_rpmsg_bus virtio4: rpmsg host is online
    [   12.222906] virtio_rpmsg_bus virtio4: creating channel rpmsg-pru addr 0x1f
    [   12.247961]  remoteproc6: powering up 4b2b4000.pru0
    [   12.252989]  remoteproc6: Booting fw image am57xx-pru2_0-fw, size 75804
    [   12.276678] ti-pruss 4b280000.pruss: configured system_events = 0x0000000000030000 intr_channels = 0x00000005 host_intr = 0x00000005
    [   12.318872]  remoteproc6: remote processor 4b2b4000.pru0 is now up
    [   12.325195] virtio_rpmsg_bus virtio5: rpmsg host is online
    [   12.325223] virtio_rpmsg_bus virtio5: creating channel rpmsg-pru addr 0x20
    [   12.356653]  remoteproc7: powering up 4b2b8000.pru1
    [   12.361691]  remoteproc7: Booting fw image am57xx-pru2_1-fw, size 75804
    [   12.376686] ti-pruss 4b280000.pruss: configured system_events = 0x00000000000c0000 intr_channels = 0x0000000a host_intr = 0x0000000a
    [   12.411517]  remoteproc7: remote processor 4b2b8000.pru1 is now up
    [   12.418293] virtio_rpmsg_bus virtio6: rpmsg host is online
    [   12.418316] virtio_rpmsg_bus virtio6: creating channel rpmsg-pru addr 0x21
    [   12.437121]  remoteproc2: powering up 40800000.dsp
    [   12.469121] usbcore: registered new interface driver usbfs
    [   12.478487]  remoteproc2: Booting fw image dra7-dsp1-fw.xe66, size 22037092
    [   12.482085] usbcore: registered new interface driver hub
    [   12.482171] usbcore: registered new device driver usb
    [   12.502582] omap_hwmod: mmu0_dsp1: _wait_target_disable failed
    [   12.508475] omap-iommu 40d01000.mmu: 40d01000.mmu: version 3.0
    [   12.514411] omap-iommu 40d02000.mmu: 40d02000.mmu: version 3.0
    [   12.520586] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller
    [   12.526119] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 1
    [   12.535191] xhci-hcd xhci-hcd.1.auto: hcc params 0x0220f04c hci version 0x100 quirks 0x00010010
    [   12.550223] xhci-hcd xhci-hcd.1.auto: irq 527, io mem 0x488d0000
    [   12.557200] hub 1-0:1.0: USB hub found
    [   12.560684]  remoteproc2: remote processor 40800000.dsp is now up
    [   12.568003] hub 1-0:1.0: 1 port detected
    [   12.568278] virtio_rpmsg_bus virtio7: rpmsg host is online
    [   12.579984] virtio_rpmsg_bus virtio7: creating channel rpmsg-proto addr 0x3d
    [   12.597337] rpmsg_pru rpmsg7: new rpmsg_pru device: /dev/rpmsg_pru30
    [   12.598891] rpmsg_rpc rpmsg0: probing service dce-callback with src 1024 dst 101
    [   12.609375] rpmsg_rpc rpmsg1: probing service rpmsg-dce with src 1025 dst 102
    [   12.609781] rpmsg_rpc rpmsg5: probing service rpc_example_2 with src 1024 dst 101
    [   12.626587] rpmsg_rpc rpmsg0: published functions = 4
    [   12.626701] NET: Registered protocol family 41
    [   12.641028] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller
    [   12.643079] rpmsg_pru rpmsg8: new rpmsg_pru device: /dev/rpmsg_pru31
    [   12.643454] rpmsg_pru rpmsg9: new rpmsg_pru device: /dev/rpmsg_pru32
    [   12.643803] rpmsg_pru rpmsg10: new rpmsg_pru device: /dev/rpmsg_pru33
    [   12.665841] rpmsg_rpc rpmsg1: published functions = 9
    [   12.670964] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 2
    [   12.678707] rpmsg_rpc rpmsg5: published functions = 8
    [   12.684876] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
    [   12.693980] hub 2-0:1.0: USB hub found
    [   12.697881] hub 2-0:1.0: 1 port detected
    [   12.708134] dwc3 48890000.usb: otg: primary host xhci-hcd.2.auto registered
    [   12.715188] dwc3 48890000.usb: otg: shared host xhci-hcd.2.auto registered
    [   12.722116] dwc3 48890000.usb: otg: can't start till gadget registers
    [   12.956539] usb 1-1: new high-speed USB device number 2 using xhci-hcd
    [   13.133103] hub 1-1:1.0: USB hub found
    [   13.137111] hub 1-1:1.0: 4 ports detected
    [   13.426573] usb 1-1.3: new high-speed USB device number 3 using xhci-hcd
    [   13.539454] usb 1-1.3: ep 0x81 - rounding interval to 128 microframes, ep desc says 255 microframes
    [   13.552826] usb 1-1.3: ep 0x2 - rounding interval to 128 microframes, ep desc says 255 microframes
    [   13.675725] usb-storage 1-1.3:1.0: USB Mass Storage device detected
    [   13.702402] scsi host1: usb-storage 1-1.3:1.0
    [   13.709023] usbcore: registered new interface driver usb-storage
    [   13.775759] net eth0: initializing cpsw version 1.15 (0)
    [   13.793338] net eth0: initialized cpsw ale version 1.4
    [   13.804544] net eth0: ALE Table size 1024
    [   13.818751] libphy: PHY 48485000.mdio:01 not found
    [   13.823592] net eth0: phy "48485000.mdio:01" not found on slave 0, err -19
    [   13.930585] net eth0: phy found : id is : 0x4dd072
    [   13.964641] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
    [   14.157575] NET: Registered protocol family 15
    [   14.435495] Initializing XFRM netlink socket
    [   14.439998] PVR_K: UM DDK-(3699939) and KM DDK-(3699939) match. [ OK ]
    [   14.850342] scsi 1:0:0:0: Direct-Access     SMI      USB DISK         1100 PQ: 0 ANSI: 4
    [   14.911187] sd 1:0:0:0: [sda] 31299696 512-byte logical blocks: (16.0 GB/14.9 GiB)
    [   14.920393] sd 1:0:0:0: [sda] Write Protect is off
    [   14.925423] sd 1:0:0:0: [sda] Mode Sense: 43 00 00 00
    [   14.926549] sd 1:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
    [   14.946160]  sda:
    [   14.952692] sd 1:0:0:0: [sda] Attached SCSI removable disk
    [   15.113818] FAT-fs (sda): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
    [   22.083449] omap_hwmod: mmu1_dsp2: _wait_target_disable failed
    [   22.096004] omap_hwmod: mmu0_dsp2: _wait_target_disable failed
    [   23.043453] omap_hwmod: mmu1_dsp1: _wait_target_disable failed
    [   23.056012] omap_hwmod: mmu0_dsp1: _wait_target_disable failed
    

  • Additional Information :
    uart5_pins: pinmux_uart5_pins {
    pinctrl-single,pins = <
    0x40 (PIN_INPUT | MUX_MODE8) /* gpmc_a0.uart5_rxd */
    0x44 (PIN_OUTPUT | MUX_MODE8) /* gpmc_a1.uart5_txd */
    0x48 (PIN_INPUT | MUX_MODE8) /* gpmc_a2.uart5_ctsn */
    0x4c (PIN_OUTPUT_PULLDOWN | MUX_MODE8) /* gpmc_a3.uart5_rtsn */
    >;
    };
  • Hi,

    According to our Linux team, this feature should be working.

    You would need to enable hardware flow control flag (CRTSCTS) for the tty port using stty(https://linux.die.net/man/1/stty) shell command or system call such as tcsetattr() (An example here: https://git.breakpoint.cc/cgit/bigeasy/serialcheck.git/tree/).

    Looking at your UART_EFR register value:

    0x48066008 (0xb6f9c008): 0x00000001

    AUTO_CTS_EN and AUTO_RTS_EN bits are not set (bits 7 and 6, respectively).

    Can you verify these settings, and let us know the behavior you see?

    Regards,
    Mike

  • But I can't open these two links
  • Sorry about that, the links for fixed. Were you able to copy-and-paste the URLs? Were these helpful?

    I'm not sure if your autoRTS and autoCTS bits are getting cleared automatically as some feature of the driver, or if these were not getting set at all.

    Regards,
    Mike
  • I have test as follows:

      receiving node:

    root@am57xx-evm:~# ./serialcheck -d /dev/ttyS4 -f binary -m r -l 10 -h
    Needed 43 reads 0 writes loops 10 / 10
    cts: 2 dsr: 0 rng: 0 dcd: 0 rx: 40960 tx: 0 frame 0 ovr 0 par: 0 brk: 0 buf_ovrr: 0

    sending node:

    root@am57xx-evm:~# ./serialcheck -d /dev/ttyS4 -f binary -m t -l 10 -h
    Needed 0 reads 1 writes loops 10 / 10
    cts: 0 dsr: 0 rng: 0 dcd: 0 rx: 0 tx: 40950 frame 0 ovr 0 par: 0 brk: 0 buf_ovrr: 0

    It looks like the test result was successful. However, the value of the register has not changed.

    root@am57xx-evm:~# devmem2 0x48066008
    /dev/mem opened.
    Memory mapped at address 0xb6f65000.
    Read at address 0x48066008 (0xb6f65008): 0x00000001

  • Hi,
    Were you able to get hw flow control working in your application?

    Regards,
    Mike
  • When I disabled CONFIG_SERIAL_8250_DMA, hw flow control worked normally.

    But when CONFIG_SERIAL_8250_DMA=y,  hw flow control can't work normally