summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-01-31Bluetooth: hci_core: Use nRF5x FICR addressbluetoothCarles Cufi
The nRF5x come preprogrammed from manufacturing with either a public or random static BLE address in the FICR register. Use the random static one when present instead of generating one during Bluetooth initialization. Change-id: Ic733cb926e0414e56d6f8be65b033692e914b72a Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2017-01-31Bluetooth: Fix trivial coding style issueJohan Hedberg
Change-Id: I8a50fb6fe46d7a7deb6538f6a23bf5e58db2d52d Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2017-01-30doc: fix .rst headings in new sample docsDavid B. Kinder
Change-Id: I14230acb0fff64936c890478d5bf9bb81dcf9985 Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2017-01-30toolchain: define DTC for zephyr SDKAnas Nashif
Change-Id: I34a6d23a3f0f4385b41896ceb8477bc441f3a33e Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2017-01-30tests: benchmark: sys_kernel: Porting to unifiedJithu Joseph
This change ports tests/legacy/benchmark/sys_kernel stuff to use unified APIs. Change-Id: If6fbaa5586502205e9f4dc6e79ff1c1a1c1b8102 Signed-off-by: Jithu Joseph <jithu.joseph@intel.com>
2017-01-30tests: include: Move timestamp.h into common locationJithu Joseph
These were part of latency_measure benchmark, but was used in all benchmarks. legacy symbols in timestamp.h were replaced to unified ones. Tick based checks have been replaced with ms based checks in line with the new APIs. Change-Id: I1d27310023be4cafbceccf50cb87d72b6681443d Signed-off-by: Jithu Joseph <jithu.joseph@intel.com>
2017-01-30scripts: Add device tree parser scriptLeandro Pereira
As decided during the Zephyr Mini Summit in December 2016, we're going to use the same Device Tree format as used by the Linux kernel to store device configuration from vendors. This is a parser written during the summit that will parse *.dts files, and will be used as part of the solution to read in the files provided by manufacturers and generate board configuration files. The script will also optionally generate files in the DOT language so that DTS files can be graphed using the Graphviz suite. Change-Id: I6e2b7a64a6dcc349b2888332a660b4700af6cd63 Signed-off-by: Leandro Pereira <leandro.pereira@intel.com>
2017-01-30Merge "Merge arm branch into master"Anas Nashif
2017-01-30i2c: Can pass IRQ vector constant to irq_enableChuck Jordan
I found that I was not getting the i2C interrupt. When CONFIG_I2C_0_IRQ_DIRECT=y, it is acceptable to just pass the constant to irq_enable. See ZEP-1651. Change-Id: I10955e6d6fe5fdd2dda916c92c8bc8a2e871f41a Signed-off-by: Chuck Jordan <cjordan@synopsys.com>
2017-01-30Merge arm branch into masterKumar Gala
- Updated stm32cube HAL for L4 and F4 - Updated docs for various boards - Continuation of CMSIS conversion from scb/scs - Added support for NXP KW41Z SoC & FRDM-KW41Z board - Added support for ARM MPS AN385 SoC & MPS board ---------------------------------------------------------------- Erwan Gouriou (4): ext: stm32cube: update stm32f4xx cube version ext: stm32cube: update stm32l4xx cube version board: add nucleo_411re board documentation doc: update template for nucleo_f401re board Jon Medhurst (1): MAINTAINERS: Remove Jon Medhurst from MPS2 maintainership Kumar Gala (8): arm: cmsis: Convert _ScbExcPrioSet to NVIC_SetPriority arm: move exception priority to exc.h arm: cmsis: Remove nvic.h and use CMSIS NVIC calls directly arm: refactor clearing of exception faults to common code arm: cmsis: Convert _ScbNmiPend to use direct CMSIS register access arm: cmsis: Convert _ScbPendsvSet to use direct CMSIS register access arm: cmsis: Convert _ScbIsInThreadMode to use direct CMSIS register access arm: scb: Move SCB asm defines into cpu_idle.S Maureen Helm (8): mcux: Import mcux for kw41z flash: Update mcux shim to new mcux version serial: Introduce new mcux lpuart shim driver k64: Rename security_frdm_k64f section kw41z: Add kw41z SoC frdm_kw41z: Add frdm_kw41z board MAINTAINERS: Add frdm_kw41z board frdm_k64f: Add RST board documentation Vincenzo Frascino (6): soc: arm: mps2: Add configuration for CMSDK Driver boards: arm: mps2_an385: Enable CMSDK Drivers doc: Update mps2_an385 documentation soc: arm: mps2: Fix UART4 base address boards: arm: mps2: Add pinmuxing doc: Update mps2_an385 documentation MAINTAINERS | 6 +- arch/arm/core/cortex_m/scb.c | 2 +- arch/arm/core/cpu_idle.S | 5 + arch/arm/core/irq_init.c | 3 +- arch/arm/core/irq_manage.c | 12 +- arch/arm/core/thread_abort.c | 4 +- arch/arm/include/cortex_m/exc.h | 36 +- arch/arm/soc/arm/mps2/soc_devices.h | 41 +- arch/arm/soc/arm/mps2/soc_memory_map.h | 30 +- arch/arm/soc/arm/mps2/soc_registers.h | 31 + arch/arm/soc/atmel_sam3/soc.c | 8 +- arch/arm/soc/nordic_nrf5/nrf52/soc.c | 8 +- arch/arm/soc/nxp_kinetis/Kconfig | 16 + arch/arm/soc/nxp_kinetis/k6x/linker.ld | 2 +- arch/arm/soc/nxp_kinetis/k6x/soc.c | 11 +- .../soc/nxp_kinetis/kwx/Kconfig.defconfig.mkw41z4 | 57 + .../soc/nxp_kinetis/kwx/Kconfig.defconfig.series | 21 + arch/arm/soc/nxp_kinetis/kwx/Kconfig.series | 15 + arch/arm/soc/nxp_kinetis/kwx/Kconfig.soc | 39 + arch/arm/soc/nxp_kinetis/kwx/Makefile | 8 + arch/arm/soc/nxp_kinetis/kwx/linker.ld | 31 + arch/arm/soc/nxp_kinetis/kwx/soc.c | 132 + arch/arm/soc/nxp_kinetis/kwx/soc.h | 66 + arch/arm/soc/st_stm32/stm32f1/soc.c | 8 +- arch/arm/soc/st_stm32/stm32f3/soc.c | 8 +- arch/arm/soc/st_stm32/stm32f4/soc.c | 8 +- arch/arm/soc/st_stm32/stm32l4/soc.c | 8 +- boards/arm/frdm_k64f/doc/frdm_k64f.jpg | Bin 0 -> 3081834 bytes boards/arm/frdm_k64f/doc/frdm_k64f.rst | 245 + boards/arm/frdm_kw41z/Kconfig.board | 11 + boards/arm/frdm_kw41z/Kconfig.defconfig | 100 + boards/arm/frdm_kw41z/Makefile | 10 + boards/arm/frdm_kw41z/board.h | 44 + boards/arm/frdm_kw41z/doc/frdm_kw41z.jpg | Bin 0 -> 161842 bytes boards/arm/frdm_kw41z/doc/frdm_kw41z.rst | 180 + boards/arm/frdm_kw41z/frdm_kw41z_defconfig | 11 + boards/arm/frdm_kw41z/pinmux.c | 52 + boards/arm/mps2_an385/Kconfig.defconfig | 69 + boards/arm/mps2_an385/Makefile | 6 +- boards/arm/mps2_an385/doc/mps2_an385.rst | 89 + boards/arm/mps2_an385/mps2_an385_defconfig | 11 + boards/arm/mps2_an385/pinmux.c | 168 + boards/arm/nucleo_f401re/doc/nucleof401re.rst | 24 +- .../doc/img/nucleo64_perf_logo_1024.png | Bin 0 -> 780528 bytes .../doc/img/nucleo_f411re_arduino.png | Bin 0 -> 566518 bytes .../nucleo_f411re/doc/img/nucleo_f411re_morpho.png | Bin 0 -> 481546 bytes boards/arm/nucleo_f411re/doc/nucleof411re.rst | 201 + drivers/flash/soc_flash_mcux.c | 2 +- drivers/serial/Kconfig | 2 + drivers/serial/Kconfig.mcux_lpuart | 40 + drivers/serial/Makefile | 1 + drivers/serial/uart_mcux_lpuart.c | 307 + drivers/timer/cortex_m_systick.c | 2 +- ext/hal/nxp/mcux/README | 12 +- ext/hal/nxp/mcux/devices/MKW21Z4/MKW21Z4.h | 12908 +++ ext/hal/nxp/mcux/devices/MKW21Z4/MKW21Z4.svd | 103175 +++++++++++++++++ .../nxp/mcux/devices/MKW21Z4/MKW21Z4_features.h | 1719 + .../mcux/devices/MKW21Z4/fsl_device_registers.h | 56 + ext/hal/nxp/mcux/devices/MKW21Z4/system_MKW21Z4.c | 179 + ext/hal/nxp/mcux/devices/MKW21Z4/system_MKW21Z4.h | 133 + ext/hal/nxp/mcux/devices/MKW31Z4/MKW31Z4.h | 12275 +++ ext/hal/nxp/mcux/devices/MKW31Z4/MKW31Z4.svd | 98412 +++++++++++++++++ .../nxp/mcux/devices/MKW31Z4/MKW31Z4_features.h | 1719 + .../mcux/devices/MKW31Z4/fsl_device_registers.h | 56 + ext/hal/nxp/mcux/devices/MKW31Z4/system_MKW31Z4.c | 179 + ext/hal/nxp/mcux/devices/MKW31Z4/system_MKW31Z4.h | 133 + ext/hal/nxp/mcux/devices/MKW41Z4/MKW41Z4.h | 12978 +++ ext/hal/nxp/mcux/devices/MKW41Z4/MKW41Z4.svd | 103301 ++++++++++++++++++ .../nxp/mcux/devices/MKW41Z4/MKW41Z4_features.h | 1719 + ext/hal/nxp/mcux/devices/MKW41Z4/clock_config.c | 221 + ext/hal/nxp/mcux/devices/MKW41Z4/clock_config.h | 55 + ext/hal/nxp/mcux/devices/MKW41Z4/fsl_clock.c | 1321 + ext/hal/nxp/mcux/devices/MKW41Z4/fsl_clock.h | 1138 + .../mcux/devices/MKW41Z4/fsl_device_registers.h | 56 + ext/hal/nxp/mcux/devices/MKW41Z4/system_MKW41Z4.c | 179 + ext/hal/nxp/mcux/devices/MKW41Z4/system_MKW41Z4.h | 133 + ext/hal/nxp/mcux/drivers/Makefile | 1 + ext/hal/nxp/mcux/drivers/fsl_adc16.c | 5 +- ext/hal/nxp/mcux/drivers/fsl_cmp.c | 2 +- ext/hal/nxp/mcux/drivers/fsl_cmt.c | 4 +- ext/hal/nxp/mcux/drivers/fsl_common.c | 5 +- ext/hal/nxp/mcux/drivers/fsl_cop.c | 77 + ext/hal/nxp/mcux/drivers/fsl_cop.h | 188 + ext/hal/nxp/mcux/drivers/fsl_dac.c | 2 +- ext/hal/nxp/mcux/drivers/fsl_dac.h | 12 +- ext/hal/nxp/mcux/drivers/fsl_dcdc.c | 373 + ext/hal/nxp/mcux/drivers/fsl_dcdc.h | 570 + ext/hal/nxp/mcux/drivers/fsl_dspi.c | 8 +- ext/hal/nxp/mcux/drivers/fsl_dspi.h | 7 +- ext/hal/nxp/mcux/drivers/fsl_dspi_edma.c | 14 +- ext/hal/nxp/mcux/drivers/fsl_flash.c | 164 +- ext/hal/nxp/mcux/drivers/fsl_flash.h | 138 +- ext/hal/nxp/mcux/drivers/fsl_i2c.c | 66 +- ext/hal/nxp/mcux/drivers/fsl_i2c.h | 8 + ext/hal/nxp/mcux/drivers/fsl_llwu.h | 10 +- ext/hal/nxp/mcux/drivers/fsl_lptmr.h | 28 +- ext/hal/nxp/mcux/drivers/fsl_lpuart.c | 1105 + ext/hal/nxp/mcux/drivers/fsl_lpuart.h | 753 + ext/hal/nxp/mcux/drivers/fsl_lpuart_edma.c | 334 + ext/hal/nxp/mcux/drivers/fsl_lpuart_edma.h | 190 + ext/hal/nxp/mcux/drivers/fsl_ltc.c | 4292 + ext/hal/nxp/mcux/drivers/fsl_ltc.h | 1576 + ext/hal/nxp/mcux/drivers/fsl_ltc_edma.c | 1247 + ext/hal/nxp/mcux/drivers/fsl_ltc_edma.h | 850 + ext/hal/nxp/mcux/drivers/fsl_port.h | 6 +- ext/hal/nxp/mcux/drivers/fsl_rtc.c | 2 +- ext/hal/nxp/mcux/drivers/fsl_rtc.h | 8 + ext/hal/nxp/mcux/drivers/fsl_tpm.c | 665 + ext/hal/nxp/mcux/drivers/fsl_tpm.h | 590 + ext/hal/nxp/mcux/drivers/fsl_trng.c | 1618 + ext/hal/nxp/mcux/drivers/fsl_trng.h | 232 + ext/hal/nxp/mcux/drivers/fsl_tsi_v4.c | 190 + ext/hal/nxp/mcux/drivers/fsl_tsi_v4.h | 711 + ext/hal/st/stm32cube/stm32f4xx/README | 2 +- .../drivers/include/Legacy/stm32_hal_legacy.h | 4 +- .../stm32f4xx/drivers/include/stm32f4xx_hal.h | 9 +- .../stm32f4xx/drivers/include/stm32f4xx_hal_adc.h | 4 +- .../drivers/include/stm32f4xx_hal_adc_ex.h | 16 +- .../stm32f4xx/drivers/include/stm32f4xx_hal_can.h | 13 +- .../stm32f4xx/drivers/include/stm32f4xx_hal_cec.h | 4 +- .../stm32f4xx/drivers/include/stm32f4xx_hal_conf.h | 4 +- .../drivers/include/stm32f4xx_hal_cortex.h | 4 +- .../stm32f4xx/drivers/include/stm32f4xx_hal_crc.h | 4 +- .../stm32f4xx/drivers/include/stm32f4xx_hal_cryp.h | 634 +- .../drivers/include/stm32f4xx_hal_cryp_ex.h | 82 +- .../stm32f4xx/drivers/include/stm32f4xx_hal_dac.h | 9 +- .../drivers/include/stm32f4xx_hal_dac_ex.h | 9 +- .../stm32f4xx/drivers/include/stm32f4xx_hal_dcmi.h | 8 +- .../drivers/include/stm32f4xx_hal_dcmi_ex.h | 4 +- .../stm32f4xx/drivers/include/stm32f4xx_hal_def.h | 4 +- .../drivers/include/stm32f4xx_hal_dfsdm.h | 231 +- .../stm32f4xx/drivers/include/stm32f4xx_hal_dma.h | 33 +- .../drivers/include/stm32f4xx_hal_dma2d.h | 4 +- .../drivers/include/stm32f4xx_hal_dma_ex.h | 4 +- .../stm32f4xx/drivers/include/stm32f4xx_hal_dsi.h | 4 +- .../stm32f4xx/drivers/include/stm32f4xx_hal_eth.h | 4 +- .../drivers/include/stm32f4xx_hal_flash.h | 6 +- .../drivers/include/stm32f4xx_hal_flash_ex.h | 164 +- .../drivers/include/stm32f4xx_hal_flash_ramfunc.h | 4 +- .../drivers/include/stm32f4xx_hal_fmpi2c.h | 9 +- .../drivers/include/stm32f4xx_hal_fmpi2c_ex.h | 8 +- .../stm32f4xx/drivers/include/stm32f4xx_hal_gpio.h | 4 +- .../drivers/include/stm32f4xx_hal_gpio_ex.h | 149 +- .../stm32f4xx/drivers/include/stm32f4xx_hal_hash.h | 4 +- .../drivers/include/stm32f4xx_hal_hash_ex.h | 4 +- .../stm32f4xx/drivers/include/stm32f4xx_hal_hcd.h | 10 +- .../stm32f4xx/drivers/include/stm32f4xx_hal_i2c.h | 4 +- .../drivers/include/stm32f4xx_hal_i2c_ex.h | 9 +- .../stm32f4xx/drivers/include/stm32f4xx_hal_i2s.h | 4 +- .../drivers/include/stm32f4xx_hal_i2s_ex.h | 19 +- .../stm32f4xx/drivers/include/stm32f4xx_hal_irda.h | 18 +- .../stm32f4xx/drivers/include/stm32f4xx_hal_iwdg.h | 4 +- .../drivers/include/stm32f4xx_hal_lptim.h | 14 +- .../stm32f4xx/drivers/include/stm32f4xx_hal_ltdc.h | 4 +- .../drivers/include/stm32f4xx_hal_ltdc_ex.h | 4 +- .../stm32f4xx/drivers/include/stm32f4xx_hal_nand.h | 4 +- .../stm32f4xx/drivers/include/stm32f4xx_hal_nor.h | 12 +- .../drivers/include/stm32f4xx_hal_pccard.h | 4 +- .../stm32f4xx/drivers/include/stm32f4xx_hal_pcd.h | 12 +- .../drivers/include/stm32f4xx_hal_pcd_ex.h | 24 +- .../stm32f4xx/drivers/include/stm32f4xx_hal_pwr.h | 4 +- .../drivers/include/stm32f4xx_hal_pwr_ex.h | 22 +- .../stm32f4xx/drivers/include/stm32f4xx_hal_qspi.h | 9 +- .../stm32f4xx/drivers/include/stm32f4xx_hal_rcc.h | 63 +- .../drivers/include/stm32f4xx_hal_rcc_ex.h | 867 +- .../stm32f4xx/drivers/include/stm32f4xx_hal_rng.h | 8 +- .../stm32f4xx/drivers/include/stm32f4xx_hal_rtc.h | 4 +- .../drivers/include/stm32f4xx_hal_rtc_ex.h | 38 +- .../stm32f4xx/drivers/include/stm32f4xx_hal_sai.h | 31 +- .../drivers/include/stm32f4xx_hal_sai_ex.h | 40 +- .../stm32f4xx/drivers/include/stm32f4xx_hal_sd.h | 8 +- .../drivers/include/stm32f4xx_hal_sdram.h | 4 +- .../drivers/include/stm32f4xx_hal_smartcard.h | 18 +- .../drivers/include/stm32f4xx_hal_spdifrx.h | 4 +- .../stm32f4xx/drivers/include/stm32f4xx_hal_spi.h | 4 +- .../stm32f4xx/drivers/include/stm32f4xx_hal_sram.h | 13 +- .../stm32f4xx/drivers/include/stm32f4xx_hal_tim.h | 4 +- .../drivers/include/stm32f4xx_hal_tim_ex.h | 40 +- .../stm32f4xx/drivers/include/stm32f4xx_hal_uart.h | 18 +- .../drivers/include/stm32f4xx_hal_usart.h | 8 +- .../stm32f4xx/drivers/include/stm32f4xx_hal_wwdg.h | 4 +- .../stm32f4xx/drivers/include/stm32f4xx_ll_fmc.h | 4 +- .../stm32f4xx/drivers/include/stm32f4xx_ll_fsmc.h | 10 +- .../stm32f4xx/drivers/include/stm32f4xx_ll_sdmmc.h | 8 +- .../stm32f4xx/drivers/include/stm32f4xx_ll_usb.h | 8 +- .../stm32f4xx/drivers/src/stm32f4xx_hal.c | 17 +- .../stm32f4xx/drivers/src/stm32f4xx_hal_adc.c | 4 +- .../stm32f4xx/drivers/src/stm32f4xx_hal_adc_ex.c | 4 +- .../stm32f4xx/drivers/src/stm32f4xx_hal_can.c | 208 +- .../stm32f4xx/drivers/src/stm32f4xx_hal_cec.c | 27 +- .../stm32f4xx/drivers/src/stm32f4xx_hal_cortex.c | 4 +- .../stm32f4xx/drivers/src/stm32f4xx_hal_crc.c | 4 +- .../stm32f4xx/drivers/src/stm32f4xx_hal_cryp.c | 1358 +- .../stm32f4xx/drivers/src/stm32f4xx_hal_cryp_ex.c | 2992 +- .../stm32f4xx/drivers/src/stm32f4xx_hal_dac.c | 9 +- .../stm32f4xx/drivers/src/stm32f4xx_hal_dac_ex.c | 9 +- .../stm32f4xx/drivers/src/stm32f4xx_hal_dcmi.c | 4 +- .../stm32f4xx/drivers/src/stm32f4xx_hal_dcmi_ex.c | 9 +- .../stm32f4xx/drivers/src/stm32f4xx_hal_dfsdm.c | 853 +- .../stm32f4xx/drivers/src/stm32f4xx_hal_dma.c | 13 +- .../stm32f4xx/drivers/src/stm32f4xx_hal_dma2d.c | 16 +- .../stm32f4xx/drivers/src/stm32f4xx_hal_dma_ex.c | 4 +- .../stm32f4xx/drivers/src/stm32f4xx_hal_dsi.c | 8 +- .../stm32f4xx/drivers/src/stm32f4xx_hal_eth.c | 4 +- .../stm32f4xx/drivers/src/stm32f4xx_hal_flash.c | 6 +- .../stm32f4xx/drivers/src/stm32f4xx_hal_flash_ex.c | 45 +- .../drivers/src/stm32f4xx_hal_flash_ramfunc.c | 4 +- .../stm32f4xx/drivers/src/stm32f4xx_hal_fmpi2c.c | 18 +- .../drivers/src/stm32f4xx_hal_fmpi2c_ex.c | 9 +- .../stm32f4xx/drivers/src/stm32f4xx_hal_gpio.c | 4 +- .../stm32f4xx/drivers/src/stm32f4xx_hal_hash.c | 4 +- .../stm32f4xx/drivers/src/stm32f4xx_hal_hash_ex.c | 4 +- .../stm32f4xx/drivers/src/stm32f4xx_hal_hcd.c | 8 +- .../stm32f4xx/drivers/src/stm32f4xx_hal_i2c.c | 1427 +- .../stm32f4xx/drivers/src/stm32f4xx_hal_i2c_ex.c | 9 +- .../stm32f4xx/drivers/src/stm32f4xx_hal_i2s.c | 4 +- .../stm32f4xx/drivers/src/stm32f4xx_hal_i2s_ex.c | 29 +- .../stm32f4xx/drivers/src/stm32f4xx_hal_irda.c | 573 +- .../stm32f4xx/drivers/src/stm32f4xx_hal_iwdg.c | 12 +- .../stm32f4xx/drivers/src/stm32f4xx_hal_lptim.c | 8 +- .../stm32f4xx/drivers/src/stm32f4xx_hal_ltdc.c | 16 +- .../stm32f4xx/drivers/src/stm32f4xx_hal_ltdc_ex.c | 14 +- .../drivers/src/stm32f4xx_hal_msp_template.c | 4 +- .../stm32f4xx/drivers/src/stm32f4xx_hal_nand.c | 4 +- .../stm32f4xx/drivers/src/stm32f4xx_hal_nor.c | 8 +- .../stm32f4xx/drivers/src/stm32f4xx_hal_pccard.c | 4 +- .../stm32f4xx/drivers/src/stm32f4xx_hal_pcd.c | 13 +- .../stm32f4xx/drivers/src/stm32f4xx_hal_pcd_ex.c | 16 +- .../stm32f4xx/drivers/src/stm32f4xx_hal_pwr.c | 4 +- .../stm32f4xx/drivers/src/stm32f4xx_hal_pwr_ex.c | 24 +- .../stm32f4xx/drivers/src/stm32f4xx_hal_qspi.c | 9 +- .../stm32f4xx/drivers/src/stm32f4xx_hal_rcc.c | 6 +- .../stm32f4xx/drivers/src/stm32f4xx_hal_rcc_ex.c | 209 +- .../stm32f4xx/drivers/src/stm32f4xx_hal_rng.c | 8 +- .../stm32f4xx/drivers/src/stm32f4xx_hal_rtc.c | 4 +- .../stm32f4xx/drivers/src/stm32f4xx_hal_rtc_ex.c | 9 +- .../stm32f4xx/drivers/src/stm32f4xx_hal_sai.c | 9 +- .../stm32f4xx/drivers/src/stm32f4xx_hal_sai_ex.c | 71 +- .../stm32f4xx/drivers/src/stm32f4xx_hal_sd.c | 8 +- .../stm32f4xx/drivers/src/stm32f4xx_hal_sdram.c | 4 +- .../drivers/src/stm32f4xx_hal_smartcard.c | 586 +- .../stm32f4xx/drivers/src/stm32f4xx_hal_spdifrx.c | 4 +- .../stm32f4xx/drivers/src/stm32f4xx_hal_spi.c | 4 +- .../stm32f4xx/drivers/src/stm32f4xx_hal_sram.c | 8 +- .../stm32f4xx/drivers/src/stm32f4xx_hal_tim.c | 4 +- .../stm32f4xx/drivers/src/stm32f4xx_hal_tim_ex.c | 28 +- .../stm32f4xx_hal_timebase_rtc_alarm_template.c | 7 +- .../stm32f4xx_hal_timebase_rtc_wakeup_template.c | 7 +- .../src/stm32f4xx_hal_timebase_tim_template.c | 13 +- .../stm32f4xx/drivers/src/stm32f4xx_hal_uart.c | 576 +- .../stm32f4xx/drivers/src/stm32f4xx_hal_usart.c | 281 +- .../stm32f4xx/drivers/src/stm32f4xx_hal_wwdg.c | 4 +- .../stm32f4xx/drivers/src/stm32f4xx_ll_fmc.c | 4 +- .../stm32f4xx/drivers/src/stm32f4xx_ll_fsmc.c | 23 +- .../stm32f4xx/drivers/src/stm32f4xx_ll_sdmmc.c | 8 +- .../stm32f4xx/drivers/src/stm32f4xx_ll_usb.c | 16 +- ext/hal/st/stm32cube/stm32f4xx/soc/stm32f401xc.h | 10136 +- ext/hal/st/stm32cube/stm32f4xx/soc/stm32f401xe.h | 10126 +- ext/hal/st/stm32cube/stm32f4xx/soc/stm32f405xx.h | 17434 ++- ext/hal/st/stm32cube/stm32f4xx/soc/stm32f407xx.h | 18802 +++- ext/hal/st/stm32cube/stm32f4xx/soc/stm32f410cx.h | 8240 +- ext/hal/st/stm32cube/stm32f4xx/soc/stm32f410rx.h | 8252 +- ext/hal/st/stm32cube/stm32f4xx/soc/stm32f410tx.h | 8188 +- ext/hal/st/stm32cube/stm32f4xx/soc/stm32f411xe.h | 10179 +- ext/hal/st/stm32cube/stm32f4xx/soc/stm32f412cx.h | 15997 ++- ext/hal/st/stm32cube/stm32f4xx/soc/stm32f412rx.h | 17391 ++- ext/hal/st/stm32cube/stm32f4xx/soc/stm32f412vx.h | 17390 ++- ext/hal/st/stm32cube/stm32f4xx/soc/stm32f412zx.h | 17391 ++- ext/hal/st/stm32cube/stm32f4xx/soc/stm32f413xx.h | 14994 +++ ext/hal/st/stm32cube/stm32f4xx/soc/stm32f415xx.h | 17691 ++- ext/hal/st/stm32cube/stm32f4xx/soc/stm32f417xx.h | 19055 +++- ext/hal/st/stm32cube/stm32f4xx/soc/stm32f423xx.h | 15147 +++ ext/hal/st/stm32cube/stm32f4xx/soc/stm32f427xx.h | 20258 ++-- ext/hal/st/stm32cube/stm32f4xx/soc/stm32f429xx.h | 20563 ++-- ext/hal/st/stm32cube/stm32f4xx/soc/stm32f437xx.h | 20513 ++-- ext/hal/st/stm32cube/stm32f4xx/soc/stm32f439xx.h | 20824 ++-- ext/hal/st/stm32cube/stm32f4xx/soc/stm32f446xx.h | 18942 +++- ext/hal/st/stm32cube/stm32f4xx/soc/stm32f469xx.h | 24262 ++-- ext/hal/st/stm32cube/stm32f4xx/soc/stm32f479xx.h | 24509 +++-- ext/hal/st/stm32cube/stm32f4xx/soc/stm32f4xx.h | 19 +- .../st/stm32cube/stm32f4xx/soc/system_stm32f4xx.c | 12 +- .../st/stm32cube/stm32f4xx/soc/system_stm32f4xx.h | 6 +- ext/hal/st/stm32cube/stm32l4xx/README | 2 +- .../drivers/include/Legacy/stm32_hal_legacy.h | 18 +- .../drivers/include/stm32_assert_template.h | 4 +- .../stm32l4xx/drivers/include/stm32l4xx_hal.h | 14 +- .../stm32l4xx/drivers/include/stm32l4xx_hal_adc.h | 10 +- .../drivers/include/stm32l4xx_hal_adc_ex.h | 172 +- .../stm32l4xx/drivers/include/stm32l4xx_hal_can.h | 4 +- .../stm32l4xx/drivers/include/stm32l4xx_hal_comp.h | 89 +- .../stm32l4xx/drivers/include/stm32l4xx_hal_conf.h | 4 +- .../drivers/include/stm32l4xx_hal_cortex.h | 4 +- .../stm32l4xx/drivers/include/stm32l4xx_hal_crc.h | 4 +- .../drivers/include/stm32l4xx_hal_crc_ex.h | 4 +- .../stm32l4xx/drivers/include/stm32l4xx_hal_cryp.h | 138 +- .../drivers/include/stm32l4xx_hal_cryp_ex.h | 8 +- .../stm32l4xx/drivers/include/stm32l4xx_hal_dac.h | 30 +- .../drivers/include/stm32l4xx_hal_dac_ex.h | 39 +- .../stm32l4xx/drivers/include/stm32l4xx_hal_def.h | 4 +- .../drivers/include/stm32l4xx_hal_dfsdm.h | 56 +- .../stm32l4xx/drivers/include/stm32l4xx_hal_dma.h | 22 +- .../drivers/include/stm32l4xx_hal_firewall.h | 4 +- .../drivers/include/stm32l4xx_hal_flash.h | 49 +- .../drivers/include/stm32l4xx_hal_flash_ex.h | 4 +- .../drivers/include/stm32l4xx_hal_flash_ramfunc.h | 4 +- .../stm32l4xx/drivers/include/stm32l4xx_hal_gpio.h | 7 +- .../drivers/include/stm32l4xx_hal_gpio_ex.h | 257 +- .../stm32l4xx/drivers/include/stm32l4xx_hal_hcd.h | 4 +- .../stm32l4xx/drivers/include/stm32l4xx_hal_i2c.h | 4 +- .../drivers/include/stm32l4xx_hal_i2c_ex.h | 12 +- .../stm32l4xx/drivers/include/stm32l4xx_hal_irda.h | 52 +- .../drivers/include/stm32l4xx_hal_irda_ex.h | 92 +- .../stm32l4xx/drivers/include/stm32l4xx_hal_iwdg.h | 4 +- .../stm32l4xx/drivers/include/stm32l4xx_hal_lcd.h | 4 +- .../drivers/include/stm32l4xx_hal_lptim.h | 4 +- .../stm32l4xx/drivers/include/stm32l4xx_hal_nand.h | 4 +- .../stm32l4xx/drivers/include/stm32l4xx_hal_nor.h | 4 +- .../drivers/include/stm32l4xx_hal_opamp.h | 19 +- .../drivers/include/stm32l4xx_hal_opamp_ex.h | 4 +- .../stm32l4xx/drivers/include/stm32l4xx_hal_pcd.h | 27 +- .../drivers/include/stm32l4xx_hal_pcd_ex.h | 18 +- .../stm32l4xx/drivers/include/stm32l4xx_hal_pwr.h | 4 +- .../drivers/include/stm32l4xx_hal_pwr_ex.h | 101 +- .../stm32l4xx/drivers/include/stm32l4xx_hal_qspi.h | 19 +- .../stm32l4xx/drivers/include/stm32l4xx_hal_rcc.h | 151 +- .../drivers/include/stm32l4xx_hal_rcc_ex.h | 183 +- .../stm32l4xx/drivers/include/stm32l4xx_hal_rng.h | 4 +- .../stm32l4xx/drivers/include/stm32l4xx_hal_rtc.h | 4 +- .../drivers/include/stm32l4xx_hal_rtc_ex.h | 4 +- .../stm32l4xx/drivers/include/stm32l4xx_hal_sai.h | 14 +- .../stm32l4xx/drivers/include/stm32l4xx_hal_sd.h | 4 +- .../drivers/include/stm32l4xx_hal_smartcard.h | 4 +- .../drivers/include/stm32l4xx_hal_smartcard_ex.h | 9 +- .../drivers/include/stm32l4xx_hal_smbus.h | 117 +- .../stm32l4xx/drivers/include/stm32l4xx_hal_spi.h | 18 +- .../drivers/include/stm32l4xx_hal_spi_ex.h | 4 +- .../stm32l4xx/drivers/include/stm32l4xx_hal_sram.h | 4 +- .../drivers/include/stm32l4xx_hal_swpmi.h | 10 +- .../stm32l4xx/drivers/include/stm32l4xx_hal_tim.h | 4 +- .../drivers/include/stm32l4xx_hal_tim_ex.h | 85 +- .../stm32l4xx/drivers/include/stm32l4xx_hal_tsc.h | 4 +- .../stm32l4xx/drivers/include/stm32l4xx_hal_uart.h | 24 +- .../drivers/include/stm32l4xx_hal_uart_ex.h | 113 +- .../drivers/include/stm32l4xx_hal_usart.h | 74 +- .../drivers/include/stm32l4xx_hal_usart_ex.h | 4 +- .../stm32l4xx/drivers/include/stm32l4xx_hal_wwdg.h | 4 +- .../stm32l4xx/drivers/include/stm32l4xx_ll_adc.h | 111 +- .../stm32l4xx/drivers/include/stm32l4xx_ll_bus.h | 59 +- .../stm32l4xx/drivers/include/stm32l4xx_ll_comp.h | 14 +- .../drivers/include/stm32l4xx_ll_cortex.h | 4 +- .../stm32l4xx/drivers/include/stm32l4xx_ll_crc.h | 4 +- .../stm32l4xx/drivers/include/stm32l4xx_ll_crs.h | 4 +- .../stm32l4xx/drivers/include/stm32l4xx_ll_dac.h | 271 +- .../stm32l4xx/drivers/include/stm32l4xx_ll_dma.h | 4 +- .../stm32l4xx/drivers/include/stm32l4xx_ll_exti.h | 32 +- .../stm32l4xx/drivers/include/stm32l4xx_ll_fmc.h | 434 +- .../stm32l4xx/drivers/include/stm32l4xx_ll_gpio.h | 9 +- .../stm32l4xx/drivers/include/stm32l4xx_ll_i2c.h | 8 +- .../stm32l4xx/drivers/include/stm32l4xx_ll_iwdg.h | 4 +- .../stm32l4xx/drivers/include/stm32l4xx_ll_lptim.h | 6 +- .../drivers/include/stm32l4xx_ll_lpuart.h | 4 +- .../stm32l4xx/drivers/include/stm32l4xx_ll_opamp.h | 4 +- .../stm32l4xx/drivers/include/stm32l4xx_ll_pwr.h | 48 +- .../stm32l4xx/drivers/include/stm32l4xx_ll_rcc.h | 73 +- .../stm32l4xx/drivers/include/stm32l4xx_ll_rng.h | 4 +- .../stm32l4xx/drivers/include/stm32l4xx_ll_rtc.h | 4 +- .../stm32l4xx/drivers/include/stm32l4xx_ll_sdmmc.h | 4 +- .../stm32l4xx/drivers/include/stm32l4xx_ll_spi.h | 4 +- .../stm32l4xx/drivers/include/stm32l4xx_ll_swpmi.h | 4 +- .../drivers/include/stm32l4xx_ll_system.h | 23 +- .../stm32l4xx/drivers/include/stm32l4xx_ll_tim.h | 155 +- .../stm32l4xx/drivers/include/stm32l4xx_ll_usart.h | 4 +- .../stm32l4xx/drivers/include/stm32l4xx_ll_usb.h | 18 +- .../stm32l4xx/drivers/include/stm32l4xx_ll_utils.h | 4 +- .../stm32l4xx/drivers/include/stm32l4xx_ll_wwdg.h | 4 +- .../stm32l4xx/drivers/src/stm32l4xx_hal.c | 10 +- .../stm32l4xx/drivers/src/stm32l4xx_hal_adc.c | 14 +- .../stm32l4xx/drivers/src/stm32l4xx_hal_adc_ex.c | 4 +- .../stm32l4xx/drivers/src/stm32l4xx_hal_can.c | 4 +- .../stm32l4xx/drivers/src/stm32l4xx_hal_comp.c | 4 +- .../stm32l4xx/drivers/src/stm32l4xx_hal_cortex.c | 4 +- .../stm32l4xx/drivers/src/stm32l4xx_hal_crc.c | 4 +- .../stm32l4xx/drivers/src/stm32l4xx_hal_crc_ex.c | 4 +- .../stm32l4xx/drivers/src/stm32l4xx_hal_cryp.c | 94 +- .../stm32l4xx/drivers/src/stm32l4xx_hal_cryp_ex.c | 780 +- .../stm32l4xx/drivers/src/stm32l4xx_hal_dac.c | 161 +- .../stm32l4xx/drivers/src/stm32l4xx_hal_dac_ex.c | 164 +- .../stm32l4xx/drivers/src/stm32l4xx_hal_dfsdm.c | 15 +- .../stm32l4xx/drivers/src/stm32l4xx_hal_dma.c | 21 +- .../stm32l4xx/drivers/src/stm32l4xx_hal_firewall.c | 4 +- .../stm32l4xx/drivers/src/stm32l4xx_hal_flash.c | 59 +- .../stm32l4xx/drivers/src/stm32l4xx_hal_flash_ex.c | 232 +- .../drivers/src/stm32l4xx_hal_flash_ramfunc.c | 6 +- .../stm32l4xx/drivers/src/stm32l4xx_hal_gpio.c | 4 +- .../stm32l4xx/drivers/src/stm32l4xx_hal_hcd.c | 4 +- .../stm32l4xx/drivers/src/stm32l4xx_hal_i2c.c | 60 +- .../stm32l4xx/drivers/src/stm32l4xx_hal_i2c_ex.c | 8 +- .../stm32l4xx/drivers/src/stm32l4xx_hal_irda.c | 136 +- .../stm32l4xx/drivers/src/stm32l4xx_hal_iwdg.c | 4 +- .../stm32l4xx/drivers/src/stm32l4xx_hal_lcd.c | 4 +- .../stm32l4xx/drivers/src/stm32l4xx_hal_lptim.c | 4 +- .../drivers/src/stm32l4xx_hal_msp_template.c | 4 +- .../stm32l4xx/drivers/src/stm32l4xx_hal_nand.c | 4 +- .../stm32l4xx/drivers/src/stm32l4xx_hal_nor.c | 4 +- .../stm32l4xx/drivers/src/stm32l4xx_hal_opamp.c | 10 +- .../stm32l4xx/drivers/src/stm32l4xx_hal_opamp_ex.c | 4 +- .../stm32l4xx/drivers/src/stm32l4xx_hal_pcd.c | 84 +- .../stm32l4xx/drivers/src/stm32l4xx_hal_pcd_ex.c | 27 +- .../stm32l4xx/drivers/src/stm32l4xx_hal_pwr.c | 4 +- .../stm32l4xx/drivers/src/stm32l4xx_hal_pwr_ex.c | 196 +- .../stm32l4xx/drivers/src/stm32l4xx_hal_qspi.c | 12 +- .../stm32l4xx/drivers/src/stm32l4xx_hal_rcc.c | 6 +- .../stm32l4xx/drivers/src/stm32l4xx_hal_rcc_ex.c | 122 +- .../stm32l4xx/drivers/src/stm32l4xx_hal_rng.c | 4 +- .../stm32l4xx/drivers/src/stm32l4xx_hal_rtc.c | 43 +- .../stm32l4xx/drivers/src/stm32l4xx_hal_rtc_ex.c | 99 +- .../stm32l4xx/drivers/src/stm32l4xx_hal_sai.c | 5 +- .../stm32l4xx/drivers/src/stm32l4xx_hal_sd.c | 4 +- .../drivers/src/stm32l4xx_hal_smartcard.c | 6 +- .../drivers/src/stm32l4xx_hal_smartcard_ex.c | 4 +- .../stm32l4xx/drivers/src/stm32l4xx_hal_smbus.c | 103 +- .../stm32l4xx/drivers/src/stm32l4xx_hal_spi.c | 8 +- .../stm32l4xx/drivers/src/stm32l4xx_hal_spi_ex.c | 4 +- .../stm32l4xx/drivers/src/stm32l4xx_hal_sram.c | 4 +- .../stm32l4xx/drivers/src/stm32l4xx_hal_swpmi.c | 10 +- .../stm32l4xx/drivers/src/stm32l4xx_hal_tim.c | 4 +- .../stm32l4xx/drivers/src/stm32l4xx_hal_tim_ex.c | 93 +- .../src/stm32l4xx_hal_timebase_tim_template.c | 4 +- .../stm32l4xx/drivers/src/stm32l4xx_hal_tsc.c | 4 +- .../stm32l4xx/drivers/src/stm32l4xx_hal_uart.c | 34 +- .../stm32l4xx/drivers/src/stm32l4xx_hal_uart_ex.c | 4 +- .../stm32l4xx/drivers/src/stm32l4xx_hal_usart.c | 7 +- .../stm32l4xx/drivers/src/stm32l4xx_hal_wwdg.c | 4 +- .../stm32l4xx/drivers/src/stm32l4xx_ll_adc.c | 4 +- .../stm32l4xx/drivers/src/stm32l4xx_ll_comp.c | 31 +- .../stm32l4xx/drivers/src/stm32l4xx_ll_crc.c | 4 +- .../stm32l4xx/drivers/src/stm32l4xx_ll_crs.c | 4 +- .../stm32l4xx/drivers/src/stm32l4xx_ll_dac.c | 16 +- .../stm32l4xx/drivers/src/stm32l4xx_ll_dma.c | 4 +- .../stm32l4xx/drivers/src/stm32l4xx_ll_exti.c | 4 +- .../stm32l4xx/drivers/src/stm32l4xx_ll_fmc.c | 414 +- .../stm32l4xx/drivers/src/stm32l4xx_ll_gpio.c | 15 +- .../stm32l4xx/drivers/src/stm32l4xx_ll_i2c.c | 18 +- .../stm32l4xx/drivers/src/stm32l4xx_ll_lptim.c | 4 +- .../stm32l4xx/drivers/src/stm32l4xx_ll_lpuart.c | 4 +- .../stm32l4xx/drivers/src/stm32l4xx_ll_opamp.c | 4 +- .../stm32l4xx/drivers/src/stm32l4xx_ll_pwr.c | 4 +- .../stm32l4xx/drivers/src/stm32l4xx_ll_rcc.c | 46 +- .../stm32l4xx/drivers/src/stm32l4xx_ll_rng.c | 4 +- .../stm32l4xx/drivers/src/stm32l4xx_ll_rtc.c | 4 +- .../stm32l4xx/drivers/src/stm32l4xx_ll_sdmmc.c | 4 +- .../stm32l4xx/drivers/src/stm32l4xx_ll_spi.c | 4 +- .../stm32l4xx/drivers/src/stm32l4xx_ll_swpmi.c | 4 +- .../stm32l4xx/drivers/src/stm32l4xx_ll_tim.c | 153 +- .../stm32l4xx/drivers/src/stm32l4xx_ll_usart.c | 4 +- .../stm32l4xx/drivers/src/stm32l4xx_ll_usb.c | 38 +- .../stm32l4xx/drivers/src/stm32l4xx_ll_utils.c | 16 +- ext/hal/st/stm32cube/stm32l4xx/soc/stm32l431xx.h | 14983 +-- ext/hal/st/stm32cube/stm32l4xx/soc/stm32l432xx.h | 14921 +-- ext/hal/st/stm32cube/stm32l4xx/soc/stm32l433xx.h | 16093 +-- ext/hal/st/stm32cube/stm32l4xx/soc/stm32l442xx.h | 15195 +-- ext/hal/st/stm32cube/stm32l4xx/soc/stm32l443xx.h | 16367 +-- ext/hal/st/stm32cube/stm32l4xx/soc/stm32l451xx.h | 15451 +++ ext/hal/st/stm32cube/stm32l4xx/soc/stm32l452xx.h | 16177 +++ ext/hal/st/stm32cube/stm32l4xx/soc/stm32l462xx.h | 16405 +++ ext/hal/st/stm32cube/stm32l4xx/soc/stm32l471xx.h | 17226 +-- ext/hal/st/stm32cube/stm32l4xx/soc/stm32l475xx.h | 19702 ++-- ext/hal/st/stm32cube/stm32l4xx/soc/stm32l476xx.h | 19926 ++-- ext/hal/st/stm32cube/stm32l4xx/soc/stm32l485xx.h | 19976 ++-- ext/hal/st/stm32cube/stm32l4xx/soc/stm32l486xx.h | 20200 ++-- ext/hal/st/stm32cube/stm32l4xx/soc/stm32l4xx.h | 20 +- .../st/stm32cube/stm32l4xx/soc/system_stm32l4xx.c | 4 +- .../st/stm32cube/stm32l4xx/soc/system_stm32l4xx.h | 4 +- include/arch/arm/arch.h | 1 - include/arch/arm/cortex_m/asm_inline_gcc.h | 2 +- include/arch/arm/cortex_m/exc.h | 22 + include/arch/arm/cortex_m/irq.h | 1 - include/arch/arm/cortex_m/nvic.h | 233 - include/arch/arm/cortex_m/scb.h | 86 - include/arch/arm/cortex_m/scripts/linker.ld | 12 +- include/section_tags.h | 2 +- include/sections.h | 2 +- scripts/sanity_chk/arches/arm.ini | 2 +- tests/kernel/arm_runtime_nmi/src/main.c | 3 +- 484 files changed, 792231 insertions(+), 196996 deletions(-) create mode 100644 arch/arm/soc/arm/mps2/soc_registers.h create mode 100644 arch/arm/soc/nxp_kinetis/kwx/Kconfig.defconfig.mkw41z4 create mode 100644 arch/arm/soc/nxp_kinetis/kwx/Kconfig.defconfig.series create mode 100644 arch/arm/soc/nxp_kinetis/kwx/Kconfig.series create mode 100644 arch/arm/soc/nxp_kinetis/kwx/Kconfig.soc create mode 100644 arch/arm/soc/nxp_kinetis/kwx/Makefile create mode 100644 arch/arm/soc/nxp_kinetis/kwx/linker.ld create mode 100644 arch/arm/soc/nxp_kinetis/kwx/soc.c create mode 100644 arch/arm/soc/nxp_kinetis/kwx/soc.h create mode 100644 boards/arm/frdm_k64f/doc/frdm_k64f.jpg create mode 100644 boards/arm/frdm_k64f/doc/frdm_k64f.rst create mode 100644 boards/arm/frdm_kw41z/Kconfig.board create mode 100644 boards/arm/frdm_kw41z/Kconfig.defconfig create mode 100644 boards/arm/frdm_kw41z/Makefile create mode 100644 boards/arm/frdm_kw41z/board.h create mode 100644 boards/arm/frdm_kw41z/doc/frdm_kw41z.jpg create mode 100644 boards/arm/frdm_kw41z/doc/frdm_kw41z.rst create mode 100644 boards/arm/frdm_kw41z/frdm_kw41z_defconfig create mode 100644 boards/arm/frdm_kw41z/pinmux.c create mode 100644 boards/arm/mps2_an385/pinmux.c create mode 100644 boards/arm/nucleo_f411re/doc/img/nucleo64_perf_logo_1024.png create mode 100644 boards/arm/nucleo_f411re/doc/img/nucleo_f411re_arduino.png create mode 100644 boards/arm/nucleo_f411re/doc/img/nucleo_f411re_morpho.png create mode 100644 boards/arm/nucleo_f411re/doc/nucleof411re.rst create mode 100644 drivers/serial/Kconfig.mcux_lpuart create mode 100644 drivers/serial/uart_mcux_lpuart.c create mode 100644 ext/hal/nxp/mcux/devices/MKW21Z4/MKW21Z4.h create mode 100644 ext/hal/nxp/mcux/devices/MKW21Z4/MKW21Z4.svd create mode 100644 ext/hal/nxp/mcux/devices/MKW21Z4/MKW21Z4_features.h create mode 100644 ext/hal/nxp/mcux/devices/MKW21Z4/fsl_device_registers.h create mode 100644 ext/hal/nxp/mcux/devices/MKW21Z4/system_MKW21Z4.c create mode 100644 ext/hal/nxp/mcux/devices/MKW21Z4/system_MKW21Z4.h create mode 100644 ext/hal/nxp/mcux/devices/MKW31Z4/MKW31Z4.h create mode 100644 ext/hal/nxp/mcux/devices/MKW31Z4/MKW31Z4.svd create mode 100644 ext/hal/nxp/mcux/devices/MKW31Z4/MKW31Z4_features.h create mode 100644 ext/hal/nxp/mcux/devices/MKW31Z4/fsl_device_registers.h create mode 100644 ext/hal/nxp/mcux/devices/MKW31Z4/system_MKW31Z4.c create mode 100644 ext/hal/nxp/mcux/devices/MKW31Z4/system_MKW31Z4.h create mode 100644 ext/hal/nxp/mcux/devices/MKW41Z4/MKW41Z4.h create mode 100644 ext/hal/nxp/mcux/devices/MKW41Z4/MKW41Z4.svd create mode 100644 ext/hal/nxp/mcux/devices/MKW41Z4/MKW41Z4_features.h create mode 100644 ext/hal/nxp/mcux/devices/MKW41Z4/clock_config.c create mode 100644 ext/hal/nxp/mcux/devices/MKW41Z4/clock_config.h create mode 100644 ext/hal/nxp/mcux/devices/MKW41Z4/fsl_clock.c create mode 100644 ext/hal/nxp/mcux/devices/MKW41Z4/fsl_clock.h create mode 100644 ext/hal/nxp/mcux/devices/MKW41Z4/fsl_device_registers.h create mode 100644 ext/hal/nxp/mcux/devices/MKW41Z4/system_MKW41Z4.c create mode 100644 ext/hal/nxp/mcux/devices/MKW41Z4/system_MKW41Z4.h create mode 100644 ext/hal/nxp/mcux/drivers/fsl_cop.c create mode 100644 ext/hal/nxp/mcux/drivers/fsl_cop.h create mode 100644 ext/hal/nxp/mcux/drivers/fsl_dcdc.c create mode 100644 ext/hal/nxp/mcux/drivers/fsl_dcdc.h create mode 100644 ext/hal/nxp/mcux/drivers/fsl_lpuart.c create mode 100644 ext/hal/nxp/mcux/drivers/fsl_lpuart.h create mode 100644 ext/hal/nxp/mcux/drivers/fsl_lpuart_edma.c create mode 100644 ext/hal/nxp/mcux/drivers/fsl_lpuart_edma.h create mode 100644 ext/hal/nxp/mcux/drivers/fsl_ltc.c create mode 100644 ext/hal/nxp/mcux/drivers/fsl_ltc.h create mode 100644 ext/hal/nxp/mcux/drivers/fsl_ltc_edma.c create mode 100644 ext/hal/nxp/mcux/drivers/fsl_ltc_edma.h create mode 100644 ext/hal/nxp/mcux/drivers/fsl_tpm.c create mode 100644 ext/hal/nxp/mcux/drivers/fsl_tpm.h create mode 100644 ext/hal/nxp/mcux/drivers/fsl_trng.c create mode 100644 ext/hal/nxp/mcux/drivers/fsl_trng.h create mode 100644 ext/hal/nxp/mcux/drivers/fsl_tsi_v4.c create mode 100644 ext/hal/nxp/mcux/drivers/fsl_tsi_v4.h create mode 100644 ext/hal/st/stm32cube/stm32f4xx/soc/stm32f413xx.h create mode 100644 ext/hal/st/stm32cube/stm32f4xx/soc/stm32f423xx.h create mode 100644 ext/hal/st/stm32cube/stm32l4xx/soc/stm32l451xx.h create mode 100644 ext/hal/st/stm32cube/stm32l4xx/soc/stm32l452xx.h create mode 100644 ext/hal/st/stm32cube/stm32l4xx/soc/stm32l462xx.h delete mode 100644 include/arch/arm/cortex_m/nvic.h Change-Id: Ie769641b4d6346abaf916f14f96e43a669fc5fec Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2017-01-30doc: update template for nucleo_f401re boardarmErwan Gouriou
Following comments on nucleo_f411re doc, update doc for nucleof401re Change-Id: I86b7a016b604a31e210e425718e835e15560a46a Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2017-01-30board: add nucleo_411re board documentationErwan Gouriou
This patch adds documentation for nucleo_f411re board Change-Id: Idbb6f087459f3ea0bd9b5a3096542d0f9e90701b Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2017-01-30arm: scb: Move SCB asm defines into cpu_idle.SKumar Gala
As cpu_idle.S is the only bit of code that is using the SCB asm defines, so to allow us to remove scb.h in the future lets move the defines that are used just into cpu_idle.S Jira: ZEP-1568 Change-Id: I3c3a6f145ec4c1a43f076d079d5fe1694c255b78 Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2017-01-30arm: cmsis: Convert _ScbIsInThreadMode to use direct CMSIS register accessKumar Gala
Jira: ZEP-1568 Change-Id: Idc14817ce85042ec86bdf67b8939f783224329ff Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2017-01-30arm: cmsis: Convert _ScbPendsvSet to use direct CMSIS register accessKumar Gala
Jira: ZEP-1568 Change-Id: I25653d8fbe3842fbfa79191d388c6f6693fca39c Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2017-01-30arm: cmsis: Convert _ScbNmiPend to use direct CMSIS register accessKumar Gala
Jira: ZEP-1568 Change-Id: I56231084baaec4f6232f1ef4ebabe4f3fdb5175c Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2017-01-30arm: refactor clearing of exception faults to common codeKumar Gala
A number of SoCs clear out the Mem/Bus/Usage and Hard Fault exceptions during init. Lets refactor that into a common function so we don't have to keep duplicating it over and over. Change-Id: Ida908a9092db37447abcf3c9872f36937982f729 Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2017-01-30ext: stm32cube: update stm32l4xx cube versionErwan Gouriou
Update Cube version for STM32L4XX family from version: V1.5.2 to version: V1.6.0 Add support for following soc: stm32l451xx stm32l452xx stm32l462xx Change-Id: I116458ff8163f99aec5cf3965296d79728faf672 Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2017-01-30ext: stm32cube: update stm32f4xx cube versionErwan Gouriou
Update Cube version for STM32F4XX family from version: V1.13.0 to version: V1.14.0 Add support for following soc: stm32f413xx stm32f423xx Change-Id: I050bdbe5980b2294955379a2ad917d25aa501578 Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2017-01-30MAINTAINERS: Remove Jon Medhurst from MPS2 maintainershipJon Medhurst
Change-Id: Ie1a3fc69e43814808f7e6711cb2b6271859837e2 Signed-off-by: Jon Medhurst <tixy@linaro.org>
2017-01-30doc: Update mps2_an385 documentationVincenzo Frascino
This patch updates the mps2_an385 documentation adding the information of the CMSDK (Cortex-M System Design Kit) GPIOs Pinmuxing. Change-Id: Icab0d47bf1a58be058f036fb3db346ef6390266a Signed-off-by: Vincenzo Frascino <vincenzo.frascino@linaro.org>
2017-01-30boards: arm: mps2: Add pinmuxingVincenzo Frascino
This patch adds pinmuxing configuration the ARM MPS2 AN385 board. Change-Id: If9825e325e8f3abf568537f3a279b5f0f56bd088 Signed-off-by: Vincenzo Frascino <vincenzo.frascino@linaro.org>
2017-01-30frdm_k64f: Add RST board documentationMaureen Helm
Change-Id: I1027fce12b4f7153b02beadd5257e7d8956e1d7a Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2017-01-30soc: arm: mps2: Fix UART4 base addressVincenzo Frascino
This patch fixes the UART4 base address on the ARM MPS2 platform. Change-Id: I14bf2a4dc2378d4b2c4295a75cd68c6c895fbd60 Signed-off-by: Vincenzo Frascino <vincenzo.frascino@linaro.org>
2017-01-30arm: cmsis: Remove nvic.h and use CMSIS NVIC calls directlyKumar Gala
Kill of nvic.h and use either CMSIS helper functions for NVIC or direct NVIC register access via CMSIS for IRQ handling code. Jira: ZEP-1568 Change-Id: If21910b9293121efe85c3c9076a1c2b475ef91ef Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2017-01-30arm: move exception priority to exc.hKumar Gala
Move the exception priority related defines into exc.h out of nvic.h Change-Id: I7ded917a3f6f7cdbc506b2f70c22f37eddc5f5c7 Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2017-01-30arm: cmsis: Convert _ScbExcPrioSet to NVIC_SetPriorityKumar Gala
Replace _ScbExcPrioSet with calls to NVIC_SetPriority as it handles both interrupt and exception priorities. We don't need to shift around the priority values for NVIC_SetPriority. Jira: ZEP-1568 Change-Id: Iccd68733c3f7faa82b7ccb17200eef328090b6da Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2017-01-30doc: Update mps2_an385 documentationVincenzo Frascino
This patch updates the mps2_an385 documentation adding the information of the new added CMSDK (Cortex-M System Design Kit) Drivers. Change-Id: I5615ebec13e8831a0360fc32cfd8be0d3ebc85b5 Signed-off-by: Vincenzo Frascino <vincenzo.frascino@linaro.org>
2017-01-30boards: arm: mps2_an385: Enable CMSDK DriversVincenzo Frascino
This patch enables the CMSDK (Cortex-M System Design Kit) Drivers on mps2_an385 (Cortex M3). Change-Id: Iff51141a183ac94ad6b905acf10389ca94a451d3 Signed-off-by: Vincenzo Frascino <vincenzo.frascino@linaro.org>
2017-01-30soc: arm: mps2: Add configuration for CMSDK DriverVincenzo Frascino
This patch adds the configuration parametes required to enable CMSDK (Cortex-M System Design Kit) Drivers at MPS2 soc level. It provides as well the definitions for the MPS2 System Control registers. Change-Id: I06181dcfeb4fb887425b85ec9a99c268c857a34e Signed-off-by: Vincenzo Frascino <vincenzo.frascino@linaro.org>
2017-01-30MAINTAINERS: Add frdm_kw41z boardMaureen Helm
Change-Id: Iae62702db02f6098087e8d1aa3290bae7f6ad6a2 Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2017-01-30frdm_kw41z: Add frdm_kw41z boardMaureen Helm
Adds initial support and documentation for the frdm_kw41z board. - Configures the kw41 to use the 32 MHz external oscillator on the board to generate a 40 MHz system clock. The clock settings match the MCUX SDK hello_world example project. - Provides pinmux settings for the uart, i2c, LEDs, and switches - Enables pinmux, gpio, uart, and i2c driver instances - Configures the fxos8700 accelerometer/magnetometer driver Jira: ZEP-1390 Change-Id: I025a0eae3d380eaf90b02683acf5c592e2204a2e Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2017-01-30kw41z: Add kw41z SoCMaureen Helm
Adds initial support for the kw41z SoC. This is the first SoC in the Kinetis W (wireless connectivity) series added to Zephyr. The kw41z integrates a 2.4 GHz radio transceiver, BLE link layer hardware, and an 802.15.4 packet processor with an ARM Cortex M0+. It has 512 KB flash, 128 KB SRAM, and can run the system clock at up to 48 MHz. This SoC currently has mcux shim drivers for lpuart (serial), gpio, pinmux, i2c, and flash. Jira: ZEP-1389 Change-Id: I8cff6d203867ba3ace7e05c36441dc8f3cbca8d8 Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2017-01-30k64: Rename security_frdm_k64f sectionMaureen Helm
Renames the flash security section so it makes sense for other Kinetis devices, not just k64. In Kinetis reference manuals, this section is referred to as the 'flash configuration field'. Change-Id: I2b7c7cc1ec2541419d77878d367d96c9ceb7a0cf Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2017-01-30serial: Introduce new mcux lpuart shim driverMaureen Helm
Adds a shim layer around the mcux lpuart driver to adapt it to the Zephyr serial interface. NXP has multiple uart hardware blocks that implement different features and have different register maps. The k64 has a uart block called 'uart', while the kw41 has a uart block called 'lpuart' (low power uart). The MCUXpresso SDK provides separate drivers for each type of uart block but with similar software interfaces. As a result, there are also separate shim drivers in Zephyr. There is a 1:1:1 relationship between hardware block, mcux driver, and mcux shim driver. Because we now have two mcux shim drivers for the uart interface, a new naming convention is created: <interface>_mcux_<hw block> Where <interface> is the name of the Zephyr interface, in this case 'uart'. This convention is not new. <hw block> is the name of the NXP hardware block, in this case 'lpuart'. This is the new part, and distinguishes different hardware blocks for the same interface. Change-Id: I3a80b9bffa116bbb2b02ee950d4bdd79a19a4edc Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2017-01-30flash: Update mcux shim to new mcux versionMaureen Helm
The newer version of mcux changes its flash api slightly, so update the Zephyr shim accordingly. Change-Id: I0c974fc3e82b9f40372c636f0b805ed143be2198 Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2017-01-30mcux: Import mcux for kw41zMaureen Helm
Imports the mcux device header files and peripheral drivers for the kw41z and its subset devices (kw31z, kw21z). The subset devices are included since they are released together with the kw41z by nxp, and to avoid them getting out of sync in Zephyr if they were added later. The kw41z shares several peripheral drivers with the k64f, so those drivers are updated to the newer version released with the kw41z. Origin: NXP Kinetis KW41Z Connectivity Software Linux(REV 1.0.2) URL: https://www.nxp.com/webapp/Download?colCode=KW41Z-CONNECTIVITY-SOFTWARE-LIN&appType=license&Parent_nodeId=1441226359347708902175&Parent_pageType=product Maintained-by: External Jira: ZEP-1389 Change-Id: Id8e87f32b7afe01605e1e05b88addc547b2f5e21 Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2017-01-30Revert "Revert "sanitycheck: add support for risc v boards""Andrew Boie
This reverts commit 9fb0c2af5c12df799022ae39bc98c34c59b4e14f. SDK 0.9 has now been released. Change-Id: I676b6f0e31ab48fde3dda41b681abf53964ea9f9 Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2017-01-30fat: match type info expected by fat library for f_writeKumar Gala
The fat library uses its own typedef for integer parms and expects a UINT to be either 16 or 32-bits in length. We potentially get into trouble when we build with newlib if we use an uint32_t. Lets just use unsigned int which should cover all cases for us. Change-Id: I3dbbf4871ab65dd12488d41cb06a06387c128339 Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2017-01-30samples: webusb: fix type of bytes_readKumar Gala
bytes_read should be an int, all uses of it in this sample are of type int. Lets clean this up so when building with newlib or in the future when uint32_t might change its definition we don't have issues. Change-Id: Ief7bfb48948df50cec45b4707ef7676d13173f34 Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2017-01-30usb: Change transfer_len type to int32_t in usb_request_handler typedefKumar Gala
The functions that implement usb_request_handlers are already using an int32_t for transfer_len, so lets make the typedef match. This address a potential issue in the future when the typedef of int32_t changes (or when building with newlib). Change-Id: I6e478551c38f2040b0dcec47c2e4c565c27acdd0 Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2017-01-30samples: zperf: cleanup types for constant arraysKumar Gala
There are a few arrays we use with print_number and parse_number. These functions expect a const uint32_t so lets have the arrays for TIME_US, KBPS, and K match. Change-Id: I6347b06af2374d702144084bb6b538a478fb8fac Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2017-01-29doc: update menuconfig images in application docDavid B. Kinder
Updated main menuconfig image Jira: ZEP-1434 Change-Id: Ib78f65868e025a45d51f1561f7e487eda0d7dbcd Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2017-01-29Merge "Merge net branch into master"Anas Nashif
2017-01-28Merge bluetooth branch into masterJohan Hedberg
- Fixes to SPI HCI driver - Minor improvements, to AVDTP, A2DP, RFCOMM & HFP - New Kconfig variable for managing the device name ---------------------------------------------------------------- Arun Jagadish (1): Bluetooth: AVDTP: Add AVDTP Discover API Prototype Jaganath Kanakkassery (3): Bluetooth: RFCOMM: Fix v24_signal in MSC response Bluetooth: RFCOMM: Implement MSC Flow Control Bluetooth: Doc: RFCOMM PICS file Johan Hedberg (2): Bluetooth: Kconfig: Make device name variable generic Bluetooth: samples: Use Kconfig DEVICE_NAME variable when possible Kumar Gala (1): Bluetooth: hci_raw: Make bt_buf_get_rx args consistent Luiz Augusto von Dentz (1): Bluetooth: L2CAP: Only set state for dynamic channels Piyush Itankar (2): Bluetooth: A2DP: Adds accept state callback handlers Bluetooth: A2DP: Stream End Point Structure Ricardo Salveti (7): Bluetooth: SPI: fix buf handling for HCI ACL packets Bluetooth: SPI: fix Kconfig SPI IRQ PIN description Bluetooth: SPI: introduce CONFIG_BLUETOOTH_SPI_BLUENRG Bluetooth: SPI: fix max SPI buffer length Bluetooth: SPI: switch to a single SPI transfer when receiving Bluetooth: SPI: retry spi_transceive calls if invalid Bluetooth: SPI: Disable IRQ pin callback to avoid spurious IRQs Roger Lendenmann (1): Bluetooth: add storage flag for secure connection pairing LTK Sathish Narasimman (2): Bluetooth: AT: HFP HF: Handle unsolicited reponse Bluetooth: HFP HF: Handle +CIEV reponse doc/subsystems/bluetooth/qualification.rst | 1 + doc/subsystems/bluetooth/rfcomm-pics.rst | 51 +++++++++++++++ drivers/bluetooth/hci/Kconfig | 27 ++++---- drivers/bluetooth/hci/spi.c | 83 +++++++++++++++----- drivers/bluetooth/nble/Kconfig | 7 +++ include/bluetooth/a2dp.h | 13 ++++ include/bluetooth/rfcomm.h | 2 +- include/bluetooth/storage.h | 3 + samples/bluetooth/beacon/prj.conf | 1 + samples/bluetooth/beacon/prj_nble.conf | 1 + samples/bluetooth/beacon/src/main.c | 2 +- samples/bluetooth/eddystone/prj.conf | 1 + samples/bluetooth/eddystone/prj_nble.conf | 1 + samples/bluetooth/eddystone/src/main.c | 2 +- samples/bluetooth/gatt/ipss.c | 2 +- samples/bluetooth/handsfree/prj.conf | 2 +- samples/bluetooth/ipsp/prj.conf | 1 + samples/bluetooth/peripheral/prj.conf | 1 + samples/bluetooth/peripheral/prj_nble.conf | 1 + samples/bluetooth/peripheral/src/main.c | 2 +- samples/bluetooth/peripheral_csc/prj.conf | 1 + samples/bluetooth/peripheral_csc/prj_nble.conf | 1 + samples/bluetooth/peripheral_csc/src/main.c | 2 +- samples/bluetooth/peripheral_dis/prj.conf | 1 + samples/bluetooth/peripheral_dis/src/main.c | 2 +- samples/bluetooth/peripheral_esp/prj.conf | 1 + samples/bluetooth/peripheral_esp/prj_nble.conf | 1 + samples/bluetooth/peripheral_esp/src/main.c | 2 +- samples/bluetooth/peripheral_hids/prj.conf | 1 + samples/bluetooth/peripheral_hids/prj_nble.conf | 1 + samples/bluetooth/peripheral_hids/src/main.c | 2 +- samples/bluetooth/peripheral_hr/prj.conf | 1 + samples/bluetooth/peripheral_hr/prj_nble.conf | 1 + samples/bluetooth/peripheral_hr/src/main.c | 2 +- samples/bluetooth/peripheral_sc_only/prj.conf | 1 + samples/bluetooth/peripheral_sc_only/src/main.c | 2 +- subsys/bluetooth/host/Kconfig | 13 ++-- subsys/bluetooth/host/a2dp.c | 91 +++++++++++++++++--- subsys/bluetooth/host/a2dp_internal.h | 6 -- subsys/bluetooth/host/at.c | 35 ++++++++--- subsys/bluetooth/host/at.h | 13 +++- subsys/bluetooth/host/avdtp.c | 11 ++++ subsys/bluetooth/host/avdtp_internal.h | 22 +++++++ subsys/bluetooth/host/hci_core.c | 2 +- subsys/bluetooth/host/hci_raw.c | 2 +- subsys/bluetooth/host/hfp_hf.c | 49 +++++++++++++-- subsys/bluetooth/host/l2cap.c | 3 +- subsys/bluetooth/host/rfcomm.c | 50 +++++++++++---- subsys/bluetooth/host/rfcomm_internal.h | 2 + tests/bluetooth/shell/arduino_101.conf | 2 +- tests/bluetooth/shell/prj.conf | 2 +- tests/bluetooth/shell/prj_br.conf | 2 +- tests/bluetooth/shell/prj_nble.conf | 1 + tests/bluetooth/shell/src/main.c | 2 +- 54 files changed, 412 insertions(+), 122 deletions(-) create mode 100644 doc/subsystems/bluetooth/rfcomm-pics.rst Change-Id: Iaf3609610082865da754917d131d4bafbfbec428 Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2017-01-28Bluetooth: SPI: Disable IRQ pin callback to avoid spurious IRQsRicardo Salveti
Avoid spurious IRQ when already handling the SPI Slave IRQ. Change-Id: If8452a668bc9768d462a5fa56b851e99a076e67c Signed-off-by: Ricardo Salveti <ricardo.salveti@linaro.org>
2017-01-28Bluetooth: SPI: retry spi_transceive calls if invalidRicardo Salveti
spi_transceive can return successfuly even if the data provided by the slave is invalid, so check if the content is correct and retry until a valid data is available. Change-Id: Ia951de391e0b24c5b41eeabfb5c10b056d32b62e Signed-off-by: Ricardo Salveti <ricardo.salveti@linaro.org>
2017-01-28Bluetooth: SPI: switch to a single SPI transfer when receivingRicardo Salveti
Change-Id: I27b504032080bddf7ebc88ef4812a0e7eab691c6 Signed-off-by: Ricardo Salveti <ricardo.salveti@linaro.org>
2017-01-28Bluetooth: SPI: fix max SPI buffer lengthRicardo Salveti
Drop the BLUETOOTH_SPI_RX_BUFFER_SIZE and BLUETOOTH_SPI_TX_BUFFER_SIZE config options by fixing the max SPI buffer length to 255, as used by the X-NUCLEO-IDB04A1 BSP. This simplifies the rx/tx buffer handling, and avoids a potential spi rx stack overflow depending on the config values set by the user. Change-Id: Ifa7fd086016abda4bdcf9638f28b38d001a288c5 Signed-off-by: Ricardo Salveti <ricardo.salveti@linaro.org>
2017-01-28Bluetooth: SPI: introduce CONFIG_BLUETOOTH_SPI_BLUENRGRicardo Salveti
This new option is used to encapsulate the logic specific to devices implementing the BlueNRG Bluetooth stack (e.g. X-NUCLEO-IDB05A1). The current BlueNRG specific logic covers the HCI Reset handling and the manual control of the SPI Chip Select line (normally not needed since spi_transceive is also responsible for controlling the SPI CS line). Change-Id: I5db4addf873eee0af2d957e2181c50aac53ab656 Signed-off-by: Ricardo Salveti <ricardo.salveti@linaro.org>