1.. zephyr:board:: beagleplay
2
3Overview
4********
5
6BeagleBoard.org BeaglePlay is an open hardware single board computer based on a TI Sitara AM6254
7quad-core ARM Cortex-A53 SoC with an external TI SimpleLink multi-standard CC1352P7 wireless MCU
8providing long-range, low-power connectivity.
9
10Hardware
11********
12
13* Processors
14
15  * TI Sitara AM6252 SoC
16
17    * 4x ARM Cortex-A53
18    * ARM Cortex-R5
19    * ARM Cortex-M4
20    * Dual-core 32-bit RISC Programmble Real-Time Unit (PRU)
21
22  * TI SimpleLink CC1352P7 Wireless MCU
23
24    * ARM Cortex-M4F programmable MCU
25    * ARM Cortex-M0+ software-defined radio processor
26
27* Memory
28
29  * 2GB DDR4
30  * 16GB eMMC flash
31  * I2C EEPROM
32
33* Wired connectivity
34
35  * Gigabit Ethernet (RJ45)
36  * Single-pair Ethernet with 5V/250mA PoDL output (RJ11)
37  * HDMI
38  * USB Type-A (host)
39  * USB Type-C (client/power)
40
41* Wireless connectivity
42
43  * TI WL1807 2.4GHz/5GHz WiFi
44  * BLE/SubG via CC1352P7
45
46* Expansion
47
48  * mikroBUS
49  * Grove
50  * QWIIC
51
52BeaglePlay ARM Cortex-A53 CPUs typically run Linux, while the CC1352P7 Cortex-M4 typically runs Zephyr.
53
54
55Supported Features
56==================
57
58The ``beagleplay/cc1352p7`` board target supports the following hardware features:
59
60+-----------+------------+----------------------+
61| Interface | Controller | Driver/Component     |
62+===========+============+======================+
63| GPIO      | on-chip    | gpio                 |
64+-----------+------------+----------------------+
65| MPU       | on-chip    | arch/arm             |
66+-----------+------------+----------------------+
67| NVIC      | on-chip    | arch/arm             |
68+-----------+------------+----------------------+
69| PINMUX    | on-chip    | pinmux               |
70+-----------+------------+----------------------+
71| UART      | on-chip    | serial               |
72+-----------+------------+----------------------+
73| RADIO     | on-chip    | ieee802154           |
74+-----------+------------+----------------------+
75
76Connections and IOs
77===================
78
79CC1352 reset is connected to AM62 GPIO0_14.
80
81+-------+--------------+-------------------------------------+
82| Pin   | Function     | Usage                               |
83+=======+==============+=====================================+
84| DIO5  | N/C          |                                     |
85+-------+--------------+-------------------------------------+
86| DIO6  | N/C          |                                     |
87+-------+--------------+-------------------------------------+
88| DIO7  | N/C          |                                     |
89+-------+--------------+-------------------------------------+
90| DIO8  | N/C          |                                     |
91+-------+--------------+-------------------------------------+
92| DIO9  | N/C          |                                     |
93+-------+--------------+-------------------------------------+
94| DIO10 | N/C          |                                     |
95+-------+--------------+-------------------------------------+
96| DIO11 | N/C          |                                     |
97+-------+--------------+-------------------------------------+
98| DIO12 | CC1352_RX    | AM62 UART6_TXD                      |
99+-------+--------------+-------------------------------------+
100| DIO13 | CC1352_TX    | AM62 UART6_RXD                      |
101+-------+--------------+-------------------------------------+
102| DIO14 | N/C          |                                     |
103+-------+--------------+-------------------------------------+
104| DIO15 | CC1352_BOOT  | AM62 GPIO0_13                       |
105+-------+--------------+-------------------------------------+
106| DIO16 | CC1352_TDO   | TAG-CONNECT TDO                     |
107+-------+--------------+-------------------------------------+
108| DIO17 | CC1352_TDI   | TAG-CONNECT TDI                     |
109+-------+--------------+-------------------------------------+
110| DIO18 | N/C          |                                     |
111+-------+--------------+-------------------------------------+
112| DIO19 | N/C          |                                     |
113+-------+--------------+-------------------------------------+
114| DIO20 | N/C          |                                     |
115+-------+--------------+-------------------------------------+
116| DIO21 | N/C          |                                     |
117+-------+--------------+-------------------------------------+
118| DIO22 | N/C          |                                     |
119+-------+--------------+-------------------------------------+
120| DIO23 | N/C          |                                     |
121+-------+--------------+-------------------------------------+
122| DIO24 | N/C          |                                     |
123+-------+--------------+-------------------------------------+
124| DIO25 | N/C          |                                     |
125+-------+--------------+-------------------------------------+
126| DIO26 | N/C          |                                     |
127+-------+--------------+-------------------------------------+
128| DIO27 | LED1         | CC1352_LED1 yellow LED9             |
129+-------+--------------+-------------------------------------+
130| DIO28 | LED2         | CC1352_LED2 yellow LED8             |
131+-------+--------------+-------------------------------------+
132| DIO29 | RF_PA        | SubG/PA Antenna mux PA enable       |
133+-------+--------------+-------------------------------------+
134| DIO30 | RF_SUB1G     | SubG/PA Antenna mux SubG enable     |
135+-------+--------------+-------------------------------------+
136
137Programming and Debugging
138*************************
139
140Flashing
141========
142
143To flash, disable the existing driver that ties up the serial port and use
144the customized BSL Python script.
145
1461. Ensure the bcfserial or gb-beagleplay driver isn’t blocking the serial port. This can be done by
147   loading :file: ``/overlays/k3-am625-beagleplay-bcfserial-no-firmware.dtbo`` or selecting uboot
148   entry which disables bcfserial/gb-beagleplay.
149
1502. Now reboot the board.
151
152   .. code-block:: console
153
154      sudo shutdown -r now
155
1563. Install CC1352-flasher if not already installed
157
158   .. code-block:: console
159
160      if ! command -v cc1352_flasher &> /dev/null; then pip install cc1352-flasher; fi
161
162
1634. Flash the CC1352P7
164
165   .. code-block:: console
166
167      west flash
168
169Debugging
170=========
171
172For debugging, you can use the serial port or JTAG. You can use OpenOCD
173over the Tag-Connect header on the board.
174
175* Tagconnect JTAG
176
177References
178**********
179
180.. target-notes::
181
182.. _BeagleBoard.org BeaglePlay: https://beagleplay.org
183.. _Tagconnect JTAG: https://docs.beagleboard.org/latest/accessories/cables.html#tagconnect-jtag
184