mbox series

[v2,00/20] J721S2: Add initial support

Message ID 20220111075545.1880-1-a-govindraju@ti.com
Headers show
Series J721S2: Add initial support | expand

Message

Aswath Govindraju Jan. 11, 2022, 7:55 a.m. UTC
The J721S2 SoC belongs to the K3 Multicore SoC architecture platform,
providing advanced system integration in automotive ADAS applications and
industrial applications requiring AI at the network edge. This SoC extends
the Jacinto 7 family of SoCs with focus on lowering system costs and power
while providing interfaces, memory architecture and compute performance for
single and multi-sensor applications.

Some highlights of this SoC are:

* Dual Cortex-A72s in a single cluster, three clusters of lockstep capable
dual Cortex-R5F MCUs, Deep-learning Matrix Multiply Accelerator(MMA), C7x
floating point Vector DSP.
* 3D GPU: Automotive grade IMG BXS-4-64
* Vision Processing Accelerator (VPAC) with image signal processor and
Depth and Motion Processing Accelerator (DMPAC)
* Two CSI2.0 4L RX plus one eDP/DP, two DSI Tx, and one DPI interface.
* Two Ethernet ports with RGMII support.
* Single 4 lane PCIe-GEN3 controllers, USB3.0 Dual-role device subsystems,
* Up to 20 MCANs, 5 McASP, eMMC and SD, OSPI/HyperBus memory controller,
QSPI, I3C and I2C, eCAP/eQEP, eHRPWM, MLB among other peripherals.
* Hardware accelerator blocks containing AES/DES/SHA/MD5 called SA2UL
management.
* Chips and Media Wave521CL H.264/H.265 encode/decode engine

See J721S2 Technical Reference Manual (SPRUJ28 – NOVEMBER 2021)
for further details: http://www.ti.com/lit/pdf/spruj28

bootlog:
 - https://pastebin.ubuntu.com/p/WDpTxGHcGD/

Changes since v1:
- Removed unused serial aliases
- Assigned serial2 alias for main uart8 instance
- Moved aliases to respective board files

Aswath Govindraju (10):
  ram: k3-ddrss: lpddr4_structs_if.h: Add a pointer to ddr instance
  ram: k3-ddrss: Add support for multiple instances of DDR subsystems
  ram: k3-ddrss: Add support for configuring MSMC subsystem in case of
    Multiple DDR subsystems
  dt-bindings: ti-serdes-mux: Add defines for J721S2 SoC
  dt-bindings: pinctrl: k3: Introduce pinmux definitions for J721S2
  arm: dts: Add initial support for J721S2 SoC
  arm: dts: Add initial support for J721S2 System on Module
  arm: dts: Add support for A72 specific J721S2 Common Processor Board
  arm: dts: k3-j721s2: Add r5 specific dt support
  arm: dts: k3-j721s2-ddr: Add DDR support

David Huang (9):
  arm: K3: Add basic support for J721S2 SoC definition
  drivers: dma: Add support for J721S2
  clk: clk-k3: Add support for J721S2 SoC
  power: domain: ti: Add support for J721S2 SoC
  ram: k3-ddrss: Add support for J721S2 SoC
  soc: ti: k3-socinfo: Add entry for J721S2 SoC
  board: ti: j721s2: Add board support for J721S2
  configs: j721s2_evm_r5_defconfig: Add R5 SPL specific defconfig
  configs: j721s2_evm_a72_defconfig: Add A72 specific defconfig

Nishanth Menon (1):
  remoteproc: k3_system_controller: Support optional boot_notification
    channel

 arch/arm/dts/Makefile                         |    2 +
 .../k3-j721s2-common-proc-board-u-boot.dtsi   |  149 +
 arch/arm/dts/k3-j721s2-common-proc-board.dts  |  430 ++
 arch/arm/dts/k3-j721s2-ddr-evm-lp4-4266.dtsi  | 4387 ++++++++++++++++
 arch/arm/dts/k3-j721s2-ddr.dtsi               | 4440 +++++++++++++++++
 arch/arm/dts/k3-j721s2-main.dtsi              |  937 ++++
 arch/arm/dts/k3-j721s2-mcu-wakeup.dtsi        |  302 ++
 .../dts/k3-j721s2-r5-common-proc-board.dts    |  198 +
 arch/arm/dts/k3-j721s2-som-p0.dtsi            |  173 +
 arch/arm/dts/k3-j721s2.dtsi                   |  167 +
 arch/arm/mach-k3/Kconfig                      |   11 +-
 arch/arm/mach-k3/Makefile                     |    1 +
 arch/arm/mach-k3/arm64-mmu.c                  |   53 +
 arch/arm/mach-k3/include/mach/hardware.h      |    4 +
 .../mach-k3/include/mach/j721s2_hardware.h    |   60 +
 arch/arm/mach-k3/include/mach/j721s2_spl.h    |   46 +
 arch/arm/mach-k3/include/mach/spl.h           |    4 +
 arch/arm/mach-k3/j721s2/Makefile              |    5 +
 arch/arm/mach-k3/j721s2/clk-data.c            |  403 ++
 arch/arm/mach-k3/j721s2/dev-data.c            |   85 +
 arch/arm/mach-k3/j721s2_init.c                |  312 ++
 board/ti/j721s2/Kconfig                       |   63 +
 board/ti/j721s2/MAINTAINERS                   |    7 +
 board/ti/j721s2/Makefile                      |    8 +
 board/ti/j721s2/evm.c                         |  180 +
 configs/j721s2_evm_a72_defconfig              |  207 +
 configs/j721s2_evm_r5_defconfig               |  171 +
 .../remoteproc/k3-system-controller.txt       |    3 +
 drivers/clk/ti/clk-k3.c                       |    5 +
 drivers/dma/ti/Makefile                       |    1 +
 drivers/dma/ti/k3-psil-j721s2.c               |  167 +
 drivers/dma/ti/k3-psil-priv.h                 |    1 +
 drivers/dma/ti/k3-psil.c                      |    2 +
 drivers/firmware/ti_sci_static_data.h         |   40 +-
 drivers/power/domain/ti-power-domain.c        |    5 +
 drivers/ram/Kconfig                           |   12 +
 drivers/ram/k3-ddrss/Makefile                 |    4 +
 drivers/ram/k3-ddrss/k3-ddrss.c               |  296 +-
 drivers/ram/k3-ddrss/lpddr4_structs_if.h      |    1 +
 drivers/remoteproc/k3_system_controller.c     |   20 +-
 drivers/soc/soc_ti_k3.c                       |    4 +
 include/configs/j721s2_evm.h                  |  191 +
 include/dt-bindings/mux/ti-serdes.h           |   22 +
 include/dt-bindings/pinctrl/k3.h              |    3 +
 include/k3-clk.h                              |    1 +
 include/k3-dev.h                              |    1 +
 46 files changed, 13528 insertions(+), 56 deletions(-)
 create mode 100644 arch/arm/dts/k3-j721s2-common-proc-board-u-boot.dtsi
 create mode 100644 arch/arm/dts/k3-j721s2-common-proc-board.dts
 create mode 100644 arch/arm/dts/k3-j721s2-ddr-evm-lp4-4266.dtsi
 create mode 100644 arch/arm/dts/k3-j721s2-ddr.dtsi
 create mode 100644 arch/arm/dts/k3-j721s2-main.dtsi
 create mode 100644 arch/arm/dts/k3-j721s2-mcu-wakeup.dtsi
 create mode 100644 arch/arm/dts/k3-j721s2-r5-common-proc-board.dts
 create mode 100644 arch/arm/dts/k3-j721s2-som-p0.dtsi
 create mode 100644 arch/arm/dts/k3-j721s2.dtsi
 create mode 100644 arch/arm/mach-k3/include/mach/j721s2_hardware.h
 create mode 100644 arch/arm/mach-k3/include/mach/j721s2_spl.h
 create mode 100644 arch/arm/mach-k3/j721s2/Makefile
 create mode 100644 arch/arm/mach-k3/j721s2/clk-data.c
 create mode 100644 arch/arm/mach-k3/j721s2/dev-data.c
 create mode 100644 arch/arm/mach-k3/j721s2_init.c
 create mode 100644 board/ti/j721s2/Kconfig
 create mode 100644 board/ti/j721s2/MAINTAINERS
 create mode 100644 board/ti/j721s2/Makefile
 create mode 100644 board/ti/j721s2/evm.c
 create mode 100644 configs/j721s2_evm_a72_defconfig
 create mode 100644 configs/j721s2_evm_r5_defconfig
 create mode 100644 drivers/dma/ti/k3-psil-j721s2.c
 create mode 100644 include/configs/j721s2_evm.h

Comments

Aswath Govindraju Jan. 18, 2022, 7:30 a.m. UTC | #1
Hi all,

On 11/01/22 1:25 pm, Aswath Govindraju wrote:
> The J721S2 SoC belongs to the K3 Multicore SoC architecture platform,
> providing advanced system integration in automotive ADAS applications and
> industrial applications requiring AI at the network edge. This SoC extends
> the Jacinto 7 family of SoCs with focus on lowering system costs and power
> while providing interfaces, memory architecture and compute performance for
> single and multi-sensor applications.
> 
> Some highlights of this SoC are:
> 
> * Dual Cortex-A72s in a single cluster, three clusters of lockstep capable
> dual Cortex-R5F MCUs, Deep-learning Matrix Multiply Accelerator(MMA), C7x
> floating point Vector DSP.
> * 3D GPU: Automotive grade IMG BXS-4-64
> * Vision Processing Accelerator (VPAC) with image signal processor and
> Depth and Motion Processing Accelerator (DMPAC)
> * Two CSI2.0 4L RX plus one eDP/DP, two DSI Tx, and one DPI interface.
> * Two Ethernet ports with RGMII support.
> * Single 4 lane PCIe-GEN3 controllers, USB3.0 Dual-role device subsystems,
> * Up to 20 MCANs, 5 McASP, eMMC and SD, OSPI/HyperBus memory controller,
> QSPI, I3C and I2C, eCAP/eQEP, eHRPWM, MLB among other peripherals.
> * Hardware accelerator blocks containing AES/DES/SHA/MD5 called SA2UL
> management.
> * Chips and Media Wave521CL H.264/H.265 encode/decode engine
> 
> See J721S2 Technical Reference Manual (SPRUJ28 – NOVEMBER 2021)
> for further details: http://www.ti.com/lit/pdf/spruj28
> 
> bootlog:
>  - https://pastebin.ubuntu.com/p/WDpTxGHcGD/
> 
> Changes since v1:
> - Removed unused serial aliases
> - Assigned serial2 alias for main uart8 instance
> - Moved aliases to respective board files
> 

I have posted v3 for this series after fixing the patches based on the
comments received.

Thanks,
Aswath

> Aswath Govindraju (10):
>   ram: k3-ddrss: lpddr4_structs_if.h: Add a pointer to ddr instance
>   ram: k3-ddrss: Add support for multiple instances of DDR subsystems
>   ram: k3-ddrss: Add support for configuring MSMC subsystem in case of
>     Multiple DDR subsystems
>   dt-bindings: ti-serdes-mux: Add defines for J721S2 SoC
>   dt-bindings: pinctrl: k3: Introduce pinmux definitions for J721S2
>   arm: dts: Add initial support for J721S2 SoC
>   arm: dts: Add initial support for J721S2 System on Module
>   arm: dts: Add support for A72 specific J721S2 Common Processor Board
>   arm: dts: k3-j721s2: Add r5 specific dt support
>   arm: dts: k3-j721s2-ddr: Add DDR support
> 
> David Huang (9):
>   arm: K3: Add basic support for J721S2 SoC definition
>   drivers: dma: Add support for J721S2
>   clk: clk-k3: Add support for J721S2 SoC
>   power: domain: ti: Add support for J721S2 SoC
>   ram: k3-ddrss: Add support for J721S2 SoC
>   soc: ti: k3-socinfo: Add entry for J721S2 SoC
>   board: ti: j721s2: Add board support for J721S2
>   configs: j721s2_evm_r5_defconfig: Add R5 SPL specific defconfig
>   configs: j721s2_evm_a72_defconfig: Add A72 specific defconfig
> 
> Nishanth Menon (1):
>   remoteproc: k3_system_controller: Support optional boot_notification
>     channel
> 
>  arch/arm/dts/Makefile                         |    2 +
>  .../k3-j721s2-common-proc-board-u-boot.dtsi   |  149 +
>  arch/arm/dts/k3-j721s2-common-proc-board.dts  |  430 ++
>  arch/arm/dts/k3-j721s2-ddr-evm-lp4-4266.dtsi  | 4387 ++++++++++++++++
>  arch/arm/dts/k3-j721s2-ddr.dtsi               | 4440 +++++++++++++++++
>  arch/arm/dts/k3-j721s2-main.dtsi              |  937 ++++
>  arch/arm/dts/k3-j721s2-mcu-wakeup.dtsi        |  302 ++
>  .../dts/k3-j721s2-r5-common-proc-board.dts    |  198 +
>  arch/arm/dts/k3-j721s2-som-p0.dtsi            |  173 +
>  arch/arm/dts/k3-j721s2.dtsi                   |  167 +
>  arch/arm/mach-k3/Kconfig                      |   11 +-
>  arch/arm/mach-k3/Makefile                     |    1 +
>  arch/arm/mach-k3/arm64-mmu.c                  |   53 +
>  arch/arm/mach-k3/include/mach/hardware.h      |    4 +
>  .../mach-k3/include/mach/j721s2_hardware.h    |   60 +
>  arch/arm/mach-k3/include/mach/j721s2_spl.h    |   46 +
>  arch/arm/mach-k3/include/mach/spl.h           |    4 +
>  arch/arm/mach-k3/j721s2/Makefile              |    5 +
>  arch/arm/mach-k3/j721s2/clk-data.c            |  403 ++
>  arch/arm/mach-k3/j721s2/dev-data.c            |   85 +
>  arch/arm/mach-k3/j721s2_init.c                |  312 ++
>  board/ti/j721s2/Kconfig                       |   63 +
>  board/ti/j721s2/MAINTAINERS                   |    7 +
>  board/ti/j721s2/Makefile                      |    8 +
>  board/ti/j721s2/evm.c                         |  180 +
>  configs/j721s2_evm_a72_defconfig              |  207 +
>  configs/j721s2_evm_r5_defconfig               |  171 +
>  .../remoteproc/k3-system-controller.txt       |    3 +
>  drivers/clk/ti/clk-k3.c                       |    5 +
>  drivers/dma/ti/Makefile                       |    1 +
>  drivers/dma/ti/k3-psil-j721s2.c               |  167 +
>  drivers/dma/ti/k3-psil-priv.h                 |    1 +
>  drivers/dma/ti/k3-psil.c                      |    2 +
>  drivers/firmware/ti_sci_static_data.h         |   40 +-
>  drivers/power/domain/ti-power-domain.c        |    5 +
>  drivers/ram/Kconfig                           |   12 +
>  drivers/ram/k3-ddrss/Makefile                 |    4 +
>  drivers/ram/k3-ddrss/k3-ddrss.c               |  296 +-
>  drivers/ram/k3-ddrss/lpddr4_structs_if.h      |    1 +
>  drivers/remoteproc/k3_system_controller.c     |   20 +-
>  drivers/soc/soc_ti_k3.c                       |    4 +
>  include/configs/j721s2_evm.h                  |  191 +
>  include/dt-bindings/mux/ti-serdes.h           |   22 +
>  include/dt-bindings/pinctrl/k3.h              |    3 +
>  include/k3-clk.h                              |    1 +
>  include/k3-dev.h                              |    1 +
>  46 files changed, 13528 insertions(+), 56 deletions(-)
>  create mode 100644 arch/arm/dts/k3-j721s2-common-proc-board-u-boot.dtsi
>  create mode 100644 arch/arm/dts/k3-j721s2-common-proc-board.dts
>  create mode 100644 arch/arm/dts/k3-j721s2-ddr-evm-lp4-4266.dtsi
>  create mode 100644 arch/arm/dts/k3-j721s2-ddr.dtsi
>  create mode 100644 arch/arm/dts/k3-j721s2-main.dtsi
>  create mode 100644 arch/arm/dts/k3-j721s2-mcu-wakeup.dtsi
>  create mode 100644 arch/arm/dts/k3-j721s2-r5-common-proc-board.dts
>  create mode 100644 arch/arm/dts/k3-j721s2-som-p0.dtsi
>  create mode 100644 arch/arm/dts/k3-j721s2.dtsi
>  create mode 100644 arch/arm/mach-k3/include/mach/j721s2_hardware.h
>  create mode 100644 arch/arm/mach-k3/include/mach/j721s2_spl.h
>  create mode 100644 arch/arm/mach-k3/j721s2/Makefile
>  create mode 100644 arch/arm/mach-k3/j721s2/clk-data.c
>  create mode 100644 arch/arm/mach-k3/j721s2/dev-data.c
>  create mode 100644 arch/arm/mach-k3/j721s2_init.c
>  create mode 100644 board/ti/j721s2/Kconfig
>  create mode 100644 board/ti/j721s2/MAINTAINERS
>  create mode 100644 board/ti/j721s2/Makefile
>  create mode 100644 board/ti/j721s2/evm.c
>  create mode 100644 configs/j721s2_evm_a72_defconfig
>  create mode 100644 configs/j721s2_evm_r5_defconfig
>  create mode 100644 drivers/dma/ti/k3-psil-j721s2.c
>  create mode 100644 include/configs/j721s2_evm.h
>