Re: [PATCH v6 00/17] Introduce initial TI's J784S4 and AM69 support
On 19/12/23 23:15, Tom Rini wrote: On Wed, Dec 06, 2023 at 06:07:36PM +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. Please rebase this on top of current -next as it doesn't apply / build, thanks. Okay, sent it. Thanks! -- Thanks and regards, Apurva Nandan, Texas Instruments India.
Re: [PATCH v6 00/17] Introduce initial TI's J784S4 and AM69 support
On Wed, Dec 06, 2023 at 06:07:36PM +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. Please rebase this on top of current -next as it doesn't apply / build, thanks. -- Tom signature.asc Description: PGP signature
Re: [PATCH v6 00/17] Introduce initial TI's J784S4 and AM69 support
On 18/12/23 15:05, Apurva Nandan wrote: On 15/12/23 15:40, Enric Balletbo i Serra wrote: Hello Apurva, On Wed, Dec 6, 2023 at 1:38 PM 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 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 eMMC UDA moode bootlog: https://gist.githubusercontent.com/apurvanandan1997/3cffada252d50a8aa0c00a91f1f2f856/raw/ Changes in v6: 1) Move bootph-all of memory node to u-boot.dtsi 2) Used a while loop for DRAM controller init, instead of hard-coding for 4 DRAM 3) Fixed build error by adding board/ti/j784s4/Kconfig 4) Trimmed out j784s4_evm.h 5) Fixed checkpatch warnings Link to v5: https://patchwork.ozlabs.org/project/uboot/cover/20231130115552.3580995-1-a-nan...@ti.com/ 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-nan...@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-nan...@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@bil
Re: [PATCH v6 00/17] Introduce initial TI's J784S4 and AM69 support
On 14/12/23 23:13, Marcel Ziswiler wrote: Hi Apurva Thanks! On Wed, 2023-12-06 at 18:07 +0530, Apurva Nandan wrote: Hello Everyone! This series will introduce basic support (SD and UART) support for Texas Instruments J784S4 EVM. For the whole series: Tested-by: Marcel Ziswiler However, one thing I noticed is that with upstream TF-A I do get the following errors: NOTICE: BL31: v2.10.0 (release):v2.10.0-76-g02091541d NOTICE: BL31: Built : 18:13:08, Dec 14 2023 ERROR: Failed to get response (-19) ERROR: Transfer send failed (-19) ERROR: Unable to query firmware capabilities (-19) While with latest TF-A from downstream TI BSP (both 9.0 and 9.1 use the same versin) I do not get any errors: NOTICE: BL31: v2.9(release):v2.9.0-614-gd7a7135d3 NOTICE: BL31: Built : 18:40:38, Dec 14 2023 Any idea? Cheers Marcel thanks for pointing it out, I am looking into the bug, and will be fixed in next re-roll. 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 eMMC UDA moode bootlog: https://gist.githubusercontent.com/apurvanandan1997/3cffada252d50a8aa0c00a91f1f2f856/raw/ Changes in v6: 1) Move bootph-all of memory node to u-boot.dtsi 2) Used a while loop for DRAM controller init, instead of hard-coding for 4 DRAM 3) Fixed build error by adding board/ti/j784s4/Kconfig 4) Trimmed out j784s4_evm.h 5) Fixed checkpatch warnings Link to v5: https://patchwork.ozlabs.org/project/uboot/cover/20231130115552.3580995-1-a-nan...@ti.com/ 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-nan...@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-nan...@ti.com/ Changes in v3: 1) A
Re: [PATCH v6 00/17] Introduce initial TI's J784S4 and AM69 support
On 15/12/23 15:40, Enric Balletbo i Serra wrote: Hello Apurva, On Wed, Dec 6, 2023 at 1:38 PM 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 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 eMMC UDA moode bootlog: https://gist.githubusercontent.com/apurvanandan1997/3cffada252d50a8aa0c00a91f1f2f856/raw/ Changes in v6: 1) Move bootph-all of memory node to u-boot.dtsi 2) Used a while loop for DRAM controller init, instead of hard-coding for 4 DRAM 3) Fixed build error by adding board/ti/j784s4/Kconfig 4) Trimmed out j784s4_evm.h 5) Fixed checkpatch warnings Link to v5: https://patchwork.ozlabs.org/project/uboot/cover/20231130115552.3580995-1-a-nan...@ti.com/ 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-nan...@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-nan...@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.24
Re: [PATCH v6 00/17] Introduce initial TI's J784S4 and AM69 support
On 12/15/23 2:51 AM, Marcel Ziswiler wrote: On Thu, 2023-12-14 at 14:28 -0600, Andrew Davis wrote: On 12/14/23 2:10 PM, b...@ti.com wrote: On December 14, 2023 thus sayeth Marcel Ziswiler: Hi Apurva Thanks! On Wed, 2023-12-06 at 18:07 +0530, Apurva Nandan wrote: Hello Everyone! This series will introduce basic support (SD and UART) support for Texas Instruments J784S4 EVM. For the whole series: Tested-by: Marcel Ziswiler However, one thing I noticed is that with upstream TF-A I do get the following errors: NOTICE: BL31: v2.10.0 (release):v2.10.0-76-g02091541d NOTICE: BL31: Built : 18:13:08, Dec 14 2023 ERROR: Failed to get response (-19) ERROR: Transfer send failed (-19) ERROR: Unable to query firmware capabilities (-19) While with latest TF-A from downstream TI BSP (both 9.0 and 9.1 use the same versin) I do not get any errors: NOTICE: BL31: v2.9(release):v2.9.0-614-gd7a7135d3 NOTICE: BL31: Built : 18:40:38, Dec 14 2023 What version of TIFS are you running? Not getting a response usually means firmware is dead or we're not using the right thread to talk. In this case the early versions of TIFS/DM for J784S4/AM69 had a bug where the "query firmware capabilities" API was left disabled. This is fixed in the next version of firmware, this error message is harmless today anyway (no LPM yet). No, I was always running the latest from the ti-linux-firmware branch: SYSFW ABI: 3.1 (firmware rev 0x0009 '9.1.2--v09.01.02 (Kool Koala)') So, it is really TF-A which seems to cause the issue here. When I said "fixed in the next version" I meant the next to be released, as in not yet out (I'd guess out in a week or so). Sorry for any confusion here. I added support for this new API to TF-A only recently, which is why the old TF-A versions don't print this error. Nishanth gives more details in the other thread, but as said this error is harmless and will go away in with the next firmware update. Andrew Andrew Cheers Marcel
Re: [PATCH v6 00/17] Introduce initial TI's J784S4 and AM69 support
On Fri, 2023-12-15 at 08:23 -0600, Nishanth Menon wrote: [snip] > > > What version of TIFS are you running? Not getting a response usually > > > means firmware is dead or we're not using the right thread to talk. > > > > Yeah, sorry. I was always running the latest from the ti-linux-firmware > > branch: > > > > SYSFW ABI: 3.1 (firmware rev 0x0009 '9.1.2--v09.01.02 (Kool Koala)') > > > > So, it is really TF-A which seems to cause the issue. > > Actually not TFA either (TFA complains correctly). we have an internal > ticket that is in the middle of getting fixed for TIFS and PDK to > enable this. a bit of history: A new api TISCI_MSG_QUERY_FW_CAPS[1] > was introduced to help determine which version of firmware combination > supports what features (such as Low power, etc). This allows for > consistent TFA/Kernel implementation that can dynamically detect > platforms (since LPM also involved a bit of firmware handshaking for > board specific details - PMIC control and the like). This API is as > fundamental as version message API that all firmware are supposed to > implement. unfortunately the defconfig option for that API wasn't > properly implemented for various firmware components correctly. - > impacted chips are: j721e, j7200, j721s2/am68, j784s4/am69. Other > K3 processor firmware have it implemented correctly. The latest > 9.1.8--v09.01.08 has the bug as well - but hopefully should be fixed > and released soon-ish. Thanks, Nishanth. Glad you guys are aware of this and I am not just seeing things (;-p). > [1] > https://software-dl.ti.com/tisci/esd/latest/2_tisci_msgs/general/core.html#tisci-msg-query-fw-caps > -- > Regards, > Nishanth Menon > Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3 1A34 DDB5 > 849D 1736 249D Cheers Marcel
Re: [PATCH v6 00/17] Introduce initial TI's J784S4 and AM69 support
On 08:49-20231215, Marcel Ziswiler wrote: > On Thu, 2023-12-14 at 14:10 -0600, b...@ti.com wrote: > > On December 14, 2023 thus sayeth Marcel Ziswiler: > > > Hi Apurva > > > > > > Thanks! > > > > > > On Wed, 2023-12-06 at 18:07 +0530, Apurva Nandan wrote: > > > > Hello Everyone! > > > > > > > > This series will introduce basic support (SD and UART) support for Texas > > > > Instruments J784S4 EVM. > > > > > > For the whole series: > > > > > > Tested-by: Marcel Ziswiler > > > > > > However, one thing I noticed is that with upstream TF-A I do get the > > > following errors: > > > > > > NOTICE: BL31: v2.10.0 (release):v2.10.0-76-g02091541d > > > NOTICE: BL31: Built : 18:13:08, Dec 14 2023 > > > ERROR: Failed to get response (-19) > > > ERROR: Transfer send failed (-19) > > > ERROR: Unable to query firmware capabilities (-19) > > > > > > While with latest TF-A from downstream TI BSP (both 9.0 and 9.1 use the > > > same versin) I do not get any > > > errors: > > > > > > NOTICE: BL31: v2.9(release):v2.9.0-614-gd7a7135d3 > > > NOTICE: BL31: Built : 18:40:38, Dec 14 2023 > > > > > > > What version of TIFS are you running? Not getting a response usually > > means firmware is dead or we're not using the right thread to talk. > > Yeah, sorry. I was always running the latest from the ti-linux-firmware > branch: > > SYSFW ABI: 3.1 (firmware rev 0x0009 '9.1.2--v09.01.02 (Kool Koala)') > > So, it is really TF-A which seems to cause the issue. Actually not TFA either (TFA complains correctly). we have an internal ticket that is in the middle of getting fixed for TIFS and PDK to enable this. a bit of history: A new api TISCI_MSG_QUERY_FW_CAPS[1] was introduced to help determine which version of firmware combination supports what features (such as Low power, etc). This allows for consistent TFA/Kernel implementation that can dynamically detect platforms (since LPM also involved a bit of firmware handshaking for board specific details - PMIC control and the like). This API is as fundamental as version message API that all firmware are supposed to implement. unfortunately the defconfig option for that API wasn't properly implemented for various firmware components correctly. - impacted chips are: j721e, j7200, j721s2/am68, j784s4/am69. Other K3 processor firmware have it implemented correctly. The latest 9.1.8--v09.01.08 has the bug as well - but hopefully should be fixed and released soon-ish. [1] https://software-dl.ti.com/tisci/esd/latest/2_tisci_msgs/general/core.html#tisci-msg-query-fw-caps -- Regards, Nishanth Menon Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3 1A34 DDB5 849D 1736 249D
Re: [PATCH v6 00/17] Introduce initial TI's J784S4 and AM69 support
Hello Apurva, On Wed, Dec 6, 2023 at 1:38 PM 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 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 > > eMMC UDA moode bootlog: > https://gist.githubusercontent.com/apurvanandan1997/3cffada252d50a8aa0c00a91f1f2f856/raw/ > > Changes in v6: > 1) Move bootph-all of memory node to u-boot.dtsi > 2) Used a while loop for DRAM controller init, instead of hard-coding for 4 > DRAM > 3) Fixed build error by adding board/ti/j784s4/Kconfig > 4) Trimmed out j784s4_evm.h > 5) Fixed checkpatch warnings > > Link to v5: > https://patchwork.ozlabs.org/project/uboot/cover/20231130115552.3580995-1-a-nan...@ti.com/ > > 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-nan...@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-nan...@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 r
Re: [PATCH v6 00/17] Introduce initial TI's J784S4 and AM69 support
On Thu, 2023-12-14 at 14:28 -0600, Andrew Davis wrote: > On 12/14/23 2:10 PM, b...@ti.com wrote: > > On December 14, 2023 thus sayeth Marcel Ziswiler: > > > Hi Apurva > > > > > > Thanks! > > > > > > On Wed, 2023-12-06 at 18:07 +0530, Apurva Nandan wrote: > > > > Hello Everyone! > > > > > > > > This series will introduce basic support (SD and UART) support for Texas > > > > Instruments J784S4 EVM. > > > > > > For the whole series: > > > > > > Tested-by: Marcel Ziswiler > > > > > > However, one thing I noticed is that with upstream TF-A I do get the > > > following errors: > > > > > > NOTICE: BL31: v2.10.0 (release):v2.10.0-76-g02091541d > > > NOTICE: BL31: Built : 18:13:08, Dec 14 2023 > > > ERROR: Failed to get response (-19) > > > ERROR: Transfer send failed (-19) > > > ERROR: Unable to query firmware capabilities (-19) > > > > > > While with latest TF-A from downstream TI BSP (both 9.0 and 9.1 use the > > > same versin) I do not get any > > > errors: > > > > > > NOTICE: BL31: v2.9(release):v2.9.0-614-gd7a7135d3 > > > NOTICE: BL31: Built : 18:40:38, Dec 14 2023 > > > > > > > What version of TIFS are you running? Not getting a response usually > > means firmware is dead or we're not using the right thread to talk. > > > > In this case the early versions of TIFS/DM for J784S4/AM69 had > a bug where the "query firmware capabilities" API was left disabled. > This is fixed in the next version of firmware, this error message > is harmless today anyway (no LPM yet). No, I was always running the latest from the ti-linux-firmware branch: SYSFW ABI: 3.1 (firmware rev 0x0009 '9.1.2--v09.01.02 (Kool Koala)') So, it is really TF-A which seems to cause the issue here. > Andrew Cheers Marcel
Re: [PATCH v6 00/17] Introduce initial TI's J784S4 and AM69 support
On Thu, 2023-12-14 at 14:10 -0600, b...@ti.com wrote: > On December 14, 2023 thus sayeth Marcel Ziswiler: > > Hi Apurva > > > > Thanks! > > > > On Wed, 2023-12-06 at 18:07 +0530, Apurva Nandan wrote: > > > Hello Everyone! > > > > > > This series will introduce basic support (SD and UART) support for Texas > > > Instruments J784S4 EVM. > > > > For the whole series: > > > > Tested-by: Marcel Ziswiler > > > > However, one thing I noticed is that with upstream TF-A I do get the > > following errors: > > > > NOTICE: BL31: v2.10.0 (release):v2.10.0-76-g02091541d > > NOTICE: BL31: Built : 18:13:08, Dec 14 2023 > > ERROR: Failed to get response (-19) > > ERROR: Transfer send failed (-19) > > ERROR: Unable to query firmware capabilities (-19) > > > > While with latest TF-A from downstream TI BSP (both 9.0 and 9.1 use the > > same versin) I do not get any > > errors: > > > > NOTICE: BL31: v2.9(release):v2.9.0-614-gd7a7135d3 > > NOTICE: BL31: Built : 18:40:38, Dec 14 2023 > > > > What version of TIFS are you running? Not getting a response usually > means firmware is dead or we're not using the right thread to talk. Yeah, sorry. I was always running the latest from the ti-linux-firmware branch: SYSFW ABI: 3.1 (firmware rev 0x0009 '9.1.2--v09.01.02 (Kool Koala)') So, it is really TF-A which seems to cause the issue. > ~Bryan
Re: [PATCH v6 00/17] Introduce initial TI's J784S4 and AM69 support
On 12/14/23 2:10 PM, b...@ti.com wrote: On December 14, 2023 thus sayeth Marcel Ziswiler: Hi Apurva Thanks! On Wed, 2023-12-06 at 18:07 +0530, Apurva Nandan wrote: Hello Everyone! This series will introduce basic support (SD and UART) support for Texas Instruments J784S4 EVM. For the whole series: Tested-by: Marcel Ziswiler However, one thing I noticed is that with upstream TF-A I do get the following errors: NOTICE: BL31: v2.10.0 (release):v2.10.0-76-g02091541d NOTICE: BL31: Built : 18:13:08, Dec 14 2023 ERROR: Failed to get response (-19) ERROR: Transfer send failed (-19) ERROR: Unable to query firmware capabilities (-19) While with latest TF-A from downstream TI BSP (both 9.0 and 9.1 use the same versin) I do not get any errors: NOTICE: BL31: v2.9(release):v2.9.0-614-gd7a7135d3 NOTICE: BL31: Built : 18:40:38, Dec 14 2023 What version of TIFS are you running? Not getting a response usually means firmware is dead or we're not using the right thread to talk. In this case the early versions of TIFS/DM for J784S4/AM69 had a bug where the "query firmware capabilities" API was left disabled. This is fixed in the next version of firmware, this error message is harmless today anyway (no LPM yet). Andrew
Re: [PATCH v6 00/17] Introduce initial TI's J784S4 and AM69 support
On December 14, 2023 thus sayeth Marcel Ziswiler: > Hi Apurva > > Thanks! > > On Wed, 2023-12-06 at 18:07 +0530, Apurva Nandan wrote: > > Hello Everyone! > > > > This series will introduce basic support (SD and UART) support for Texas > > Instruments J784S4 EVM. > > For the whole series: > > Tested-by: Marcel Ziswiler > > However, one thing I noticed is that with upstream TF-A I do get the > following errors: > > NOTICE: BL31: v2.10.0 (release):v2.10.0-76-g02091541d > NOTICE: BL31: Built : 18:13:08, Dec 14 2023 > ERROR: Failed to get response (-19) > ERROR: Transfer send failed (-19) > ERROR: Unable to query firmware capabilities (-19) > > While with latest TF-A from downstream TI BSP (both 9.0 and 9.1 use the same > versin) I do not get any errors: > > NOTICE: BL31: v2.9(release):v2.9.0-614-gd7a7135d3 > NOTICE: BL31: Built : 18:40:38, Dec 14 2023 > What version of TIFS are you running? Not getting a response usually means firmware is dead or we're not using the right thread to talk. ~Bryan
Re: [PATCH v6 00/17] Introduce initial TI's J784S4 and AM69 support
Hi Apurva Thanks! On Wed, 2023-12-06 at 18:07 +0530, Apurva Nandan wrote: > Hello Everyone! > > This series will introduce basic support (SD and UART) support for Texas > Instruments J784S4 EVM. For the whole series: Tested-by: Marcel Ziswiler However, one thing I noticed is that with upstream TF-A I do get the following errors: NOTICE: BL31: v2.10.0 (release):v2.10.0-76-g02091541d NOTICE: BL31: Built : 18:13:08, Dec 14 2023 ERROR: Failed to get response (-19) ERROR: Transfer send failed (-19) ERROR: Unable to query firmware capabilities (-19) While with latest TF-A from downstream TI BSP (both 9.0 and 9.1 use the same versin) I do not get any errors: NOTICE: BL31: v2.9(release):v2.9.0-614-gd7a7135d3 NOTICE: BL31: Built : 18:40:38, Dec 14 2023 Any idea? Cheers Marcel > 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 > > eMMC UDA moode bootlog: > https://gist.githubusercontent.com/apurvanandan1997/3cffada252d50a8aa0c00a91f1f2f856/raw/ > > Changes in v6: > 1) Move bootph-all of memory node to u-boot.dtsi > 2) Used a while loop for DRAM controller init, instead of hard-coding for 4 > DRAM > 3) Fixed build error by adding board/ti/j784s4/Kconfig > 4) Trimmed out j784s4_evm.h > 5) Fixed checkpatch warnings > > Link to v5: > https://patchwork.ozlabs.org/project/uboot/cover/20231130115552.3580995-1-a-nan...@ti.com/ > > 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-nan...@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
[PATCH v6 00/17] Introduce initial TI's J784S4 and AM69 support
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 eMMC UDA moode bootlog: https://gist.githubusercontent.com/apurvanandan1997/3cffada252d50a8aa0c00a91f1f2f856/raw/ Changes in v6: 1) Move bootph-all of memory node to u-boot.dtsi 2) Used a while loop for DRAM controller init, instead of hard-coding for 4 DRAM 3) Fixed build error by adding board/ti/j784s4/Kconfig 4) Trimmed out j784s4_evm.h 5) Fixed checkpatch warnings Link to v5: https://patchwork.ozlabs.org/project/uboot/cover/20231130115552.3580995-1-a-nan...@ti.com/ 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-nan...@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-nan...@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-hnaga...@ti.com/ Changes in v2: - Refactored environement scripts to 'j784s4.env' and removed scripts not