Beaglebone Serial Ports

Tim Kientzle tim at kientzle.com
Sun Feb 3 18:22:19 UTC 2013


On Feb 3, 2013, at 4:34 AM, Iain Young wrote:

> On 02/02/13 20:03, Tim Kientzle wrote:
>> 
>> On Feb 2, 2013, at 7:13 AM, Ian Lepore wrote:
>> 
>>> On Sat, 2013-02-02 at 10:22 +0000, Iain Young wrote:
>>>> Hi Folks,
>>>> 
> 
>> It should just be a matter of updating the DTS file with
>> additional UART entries and updated pinmux.
>> 
>> Unfortunately, the current BeagleBone builds use a compiled-in
>> device tree, so you'll have to edit the DTS file at
>>    sys/boot/fdt/dts/beaglebone.dts
>> and then rebuild the kernel.
> 
> Thanks both, you gave me the exact hints to go look in the right
> place.
> 
> I already have a partial patch written, after I found the register
> addresses and interrupts in a linux dmesg output :)

The Linux DTS is a useful reference as well.

> Is it appropriate to post small(ish) patches here ?

Of course.  As far as possible, I would like for the DTS
to include as much detail as possible about the
board and it's facilities -- even if the driver support isn't
yet complete -- and look for other ways of
enabling/disabling those facilities at runtime.  (Other
than editing the DTS file.)

> It'll probably be next weekend before I get the chance to test it,
> as it seems I am lacking dtc, so need to buildworld (according to
> the great google...), but the 8 Gig card isn't due here for a few
> days.
> 
> Tim, I've already grabbed your 8G image with the fixed cpsw
> driver, so I will test that at the same time.
> 
>> I'd like to move that out of the kernel; the loader already
>> has logic to load a DTS file and pass it to the kernel,
>> it should just need some tinkering with loader.rc to get
>> it working.  That would make it a lot easier to tweak
>> settings on a per-system basis without having to rebuild
>> the kernel.
>> 
>>> 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).
> 
> Only by default. We just need to set the pinmux appropriately to gain
> access to CTS and RTS for UARTS 1 thru 5. UART3 only has CTS and RTS
> exposed, no TX or RX, but then that still has it's uses for things
> like PPS and testing MSF receivers prior to looking at GPIO interrupts
> :)
> 
> http://www.jerome-bernard.com/blog/2012/06/04/beaglebone-serial-ports-and-xbees/ has a list of which serial ports are mapped to which pins,
> and the pinmux mode they need in order to access them.

The definitive references are:

 * TI document sprs717e.pdf is the data sheet for the processors with full pinout information, including pinmux settings.  You'll need to know that the BeagleBone uses the 'ZCZ' package (different packages have slightly different pinouts).  For TI documents, the last letter is the revision (I have sprs717d here); they update them every couple of months.

     http://www.ti.com/lit/ds/sprs717e/sprs717e.pdf

 * BeagleBone SRM includes schematics for the board and pinouts for the expansion headers.

  http://beagleboard.org/static/beaglebone/latest/Docs/Hardware/BONE_SRM.pdf

 * TI document spruh73g.pdf is the Technical Reference Manual for the SoC. 4500 pages documenting every subsystem; guaranteed to help with your insomnia. ;-)

   http://www.ti.com/lit/ug/spruh73g/spruh73g.pdf




More information about the freebsd-arm mailing list