Hello Again Everyone! The AM62Px is an extension of the existing Sitara AM62x low-cost family of application processors built for Automotive and Linux Application development. Scalable Arm Cortex-A53 performance and embedded features, such as: multi high-definition display support, 3D-graphics acceleration, 4K video acceleration, and extensive peripherals make the AM62Px well-suited for a broad range of automation and industrial application, including automotive digital instrumentation, automotive displays, industrial HMI, and more.
Some highlights of AM62P SoC are: * Quad-Cortex-A53s (running up to 1.4GHz) in a single cluster. Dual/Single core variants are provided in the same package to allow HW compatible designs. * One Device manager Cortex-R5F for system power and resource management, and one Cortex-R5F for Functional Safety or general-purpose usage. * One 3D GPU up to 50 GLFOPS * H.264/H.265 Video Encode/Decode. * Display support: 3x display support over OLDI/LVDS (1x OLDI-DL, 1x or 2x OLDI-SL), DSI, or DPI. Up to 3840x1080 @ 60fps resolution * Integrated Giga-bit Ethernet switch supporting up to a total of two external ports (TSN capable). * 9xUARTs, 5xSPI, 6xI2C, 2xUSB2, 3xCAN-FD, 3xMMC and SD, GPMC for NAND/FPGA connection, OSPI memory controller, 3xMcASP for audio, 1xCSI-RX-4L for Camera, eCAP/eQEP, ePWM, among other peripherals. * Dedicated Centralized Hardware Security Module with support for secure boot, debug security and crypto acceleration and trusted execution environment. * One 32-bit DDR Subsystem that supports LPDDR4, DDR4 memory types. * Multiple low power modes support, ex: Deep sleep, Standby, MCU-only, enabling battery powered system design. For those interested, more details about this SoC can be found in the Technical Reference Manual here: https://www.ti.com/lit/pdf/spruj83 Proof-of-Life: https://paste.sr.ht/~bryanb/af2ac108a9362549aa326f182e87918d52bf2d71 Thanks for reviewing! ~Bryan Changes from v3: [2] - rebased on current -next - moved remove_fwl_configs() inside the 'has rom loaded the sysfw' check to avoid removing the firewalls when the A53 SPL is executed. - added the TFA address for the AM62Px to the ATF_LOAD_ADDR Kconfig - fixed formatting issues with clk and dev auto-generated files Changes from v2: [1] - dropped the extra ARCH_K3 not needed for the K3_DM_FW option - removed the extra &main_pktdma and &main_bcdma nodes already present in the kernel dtbs - corrected a few patch fixup errors - rebased ontop op OF_UPSTREAM v5 [0] - %s/uboot/U-Boot/g Changes from v1: [0] - squashed all clk and lpsc tree updates into a single commit - corrected SOC_K3_AM642 typo with DM firmware Kconfig option - updated RM configs and dma nodes to enable IP that need DMA - added the dtb targets to the dts/Makefile - rebased the series on top of v2024.01-rc1 - switched to bootstd rather than use distro boot scripts. - enabled OF_UPSTREAM instead of using the arch/arm/dts directory [0] https://lore.kernel.org/all/20231012230616.2101992-13...@ti.com/ [1] https://lore.kernel.org/u-boot/20240201030634.1120963-17...@ti.com/ [2] https://lore.kernel.org/u-boot/20240205-am62px-wip-rebasing-v3-0-04cbb42ea...@ti.com/ --- Bryan Brattlof (11): soc: add info to identify the am62p SoC family power: domain: ti: use IS_ENABLED macro arm: mach-k3: am62px: introduce clock and device files for wkup spl ram: k3-ddrss: enable the am62ax's DDR controller for am62px arm: mach-k3: invert logic for split DM firmware config arch: mach-k3: introduce basic files to support the am62px SoC family board: ti: introduce basic board files for the am62px family arm: dts: introduce am62p5 U-Boot dts files configs: introduce configs needed for the am62px doc: board: ti: introduce am62px documentation arm: mach-k3: fixup whitespace in SPDX License IDs Hari Nagalla (1): firmware: ti_sci_static_data: add static DMA channel data Vignesh Raghavendra (1): dma: ti: k3-udma: Add DMA PSIL mappings for AM62P and J722S arch/arm/dts/Makefile | 2 + arch/arm/dts/k3-am62p-ddr-lp4-50-1600.dtsi | 2800 ++++++++++++++++++++++++ arch/arm/dts/k3-am62p-sk-binman.dtsi | 173 ++ arch/arm/dts/k3-am62p5-r5-sk.dts | 101 + arch/arm/dts/k3-am62p5-sk-u-boot.dtsi | 23 + arch/arm/mach-k3/Kconfig | 9 +- arch/arm/mach-k3/Makefile | 1 + arch/arm/mach-k3/am62p5_init.c | 281 +++ arch/arm/mach-k3/am62px/Kconfig | 32 + arch/arm/mach-k3/include/mach/am62p_hardware.h | 83 + arch/arm/mach-k3/include/mach/am62p_spl.h | 49 + arch/arm/mach-k3/include/mach/hardware.h | 6 + arch/arm/mach-k3/include/mach/spl.h | 4 + arch/arm/mach-k3/r5/Makefile | 1 + arch/arm/mach-k3/r5/am62ax/Makefile | 2 +- arch/arm/mach-k3/r5/am62px/Makefile | 6 + arch/arm/mach-k3/r5/am62px/clk-data.c | 325 +++ arch/arm/mach-k3/r5/am62px/dev-data.c | 71 + arch/arm/mach-k3/r5/am62x/Makefile | 2 +- arch/arm/mach-k3/r5/j7200/Makefile | 2 +- arch/arm/mach-k3/r5/j721e/Makefile | 2 +- arch/arm/mach-k3/r5/j721s2/Makefile | 2 +- board/ti/am62px/Kconfig | 26 + board/ti/am62px/MAINTAINERS | 9 + board/ti/am62px/Makefile | 7 + board/ti/am62px/am62px.env | 15 + board/ti/am62px/board-cfg.yaml | 37 + board/ti/am62px/evm.c | 29 + board/ti/am62px/pm-cfg.yaml | 12 + board/ti/am62px/rm-cfg.yaml | 987 +++++++++ board/ti/am62px/sec-cfg.yaml | 378 ++++ board/ti/am62px/tifs-rm-cfg.yaml | 879 ++++++++ configs/am62px_evm_a53_defconfig | 177 ++ configs/am62px_evm_r5_defconfig | 137 ++ doc/board/ti/am62px_sk.rst | 289 +++ doc/board/ti/k3.rst | 1 + drivers/clk/ti/clk-k3.c | 6 + drivers/dma/ti/Makefile | 2 + drivers/dma/ti/k3-psil-am62p.c | 325 +++ drivers/dma/ti/k3-psil-priv.h | 1 + drivers/dma/ti/k3-psil.c | 4 + drivers/firmware/ti_sci_static_data.h | 5 +- drivers/power/domain/ti-power-domain.c | 15 +- drivers/ram/Kconfig | 2 +- drivers/soc/soc_ti_k3.c | 3 + include/configs/am62px_evm.h | 14 + include/k3-clk.h | 1 + include/k3-dev.h | 1 + 48 files changed, 7325 insertions(+), 14 deletions(-) --- base-commit: 20a0ce574d6642e0dfe651467159039fac48cc4f change-id: 20240205-am62px-wip-rebasing-ea57670fe4ca Best regards, -- Bryan Brattlof <b...@ti.com>