Skip to content

Commit 1671f3e

Browse files
committed
feat(linux): Add initial documentation for BeagleBadge
Add an initial 'How to guide' for BeagleBadge board supported in Debian in Arago distributions. Signed-off-by: Judith Mendez <[email protected]>
1 parent 2a40b2c commit 1671f3e

File tree

4 files changed

+148
-1
lines changed

4 files changed

+148
-1
lines changed

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,15 @@ Therefore, the first step is to fetch TI's fork:
3030
3131
git clone https://github.com/TexasInstruments/armbian-build.git
3232
33+
.. note::
34+
35+
BeagleBadge is supported in Armbian but is not yet supported on **ti-main** branch, therefore run the following command
36+
before building for BeagleBadge:
37+
38+
.. code-block:: console
39+
40+
git checkout 2025.12-beaglebadge
41+
3342
Repository Structure
3443
--------------------
3544

@@ -112,6 +121,8 @@ Armbian supports both an interactive UI and a noninteractive build process.
112121
113122
./compile.sh build BOARD=<board> BRANCH=vendor BUILD_MINIMAL=yes KERNEL_CONFIGURE=no RELEASE=trixie GIT_SKIP_SUBMODULES=yes SKIP_ARMBIAN_REPO=yes
114123
124+
.. ifconfig:: CONFIG_part_variant in ('AM62LX')
125+
115126
For a list of boards and branches supported by each SoC, refer:
116127

117128
.. csv-table::
@@ -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: 134 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,134 @@
1+
***************************
2+
BeagleBadge Getting Started
3+
***************************
4+
5+
Overview
6+
========
7+
8+
The BeagleBadge is a compact development platform from BeagleBoard.org powered by the TI AM62L SoC.
9+
Designed for portable and low-power applications, it features a built-in CC33xx chip supporting WI-FI and
10+
Bluetooth applications, multiple low power modes, and an integrated fuel gauge for battery power monitoring.
11+
The board provides a rich interface including an e-paper connector, DSI connector, Grove expansion,
12+
seven-segment displays, and an RGB LED. Fully supported in TI sources, the BeagleBadge offers flexible boot
13+
options (OSPI, UART, SD, USB-DFU). It supports Zephyr or Linux (with Armbian or Arago distributions), making
14+
it an ideal open source solution for modern IoT and HMI projects.
15+
16+
Applications
17+
============
18+
19+
- Deep Sleep Low Power mode down to 0.66W power draw
20+
- E-Paper display support with tinyDRM
21+
- WIFI & Bluetooth connectivity
22+
- Battery-powered with fuel gauge monitoring
23+
24+
Supported Distributions
25+
=======================
26+
27+
- Debian: https://github.com/TexasInstruments/armbian-build.git branch: 2025.12-beaglebadge
28+
- Arago: https://github.com/TexasInstruments/meta-tisdk branch: scarthgap
29+
30+
Low level sources
31+
=================
32+
33+
- TI Linux: :file:`arch/arm64/boot/dts/til3-am62l3-beaglebadge.dts` branch: ti-linux-6.12.y
34+
- TI U-boot: :file:`configs/am62lx_beaglebadge_defconfig` branch ti-u-boot-2025.01
35+
36+
Building for BeagleBadge
37+
========================
38+
39+
.. code-block:: console
40+
41+
$ git clone https://git.ti.com/git/arago-project/oe-layersetup.git tisdk
42+
$ cd tisdk
43+
$ ./oe-layertool-setup.sh -f configs/arago-scarthgap-config.txt
44+
$ cd build
45+
$ . conf/setenv
46+
$ export MACHINE=beaglebadge-ti
47+
$ ARAGO_SYSVINIT=1 bitbake -k tisdk-tiny-image
48+
49+
For more information on building Arago for BeagleBadge, go :ref:`here <building-the-sdk-with-yocto>`
50+
51+
.. note::
52+
53+
Yocto: Due to the limited 128MB size of LPDDR on BeagleBadge, only the *tisdk-tiny-image*
54+
can boot on BeagleBadge. Furthermore, switching to sysVinit for init system instead of systemd
55+
will help reduce the memory footprint further, please go
56+
`here <https://www.linuxjournal.com/content/embracing-future-transition-sysvinit-systemd-linux>`__
57+
for a comparison of both init systems.
58+
59+
To build Armbian for BeagleBadge, refer to **Debian SDK user manual** found `here <https://www.ti.com/tool/download/AM62L-LINUX-SDK>`__.
60+
61+
Booting BeagleBadge
62+
===================
63+
64+
In the following instructions, assume /dev/ttyUSB0 is the serial port enumerated
65+
on host machine from BeagleBadge USB C connection.
66+
67+
SD boot
68+
-------
69+
70+
1. Flash SD card with Debian or Arago image
71+
2. Insert Micro SD card
72+
3. Press & hold **Select** until step 5
73+
4. Connect USB C cable
74+
5. Connect to /dev/ttyUSB0 on host machine
75+
76+
OSPI boot
77+
---------
78+
79+
1. Boot via SD boot and stop at u-boot prompt
80+
2. Flash OSPI
81+
82+
.. code-block:: console
83+
84+
=> sf probe
85+
SF: Detected is25wx256 with page size 256 Bytes, erase size 4 KiB, total 32 MiB
86+
=> fatload mmc 1 ${loadaddr} tiboot3.bin
87+
221296 bytes read in 11 ms (19.2 MiB/s)
88+
=> sf update ${loadaddr} 0 ${filesize}
89+
device 0 offset 0x0, size 0x36070
90+
SF: 221296 bytes @ 0x0 Written: OK
91+
=> fatload mmc 1 ${loadaddr} tispl.bin
92+
1464080 bytes read in 62 ms (22.5 MiB/s)
93+
=> sf update ${loadaddr} 0x80000 ${filesize}
94+
device 0 offset 0x80000, size 0x165710
95+
SF: 1464080 bytes @ 0x80000 Written: OK
96+
=> fatload mmc 1 ${loadaddr} u-boot.img
97+
1314747 bytes read in 57 ms (22 MiB/s)
98+
=> sf update ${loadaddr} 0x280000 ${filesize}
99+
device 0 offset 0x280000, size 0x140fbb
100+
SF: 1314747 bytes @ 0x280000 Written: OK
101+
102+
3. Reset the board by disconnecting and reconnecting USB C cable.
103+
104+
UART boot
105+
---------
106+
107+
1. Connect USB C cable
108+
2. Connect to /dev/ttyUSB0 on host machine
109+
3. Run the following instructions on host machine:
110+
111+
.. code-block:: console
112+
113+
$ sb --xmodem tiboot3.bin > /dev/ttyUSB0 < /dev/ttyUSB0
114+
$ sb --xmodem tispl.bin > /dev/ttyUSB0 < /dev/ttyUSB0
115+
$ sb --ymodem u-boot.img > /dev/ttyUSB0 < /dev/ttyUSB0
116+
117+
USB-DFU boot
118+
------------
119+
120+
1. Press & hold **Select** until step 4
121+
2. Connect USB C cable
122+
3. Connect to /dev/ttyUSB0 on host machine
123+
4. Send boot loader binaries from host MACHINE
124+
125+
.. code-block:: console
126+
127+
$ sudo -E -S dfu-util -R -a bootloader -D tiboot3.bin
128+
$ sudo -E -S dfu-util -R -a bootloader -D tispl.bin
129+
$ sudo -E -S dfu-util -R -a u-boot.img -D u-boot.img
130+
131+
Any of the above boot methods can be used to boot to u-boot prompt,
132+
from here, loading the rootfs is generic and can be loaded from SD
133+
card, OSPI flash, or USB DFU as is discussed in other sections of this
134+
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)