[PATCH v5 00/17] Introduce initial TI's J784S4 and AM69 support
Apurva Nandan
a-nandan at ti.com
Thu Nov 30 12:55:35 CET 2023
Hello Everyone!
This series will introduce basic support (SD and UART) support for Texas
Instruments J784S4 EVM.
The J784S4 SoC device tree patches are taken from kernel patch submissions
and will be updated as they are accepted and merged to the kernel tree.
All other patches are specific to SPL and u-boot and do not have
dependency on other trees. Appreciate a review for acceptance to u-boot
tree.
Here are some of the salient features of the J784S4 automotive grade
application processor:
The J784S4 SoC belongs to the K3 Multicore SoC architecture
platform, providing advanced system integration in automotive,
ADAS and industrial applications requiring AI at the network edge.
This SoC extends the K3 Jacinto 7 family of SoCs with focus on
raising performance and integration while providing interfaces,
memory architecture and compute performance for multi-sensor, high
concurrency applications.
Some highlights of this SoC are:
* Up to 8 Cortex-A72s, four clusters of lockstep capable dual Cortex-R5F MCUs,
4 C7x floating point vector DSPs with Matrix Multiply Accelerator(MMA) for
deep learning and CNN.
* 3D GPU: Automotive grade IMG BXS-4-64 MC1
* Vision Processing Accelerator (VPAC) with image signal processor and Depth
and Motion Processing Accelerator (DMPAC)
* Three CSI2.0 4L RX plus two CSI2.0 4L TX, two DSI Tx, one eDP/DP and one
DPI interface.
* Integrated gigabit ethernet switch, up to 8 ports (TDA4VH), two ports
support 10Gb USXGMII; Two 4 lane PCIe-GEN3 controllers, USB3.0 Dual-role
device subsystems, Up to 20 MCANs, among other peripherals.
See J784S4 Technical Reference Manual (SPRUJ52 - JUNE 2022)
for further details: http://www.ti.com/lit/zip/spruj52
In addtion, the J784S4 EVM board is designed for TI J784S4 SoC. It
supports the following interfaces:
* 32 GB DDR4 RAM
* x2 Gigabit Ethernet interfaces capable of working in Switch and MAC mode
* x1 Input Audio Jack, x1 Output Audio Jack
* x1 USB2.0 Hub with two Type A host and x1 USB 3.1 Type-C Port
* x2 4L PCIe connector
* x1 UHS-1 capable micro-SD card slot
* 512 Mbit OSPI flash, 1 Gbit Octal NAND flash, 512 Mbit QSPI flash,
UFS flash.
* x6 UART through UART-USB bridge
* XDS110 for onboard JTAG debug using USB
* Temperature sensors, user push buttons and LEDs
* 40-pin User Expansion Connector
* x2 ENET Expansion Connector, x1 GESI expander, x2 Display connector
* x1 15-pin CSI header
* x6 MCAN instances
Schematics: https://www.ti.com/lit/zip/sprr458
bootlog: https://gist.githubusercontent.com/apurvanandan1997/2116d3eb4f2e8d50d5601c51423ba12e/raw/
Changes in v5:
1) Incorporated Andrew Davis' "Move R5 specific code into new r5/ directory" and
"Move board selection to mach-k3" series changes.
2) Incorporated Neha Francis' "Move to using templated FITs" series changes.
3) Synced device tree files with Linux v6.7-rc1
4) Changed ti_mmc to mmc1 target from bootstd
5) Updated doc based on review comments
6) Removed remoteproc support from the series
7) Splitted board files patch into smaller patches
8) Trimmed j784s4.env to necessary variables
9) Used fdtdec_setup_mem_size_base fdtdec_setup_memory_banksize in evm.c
10) Trimmed down evm.c to essential header files.
11) Switched to multi-dtb fit compilation with config fragments
Link to v4:
https://lore.kernel.org/u-boot/20231001165545.494212-1-a-nandan@ti.com/
Changes in v4:
1) Cleaned up Copyright and SPDX identifiers
2) Synced the device trees to Linux v6.6-rc1 tag
3) Added cleanup patch for sorting SoC JTAG ID entries
4) Removed EEPROM board detect from evm.c and added am69 config fragments
5) Updated MAINTAINERS files and commit messages
6) Removed struct renaming in ti_k3_r5f_rproc driver
Link to v3:
https://lore.kernel.org/u-boot/20230908110551.861575-1-a-nandan@ti.com/
Changes in v3:
1) Added AM69 SK support in the series
2) Switched from distroboot to bootstd support
3) Added remoteproc support for J784S4
4) Added documentation for both SoCs
5) Added binman support
6) Removed unnecessarry nodes from r5-evm.dts and evm-u-boot.dtsi
7) Added HS device support
8) Added env file for environement variables
9) Removed ti-serdes-mux bindings
10) Cleaned up all files and synced with latest
11) Addressed all previous review comments
Note: The base dts files have been sync from next-20230905 linux tag as per review comment received
on previous re-roll:
https://lore.kernel.org/u-boot/20230321155227.GV8135@bill-the-cat/
Link to v2:
https://lore.kernel.org/u-boot/20230321141028.24456-1-hnagalla@ti.com/
Changes in v2:
- Refactored environement scripts to 'j784s4.env' and removed scripts not
needed for basic board bootup.
- Imported the J7874S4 basic device tree files from v6.2 linux kernel.
- Moved j784s4 clock definitions and clock data into one patch/commit.
- coalesce board commits into one commit.
Apurva Nandan (14):
arm: dts: Introduce j784s4 dts from linux kernel
arm: dts: Add bootph-all for memory node
arm: mach-k3: Add basic support for J784S4 SoC definition
arm: mach-k3: Sort SoC JTAG_ID entries
soc: ti: k3-socinfo: Add entry for J784S4 SoC
arm: mach-k3: j784s4: Add clk and power support
drivers: dma: Add support for J784S4 SoC
board: ti: j784s4: Add board support for J784S4 EVM
board: ti: j748s4: Add board config yaml files
board: ti: j784s4: Add boot environment variables
arm: dts: Introduce j784s4 u-boot dts files
configs: j784s4_evm: Add defconfig for j784s4 evm board
doc: board: ti: k3: Add J784S4 EVM and AM69 SK documentation
board: ti: j784s4: Add MAINTAINERS file
Dasnavis Sabiya (3):
arm: dts: Introduce am69-sk dts from linux kernel
arm: dts: Introduce am69-sk u-boot dts files
configs: Add am69_sk_* defconfig fragments
arch/arm/dts/Makefile | 4 +
arch/arm/dts/k3-am69-r5-sk.dts | 105 +
arch/arm/dts/k3-am69-sk-u-boot.dtsi | 25 +
arch/arm/dts/k3-am69-sk.dts | 901 ++
arch/arm/dts/k3-j784s4-binman.dtsi | 435 +
arch/arm/dts/k3-j784s4-ddr-evm-lp4-4266.dtsi | 8757 ++++++++++++++++
arch/arm/dts/k3-j784s4-ddr.dtsi | 8858 +++++++++++++++++
arch/arm/dts/k3-j784s4-evm-u-boot.dtsi | 25 +
arch/arm/dts/k3-j784s4-evm.dts | 982 ++
arch/arm/dts/k3-j784s4-main.dtsi | 2068 ++++
arch/arm/dts/k3-j784s4-mcu-wakeup.dtsi | 743 ++
arch/arm/dts/k3-j784s4-r5-evm.dts | 105 +
arch/arm/dts/k3-j784s4-thermal.dtsi | 101 +
arch/arm/dts/k3-j784s4.dtsi | 294 +
arch/arm/mach-k3/Kconfig | 17 +-
arch/arm/mach-k3/Makefile | 2 +
arch/arm/mach-k3/arm64-mmu.c | 52 +
arch/arm/mach-k3/include/mach/hardware.h | 13 +-
.../mach-k3/include/mach/j784s4_hardware.h | 60 +
arch/arm/mach-k3/include/mach/j784s4_spl.h | 47 +
arch/arm/mach-k3/include/mach/spl.h | 4 +
arch/arm/mach-k3/j784s4/Kconfig | 35 +
arch/arm/mach-k3/j784s4_fdt.c | 15 +
arch/arm/mach-k3/j784s4_init.c | 338 +
arch/arm/mach-k3/r5/Makefile | 1 +
arch/arm/mach-k3/r5/j784s4/Makefile | 7 +
arch/arm/mach-k3/r5/j784s4/clk-data.c | 428 +
arch/arm/mach-k3/r5/j784s4/dev-data.c | 98 +
board/ti/j784s4/MAINTAINERS | 25 +
board/ti/j784s4/Makefile | 7 +
board/ti/j784s4/board-cfg.yaml | 37 +
board/ti/j784s4/evm.c | 38 +
board/ti/j784s4/j784s4.env | 19 +
board/ti/j784s4/pm-cfg.yaml | 13 +
board/ti/j784s4/rm-cfg.yaml | 3058 ++++++
board/ti/j784s4/sec-cfg.yaml | 380 +
board/ti/j784s4/tifs-rm-cfg.yaml | 2656 +++++
configs/am69_sk_a72.config | 3 +
configs/am69_sk_r5.config | 3 +
configs/j784s4_evm_a72_defconfig | 180 +
configs/j784s4_evm_r5_defconfig | 163 +
doc/board/ti/j784s4_evm.rst | 303 +
doc/board/ti/k3.rst | 1 +
drivers/clk/ti/clk-k3.c | 6 +
drivers/dma/ti/Makefile | 1 +
drivers/dma/ti/k3-psil-j784s4.c | 166 +
drivers/dma/ti/k3-psil-priv.h | 1 +
drivers/dma/ti/k3-psil.c | 2 +
drivers/firmware/ti_sci_static_data.h | 34 +
drivers/power/domain/ti-power-domain.c | 6 +
drivers/ram/Kconfig | 2 +-
drivers/soc/soc_ti_k3.c | 3 +
include/configs/j784s4_evm.h | 20 +
include/k3-clk.h | 1 +
include/k3-dev.h | 1 +
55 files changed, 31637 insertions(+), 12 deletions(-)
create mode 100644 arch/arm/dts/k3-am69-r5-sk.dts
create mode 100644 arch/arm/dts/k3-am69-sk-u-boot.dtsi
create mode 100644 arch/arm/dts/k3-am69-sk.dts
create mode 100644 arch/arm/dts/k3-j784s4-binman.dtsi
create mode 100644 arch/arm/dts/k3-j784s4-ddr-evm-lp4-4266.dtsi
create mode 100644 arch/arm/dts/k3-j784s4-ddr.dtsi
create mode 100644 arch/arm/dts/k3-j784s4-evm-u-boot.dtsi
create mode 100644 arch/arm/dts/k3-j784s4-evm.dts
create mode 100644 arch/arm/dts/k3-j784s4-main.dtsi
create mode 100644 arch/arm/dts/k3-j784s4-mcu-wakeup.dtsi
create mode 100644 arch/arm/dts/k3-j784s4-r5-evm.dts
create mode 100644 arch/arm/dts/k3-j784s4-thermal.dtsi
create mode 100644 arch/arm/dts/k3-j784s4.dtsi
create mode 100644 arch/arm/mach-k3/include/mach/j784s4_hardware.h
create mode 100644 arch/arm/mach-k3/include/mach/j784s4_spl.h
create mode 100644 arch/arm/mach-k3/j784s4/Kconfig
create mode 100644 arch/arm/mach-k3/j784s4_fdt.c
create mode 100644 arch/arm/mach-k3/j784s4_init.c
create mode 100644 arch/arm/mach-k3/r5/j784s4/Makefile
create mode 100644 arch/arm/mach-k3/r5/j784s4/clk-data.c
create mode 100644 arch/arm/mach-k3/r5/j784s4/dev-data.c
create mode 100644 board/ti/j784s4/MAINTAINERS
create mode 100644 board/ti/j784s4/Makefile
create mode 100644 board/ti/j784s4/board-cfg.yaml
create mode 100644 board/ti/j784s4/evm.c
create mode 100644 board/ti/j784s4/j784s4.env
create mode 100644 board/ti/j784s4/pm-cfg.yaml
create mode 100644 board/ti/j784s4/rm-cfg.yaml
create mode 100644 board/ti/j784s4/sec-cfg.yaml
create mode 100644 board/ti/j784s4/tifs-rm-cfg.yaml
create mode 100644 configs/am69_sk_a72.config
create mode 100644 configs/am69_sk_r5.config
create mode 100644 configs/j784s4_evm_a72_defconfig
create mode 100644 configs/j784s4_evm_r5_defconfig
create mode 100644 doc/board/ti/j784s4_evm.rst
create mode 100644 drivers/dma/ti/k3-psil-j784s4.c
create mode 100644 include/configs/j784s4_evm.h
--
2.34.1
More information about the U-Boot
mailing list