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. The series includes a driver for operating the on-chip LINFlexD controller in UART mode. In the future, we aim to submit multiple drivers upstream, which can be found in the kernel of our Auto Linux BSP[3] ("ALB"), starting with basic pinmuxing, clock and uSDHC drivers. For validation, you can use the U-Boot bootloader in the ALB[4], 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 [5]. 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://source.codeaurora.org/external/autobsps32/linux/ [4] https://source.codeaurora.org/external/autobsps32/u-boot/ [5] https://source.codeaurora.org/external/s32ds/compiler/gcc/ 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): tty: serial: Add linflexuart driver for S32V234 Stoica Cosmin-Stefan (2): arm64: dts: fsl: Add device tree for S32V234-EVB dt-bindings: serial: Document Freescale LINFlex UART .../admin-guide/kernel-parameters.txt | 6 + .../devicetree/bindings/arm/fsl.yaml | 6 + .../bindings/serial/fsl,s32-linflexuart.txt | 24 + arch/arm64/Kconfig.platforms | 5 + arch/arm64/boot/dts/freescale/Makefile | 2 + .../boot/dts/freescale/fsl-s32v234-evb.dts | 24 + .../arm64/boot/dts/freescale/fsl-s32v234.dtsi | 130 +++ arch/arm64/configs/defconfig | 3 + drivers/tty/serial/Kconfig | 15 + drivers/tty/serial/Makefile | 1 + drivers/tty/serial/fsl_linflexuart.c | 942 ++++++++++++++++++ include/uapi/linux/serial_core.h | 3 + 12 files changed, 1161 insertions(+) create mode 100644 Documentation/devicetree/bindings/serial/fsl,s32-linflexuart.txt create mode 100644 arch/arm64/boot/dts/freescale/fsl-s32v234-evb.dts create mode 100644 arch/arm64/boot/dts/freescale/fsl-s32v234.dtsi create mode 100644 drivers/tty/serial/fsl_linflexuart.c -- 2.22.0