this is taken from
git@github.com:nxp-mcuxpresso/mcux-sdk-middleware-usb.git, tag
MCUX_2.14.0.
Signed-off-by: Jacob Siverskog <jacob@teenage.engineering>
The software content register file (scr-hal.txt) provides information
about the NXP HAL. e.g. origin, license, location.
It is added for clarity.
Signed-off-by: Yves Vandervennet <yves.vandervennet@nxp.com>
This commit includes NXP mailbox driver when Zephyr MBOX API is used.
This is required for the mbox driver wrapper around NXP mailbox.
Signed-off-by: Tomas Galbicka <tomas.galbicka@nxp.com>
This commit fixes labels in inline assembly to use
unique identifiers for internal labels.
This fix is required to be able to use LTO.
Signed-off-by: Radoslaw Koppel <radoslaw.koppel@nordicsemi.no>
When using the new Zephyr EDMA driver, Zepyhr tries to
include the old "edma" directory, which results in a build
error since "driver_edma_rev2.cmake" is not placed inside
that directory. To fix this, change the included directory's
name to edma_rev2, which is the directory that contains the
files associated with EDMA rev2 driver from NXP HAL.
Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
Update code from writing descriptions given in pin control groups to
handle multiline descriptions as block comments. Also, update comment
code to write name of generation script correctly- since pin control
scripts are all called from gen_board_pinctrl.py
Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
The Zephyr EDMA driver requires the NXP HAL EDMA rev2
driver to also be compiled. As such, add an option inside hal_nxp.cmake
which will compile the NXP HAL EDMA rev2 driver if CONFIG_DMA_NXP_EDMA
is set to "y".
Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
With the introduction of revision 2 of the edma driver, each SoC
will have to expose to the entities using the edma rev2 driver an
array of eDMA configurations. Each of the entries from said array
represents an eDMA version found on an SoC.
Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
This commit introduces revision 2 of the eDMA driver.
The main goal of this revision is to provide a standard
API to the entities using this driver, which can be used
for the eDMA IPs found on i.MX93, i.MX8QM, and i.MX8QXP.
Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
without this kStatus_USB_Error was always returned for
kUSB_DeviceControlRun and kUSB_DeviceControlStop control types. let's
do it as for ehci/khci.
this change fixes the tests/subsys/usb/device/usb.device test for
lpcxpresso55s69_cpu0.
this is from https://github.com/nxp-mcuxpresso/mcux-sdk-middleware-usb/pull/6
Signed-off-by: Jacob Siverskog <jacob@teenage.engineering>
The following patches are applied to the headers in order to make them
compatible with MCUX FlexCAN driver:
- Substitute regex pattern \bFLEXCAN_ with CAN_
- Replace message buffer RAMn array with a struct for 64-byte payloads
(the only paylod length supported at the moment in MCUX FlexCAN
driver).
- Replace macros for RAM array bytes with macros for message buffer
fields CS, ID, WORD0 and WORD1.
- Define MCR_WAKSRC, MCR_SLFWAK, MCR_WAKMSK and ESR1_WAKINT register
access macros to be able to build with MCUX driver. These fields are
reserved in S32K1xx and not used.
Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
In order to reuse existing device header with MCUX SDK FTM driver,
is needed to redefine CONTROLS.CSC/CV to CONTROLS.CnSC/CnV.
The change is applied to all devices to allow future use of it, although
for now only will be used on S32K146 devices.
Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
Make public FTM_GetInstance() function to avoid compilation warnings
when building with clock control driver disabled.
Cherry-picked from mcux-sdk#155.
Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
Update patch list to contain the MIMX9352 SAI-related
and the fsl_sai-related changes from the mcux-repo.
Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
The Zephyr DAI SAI driver may want to set a NULL FIFO watermark
in which case the NXP HAL SAI driver needs to allow it as it's
a valid value. As such, this commit sets the MCUX_SDK_SAI_ALLOW_NULL_FIFO_WATERMARK
macro to 1 which will allow the NULL FIFO watermark.
Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
The Zephyr DAI SAI driver sets the channel-related fields (i.e:
startChannel, channelMask, endChannel, and channelNums) from
sai_transceiver_t. As such, implicitly setting them inside
SAI_TxSetConfig()/SAI_RxSetConfig() should be disabled. Also,
the Zephyr driver may pass a virtual address to SAI_TxSetConfig()/
SAI_RxSetConfig() in which case these functions will no longer
work properly because of the implicit channel configuration logic.
Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
This commit allows compiling the fsl_sai files whenever
the Zephyr DAI SAI driver is enabled.
Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
When asserts are disabled, SAI_GetInstance() will no longer check
if the instance is < ARRAY_SIZE(s_saiBases), which results in compilation
warnings. To fix this, check if instance has reached the array size. If so,
return 0. If asserts are enabled, this will cause an assert failure due
to the "assert(false)" call.
Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
The SAI IP allows setting 0 for the watermark value, in which
case the watermark will be considered 1. As such, since the
driver doesn't subtract 1 from the value passed through
"config->fifoWatermark", we need to allow passing a NULL
watermark to SAI_TxSetFifoConfig()/SAI_RxSetFifoConfig().
Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
Currently, SAI_TxSetConfig() and SAI_RxSetConfig() will implicitly
configure the startChannel, channelMask, endChannel, and
channelNums fields from sai_transceiver_t. In some uses cases,
this behaviour may not be wanted as the user may want to set
these fields themselves before calling SAI_TxSetConfig() or
SAI_RxSetConfig(). As such, introduce a new macro which will
allow disabling this behavior.
Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
The Zephyr SAI driver requires the introduction of a couple
of FSL_FEATURE_* macros. As such, this commit introduces
FSL_FEATURE_SAI_{TX/RX}_FIFO_BASEn, which can be used to
retrieve the physical address of a SAI RX/TX FIFO and
FSL_FEATURE_SAI_{TX/RX}_DMA_MUXn, which can be used to
retrieve the DMA MUX value for a SAI RX/TX.
Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
Removes the S32K3X4-0P55A-1P55A-ERRATA by disabling
FSL_FEATURE_LPSPI_HAS_ERRATA_050456. This allows for
lpspi to work correctly on mr_canhubk3.
Signed-off-by: Benjamin Perseghetti <bperseghetti@rudislabs.com>
Netc shim driver uses 'Netc_Eth_Ip_MSIX_Rx' function.
Need to remove 'static inline' keywords from this function
so that it can be used as an extern function outside of the
file declaration.
Signed-off-by: Cong Nguyen Huu <cong.nguyenhuu@nxp.com>
Add definitions to use MCUX SDK cache driver for LMEM controller on
S32K146 devices.
Note that `LMEM_PCCCR_ENWRBUF` is not present on S32K1xx devices so it
is defined to have no effect if used in the cache driver.
Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
If the Zephyr IRQSTEER driver is used then the implicit
IRQ management operations done through IRQSTEER_Init()/Deinit()
are not necessary. As such, this commit disables the implicit
IRQ management via the FSL_IRQSTEER_ENABLE_MASTER_INT macro.
This commit introduces support for controlling the
FSL_IRQSTEER_ENABLE_MASTER_INT macro via a Zephyr
configuration.
Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
The Zephyr IRQSTEER driver requires the NXP HAL IRQSTEER
driver to also be compiled. As such, add an option inside hal_nxp.cmake
which will compile the NXP HAL IRQSTEER driver if CONFIG_NXP_IRQSTEER
is set to "y".
Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
This commit adds missing clock-related definitions
required by the IRQSTEER driver to work. This consists
of adding an entry in the IP clocks for the audio processor
IRQ_STEER and defining the IRQSTEER_CLOCKS macro.
Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
The IRQSTEER driver requires defining some additional
FSL_FEATURE_* macros. As such, this commit introduces
said macros such that compiling the driver for MIMX8ML8's
DSP core will work.
Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
The IRQSTEER driver requires the *_CHn_* naming convention
for macros and fields of the IRQSTEER_Type structure. As such,
change MIMX8ML8_dsp header file such that this convention is
followed.
Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
This commit adds a new function: IRQSTEER_GetMasterInterruptsStatus()
which can be used to fetch the status of the interrupts aggregated
by a master.
Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
- Improve so that the driver can be easily porting
to other platforms other than Cortex M.
Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
Netc shim driver uses the macro
FEATURE_NETC_ETH_NUMBER_OF_CTRLS with LISTIFY.
Remove 'u' suffix from macro so that it
can be used with LISTIFY.
Signed-off-by: Cong Nguyen Huu <cong.nguyenhuu@nxp.com>