hal_nxp/s32/README

67 lines
3.0 KiB
Plaintext

NXP S32 HAL
###########
Origin:
NXP Real-Time Drivers (RTD)
https://www.nxp.com/design/automotive-software-and-tools/real-time-drivers-rtd:AUTOMOTIVE-RTD
Purpose:
Provides device header files and bare metal peripheral drivers for NXP S32 SoCs.
Zephyr shim drivers are built on top of these imported drivers to adapt the S32
drivers APIs to Zephyr APIs.
Description:
The "drivers" directory contains a sub-set of NXP S32 Real-Time Drivers used to enable
Zephyr support on NXP S32 SoCs. The "soc" directory contains SoC-specific default
configuration for these drivers, used at driver initialization time. The configuration
was generated with NXP S32 Design Studio for S32 Platform.
Care should be taken to retain local changes to the driver files that are documented
in Patch List section of this document.
Dependencies:
CMSIS header files
URL:
https://www.nxp.com/design/automotive-software-and-tools/real-time-drivers-rtd:AUTOMOTIVE-RTD
https://www.nxp.com/design/software/development-software/s32-design-studio-ide/s32-design-studio-for-s32-platform:S32DS-S32PLATFORM
Commit:
N/A
Maintained-by:
External
License:
BSD-3-Clause
License Link:
https://spdx.org/licenses/BSD-3-Clause.html
Patch List for S32K1:
- Define __MPU_PRESENT as 0 to be able to use NXP SYSMPU driver.
- Relocate uninitialized non-cacheable variables into .nocache section defined by Zephyr.
- Rename fields and macros of FTM device headers to allow compatibility with MCUX FTM driver.
- Rename fields and macros of FlexCAN device headers to allow compatibility with MCUX FlexCAN driver.
Patch List for S32K3:
- Relocate uninitialized non-cacheable variables into .nocache section defined by Zephyr.
- Clear the EOC flag before Adc_Sar_CheckAndCallEocNotification() is called to avoid the
race condition that prevents the next end of conversion callback to be executed, when
a conversion is started inside the previous end of conversion completed callback.
- Relocate Emios_Ip_paxBase array in Emios_Mcl_Ip.c to read only region as suppose to be.
- Remove 'u' suffix from macros so that they can be used with LISTIFY in shim drivers.
Patch List for S32Z/E:
- Relocate uninitialized non-cacheable variables into .nocache section defined by Zephyr.
- Remove 'u' suffix from macros so that they can be used with LISTIFY in shim drivers.
- Set the number of UART LINFlexD instances configured that bases on the number of
devicetree UART nodes enabled.
- Set the number of SPI instances configured that bases on the number of devicetree SPI
nodes enabled. Enable SPI slave support bases on CONFIG_SPI_SLAVE.
- Wrap the defined macros of each MRU instance base on devicetree MRU node so that they
is built when node enabled.
- Rename the PIT struct from TIMER to CHANNEL so that the MCUX PIT driver can be reused
for S32Z/E.
- Remove 'static inline' keywords from 'Netc_Eth_Ip_MSIX_Rx' function so that it can be
used as an extern function outside of the file declaration.