soc: ti_k3: Add TI J722s SoC MAIN R5

Add initial SoC support for the TI J722s SoC series MAIN-domain
Cortex-R5 core.

TRM for J722s: https://www.ti.com/lit/zip/sprujb3

Signed-off-by: Andrew Davis <afd@ti.com>
This commit is contained in:
Andrew Davis 2024-10-01 10:56:06 -05:00 committed by Benjamin Cabé
parent 01d9861d71
commit 9af843e269
4 changed files with 177 additions and 0 deletions

109
dts/arm/ti/j722s_main.dtsi Normal file
View file

@ -0,0 +1,109 @@
/*
* Copyright (c) 2024 Texas Instruments Incorporated
* Andrew Davis <afd@ti.com>
*
* SPDX-License-Identifier: Apache-2.0
*/
#include <mem.h>
#include <freq.h>
#include <zephyr/dt-bindings/interrupt-controller/ti-vim.h>
/ {
#address-cells = <1>;
#size-cells = <1>;
pinctrl: pinctrl@f4000 {
compatible = "ti,k3-pinctrl";
reg = <0x000f4000 0x2ac>;
status = "okay";
};
gpio0: gpio@600010 {
compatible = "ti,davinci-gpio";
reg = <0x00600010 0x100>;
gpio-controller;
#gpio-cells = <2>;
ngpios = <92>;
status = "disabled";
};
gpio1: gpio@601010 {
compatible = "ti,davinci-gpio";
reg = <0x00601010 0x100>;
gpio-controller;
#gpio-cells = <2>;
ngpios = <52>;
status = "disabled";
};
uart0: uart@2800000 {
compatible = "ns16550";
reg = <0x02800000 0x100>;
clock-frequency = <48000000>;
interrupts = <0 210 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
interrupt-parent = <&vim>;
reg-shift = <2>;
status = "disabled";
};
uart1: uart@2810000 {
compatible = "ns16550";
reg = <0x02810000 0x100>;
clock-frequency = <48000000>;
interrupts = <0 211 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
interrupt-parent = <&vim>;
reg-shift = <2>;
status = "disabled";
};
uart2: uart@2820000 {
compatible = "ns16550";
reg = <0x02820000 0x100>;
clock-frequency = <48000000>;
interrupts = <0 212 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
interrupt-parent = <&vim>;
reg-shift = <2>;
status = "disabled";
};
uart3: uart@2830000 {
compatible = "ns16550";
reg = <0x02830000 0x100>;
clock-frequency = <48000000>;
interrupts = <0 213 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
interrupt-parent = <&vim>;
reg-shift = <2>;
status = "disabled";
};
uart4: uart@2840000 {
compatible = "ns16550";
reg = <0x02840000 0x100>;
clock-frequency = <48000000>;
interrupts = <0 214 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
interrupt-parent = <&vim>;
reg-shift = <2>;
status = "disabled";
};
uart5: uart@2850000 {
compatible = "ns16550";
reg = <0x02850000 0x100>;
clock-frequency = <48000000>;
interrupts = <0 215 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
interrupt-parent = <&vim>;
reg-shift = <2>;
status = "disabled";
};
uart6: uart@2860000 {
compatible = "ns16550";
reg = <0x02860000 0x100>;
clock-frequency = <48000000>;
interrupts = <0 216 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
interrupt-parent = <&vim>;
reg-shift = <2>;
status = "disabled";
};
};

View file

@ -0,0 +1,60 @@
/*
* Copyright (c) 2024 Texas Instruments Incorporated
* Andrew Davis <afd@ti.com>
*
* SPDX-License-Identifier: Apache-2.0
*/
#include <mem.h>
#include <freq.h>
#include <arm/armv7-r.dtsi>
#include <zephyr/dt-bindings/interrupt-controller/ti-vim.h>
#include "j722s_main.dtsi"
/ {
#address-cells = <1>;
#size-cells = <1>;
cpus {
#address-cells = <1>;
#size-cells = <0>;
cpu0: cpu@0 {
device_type = "cpu";
compatible = "arm,cortex-r5";
reg = <0>;
};
};
atcm: memory@0 {
device_type = "memory";
compatible = "zephyr,memory-region", "mmio-sram";
reg = <0x00000000 DT_SIZE_K(32)>;
zephyr,memory-region = "ATCM";
};
btcm: memory@41010000 {
device_type = "memory";
compatible = "zephyr,memory-region", "mmio-sram";
reg = <0x41010000 DT_SIZE_K(32)>;
zephyr,memory-region = "BTCM";
};
vim: interrupt-controller@2fff0000 {
#address-cells = <1>;
compatible = "ti,vim";
reg = <0x2fff0000 0x2800>;
interrupt-controller;
#interrupt-cells = <4>; /* {IRQ/FIQ, IRQ_NUM, IRQ_TYPE, IRQ_PRIO} */
status = "okay";
};
systick_timer: timer@2470000 {
compatible = "ti,am654-timer";
reg = <0x02470000 0x70>;
interrupts = <0 35 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
interrupt-parent = <&vim>;
status = "disabled";
};
};

View file

@ -39,6 +39,10 @@ config SOC_J721E_MAIN_R5F0_0
bool
select SOC_SERIES_AM6X_R5
config SOC_J722S_MAIN_R5F0_0
bool
select SOC_SERIES_AM6X_R5
config SOC_SERIES
default "am6x" if SOC_SERIES_AM6X
@ -46,3 +50,4 @@ config SOC
default "am6234" if SOC_AM6234_M4 || SOC_AM6234_A53
default "am6442" if SOC_AM6442_M4
default "j721e" if SOC_J721E_MAIN_R5F0_0
default "j722s" if SOC_J722S_MAIN_R5F0_0

View file

@ -13,3 +13,6 @@ family:
- name: j721e
cpuclusters:
- name: main_r5f0_0
- name: j722s
cpuclusters:
- name: main_r5f0_0