Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 4 Feb 2013 21:17:49 +0100
From:      Damjan Marion <damjan.marion@gmail.com>
To:        Ian Lepore <ian@FreeBSD.org>
Cc:        freebsd-arm@FreeBSD.org
Subject:   Re: Beaglebone Serial Ports
Message-ID:  <6201EAD1-31FC-49C0-A990-D32EEBE4EF6F@gmail.com>
In-Reply-To: <1359818003.93359.381.camel@revolution.hippie.lan>
References:  <510CE8E0.9070102@g7iii.net> <1359818003.93359.381.camel@revolution.hippie.lan>

next in thread | previous in thread | raw e-mail | index | archive | help

On Feb 2, 2013, at 4:13 PM, Ian Lepore <ian@FreeBSD.org> wrote:

> On Sat, 2013-02-02 at 10:22 +0000, Iain Young wrote:
>> Hi Folks,
>>=20
>> Just a quick question with regards to some clarification serial ports
>> on the Beaglbone and FreeBSD. Am I correct in deducing that FreeBSD
>> lacks support for UARTS1 thru 5 at the moment ?
>>=20
>> I can see what I believe to be UART0 (which is attached to the USB) =
as
>> /dev/cuau0, but not the others. A few finds and greps through the
>> kernel source didn't show up anything obvious either.
>>=20
>> Is any one working on them ? Or is there a kernel module or option
>> that I need to enable for them to build ?
>>=20
>=20
> According to the datasheet all the onboard uarts should be supported =
by
> our standard uart driver (but only uart1 has all the modem-control =
lines
> wired).  Two things need to be done to enable them: add entries to
> the .dts file (easy), and configure the multipurpose pins for them at
> runtime.  I have no idea how we handle the latter in the FDT world.  =
In
> the pre-FDT world it was pretty much ad-hoc and board-support routines
> that ran at startup configured pins for that board.

Actually it should be quite simple. There is pinmux section in DTS file =
where you can configure each pin you need.
I put into DTS file only stuff which is hardwired on board. That's the =
reason why just 1st serial port is enabled.
To enable other serial ports just DTS file needs to be edited:

1) into SCM configuration proper triplets <padname, muxname, padstate> =
should be inserted, =20
possible values are in sys/arm/ti/am335x/am335x_scm_padconf.c

2) uart0 config can be copied with modified  memory address and =
interrupt (proper values can be found in TRM)

Would like to hear if it works as I never tried :)

Damjan=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6201EAD1-31FC-49C0-A990-D32EEBE4EF6F>