boards: beagley_ai: Add BeagleY-AI MCU domain R5 support
Add initial support for the BeagleY-AI MCU domain Cortex-R5F core. BeagleY-AI: https://www.beagleboard.org/boards/beagley-ai Signed-off-by: Andrew Davis <afd@ti.com>
This commit is contained in:
parent
87a5410584
commit
ed343078c1
6 changed files with 129 additions and 5 deletions
|
|
@ -5,3 +5,4 @@
|
|||
|
||||
config BOARD_BEAGLEY_AI
|
||||
select SOC_J722S_MAIN_R5F0_0 if BOARD_BEAGLEY_AI_J722S_MAIN_R5F0_0
|
||||
select SOC_J722S_MCU_R5F0_0 if BOARD_BEAGLEY_AI_J722S_MCU_R5F0_0
|
||||
|
|
|
|||
|
|
@ -0,0 +1,20 @@
|
|||
/*
|
||||
* Copyright (c) 2024 Texas Instruments Incorporated
|
||||
* Andrew Davis <afd@ti.com>
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#include <zephyr/dt-bindings/pinctrl/ti-k3-pinctrl.h>
|
||||
|
||||
&pinctrl {
|
||||
uart1_rx_default: uart1_rx_default {
|
||||
/* (C27) MCASP0_AFSR.UART1_RXD */
|
||||
pinmux = <K3_PINMUX(0x01ac, PIN_INPUT, MUX_MODE_2)>;
|
||||
};
|
||||
|
||||
uart1_tx_default: uart1_tx_default {
|
||||
/* (F24) MCASP0_ACLKR.UART1_TXD */
|
||||
pinmux = <K3_PINMUX(0x01b0, PIN_OUTPUT, MUX_MODE_2)>;
|
||||
};
|
||||
};
|
||||
56
boards/beagle/beagley_ai/beagley_ai_j722s_mcu_r5f0_0.dts
Normal file
56
boards/beagle/beagley_ai/beagley_ai_j722s_mcu_r5f0_0.dts
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
/*
|
||||
* Copyright (c) 2024 Texas Instruments Incorporated
|
||||
* Andrew Davis <afd@ti.com>
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include <ti/j722s_mcu_r5.dtsi>
|
||||
#include "beagley_ai_j722s_mcu_r5f0_0-pinctrl.dtsi"
|
||||
#include <freq.h>
|
||||
|
||||
/ {
|
||||
model = "BeagleBoard.org BeagleY-AI";
|
||||
compatible = "beagle,beagley-ai";
|
||||
|
||||
chosen {
|
||||
zephyr,sram = &atcm;
|
||||
zephyr,console = &uart1;
|
||||
};
|
||||
|
||||
cpus {
|
||||
cpu@0 {
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
ddr0: memory@a1000000 {
|
||||
compatible = "mmio-sram";
|
||||
reg = <0xa1000000 DT_SIZE_M(1)>;
|
||||
};
|
||||
|
||||
rsc_table: memory@a1100000 {
|
||||
compatible = "zephyr,memory-region", "mmio-sram";
|
||||
reg = <0xa1100000 DT_SIZE_M(1)>;
|
||||
zephyr,memory-region = "RSC_TABLE";
|
||||
};
|
||||
|
||||
ddr1: memory@a1200000 {
|
||||
compatible = "zephyr,memory-region", "mmio-sram";
|
||||
reg = <0xa1200000 DT_SIZE_M(14)>;
|
||||
zephyr,memory-region = "DRAM";
|
||||
};
|
||||
};
|
||||
|
||||
&uart1 {
|
||||
status = "okay";
|
||||
pinctrl-0 = <&uart1_tx_default &uart1_rx_default>;
|
||||
pinctrl-names = "default";
|
||||
current-speed = <115200>;
|
||||
};
|
||||
|
||||
&systick_timer {
|
||||
status = "okay";
|
||||
};
|
||||
16
boards/beagle/beagley_ai/beagley_ai_j722s_mcu_r5f0_0.yaml
Normal file
16
boards/beagle/beagley_ai/beagley_ai_j722s_mcu_r5f0_0.yaml
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
# Copyright (c) 2024 Texas Instruments Incorporated
|
||||
# Andrew Davis <afd@ti.com>
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
identifier: beagley_ai/j722s/mcu_r5f0_0
|
||||
name: BeagleY-AI MCU domain R5F Core 0
|
||||
type: mcu
|
||||
arch: arm
|
||||
ram: 32
|
||||
toolchain:
|
||||
- zephyr
|
||||
- gnuarmemb
|
||||
supported:
|
||||
- uart
|
||||
vendor: beagle
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
# Copyright (c) 2024 Texas Instruments Incorporated
|
||||
# Andrew Davis <afd@ti.com>
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
# Zephyr Kernel Configuration
|
||||
CONFIG_XIP=n
|
||||
|
||||
# Serial Driver
|
||||
CONFIG_SERIAL=y
|
||||
CONFIG_UART_INTERRUPT_DRIVEN=y
|
||||
|
||||
# Enable Console
|
||||
CONFIG_CONSOLE=y
|
||||
CONFIG_UART_CONSOLE=y
|
||||
|
|
@ -9,8 +9,7 @@ targeted for automotive applications.
|
|||
Hardware
|
||||
********
|
||||
BeagleY-AI is powered by TI AM67A (J722S) SoC, which has two domains (Main,
|
||||
MCU). This document gives overview of Zephyr running on Cortex R5 in the
|
||||
Main domain.
|
||||
MCU). This document gives overview of Zephyr running on both Cortex R5.
|
||||
|
||||
L1 Memory System
|
||||
----------------
|
||||
|
|
@ -81,6 +80,16 @@ Note that BeagleY-AI has 4GB of DDR.
|
|||
| DDR Shared Region | 0x00A2000000 | 0x00A2000000 | 16MB |
|
||||
+-------------------+---------------+--------------+--------+
|
||||
|
||||
+-------------------+---------------+--------------+--------+
|
||||
| Region | Addr from A53 | MCU R5F | Size |
|
||||
+===================+===============+==============+========+
|
||||
| ATCM | 0x0079000000 | 0x0000000000 | 32KB |
|
||||
+-------------------+---------------+--------------+--------+
|
||||
| BTCM | 0x0079020000 | 0x0041010000 | 32KB |
|
||||
+-------------------+---------------+--------------+--------+
|
||||
| DDR Shared Region | 0x00A1000000 | 0x00A1000000 | 16MB |
|
||||
+-------------------+---------------+--------------+--------+
|
||||
|
||||
Steps to run the image
|
||||
----------------------
|
||||
Here is an example for the :zephyr:code-sample:`hello_world` application
|
||||
|
|
@ -91,19 +100,26 @@ targeting the MAIN domain Cortex R5F on BeagleY-AI:
|
|||
:board: beagley_ai/j722s/main_r5f0_0
|
||||
:goals: build
|
||||
|
||||
For the MCU domain Cortex R5F on BeagleY-AI:
|
||||
|
||||
.. zephyr-app-commands::
|
||||
:zephyr-app: samples/hello_world
|
||||
:board: beagley_ai/j722s/mcu_r5f0_0
|
||||
:goals: build
|
||||
|
||||
To load the image:
|
||||
|
||||
| Copy Zephyr image to the /lib/firmware/ directory.
|
||||
| ``cp build/zephyr/zephyr.elf /lib/firmware/``
|
||||
|
|
||||
| Ensure the Core is not running.
|
||||
| ``echo stop > /dev/remoteproc/am67a-main-r5f0_0/state``
|
||||
| ``echo stop > /dev/remoteproc/am67a-{main,mcu}-r5f0_0/state``
|
||||
|
|
||||
| Configuring the image name to the remoteproc module.
|
||||
| ``echo zephyr.elf > /dev/remoteproc/am67a-main-r5f0_0/firmware``
|
||||
| ``echo zephyr.elf > /dev/remoteproc/am67a-{main,mcu}-r5f0_0/firmware``
|
||||
|
|
||||
| Once the image name is configured, send the start command.
|
||||
| ``echo start > /dev/remoteproc/am67a-main-r5f0_0/state``
|
||||
| ``echo start > /dev/remoteproc/am67a-{main,mcu}-r5f0_0/state``
|
||||
|
||||
Console
|
||||
-------
|
||||
|
|
|
|||
Loading…
Reference in a new issue