boards: ti: A53 west build target for AM62 SK EVM
Added west build target for the AM62 SK EVM for the A53 cores. Signed-off-by: Dave Joseph <d-joseph@ti.com>
This commit is contained in:
parent
5c959c6136
commit
62941d7856
7 changed files with 144 additions and 15 deletions
|
@ -6,4 +6,5 @@
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
config BOARD_SK_AM62
|
config BOARD_SK_AM62
|
||||||
|
select SOC_AM6234_A53 if BOARD_SK_AM62_AM6234_A53
|
||||||
select SOC_AM6234_M4 if BOARD_SK_AM62_AM6234_M4
|
select SOC_AM6234_M4 if BOARD_SK_AM62_AM6234_M4
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
board:
|
board:
|
||||||
name: sk_am62
|
name: sk_am62
|
||||||
full_name: SK-AM62 M4F Core
|
full_name: SK-AM62 Evaluation board
|
||||||
vendor: ti
|
vendor: ti
|
||||||
socs:
|
socs:
|
||||||
- name: am6234
|
- name: am6234
|
||||||
|
|
|
@ -4,11 +4,20 @@ Overview
|
||||||
********
|
********
|
||||||
|
|
||||||
The SK-AM62 board configuration is used by Zephyr applications that run on
|
The SK-AM62 board configuration is used by Zephyr applications that run on
|
||||||
the TI AM62x platform. The board configuration provides support for the ARM
|
the TI AM62x platform. The board configuration provides support for:
|
||||||
Cortex-M4F MCU core and the following features:
|
|
||||||
|
|
||||||
- Nested Vector Interrupt Controller (NVIC)
|
- ARM Cortex-M4F MCU core and the following features:
|
||||||
- System Tick System Clock (SYSTICK)
|
|
||||||
|
- Nested Vector Interrupt Controller (NVIC)
|
||||||
|
- System Tick System Clock (SYSTICK)
|
||||||
|
|
||||||
|
- ARM Cortex-A53 core and the following features:
|
||||||
|
|
||||||
|
- General Interrupt Controller (GIC)
|
||||||
|
- ARM Generic Timer (arch_timer)
|
||||||
|
- On-chip SRAM (oc_sram)
|
||||||
|
- UART interfaces (uart0 to uart6)
|
||||||
|
- Mailbox interface (mbox0)
|
||||||
|
|
||||||
The board configuration also enables support for the semihosting debugging console.
|
The board configuration also enables support for the semihosting debugging console.
|
||||||
|
|
||||||
|
@ -18,8 +27,9 @@ Hardware
|
||||||
********
|
********
|
||||||
The SK-AM62 EVM features the AM62x SoC, which is composed of a quad Cortex-A53
|
The SK-AM62 EVM features the AM62x SoC, which is composed of a quad Cortex-A53
|
||||||
cluster and a single Cortex-M4 core in the MCU domain. Zephyr is ported to run on
|
cluster and a single Cortex-M4 core in the MCU domain. Zephyr is ported to run on
|
||||||
the M4F core and the following listed hardware specifications are used:
|
the M4F and A53 cores. The following listed hardware specifications are used:
|
||||||
|
|
||||||
|
- High-performance ARM Cortex-A53
|
||||||
- Low-power ARM Cortex-M4F
|
- Low-power ARM Cortex-M4F
|
||||||
- Memory
|
- Memory
|
||||||
|
|
||||||
|
@ -59,15 +69,12 @@ SD Card
|
||||||
|
|
||||||
Download TI's official `WIC`_ and flash the WIC file with an etching software
|
Download TI's official `WIC`_ and flash the WIC file with an etching software
|
||||||
onto an SD-card. This will boot Linux on the A53 application cores of the EVM.
|
onto an SD-card. This will boot Linux on the A53 application cores of the EVM.
|
||||||
These cores will then load the zephyr binary on the M4 core using remoteproc.
|
While programming for the M4 core, the A53 cores will then load the zephyr binary on the M4 core using remoteproc.
|
||||||
|
|
||||||
The default configuration can be found in
|
Programming for M4F Core
|
||||||
:zephyr_file:`boards/ti/sk_am62/sk_am62_am6234_m4_defconfig`
|
************************
|
||||||
|
|
||||||
Flashing
|
The board can use remoteproc, and uses the OpenAMP resource table to accomplish this.
|
||||||
********
|
|
||||||
|
|
||||||
The board can using remoteproc, and uses the OpenAMP resource table to accomplish this.
|
|
||||||
|
|
||||||
The testing requires the binary to be copied to the SD card to allow the A53 cores to load it while booting using remoteproc.
|
The testing requires the binary to be copied to the SD card to allow the A53 cores to load it while booting using remoteproc.
|
||||||
|
|
||||||
|
@ -98,17 +105,42 @@ To allow the board to boot using the SD card, set the boot pins to the SD Card b
|
||||||
After changing the boot mode, the board should go through the boot sequence on powering up.
|
After changing the boot mode, the board should go through the boot sequence on powering up.
|
||||||
The binary will run and print Hello world to the MCU_UART0 port.
|
The binary will run and print Hello world to the MCU_UART0 port.
|
||||||
|
|
||||||
|
Programming for A53 Core
|
||||||
|
************************
|
||||||
|
|
||||||
|
Copy the compiled ``zephyr.bin`` to the first FAT partition of the SD card and
|
||||||
|
plug the SD card into the board. Power it up and stop the u-boot execution at
|
||||||
|
prompt.
|
||||||
|
|
||||||
|
Use U-Boot to load and kick zephyr.bin:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
fatload mmc 1:1 0x82000000 zephyr.bin; go 0x82000000
|
||||||
|
|
||||||
|
The Zephyr application should start running on the A53 core.
|
||||||
|
|
||||||
Debugging
|
Debugging
|
||||||
*********
|
*********
|
||||||
|
|
||||||
The board is equipped with an XDS110 JTAG debugger. To debug a binary, utilize the ``debug`` build target:
|
The board is equipped with an XDS110 JTAG debugger. To debug a binary, utilize the ``debug`` build target:
|
||||||
|
|
||||||
|
- M4F Core
|
||||||
|
|
||||||
.. zephyr-app-commands::
|
.. zephyr-app-commands::
|
||||||
:app: <my_app>
|
:app: <my_app>
|
||||||
:board: sk_am62/am6234/m4
|
:board: sk_am62/am6234/m4
|
||||||
:maybe-skip-config:
|
:maybe-skip-config:
|
||||||
:goals: debug
|
:goals: debug
|
||||||
|
|
||||||
|
- A53 Core
|
||||||
|
|
||||||
|
.. zephyr-app-commands::
|
||||||
|
:app: <my_app>
|
||||||
|
:board: sk_am62/am6234/a53
|
||||||
|
:maybe-skip-config:
|
||||||
|
:goals: debug
|
||||||
|
|
||||||
.. hint::
|
.. hint::
|
||||||
To utilize this feature, you'll need OpenOCD version 0.12 or higher. Due to the possibility of
|
To utilize this feature, you'll need OpenOCD version 0.12 or higher. Due to the possibility of
|
||||||
older versions being available in package feeds, it's advisable to `build OpenOCD from source`_.
|
older versions being available in package feeds, it's advisable to `build OpenOCD from source`_.
|
||||||
|
@ -123,8 +155,7 @@ AM62x SK EVM TRM:
|
||||||
https://www.ti.com/product/AM625
|
https://www.ti.com/product/AM625
|
||||||
|
|
||||||
.. _WIC:
|
.. _WIC:
|
||||||
https://dr-download.ti.com/software-development/software-development-kit-sdk/MD-PvdSyIiioq/08.06.00.42/tisdk-default-image-am62xx-evm.wic.xz
|
https://dr-download.ti.com/software-development/software-development-kit-sdk/MD-PvdSyIiioq/10.01.10.04/tisdk-default-image-am62xx-evm-10.01.10.04.rootfs.wic.xz
|
||||||
|
|
||||||
.. _AM62x SK EVM TRM:
|
.. _AM62x SK EVM TRM:
|
||||||
https://www.ti.com/lit/ug/spruiv7/spruiv7.pdf
|
https://www.ti.com/lit/ug/spruiv7/spruiv7.pdf
|
||||||
|
|
||||||
|
|
15
boards/ti/sk_am62/sk-am62_am6234_a53-pinctrl.dts
Normal file
15
boards/ti/sk_am62/sk-am62_am6234_a53-pinctrl.dts
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2025 Texas Instruments Incorporated
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
&pinctrl {
|
||||||
|
uart0_rx_default: uart0_rx_default {
|
||||||
|
pinmux = <K3_PINMUX(0x1c8, PIN_INPUT, MUX_MODE_0)>;
|
||||||
|
};
|
||||||
|
|
||||||
|
uart0_tx_default: uart0_tx_default {
|
||||||
|
pinmux = <K3_PINMUX(0x1cc, PIN_OUTPUT, MUX_MODE_0)>;
|
||||||
|
};
|
||||||
|
};
|
52
boards/ti/sk_am62/sk_am62_am6234_a53.dts
Normal file
52
boards/ti/sk_am62/sk_am62_am6234_a53.dts
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2025 Texas Instruments Incorporated
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
/dts-v1/;
|
||||||
|
|
||||||
|
#include <ti/ti_am6234_a53.dtsi>
|
||||||
|
#include "sk-am62_am6234_a53-pinctrl.dts"
|
||||||
|
/ {
|
||||||
|
model = "TI AM62X STARTER KIT (SK) EVALUATION MODULE (EVM)";
|
||||||
|
compatible = "ti,am62x_a53_sk";
|
||||||
|
|
||||||
|
chosen {
|
||||||
|
zephyr,console = &uart0;
|
||||||
|
zephyr,shell-uart = &uart0;
|
||||||
|
zephyr,sram = &ddr0;
|
||||||
|
};
|
||||||
|
|
||||||
|
cpus {
|
||||||
|
|
||||||
|
cpu@0 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
cpu@1 {
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
cpu@2 {
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
cpu@3 {
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
ddr0: memory@82000000 {
|
||||||
|
/* Note: This board actually has 2GB DRAM available */
|
||||||
|
reg = <0x82000000 DT_SIZE_M(1)>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
&uart0 {
|
||||||
|
current-speed = <115200>;
|
||||||
|
pinctrl-0 = <&uart0_rx_default &uart0_tx_default>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
status = "okay";
|
||||||
|
};
|
13
boards/ti/sk_am62/sk_am62_am6234_a53.yaml
Normal file
13
boards/ti/sk_am62/sk_am62_am6234_a53.yaml
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
identifier: sk_am62/am6234/a53
|
||||||
|
name: TI AM62X A53 Starter Kit (SK)
|
||||||
|
type: mcu
|
||||||
|
arch: arm64
|
||||||
|
toolchain:
|
||||||
|
- zephyr
|
||||||
|
- cross-compile
|
||||||
|
ram: 1024
|
||||||
|
testing:
|
||||||
|
ignore_tags:
|
||||||
|
- net
|
||||||
|
- bluetooth
|
||||||
|
vendor: ti
|
17
boards/ti/sk_am62/sk_am62_am6234_a53_defconfig
Normal file
17
boards/ti/sk_am62/sk_am62_am6234_a53_defconfig
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
# Texas Instruments Sitara AM62x-SK-A53 EVM
|
||||||
|
#
|
||||||
|
# Copyright (c) 2025 Texas Instruments Incorporated
|
||||||
|
# Copyright (c) 2025 Dave Paul Joseph
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
|
# Zephyr Kernel Configuration
|
||||||
|
CONFIG_XIP=n
|
||||||
|
|
||||||
|
# Serial Driver
|
||||||
|
CONFIG_SERIAL=y
|
||||||
|
|
||||||
|
# Enable Console
|
||||||
|
CONFIG_CONSOLE=y
|
||||||
|
CONFIG_UART_CONSOLE=y
|
||||||
|
CONFIG_UART_INTERRUPT_DRIVEN=y
|
Loading…
Add table
Add a link
Reference in a new issue