• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..--

drivers/03-Aug-2024-772,453487,540

mcux/devices/03-Aug-2024-4,9102,183

soc/03-Aug-2024-20,08511,507

CMakeLists.txtD03-Aug-20244 KiB10486

READMED03-Aug-20243 KiB6754

README

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