1NXP S32 HAL 2########### 3 4Origin: 5 NXP Real-Time Drivers (RTD) 6 https://www.nxp.com/design/automotive-software-and-tools/real-time-drivers-rtd:AUTOMOTIVE-RTD 7 8Purpose: 9 Provides device header files and bare metal peripheral drivers for NXP S32 SoCs. 10 Zephyr shim drivers are built on top of these imported drivers to adapt the S32 11 drivers APIs to Zephyr APIs. 12 13Description: 14 The "drivers" directory contains a sub-set of NXP S32 Real-Time Drivers used to enable 15 Zephyr support on NXP S32 SoCs. The "soc" directory contains SoC-specific default 16 configuration for these drivers, used at driver initialization time. The configuration 17 was generated with NXP S32 Design Studio for S32 Platform. 18 Care should be taken to retain local changes to the driver files that are documented 19 in Patch List section of this document. 20 21Dependencies: 22 CMSIS header files 23 24URL: 25 https://www.nxp.com/design/automotive-software-and-tools/real-time-drivers-rtd:AUTOMOTIVE-RTD 26 https://www.nxp.com/design/software/development-software/s32-design-studio-ide/s32-design-studio-for-s32-platform:S32DS-S32PLATFORM 27 28Commit: 29 N/A 30 31Maintained-by: 32 External 33 34License: 35 BSD-3-Clause 36 37License Link: 38 https://spdx.org/licenses/BSD-3-Clause.html 39 40Patch List for S32K1: 41 - Define __MPU_PRESENT as 0 to be able to use NXP SYSMPU driver. 42 - Relocate uninitialized non-cacheable variables into .nocache section defined by Zephyr. 43 - Rename fields and macros of FTM device headers to allow compatibility with MCUX FTM driver. 44 - Rename fields and macros of FlexCAN device headers to allow compatibility with MCUX FlexCAN driver. 45 46Patch List for S32K3: 47 - Relocate uninitialized non-cacheable variables into .nocache section defined by Zephyr. 48 - Clear the EOC flag before Adc_Sar_CheckAndCallEocNotification() is called to avoid the 49 race condition that prevents the next end of conversion callback to be executed, when 50 a conversion is started inside the previous end of conversion completed callback. 51 - Relocate Emios_Ip_paxBase array in Emios_Mcl_Ip.c to read only region as suppose to be. 52 - Remove 'u' suffix from macros so that they can be used with LISTIFY in shim drivers. 53 54Patch List for S32Z/E: 55 - Relocate uninitialized non-cacheable variables into .nocache section defined by Zephyr. 56 - Remove 'u' suffix from macros so that they can be used with LISTIFY in shim drivers. 57 - Set the number of UART LINFlexD instances configured that bases on the number of 58 devicetree UART nodes enabled. 59 - Set the number of SPI instances configured that bases on the number of devicetree SPI 60 nodes enabled. Enable SPI slave support bases on CONFIG_SPI_SLAVE. 61 - Wrap the defined macros of each MRU instance base on devicetree MRU node so that they 62 is built when node enabled. 63 - Rename the PIT struct from TIMER to CHANNEL so that the MCUX PIT driver can be reused 64 for S32Z/E. 65 - Remove 'static inline' keywords from 'Netc_Eth_Ip_MSIX_Rx' function so that it can be 66 used as an extern function outside of the file declaration. 67