Skip to content

Commit b732c4f

Browse files
committed
feat(linux): Add initial documentation for BeagleBadge
Add an initial 'How to guide' for BeagleBadge board supported on Debian in Arago distributions. Signed-off-by: Judith Mendez <jm@ti.com>
1 parent f6d7bbb commit b732c4f

4 files changed

Lines changed: 191 additions & 1 deletion

File tree

configs/AM62LX/AM62LX_linux_toc.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,7 @@ linux/How_to_Guides/Target/How_to_emmc_boot
123123
linux/How_to_Guides/Target/How_to_mmcsd_boot_emmc_uda
124124
linux/How_to_Guides/Target/How_To_Enable_M2CC3301_in_linux
125125
linux/How_to_Guides/Target/Runtime_debug_unlock_on_secure_device
126+
linux/How_to_Guides/Target/How_to_BeagleBadge_getting_started
126127
linux/How_to_Guides/FAQ/How_to_Check_Device_Tree_Info
127128
linux/How_to_Guides/FAQ/How_to_Integrate_Open_Source_Software
128129
linux/How_to_Guides_Hardware_Setup_with_CCS

source/debian/Building_Debian_Image.rst

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,17 @@ Therefore, the first step is to fetch TI's fork:
3030
3131
git clone https://github.com/TexasInstruments/armbian-build.git
3232
33+
.. ifconfig:: CONFIG_part_variant in ('AM62LX')
34+
35+
.. note::
36+
37+
BeagleBadge is supported in Armbian but is not yet supported on **ti-main** branch, therefore run the following command
38+
before building for BeagleBadge:
39+
40+
.. code-block:: console
41+
42+
git checkout 2025.12-beaglebadge
43+
3344
Repository Structure
3445
--------------------
3546

@@ -121,8 +132,8 @@ For a list of boards and branches supported by each SoC, refer:
121132
AM62-LP,sk-am62-lp,``config/boards/sk-am62-lp.conf``,"vendor, vendor-rt, vendor-edge, edge"
122133
AM62SIP,sk-am62-sip,``config/boards/sk-am62-sip.conf``,"vendor, vendor-rt, vendor-edge, edge"
123134
AM62Lx,tmds62levm,``config/boards/tmds62levm.conf``,"vendor, vendor-rt, vendor-edge"
135+
AM62Lx,beaglebadge,``config/boards/beaglebadge.conf``,"vendor-edge"
124136
AM62Px,sk-am62p,``config/boards/sk-am62p.conf``,"vendor, vendor-rt, vendor-edge, edge"
125137
AM64x,sk-am64b,``config/boards/sk-am64b.conf``,"vendor, vendor-rt, vendor-edge, edge"
126138

127-
128139
``output/images/`` stores the built images. These images have a ``.img`` extension.
Lines changed: 177 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,177 @@
1+
###########################
2+
BeagleBadge Getting Started
3+
###########################
4+
5+
********
6+
Overview
7+
********
8+
9+
The BeagleBadge is a compact development platform from `BeagleBoard <https://www.beagleboard.org/>`__ powered
10+
by the `TI AM62L SoC <https://www.ti.com/product/AM62L/>`__. Designed for portable and low-power applications,
11+
it features a built-in CC33xx chip supporting WI-FI and Bluetooth applications, multiple low power modes, and
12+
an integrated fuel gauge for battery power monitoring. The board provides a rich interface including an e-paper
13+
connector, DSI connector, Grove expansion, seven-segment displays, and an RGB LED. Fully supported in TI sources,
14+
the BeagleBadge offers flexible boot options (OSPI, UART, SD, USB-DFU). It supports Zephyr or Linux (with Armbian
15+
or Arago distributions), making it an ideal open source solution for modern IoT and HMI projects.
16+
17+
*********
18+
Boot Flow
19+
*********
20+
21+
BeagleBadge has a `TI AM62L SoC <https://www.ti.com/product/AM62L/>`__, refer to :ref:`AM62Lx Boot Flow <Boot-Flow-label>`
22+
for more details on AM62L boot flow.
23+
24+
************
25+
Applications
26+
************
27+
28+
- Deep Sleep Low Power mode as low as 350mW power draw
29+
- RTC only mode with 3-5mW power draw
30+
- E-Paper display support with tinyDRM
31+
- Battery-powered with fuel gauge monitoring
32+
33+
*****************
34+
Low level sources
35+
*****************
36+
37+
.. list-table::
38+
:header-rows: 1
39+
:widths: 15, 15, 15
40+
41+
* - Component
42+
- Branch
43+
- Source File
44+
* - U-Boot
45+
- `ti-u-boot-2025.01 <https://git.ti.com/cgit/ti-u-boot/ti-u-boot/log/?h=ti-u-boot-2025.01>`__
46+
- :file:`configs/am62lx_beaglebadge_defconfig`
47+
* - Linux Kernel
48+
- `ti-linux-6.12.y <https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/log/?h=ti-linux-6.12.y>`__
49+
- :file:`arch/arm64/boot/dts/ti/k3-am62l3-beaglebadge.dts`
50+
51+
***********************
52+
Supported Distributions
53+
***********************
54+
55+
.. list-table::
56+
:header-rows: 1
57+
:widths: 15, 15
58+
59+
* - Component
60+
- Branch
61+
* - Armbian
62+
- `2025.12-beaglebadge <https://github.com/TexasInstruments/armbian-build/tree/2025.12-beaglebadge>`__
63+
* - Arago
64+
- `Scarthgap <https://github.com/TexasInstruments/meta-tisdk/tree/scarthgap>`__
65+
66+
************************
67+
Building for BeagleBadge
68+
************************
69+
70+
.. code-block:: console
71+
72+
$ git clone https://git.ti.com/git/arago-project/oe-layersetup.git tisdk
73+
$ cd tisdk
74+
$ ./oe-layertool-setup.sh -f configs/arago-scarthgap-config.txt
75+
$ cd build
76+
$ . conf/setenv
77+
$ export MACHINE=beaglebadge-ti
78+
$ ARAGO_SYSVINIT=1 bitbake -k tisdk-tiny-image
79+
80+
For more information on building Arago for BeagleBadge, go :ref:`here <building-the-sdk-with-yocto>`.
81+
82+
.. note::
83+
84+
Yocto: Due to the 256MB size of LPDDR on BeagleBadge, there may be limited free memory (about 17-20MB)
85+
for developing applications with the **default**, TI-provided Arago distribution image. Switching to
86+
sysVinit for init system instead of systemd can help reduce the memory footprint further. Please go
87+
`here <https://www.linuxjournal.com/content/embracing-future-transition-sysvinit-systemd-linux>`__
88+
for a comparison of both init systems.
89+
90+
To build Armbian for BeagleBadge, refer to **Debian SDK user manual** found `here <https://www.ti.com/tool/download/AM62L-LINUX-SDK>`__.
91+
92+
*******************
93+
Booting BeagleBadge
94+
*******************
95+
96+
BeagleBadge supports four boot modes with the following configuration:
97+
98+
+-------------------------+-------------------+------------------+
99+
| Button *Select* Pressed | Primary boot mode | Backup boot mode |
100+
+=========================+===================+==================+
101+
| Yes | SD boot | USB-DFU boot |
102+
+-------------------------+-------------------+------------------+
103+
| No | OSPI boot | UART boot |
104+
+-------------------------+-------------------+------------------+
105+
106+
In the following instructions, assume /dev/ttyUSB0 is the serial port enumerated
107+
on host machine from BeagleBadge USB C connection.
108+
109+
SD boot
110+
=======
111+
112+
1. Flash SD card with Debian or Arago image
113+
2. Insert Micro SD card
114+
3. Press & hold **Select** until step 5
115+
4. Connect USB C cable
116+
5. Connect to /dev/ttyUSB0 on host machine
117+
118+
OSPI boot
119+
=========
120+
121+
1. Boot via SD boot and stop at u-boot prompt
122+
2. Flash OSPI
123+
124+
.. code-block:: console
125+
126+
=> sf probe
127+
SF: Detected is25wx256 with page size 256 Bytes, erase size 4 KiB, total 32 MiB
128+
=> fatload mmc 1 ${loadaddr} tiboot3.bin
129+
221296 bytes read in 11 ms (19.2 MiB/s)
130+
=> sf update ${loadaddr} 0 ${filesize}
131+
device 0 offset 0x0, size 0x36070
132+
SF: 221296 bytes @ 0x0 Written: OK
133+
=> fatload mmc 1 ${loadaddr} tispl.bin
134+
1464080 bytes read in 62 ms (22.5 MiB/s)
135+
=> sf update ${loadaddr} 0x80000 ${filesize}
136+
device 0 offset 0x80000, size 0x165710
137+
SF: 1464080 bytes @ 0x80000 Written: OK
138+
=> fatload mmc 1 ${loadaddr} u-boot.img
139+
1314747 bytes read in 57 ms (22 MiB/s)
140+
=> sf update ${loadaddr} 0x280000 ${filesize}
141+
device 0 offset 0x280000, size 0x140fbb
142+
SF: 1314747 bytes @ 0x280000 Written: OK
143+
144+
3. Cold reset the board by disconnecting and reconnecting USB C cable.
145+
4. Reconnect to /dev/ttyUSB0 on host machine
146+
147+
UART boot
148+
=========
149+
150+
1. Connect USB C cable
151+
2. Connect to /dev/ttyUSB0 on host machine
152+
3. Run the following instructions on host machine:
153+
154+
.. code-block:: console
155+
156+
$ sb --xmodem tiboot3.bin > /dev/ttyUSB0 < /dev/ttyUSB0
157+
$ sb --xmodem tispl.bin > /dev/ttyUSB0 < /dev/ttyUSB0
158+
$ sb --ymodem u-boot.img > /dev/ttyUSB0 < /dev/ttyUSB0
159+
160+
USB-DFU boot
161+
============
162+
163+
1. Press & hold **Select** until step 4
164+
2. Connect USB C cable
165+
3. Connect to /dev/ttyUSB0 on host machine
166+
4. Send boot loader binaries from host MACHINE
167+
168+
.. code-block:: console
169+
170+
$ sudo -E -S dfu-util -R -a bootloader -D tiboot3.bin
171+
$ sudo -E -S dfu-util -R -a bootloader -D tispl.bin
172+
$ sudo -E -S dfu-util -R -a u-boot.img -D u-boot.img
173+
174+
Any of the above boot methods can be used to boot to u-boot prompt,
175+
from here, loading the rootfs is generic and can be loaded from SD
176+
card, OSPI flash, or USB DFU as is discussed in other sections of this
177+
documentation.

source/linux/How_to_Guides_Developer_Notes.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ Developer Notes
3535
How_to_Guides/Target/How_to_enable_SSC_for_DSS
3636
How_to_Guides/Target/How_to_boot_quickly
3737
How_to_Guides/Target/Runtime_debug_unlock_on_secure_device
38+
How_to_Guides/Target/How_to_BeagleBadge_getting_started
3839
How_to_Guides/FAQ/How_to_Verify_Ipc_Linux_R5
3940
How_to_Guides/FAQ/How_to_Configure_MSMC_memory
4041
How_to_Guides/FAQ/How_to_Check_Device_Tree_Info

0 commit comments

Comments
 (0)