diff --git a/dts/arm/ti/j722s_main.dtsi b/dts/arm/ti/j722s_main.dtsi new file mode 100644 index 00000000000..4ed66cde145 --- /dev/null +++ b/dts/arm/ti/j722s_main.dtsi @@ -0,0 +1,109 @@ +/* + * Copyright (c) 2024 Texas Instruments Incorporated + * Andrew Davis + * + * SPDX-License-Identifier: Apache-2.0 + */ + +#include +#include +#include + +/ { + #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"; + }; +}; diff --git a/dts/arm/ti/j722s_main_r5.dtsi b/dts/arm/ti/j722s_main_r5.dtsi new file mode 100644 index 00000000000..42206068eb4 --- /dev/null +++ b/dts/arm/ti/j722s_main_r5.dtsi @@ -0,0 +1,60 @@ +/* + * Copyright (c) 2024 Texas Instruments Incorporated + * Andrew Davis + * + * SPDX-License-Identifier: Apache-2.0 + */ + +#include +#include +#include +#include + +#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"; + }; +}; diff --git a/soc/ti/k3/am6x/Kconfig.soc b/soc/ti/k3/am6x/Kconfig.soc index 2f76accd255..3872f243efe 100644 --- a/soc/ti/k3/am6x/Kconfig.soc +++ b/soc/ti/k3/am6x/Kconfig.soc @@ -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 diff --git a/soc/ti/k3/soc.yml b/soc/ti/k3/soc.yml index b8832d4f6b4..9627669e940 100644 --- a/soc/ti/k3/soc.yml +++ b/soc/ti/k3/soc.yml @@ -13,3 +13,6 @@ family: - name: j721e cpuclusters: - name: main_r5f0_0 + - name: j722s + cpuclusters: + - name: main_r5f0_0