[#4263] writing to UART3 on BF54x misbehaves on 2008R1 branch
Submitted By: Mike Frysinger
Open Date
2008-07-18 04:47:56 Close Date
2008-11-14 06:46:13
Priority:
Medium Assignee:
Sonic Zhang
Status:
Closed Fixed In Release:
N/A
Found In Release:
N/A Release:
Category:
N/A Board:
EZKIT Lite
Processor:
BF548 Silicon Revision:
Is this bug repeatable?:
Yes Resolution:
Fixed
Uboot version or rev.:
Toolchain version or rev.:
App binary format:
N/A
Summary: writing to UART3 on BF54x misbehaves on 2008R1 branch
Details:
this bug does not exist in trunk, but it does exist in the 2008R1 branch
if you build the branch with default config and then just enable UART3, attempts to write to it misbehave
so if you boot up with UART1 as your console like normal and then run:
getty -n -l /bin/sh 57600 ttyBF1 linux
you should get a console shell on UART3. instead, the output is very slow.
this bug seems like [#4041], but that has been fixed and this is about UART3, not UART2 ...
Follow-ups
--- Sonic Zhang 2008-07-18 06:18:56
DMA mode works, while PIO is slow.
Still investigate.
--- Sonic Zhang 2008-07-21 04:29:27
UART2 and UART3 share interrupt PINs and DMA controllers with SPORT2 and
SPORT3 on bf54x. tx/rx interrupts are generated only when DMA mode is
selected and dma controllers are requested. That means UART2/3 don't generate
interrupts in PIO mode. So, I disabled UART2/3 if PIO mode is selected.
--- Bryan Wu 2008-07-21 04:39:47
Sonic:
Fixed.
The BF548 HRM says "UART2 and UART3 are not assigned to peripheral
channels by
default. To assign one of these peripherals to a DMA channel, refer
to Table 5-1 on page 5-9." and "UART2 and UART3 are not assigned to
peripheral channels by default. To assign one of these peripherals to a DMA
channel, program the selected DMA channel with the following PMAP value: 0xC for
UART2 RX, 0xD for UART2 TX, 0xE for UART3 RX, or 0xF for UART3 TX".
--- Sonic Zhang 2008-07-24 03:08:46
Fixed.
DMA peripheral mapping registers also take effects in PIO mode. UART rx and tx
interrupts are generated in PIO mode after configure their peripheral mapping
registers properly. Be careful to set only valid value to these registers.
Otherwise, DMA controller's behavior is unkonw.
Files
Changes
Commits
Dependencies
Duplicates
Associations
Tags
File Name File Type File Size Posted By
No Files Were Found