[PATCH v4 3/6] xen/arm: platforms: Add NXP S32G3 Processors config

2024-12-19 Thread Andrei Cherechesu (OSS)
From: Andrei Cherechesu Platforms based on NXP S32G3 processors use the NXP LINFlexD UART driver for console by default, and rely on Dom0 having access to SCMI services for system-level resources from firmware at EL3. Signed-off-by: Andrei Cherechesu Reviewed-by: Bertrand Marquis --- xen/arch

[PATCH v4 5/6] SUPPORT.md: Describe SCMI-SMC layer feature

2024-12-19 Thread Andrei Cherechesu (OSS)
From: Andrei Cherechesu Describe the layer which enables SCMI over SMC calls forwarding to EL3 FW if issued by the Hardware domain. If the SCMI firmware node is not found in the Host DT during initialization, it fails silently as it's not mandatory. The SCMI SMCs trapping at EL2 now lets hwdom p

[PATCH v4 0/6] xen/arm: Add support for S32CC platforms and LINFlexD UART

2024-12-19 Thread Andrei Cherechesu (OSS)
From: Andrei Cherechesu Targeting: Xen 4.20 This v4 version of this patch series finishes the work left to support NXP S32G3 Processors [0], part of the NXP S32CC Family. The LINFlexD UART support patches have been merged in v2. Platforms using S32G3 Processors are not affected by the TLBI by VA

[PATCH v4 2/6] xen/arm: vsmc: Enable handling SiP-owned SCMI SMC calls

2024-12-19 Thread Andrei Cherechesu (OSS)
From: Andrei Cherechesu Change the handling of SiP SMC calls to be more generic, instead of directly relying on the `platform_smc()` callback implementation. Try to handle the SiP SMC first through the `platform_smc()` callback (if implemented). Otherwise, try to handle it as SCMI message. Sign

[PATCH v4 4/6] CHANGELOG.md: Add NXP S32G3 and SCMI-SMC layer support mentions

2024-12-19 Thread Andrei Cherechesu (OSS)
From: Andrei Cherechesu Signed-off-by: Andrei Cherechesu Reviewed-by: Bertrand Marquis Acked-by: Oleksii Kurochko --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 15f681459f..bda43b1efb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1

[PATCH v4 1/6] xen/arm: firmware: Add SCMI over SMC calls handling layer

2024-12-19 Thread Andrei Cherechesu (OSS)
From: Andrei Cherechesu Introduce the SCMI-SMC layer to have some basic degree of awareness about SCMI calls that are based on the ARM System Control and Management Interface (SCMI) specification (DEN0056E). The SCMI specification includes various protocols for managing system-level resources, s

[PATCH v4 6/6] MAINTAINERS: Add myself as maintainer for NXP S32G3

2024-12-19 Thread Andrei Cherechesu (OSS)
From: Andrei Cherechesu Add myself as maintainer for NXP S32G3 SoCs Family, and the S32 Linux Team as relevant reviewers list. Signed-off-by: Andrei Cherechesu Acked-by: Bertrand Marquis Acked-by: Michal Orzel --- MAINTAINERS | 6 ++ 1 file changed, 6 insertions(+) diff --git a/MAINTAIN

[PATCH v3 3/6] xen/arm: platforms: Add NXP S32G3 Processors config

2024-12-18 Thread Andrei Cherechesu (OSS)
From: Andrei Cherechesu Platforms based on NXP S32G3 processors use the NXP LINFlexD UART driver for console by default, and rely on Dom0 having access to SCMI services for system-level resources from firmware at EL3. Signed-off-by: Andrei Cherechesu --- xen/arch/arm/platforms/Kconfig | 8

[PATCH v3 1/6] xen/arm: firmware: Add SCMI over SMC calls handling layer

2024-12-18 Thread Andrei Cherechesu (OSS)
From: Andrei Cherechesu Introduce the SCMI-SMC layer to have some basic degree of awareness about SCMI calls that are based on the ARM System Control and Management Interface (SCMI) specification (DEN0056E). The SCMI specification includes various protocols for managing system-level resources, s

[PATCH v3 5/6] SUPPORT.md: Describe SCMI-SMC layer feature

2024-12-18 Thread Andrei Cherechesu (OSS)
From: Andrei Cherechesu Describe the layer which enables SCMI over SMC calls forwarding to EL3 FW if issued by the Hardware domain. If the SCMI firmware node is not found in the Host DT during initialization, it fails silently as it's not mandatory. The SCMI SMCs trapping at EL2 now lets hwdom p

[PATCH v3 4/6] CHANGELOG.md: Add NXP S32G3 and SCMI-SMC layer support mentions

2024-12-18 Thread Andrei Cherechesu (OSS)
From: Andrei Cherechesu Signed-off-by: Andrei Cherechesu --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 15f681459f..bda43b1efb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,9 @@ The format is based on [Keep a Changelog](htt

[PATCH v3 6/6] MAINTAINERS: Add myself as maintainer for NXP S32G3

2024-12-18 Thread Andrei Cherechesu (OSS)
From: Andrei Cherechesu Add myself as maintainer for NXP S32G3 SoCs Family, and the S32 Linux Team as relevant reviewers list. Signed-off-by: Andrei Cherechesu --- MAINTAINERS | 6 ++ 1 file changed, 6 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS index 34ad49bc39..392f780f76 10064

[PATCH v3 2/6] xen/arm: vsmc: Enable handling SiP-owned SCMI SMC calls

2024-12-18 Thread Andrei Cherechesu (OSS)
From: Andrei Cherechesu Change the handling of SiP SMC calls to be more generic, instead of directly relying on the `platform_smc()` callback implementation. Try to handle the SiP SMC first through the `platform_smc()` callback (if implemented). If not handled, check if the SCMI layer is availab

[PATCH v3 0/6] xen/arm: Add support for S32CC platforms and LINFlexD UART

2024-12-18 Thread Andrei Cherechesu (OSS)
From: Andrei Cherechesu Targeting: Xen 4.20 This v3 version of this patch series finishes the work left to support NXP S32G3 Processors [0], part of the NXP S32CC Family. The LINFlexD UART support patches have been merged in v2. Platforms using S32G3 Processors are not affected by the TLBI by VA

[PATCH v2 0/8] xen/arm: Add support for S32CC platforms and LINFlexD UART

2024-09-30 Thread Andrei Cherechesu (OSS)
From: Andrei Cherechesu This patch series adds support for NXP Automotive S32CC platform family, which includes S32G [0] and S32R [1]. First patch adds the driver for the NXP LINFlexD UART, available on S32V, S32G and S32R automotive processors. The compatibles in the driver match the ones in up

[PATCH v2 6/8] CHANGELOG.md: Add NXP S32CC and SCMI-SMC layer support mentions

2024-09-30 Thread Andrei Cherechesu (OSS)
From: Andrei Cherechesu Signed-off-by: Andrei Cherechesu --- CHANGELOG.md | 4 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 26e7d8dd2a..66ea505843 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,10 @@ The format is based on [Keep a Changelog](h

[PATCH v2 8/8] MAINTAINERS: Add myself as maintainer for NXP S32CC

2024-09-30 Thread Andrei Cherechesu (OSS)
From: Andrei Cherechesu Add myself as maintainer for NXP S32CC SoCs Family, and the S32 Linux Team as relevant reviewers list. Also add the linflex-uart.c driver to the list of other UART drivers in the ARM section. Signed-off-by: Andrei Cherechesu --- MAINTAINERS | 8 1 file changed

[PATCH v2 2/8] xen/arm: Add NXP LINFlexD UART early printk support

2024-09-30 Thread Andrei Cherechesu (OSS)
From: Andrei Cherechesu This adds support for early printk debug via the NXP LINFlexD UART controller. Signed-off-by: Andrei Cherechesu Signed-off-by: Peter van der Perk Acked-by: Julien Grall --- xen/arch/arm/Kconfig.debug | 12 ++ xen/arch/arm/arm64/debug-linflex.inc | 58 +++

[PATCH v2 4/8] xen/arm: vsmc: Enable handling SiP-owned SCMI SMC calls

2024-09-30 Thread Andrei Cherechesu (OSS)
From: Andrei Cherechesu Change the handling of SiP SMC calls to be more generic, instead of directly relying on the `platform_smc()` callback implementation. Try to handle the SiP SMC first through the `platform_smc()` callback (if implemented). If not handled, check if the SCMI layer is availab

[PATCH v2 7/8] SUPPORT.md: Describe SCMI-SMC layer feature

2024-09-30 Thread Andrei Cherechesu (OSS)
From: Andrei Cherechesu Describe the layer which enables SCMI over SMC calls forwarding to EL3 FW if issued by Dom0. If the SCMI firmware node is not found in Dom0's DT during initialization, it fails silently as it's not mandatory. The SCMI SMCs trapping at EL2 now lets Dom0 perform SCMI ops fo

[PATCH v2 1/8] xen/arm: Add NXP LINFlexD UART Driver

2024-09-30 Thread Andrei Cherechesu (OSS)
From: Andrei Cherechesu The LINFlexD UART is an UART controller available on NXP S32 processors family targeting automotive (for example: S32G2, S32G3, S32R). S32G3 Reference Manual: https://www.nxp.com/webapp/Download?colCode=RMS32G3. Signed-off-by: Andrei Cherechesu Signed-off-by: Peter van

[PATCH v2 5/8] xen/arm: platforms: Add NXP S32CC platform code

2024-09-30 Thread Andrei Cherechesu (OSS)
From: Andrei Cherechesu Add code for NXP S32CC platforms (S32G2, S32G3, S32R45). S32CC platforms use the NXP LINFlexD UART driver for console by default, and rely on Dom0 having access to SCMI services for system-level resources from firmware at EL3. Platform-related quirks will be addressed in

[PATCH v2 3/8] xen/arm: Add SCMI over SMC calls handling layer

2024-09-30 Thread Andrei Cherechesu (OSS)
From: Andrei Cherechesu Introduce the SCMI layer to have some basic degree of awareness about SMC calls that are based on the ARM System Control and Management Interface (SCMI) specification (DEN0056E). The SCMI specification includes various protocols for managing system-level resources, such a

[PATCH v1 3/5] xen/arm: platforms: Add NXP S32CC platform code

2024-09-10 Thread Andrei Cherechesu (OSS)
From: Andrei Cherechesu Added support for NXP S32CC platforms (S32G2, S32G3, S32R45), which need SCMI over SMC calls forwarded to the firmware running at EL3 (TF-A). Linux relies on the SCMI Platform for system services such as clocking, reset, etc. S32CC platforms use the NXP LINFlexD UART driv

[PATCH v1 1/5] xen/arm: Add NXP LINFlexD UART Driver

2024-09-10 Thread Andrei Cherechesu (OSS)
From: Andrei Cherechesu The LINFlexD UART is an UART controller available on NXP S32 processors family targeting automotive (for example: S32G2, S32G3, S32R). S32G3 Reference Manual: https://www.nxp.com/webapp/Download?colCode=RMS32G3. Signed-off-by: Andrei Cherechesu Signed-off-by: Peter van

[PATCH v1 2/5] xen/arm: Add NXP LINFlexD UART early printk support

2024-09-10 Thread Andrei Cherechesu (OSS)
From: Andrei Cherechesu This adds support for early printk debug via the NXP LINFlexD UART controller. Signed-off-by: Andrei Cherechesu Signed-off-by: Peter van der Perk --- xen/arch/arm/Kconfig.debug | 14 +++ xen/arch/arm/arm64/debug-linflex.inc | 58 ++

[PATCH v1 0/5] xen/arm: Add support for S32CC platforms and LINFlexD UART

2024-09-10 Thread Andrei Cherechesu (OSS)
From: Andrei Cherechesu This patch series adds support for NXP Automotive S32CC platform family, which includes S32G [0] and S32R [1]. First patch adds the driver for the NXP LINFlexD UART, available on S32V, S32G and S32R automotive processors. The compatibles in the driver match the ones in up

[PATCH v1 5/5] xen/arm: Enable workaround for Cortex-A53 erratum #1530924

2024-09-10 Thread Andrei Cherechesu (OSS)
From: Andrei Cherechesu All versions of Cortex-A53 cores are affected by the speculative AT instruction erratum, as mentioned in the Cortex-A53 Revision r0 SDEN v21 documentation. Enabled ARM64_WORKAROUND_AT_SPECULATE for all versions of Cortex-A53 cores, to avoid corrupting the TLB if performin

[PATCH v1 4/5] xen/arm: Enable early printk for S32CC via LINFlexD UART

2024-09-10 Thread Andrei Cherechesu (OSS)
From: Andrei Cherechesu Enabled the support for debug through early printk on S32CC platforms via the NXP LINFlexD UART driver. Signed-off-by: Andrei Cherechesu --- xen/arch/arm/Kconfig.debug | 4 1 file changed, 4 insertions(+) diff --git a/xen/arch/arm/Kconfig.debug b/xen/arch/arm/Kcon

[VirtIO] Support for various devices in Xen

2024-01-11 Thread Andrei Cherechesu (OSS)
Hello, As I've mentioned in previous discussion threads in the xen-devel community, we are running Xen 4.17 (uprev to 4.18 in progress) on NXP S32G automotive processors (Cortex-A53 cores) and we wanted to know more about the support for various VirtIO device types in Xen. In the Xen 4.17 release

Re: [ARM][xencons] PV Console hangs due to illegal ring buffer accesses

2023-07-21 Thread Andrei Cherechesu (OSS)
Hello, Julien, Stefano, Thank you for your replies. On 21/07/2023 02:25, Stefano Stabellini wrote: > > On Thu, 20 Jul 2023, Julien Grall wrote: >> (+ Juergen) >> >> On 19/07/2023 17:13, Andrei Cherechesu (OSS) wrote: >>> Hello, >> >> Hi Andrei, &g

[ARM][xencons] PV Console hangs due to illegal ring buffer accesses

2023-07-19 Thread Andrei Cherechesu (OSS)
Hello, As we're running Xen 4.17 (with platform-related support added) on NXP S32G SoCs (ARMv8), with a custom Linux distribution built through Yocto, and we've set some Xen-based demos up, we encountered some issues which we think might not be related to our hardware. For additional context, t

[PATCH v3 0/2] Fix ARM Generic Timer interrupt parsing

2023-03-13 Thread Andrei Cherechesu (OSS)
From: Andrei Cherechesu This 2-patch series fixes the parsing of the ARM Generic Timer interrupts from the device tree. If the generic timer interrupts order in the DT was different than the expected order in Xen code, these interrupts would no longer be correctly parsed and registered by Xen, a

[PATCH v3 1/2] arch/arm: irq: Add platform_get_irq_byname() implementation

2023-03-13 Thread Andrei Cherechesu (OSS)
From: Andrei Cherechesu Moved implementation for the function which parses the IRQs of a DT node by the "interrupt-names" property from the SMMU-v3 driver to the IRQ core code and made it non-static to be used as helper. Also changed it to receive a "struct dt_device_node*" as parameter, like it

[PATCH v3 2/2] arch/arm: time: Add support for parsing interrupts by names

2023-03-13 Thread Andrei Cherechesu (OSS)
From: Andrei Cherechesu Added support for parsing the ARM generic timer interrupts DT node by the "interrupt-names" property, if it is available. If not available, the usual parsing based on the expected IRQ order is performed. Also treated returning 0 as an error case for the platform_get_irq(

[PATCH v2 2/2] arch/arm: time: Add support for parsing interrupts by names

2023-03-09 Thread Andrei Cherechesu (OSS)
From: Andrei Cherechesu Added support for parsing the ARM generic timer interrupts DT node by the "interrupt-names" property, if it is available. If not available, the usual parsing based on the expected IRQ order is performed. Also changed to treating returning 0 as an error case for the platf

[PATCH v2 1/2] arch/arm: irq: Add platform_get_irq_byname() implementation

2023-03-09 Thread Andrei Cherechesu (OSS)
From: Andrei Cherechesu Moved implementation for the function which parses the IRQs of a DT node by the "interrupt-names" property from the SMMU-v3 driver to the IRQ core code and made it non-static to be used as helper. Also changed it to receive a "struct dt_device_node*" as parameter, like it

[PATCH v2 0/2] Fix ARM Generic Timer interrupt parsing

2023-03-09 Thread Andrei Cherechesu (OSS)
From: Andrei Cherechesu This 2-patch series fixes the parsing of the ARM Generic Timer interrupts from the device tree. If the generic timer interrupts order in the DT was different than the expected order in Xen code, these interrupts would no longer be correctly parsed and registered by Xen, a

[PATCH v1 2/2] arch/arm: time: Add support for parsing interrupts by names

2023-03-07 Thread Andrei Cherechesu (OSS)
From: Andrei Cherechesu Added support for parsing the ARM generic timer interrupts DT node by the "interrupt-names" property, if it is available. If not available, the usual parsing based on the expected IRQ order is performed. Also added the "hyp-virt" PPI to the timer PPI list, even though it

[PATCH v1 1/2] arch/arm: irq: Add platform_get_irq_byname() implementation

2023-03-07 Thread Andrei Cherechesu (OSS)
From: Andrei Cherechesu Moved implementation for the function which parses the IRQs of a DT node by the "interrupt-names" property from the SMMU-v3 driver to the IRQ core code and made it non-static to be used as helper. Also changed it to receive a "struct dt_device_node*" as parameter, like it

[PATCH v1 0/2] Fix ARM Generic Timer interrupt parsing

2023-03-07 Thread Andrei Cherechesu (OSS)
From: Andrei Cherechesu This 2-patch series fixes the parsing of the ARM Generic Timer interrupts from the device tree. If the generic timer interrupts order in the DT was different than the expected order in Xen code, these interrupts would no longer be correctly parsed and registered by Xen, a

[PATCH v4 1/1] uboot-script-gen: Dynamically compute addr and size when loading binaries

2022-09-30 Thread Andrei Cherechesu (OSS)
From: Andrei Cherechesu Normally, the Imagebuilder would precompute the sizes of the loaded binaries and addresses where they are loaded before generating the script, and the sizes and addresses that needed to be provided to Xen via /chosen would be hardcoded in the boot script. Added an option

[ImageBuilder][PATCH v4 0/1] Imagebuilder dynamic addresses and sizes

2022-09-30 Thread Andrei Cherechesu (OSS)
From: Andrei Cherechesu This sent patch adds support for dynamically computing the addresses and sizes for loaded binaries via the boot script generated by Imagebuilder. Compared to the v3 version of the patch, this includes Stefano's suggestions of not adding as many "if" statements on the $dyn

[ImageBuilder][PATCH v3 3/3] uboot-script-gen: Enable not adding boot command to script

2022-07-13 Thread Andrei Cherechesu (OSS)
From: Andrei Cherechesu If the "BOOT_CMD" variable is set to "none" inside the config file, the boot command (i.e. "booti") will not by added to the generated script, to allow the user to customize the u-boot env or the device-tree after executing the script commands and before actually booting.

[ImageBuilder][PATCH v3 2/3] uboot-script-gen: Enable appending extra commands to boot script

2022-07-13 Thread Andrei Cherechesu (OSS)
From: Andrei Cherechesu Added the parsing for APPEND_EXTRA_CMDS variable, which enables the user to specify the path to a text file that contains, on each line, u-boot commands that will be added to the generated script as "fixups", before the boot command. The file specified by the APPEND_EXTRA

[ImageBuilder][PATCH v3 0/3] Add extra ImageBuilder features

2022-07-13 Thread Andrei Cherechesu (OSS)
From: Andrei Cherechesu Hello, This the v3 version for the patches which have not yet been commited. Changes in v3: - Dropped the [PATCH v2 1/4] from the previous series since it's already been commited - For PATCH 1/3: No changes - For PATCH 2/3: Dropped the "-a" parameter and instead sourced

[ImageBuilder][PATCH v3 1/3] uboot-script-gen: Dynamically compute addr and size when loading binaries

2022-07-13 Thread Andrei Cherechesu (OSS)
From: Andrei Cherechesu Normally, the script would precompute the sizes of the loaded binaries and addresses where they are loaded before generating the script, and the sizes and addresses that needed to be provided to Xen via /chosen would be hardcoded in the boot script. Added option via "-s"

[ImageBuilder][PATCH v2 3/4] uboot-script-gen: Enable appending extra commands to boot script

2022-06-30 Thread Andrei Cherechesu (OSS)
From: Andrei Cherechesu Added the "-a" parameter which stands for APPEND_EXTRA_CMDS option, which enables the user to specify the path to a text file that contains, on each line, u-boot commands that will be added to the generated script as "fixups", before the boot command. The file specified v

[ImageBuilder][PATCH v2 2/4] uboot-script-gen: Dynamically compute addr and size when loading binaries

2022-06-30 Thread Andrei Cherechesu (OSS)
From: Andrei Cherechesu Normally, the script would precompute the sizes of the loaded binaries and addresses where they are loaded before generating the script, and the sizes and addresses that needed to be provided to Xen via /chosen would be hardcoded in the boot script. Added option via "-s"

[ImageBuilder][PATCH v2 0/4] Add extra ImageBuilder features

2022-06-30 Thread Andrei Cherechesu (OSS)
From: Andrei Cherechesu Hello, Sorry for the late re-submission of patches, but I had some company internal work to take care of. I managed to include the changes mentioned by Stefano S. and Ayan K. H. in the discussions for the first version of patches. Changes in v2: - Dropped the patch whic

[ImageBuilder][PATCH v2 1/4] scripts: Add support for prepending path to file names

2022-06-30 Thread Andrei Cherechesu (OSS)
From: Andrei Cherechesu Added support for prepending path to file names in the final generated u-boot script, for the use-case where we have the files in a separate folder that can be accessed with a given $LOAD_CMD. For example, we can have "fatload mmc 0:2" as LOAD_CMD but the files would need

[ImageBuilder][PATCH v2 4/4] uboot-script-gen: Enable not adding boot command to script

2022-06-30 Thread Andrei Cherechesu (OSS)
From: Andrei Cherechesu If the "BOOT_CMD" variable is set to "none" inside the config file, the boot command (i.e. "booti") will not by added to the generated script, to allow the user to customize the u-boot env or the device-tree after executing the script commands and before actually booting.