Using a second UART to control a serial device
Pflaum, Clemens
clemens.pflaum at mytum.de
Mon Apr 20 15:47:59 CEST 2015
Thank you for your fast response, I've adapted your code to my needs
(using the uart_pxa driver in drivers-frst). It compiles and starts up
fine on the BananaPi but sadly I'm not getting any response on the uart3
pins... It seems to have a problem in the
l4\pkg\drivers-frst\uart\src\uart_pxa.cc when calling the
Uart_16550::startup(regs). I get a few wierd boxlike characters on the
console and then "failed to startup uart regs".
This is my init() :
#define IRQ_NUM 86
#define UART_BASE 0x01C28C00
.
.
.
bool Maestro_server::init()
{
l4_addr_t virt_base = 0;
if (l4io_request_iomem((l4_addr_t)UART_BASE, 0x1000,
L4IO_MEM_NONCACHED, &virt_base))
{
printf("maestro-drv: request io-memory from l4io failed.\n");
return false;
}
printf("maestro-drv: virtual base at:%lx\n", virt_base);
L4::Io_register_block_mmio *regs = new
L4::Io_register_block_mmio(virt_base);
_uart = new (malloc(sizeof(L4::Uart_16550)))
L4::Uart_16550((unsigned long) 115200);
if(!(_uart->startup(regs))){
printf("failed to startup uart regs!");
}
if(!(_uart->change_mode(0x00 | 0x03 | 0x00, 115200))){
printf("failed to change uart mode!");
}
the rest of it is equal to the serial-drv example. Any idea what i
couldve done wrong?
regard,
Clemens
More information about the l4-hackers
mailing list