Hello,
NXP's S32V234[1] ("Treerunner") vision microprocessors are targeted for
high-performance, computationally intensive vision and sensor fusion
applications that require automotive safety levels. They include leading
edge Camera Vision modules like APEX-2, ISP and GPU. The S32V234-EVB and
S32V234-SBC boards are available for customer evaluation.
The following patch series introduces minimal enablement support for the
NXP S32V234-EVB2[2] board, which leverages most of the SoC capabilities.
Up to v2, this series also included the fsl_linflexuart driver, which has
been included in Linux 5.4-rc1[3].
In the future, we aim to submit multiple drivers upstream, which can be
found in the kernel of our Auto Linux BSP[4] ("ALB"), starting with basic
pinmuxing, clock and uSDHC drivers.
For validation, you can use the U-Boot bootloader in the ALB[5], which we
build and test with our patched version of the Linaro GCC 6.3.1 2017.05
toolchain for ARM 64-bit, with sources available on [6].
Changes in v7:
* Rebase the patch 'serial: fsl_linflexuart: Be consistent with the name'
on the tty-next branch in Greg's tty git tree.
Changes in v6:
* In the patch 'serial: fsl_linflexuart: Be consistent with the name',
avoid updating the definition of PORT_LINFLEXUART; that was an
independent fix which has been submitted and accepted[9] separately;
* Avoid using 'base64' as 'Content-Transfer-Encoding'.
Changes in v5:
* Remove the patch 'dt-bindings: serial: Document Freescale LINFlexD UART'
following its acceptance in Linux 5.4-rc1[8];
* Rebase the other patches on v5.4-rc1.
Changes in v4:
* Remove the patch 'serial: fsl_linflexuart: Update compatible string'
following its acceptance[7];
* Rebase the patch 'serial: fsl_linflexuart: Be consistent with the name'
on the tty-next branch in Greg's tty git tree.
Changes in v3:
* Remove the patch 'tty: serial: Add linflexuart driver for S32V234'
following its acceptance[3];
* Replace 'Freescale' with 'NXP' in the ARCH_S32 config definition and the
'model' property from the device tree;
* Remove the 'fsl-' prefixes from the dtsi and dts file names;
* Move the 'model' property from (fsl-)s32v234.dtsi to s32v234-evb.dts;
* Add newlines between the cpu nodes in s32v234.dtsi;
* Make use of GIC_SPI, GIC_PPI, GIC_CPU_MASK_SIMPLE and IRQ_TYPE_* in the
'interrupts' tuples;
* Move the 'timer' and 'interrupt-controller' nodes before 'soc' in
s32v234.dtsi;
* Be consistent with the 'LINFlexD' spelling in documentation, strings and
comments; add new patch 'serial: fsl_linflexuart: Be consistent with the
name' to update the LINFlexD driver as well;
* Remove from fsl,s32-linflexuart.txt a statement regarding the limitation
to UART mode;
* Make the compatible string SoC specific ("fsl,s32v234-linflexuart"); add
new patch 'serial: fsl_linflexuart: Update compatible string' to update
the LINFlexD driver as well;
* In the LINFlexD binding documentation, insert a space between label and
node name and remove the 'status' property.
Changes in v2:
* Update the entry in fsl.yaml to apply to all S32V234 based boards;
* Add chosen node to dts, with a 'stdout-path' property for earlycon;
* Remove linflex_verify_port(), because it was only called from
uart_set_info(), which was going to always fail at the "baud_base < 9600"
check, as we are not using uartclk from uart_port yet;
* Fix compatible string used in OF_EARLYCON_DECLARE.
[1] https://www.nxp.com/products/processors-and-microcontrollers/arm-based-processors-and-mcus/s32-automotive-platform/vision-processor-for-front-and-surround-view-camera-machine-learning-and-sensor-fusion:S32V234
[2] https://www.nxp.com/support/developer-resources/evaluation-and-development-boards/ultra-reliable-dev-platforms/s32v-mpus-platforms/s32v-vision-and-sensor-fusion-evaluation-system:S32V234EVB
[3] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=09864c1cdf5c537bd01bff45181406e422ea988c
[4] https://source.codeaurora.org/external/autobsps32/linux/
[5] https://source.codeaurora.org/external/autobsps32/u-boot/
[6] https://source.codeaurora.org/external/s32ds/compiler/gcc/
[7] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=2bd3661ea0eb2056852cbc58c5d96bb4df2f164f
[8] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=0e16feab6cce2b91d2996d4bc4eff01ece577c4a
[9] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=9050079719021776e48437827eb9d5986b6e45d4
Eddy Petrișor (1):
dt-bindings: arm: fsl: Add the S32V234-EVB board
Mihaela Martinas (2):
arm64: Introduce config for S32
arm64: defconfig: Enable configs for S32V234
Stefan-Gabriel Mirea (1):
serial: fsl_linflexuart: Be consistent with the name
Stoica Cosmin-Stefan (1):
arm64: dts: fsl: Add device tree for S32V234-EVB
.../admin-guide/kernel-parameters.txt | 2 +-
.../devicetree/bindings/arm/fsl.yaml | 6 +
arch/arm64/Kconfig.platforms | 5 +
arch/arm64/boot/dts/freescale/Makefile | 2 +
arch/arm64/boot/dts/freescale/s32v234-evb.dts | 25 ++++
arch/arm64/boot/dts/freescale/s32v234.dtsi | 139 ++++++++++++++++++
arch/arm64/configs/defconfig | 3 +
drivers/tty/serial/Kconfig | 8 +-
drivers/tty/serial/fsl_linflexuart.c | 4 +-
include/uapi/linux/serial_core.h | 2 +-
10 files changed, 188 insertions(+), 8 deletions(-)
create mode 100644 arch/arm64/boot/dts/freescale/s32v234-evb.dts
create mode 100644 arch/arm64/boot/dts/freescale/s32v234.dtsi
--
2.22.0
From: Eddy Petrișor <[email protected]>
Add entry for the NXP S32V234 Customer Evaluation Board to the board/SoC
bindings.
Signed-off-by: Eddy Petrișor <[email protected]>
Signed-off-by: Stefan-Gabriel Mirea <[email protected]>
Reviewed-by: Rob Herring <[email protected]>
---
Documentation/devicetree/bindings/arm/fsl.yaml | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/Documentation/devicetree/bindings/arm/fsl.yaml b/Documentation/devicetree/bindings/arm/fsl.yaml
index 1b4b4e6573b5..c211f4f82e25 100644
--- a/Documentation/devicetree/bindings/arm/fsl.yaml
+++ b/Documentation/devicetree/bindings/arm/fsl.yaml
@@ -335,4 +335,10 @@ properties:
- fsl,ls2088a-rdb
- const: fsl,ls2088a
+ - description: S32V234 based Boards
+ items:
+ - enum:
+ - fsl,s32v234-evb # S32V234-EVB2 Customer Evaluation Board
+ - const: fsl,s32v234
+
...
--
2.22.0
On Wed, Oct 16, 2019 at 03:48:22PM +0300, Stefan-Gabriel Mirea wrote:
> Hello,
>
> NXP's S32V234[1] ("Treerunner") vision microprocessors are targeted for
> high-performance, computationally intensive vision and sensor fusion
> applications that require automotive safety levels. They include leading
> edge Camera Vision modules like APEX-2, ISP and GPU. The S32V234-EVB and
> S32V234-SBC boards are available for customer evaluation.
>
> The following patch series introduces minimal enablement support for the
> NXP S32V234-EVB2[2] board, which leverages most of the SoC capabilities.
> Up to v2, this series also included the fsl_linflexuart driver, which has
> been included in Linux 5.4-rc1[3].
>
> In the future, we aim to submit multiple drivers upstream, which can be
> found in the kernel of our Auto Linux BSP[4] ("ALB"), starting with basic
> pinmuxing, clock and uSDHC drivers.
>
> For validation, you can use the U-Boot bootloader in the ALB[5], which we
> build and test with our patched version of the Linaro GCC 6.3.1 2017.05
> toolchain for ARM 64-bit, with sources available on [6].
>
> Changes in v7:
> * Rebase the patch 'serial: fsl_linflexuart: Be consistent with the name'
> on the tty-next branch in Greg's tty git tree.
I've taken patch 3 in my tty-next tree. The others should probably go
through an arm-specific tree, right?
thanks,
greg k-h
On 10/16/2019 4:17 PM, Greg KH wrote:
>
> I've taken patch 3 in my tty-next tree. The others should probably go
> through an arm-specific tree, right?
Thank you very much, Greg! That was all for the tty tree.
I think that the other patches should go to the following trees:
* git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git:
patches #1 and possibly #4 (as it covers arch/*/boot/dts/);
* git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git:
patches #2, #5 and possibly #4 (as it covers arch/arm64/boot/dts/)
* git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux.git
possibly patch #4 (as it covers arch/arm64/boot/dts/freescale/fsl-*)
As a general question, would it be any chance to have the device tree
included in v5.4 (along with its compatible documentation and config
definition, without enablement)? That is, only the patches #1, #2 and
#4, because #3 is a cosmetic change and #5 enables the new configs by
default. That would complete a minimal support for S32V234-EVB, together
with the LINFlexD UART driver which was accepted.
From the development process documentation[1]: "An occasional exception
is made for drivers for previously-unsupported hardware; if they touch
no in-tree code, they cannot cause regressions and should be safe to add
at any time".
I know that it mentions only drivers and not device trees, but from the
history is seems that there have also been dts/dtsi files added outside
of merge windows, such as:
* arch/riscv/boot/dts/sifive/fu540-c000.dtsi;
* arch/riscv/boot/dts/sifive/hifive-unleashed-a00.dts;
* arch/arm64/boot/dts/arm/vexpress-v2f-1xv7-ca53x2.dts;
* arch/xtensa/boot/dts/lx200mx.dts;
* arch/xtensa/boot/dts/kc705.dts;
* arch/xtensa/boot/dts/xtfpga-flash-128m.dtsi;
* arch/arm/boot/dts/omap3-beagle-xm-ab.dts;
* arch/arm/boot/dts/at91-sama5d3_xplained.dts;
* arch/arm/boot/dts/am335x-boneblack.dts;
* arch/powerpc/boot/dts/charon.dts.
I am sorry if my question is inopportune, I am definitely not trying to
rush anyone. I just ask because this has been under review for some
time and all the feedback has been addressed. We would really appreciate
to have this SoC and board supported in the following LTS release if
there are no other issues.
Regards,
Stefan
[1] https://www.kernel.org/doc/html/v5.3/process/2.Process.html
On Wed, Oct 16, 2019 at 04:54:58PM +0000, Stefan-gabriel Mirea wrote:
> On 10/16/2019 4:17 PM, Greg KH wrote:
> >
> > I've taken patch 3 in my tty-next tree. The others should probably go
> > through an arm-specific tree, right?
>
> Thank you very much, Greg! That was all for the tty tree.
>
> I think that the other patches should go to the following trees:
> * git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git:
> patches #1 and possibly #4 (as it covers arch/*/boot/dts/);
> * git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git:
> patches #2, #5 and possibly #4 (as it covers arch/arm64/boot/dts/)
> * git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux.git
> possibly patch #4 (as it covers arch/arm64/boot/dts/freescale/fsl-*)
>
> As a general question, would it be any chance to have the device tree
> included in v5.4 (along with its compatible documentation and config
> definition, without enablement)? That is, only the patches #1, #2 and
> #4, because #3 is a cosmetic change and #5 enables the new configs by
> default. That would complete a minimal support for S32V234-EVB, together
> with the LINFlexD UART driver which was accepted.
>
> From the development process documentation[1]: "An occasional exception
> is made for drivers for previously-unsupported hardware; if they touch
> no in-tree code, they cannot cause regressions and should be safe to add
> at any time".
>
> I know that it mentions only drivers and not device trees, but from the
> history is seems that there have also been dts/dtsi files added outside
> of merge windows, such as:
> * arch/riscv/boot/dts/sifive/fu540-c000.dtsi;
> * arch/riscv/boot/dts/sifive/hifive-unleashed-a00.dts;
> * arch/arm64/boot/dts/arm/vexpress-v2f-1xv7-ca53x2.dts;
> * arch/xtensa/boot/dts/lx200mx.dts;
> * arch/xtensa/boot/dts/kc705.dts;
> * arch/xtensa/boot/dts/xtfpga-flash-128m.dtsi;
> * arch/arm/boot/dts/omap3-beagle-xm-ab.dts;
> * arch/arm/boot/dts/at91-sama5d3_xplained.dts;
> * arch/arm/boot/dts/am335x-boneblack.dts;
> * arch/powerpc/boot/dts/charon.dts.
>
> I am sorry if my question is inopportune, I am definitely not trying to
> rush anyone. I just ask because this has been under review for some
> time and all the feedback has been addressed. We would really appreciate
> to have this SoC and board supported in the following LTS release if
> there are no other issues.
Sorry, no. It happens occasionally that non-fixing patches are merged
during -rc time, mostly because they are supposed to land mainline
during merge window, but missed the window for some reason, like
subsystem maintainers did not send pull request to Linus in time.
Also the patches are only taken in early -rc like rc2.
Shawn
On Wed, Oct 16, 2019 at 03:48:22PM +0300, Stefan-Gabriel Mirea wrote:
> Eddy Petrișor (1):
> dt-bindings: arm: fsl: Add the S32V234-EVB board
>
> Mihaela Martinas (2):
> arm64: Introduce config for S32
> arm64: defconfig: Enable configs for S32V234
...
> Stoica Cosmin-Stefan (1):
> arm64: dts: fsl: Add device tree for S32V234-EVB
Applied these 4, thanks.
Hello Shawn,
On 10/26/2019 4:27 PM, Shawn Guo wrote:
>
> Sorry, no. It happens occasionally that non-fixing patches are merged
> during -rc time, mostly because they are supposed to land mainline
> during merge window, but missed the window for some reason, like
> subsystem maintainers did not send pull request to Linus in time.
> Also the patches are only taken in early -rc like rc2.
>
Okay, thank you for your clarification!
Regards,
Stefan