On Fri, 2023-09-08 at 16:35 +0530, Apurva Nandan wrote: > 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
BTW: Is it actually an IMG BXS-4-64 MC1 or MC4? > * 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://paste.sr.ht/~hnagalla/f14840abc854519f912923662f1fdc8075d92107 > > 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-hnaga...@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 (9): > arm: dts: Introduce j784s4 dts from linux kernel > arm: mach-k3: Add basic support for J784S4 SoC definition > 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 > arm: dts: Introduce j784s4 u-boot dts files > configs: j784s4_evm: Add defconfig for j784s4 evm and am69 sk > doc: board: ti: k3: Add J784S4 EVM and AM69 SK documentation > > Dasnavis Sabiya (5): > arm: dts: Introduce am69-sk dts from linux kernel > board: ti: j784s4: Add support for board detection by EEPROM read > board: ti: j784s4: Update env to use am69-sk dtb > arm: dts: Introduce am69-sk u-boot dts files > arm: dts: k3-j784s4-binman: Add support for AM69 SK > > Hari Nagalla (2): > remoteproc: k3-r5: Extend support for R5F clusters on J784S4 SoCs > remoteproc: k3-dsp: Extend support for C71x DSPs on J784S4 SoCs > > 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 | 364 + > arch/arm/dts/k3-j784s4-binman.dtsi | 597 ++ > 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 | 864 ++ > arch/arm/dts/k3-j784s4-main.dtsi | 1571 +++ > arch/arm/dts/k3-j784s4-mcu-wakeup.dtsi | 703 ++ > 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 | 3 + > arch/arm/mach-k3/arm64-mmu.c | 52 + > arch/arm/mach-k3/include/mach/hardware.h | 5 + > .../mach-k3/include/mach/j784s4_hardware.h | 60 + > arch/arm/mach-k3/include/mach/j784s4_spl.h | 46 + > arch/arm/mach-k3/include/mach/spl.h | 6 +- > arch/arm/mach-k3/j784s4/Makefile | 5 + > arch/arm/mach-k3/j784s4/clk-data.c | 428 + > arch/arm/mach-k3/j784s4/dev-data.c | 98 + > arch/arm/mach-k3/j784s4_fdt.c | 15 + > arch/arm/mach-k3/j784s4_init.c | 332 + > board/ti/j784s4/Kconfig | 63 + > board/ti/j784s4/MAINTAINERS | 21 + > board/ti/j784s4/Makefile | 8 + > board/ti/j784s4/board-cfg.yaml | 36 + > board/ti/j784s4/evm.c | 183 + > board/ti/j784s4/j784s4.env | 37 + > board/ti/j784s4/pm-cfg.yaml | 12 + > board/ti/j784s4/rm-cfg.yaml | 3057 ++++++ > board/ti/j784s4/sec-cfg.yaml | 379 + > board/ti/j784s4/tifs-rm-cfg.yaml | 2655 +++++ > configs/j784s4_evm_a72_defconfig | 181 + > configs/j784s4_evm_r5_defconfig | 164 + > doc/board/ti/j784s4_evm.rst | 339 + > 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/remoteproc/ti_k3_dsp_rproc.c | 4 +- > drivers/remoteproc/ti_k3_r5f_rproc.c | 6 +- > drivers/soc/soc_ti_k3.c | 3 + > include/configs/j784s4_evm.h | 20 + > include/k3-clk.h | 1 + > include/k3-dev.h | 1 + > 54 files changed, 30817 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/Makefile > create mode 100644 arch/arm/mach-k3/j784s4/clk-data.c > create mode 100644 arch/arm/mach-k3/j784s4/dev-data.c > create mode 100644 arch/arm/mach-k3/j784s4_fdt.c > create mode 100644 arch/arm/mach-k3/j784s4_init.c > create mode 100644 board/ti/j784s4/Kconfig > 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/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