Commit Graph

282 Commits

Author SHA1 Message Date
Gregory Nutt
9c5d0003aa arch/arm/src/stm32f0l0: Bring in missing RCC file. Now there are two files implementing stm32_clockonfig(). Yech. ./setenv.sh Also fixes several compile issues. The STM32L0 boards now compile and link without error. 2018-12-20 08:37:09 -06:00
Mateusz Szafoni
4c601faf6f Brings in initial WIP support for the STML0. This initial commit is in pretty bad shape and, hence it it marked EXPERIMENTAL."
Squashed commit of the following:

    arch/arm/src/stm32f0l0:  Various changes for a clean compilation.  Still does not compile correctly due to missing FLASH latency definitions.

    arch/arm/src/stm32f0l0/hardware:  Add framework for the STM32 L0.  Currently set to same as the STM32F0.

    arch/arm/src/stm32f0l0/hardware:  Very fragmentary FLASH header register definitions for the STM32 L0.

    arch/arm/src/stm32f0l0:  Bring in DMA v1.  Cannot possibly be functionaly yet due to the limited number for M0 interrupts.

    arch/arm/src/stm32f0l0:  Add STM32 F0/L0 LSE and backup power domain controls.

    arch/arm/src/stm32f0l0/hardware/stm32l0_pwr.h:  Add STM32L0 PWR header file.

    arch/arm/include/stm32f0l0/chip.h: Clean up WIP chip header file.

    arch/arm/include/stm32f0l0/chip.h: WIP.

    arm/src/stm32f0l0: Resolve some small differences between F0 and L0 GPIO pin options.

    arch/arm/src/stm32f0l0: Better integrate STM32L0 header files.

    nuttx/arch/arm/include/stm32f0l0:  Add STM32L0 IRQ number definition file.

    arch/arm/src/stm32f0l0:  Add STM32L0 RCC driver.

    arch/arm/src/stm32f0l0/hardware:  Adds basic STM32L0 header files.

    arch/arm/src/stm32f0l0:  Add STM32L0 chip selections.

    configs/:  Hook new STM32L0 boards into the configuration system.

    configs: nucleo boards use as default ST LINK MCO as clock input from MCU and for this HSEBYP must be enabled

    configs: add basic support for nucleo-l073rz

    configs: add basic support for b-l072z-lrwan1
2018-12-19 12:36:35 -06:00
Lwazi Dube
cf453cb84b arch/arm/Kconfig: Fix many warnings introduced by stm32f0l0 2018-12-17 10:51:51 -06:00
Gregory Nutt
b4ab6bc7f2 Squashed commit of the following:
arch/arm/src/stm32f0l0:  Some fixes for a clean build.  Still have a problem with lots of error messages coming from kconfig-mconf, but the configuation looks fine.  Sometimes kconfig errors are difficult to spot.  I would appreciate it anyone can spot the issue.

    arch/arm/src/stm32f0l0/hardware:  Rename the chip directory to hardware.  This will hopefully eliminate some problems that I have seen with the chip include paths not being unique in more complex configuartions.

    configs/nucleo-f072rb, configs/nucleo-f091rc, configs/stm32f051-discovery, and configs/stm32f072-discovery:  Update for all of the naming changes made in arch/arm/src/stm32f0l0

    arch/arm/include/stm32f0l0:  Rename stm32f0 to stm32f0l0 to make a speace for STM32 L0.  Rename files, functions and defines, removeing the f0_ from the names in order to make them MCU agnostic.

    arch/arm/src/stm32f0l0:  Rename stm32f0 to stm32f0l0 to make a speace for STM32 L0.  Rename files, functions and defines, removeing the f0_ from the names in order to make them MCU agnostic.
2018-12-16 10:50:16 -06:00
Gregory Nutt
f0e6e06a37 Squashed commit of the following:
arch/arm/src/tiva/hardwar:  Move LM3S and LM4F include files to hardware/lm/ sub-directory.  Move all TM4C header files files to hardware/tm4c/ sub-directory.

    arch/arm:  Add basic configuration/build support for CC13xx parts.  Conditioned on EXPERIMENTAL.
2018-12-01 12:22:05 -06:00
Gregory Nutt
8a99b5969e arch/arm/src/max326xx: Fixes UART interrupt problems. With these changes, the NSH configuration appears stable and is no longer conditioned on EXPERIMENTAL. 2018-11-29 07:50:45 -06:00
Gregory Nutt
06f132c5d0 Brings in WIP port for the Maxim Integrated MAX326xx MCU family. Not really very much in place yet so marked EXPERIMENTAL in Kconfig file.
Squashed commit of the following:

    Update a README.  Mark MAX326XX as EXPERIMENTAL before bringing into master.
    arch/arm/src/max326xx/chip:  Add MAX32660 TMR register definition header files.
    arch/arm/src/max326xx/chip:  Add MAX32660 WDT register definition header files.
    arch/arm/src/max326xx/chip:  Add MAX32660 RTC register definition header files.
    arch/arm/src/max326xx/chip:  Add MAX32660 UART register definition header files.
    arch/arm/src/max326xx/chip:  Add DMA register definition header files.
    Update some comments explaining what is meant by a 'chip family'
    arch/arm/src/max326xx/chip:  Add GPIO register definition header files.
    arch/arm/src/max326xx/chip:  Add FLC register definition header files.
    arch/arm/src/max326xx/chip:  Add FCR, PWRSEQ, and SIR register definition header files.
    arch/arm/src/max326xx/chip:  Add ICC register definition header file.
    arch/arm/src/max326xx/chip:  Add memory map header files.
    arch/arm/include/max326xx:  Minor fleshing out.
    arch/arm/arm/include/max326xx: Add basic support for Maxim MAX326xx family.  arch/arm/Kconfig and arch/arm/src/max326xx/Kconfig:  Add basic condiguration support for the MAX326xx.
2018-11-16 13:17:47 -06:00
Gregory Nutt
f8bfbd58c5 arch/arm/src/armv7-m/up_trigger_irq.c: Add logic to trigger ARMv7-M interrupts and exceptions. 2018-08-25 10:23:21 -06:00
Gregory Nutt
0001607f71 arch/arm: (1) Add semihost support for syslog, (2) Add semihost support for HostFS 2018-08-23 08:00:07 -06:00
Evgeniy Bobkov
caa7fa7327 This commit ports the stm32f20xxf40xx_flash.c driver to the STM32F7 platform and fixes some relevant problems in the header files. 2018-08-03 11:02:59 -06:00
Gregory Nutt
09ccd43d61 arch/arm/include/armv7-m, arch/arm/include/armv7-m, arch/arm/include/stm32f7: Add a configuration to enable workaround for r0p1 Errata 837070: Increasing priority usingwrite to BASEPRI does not take effect immediately.
This update is required to be serialized to the instruction stream meaning that after this update completes, it takes effect immediately and no exceptions of lower priority than the new boosted priority can pre-empt execution.  Because of this erratum, the priority boosting does not take place immediately, allowing the instruction after the MSR to be interrupted by an exception of lower priority than the new boosted priority. This effect is only limited to the next instruction. Subsequent instructions are guaranteed to see the new boosted priority.

This was raised in Bitbucket issue 113 from Vadzim Dambrouski.
2018-08-02 16:51:58 -06:00
Gregory Nutt
c3d0f65529 configs/metro-m4: Review clock settings and make some corrections to the board.h header file. 2018-07-30 08:01:45 -06:00
Gregory Nutt
c14d97a921 ARMv7-M/ARMv6-M: Review last PR. Rename CONFIG_DEBUG_HARDFAULT to OHNFIG_DEBUG_HARDFAULT_ALERT for consistency. 2018-07-30 06:46:44 -06:00
Masayuki Ishikawa
382a829657 Merged in masayuki2009/nuttx.nuttx/hardfault_info (pull request #699)
hardfault info

* arch/arm: Introduce CONFIG_DEBUG_HARDFAULT_INFO to Kconfig

    Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>

* arch/arm/src/armv7-m: Introduce CONFIG_DEBUG_HARDFAULT_INFO to up_hardfault.c

    Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>

* arch/arm/src/armv6-m: Introduce CONFIG_DEBUG_HARDFAULT_INFO to up_hardfault.c

    Also, replace _alert() with hfalert()

    Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>

Approved-by: GregoryN <gnutt@nuttx.org>
2018-07-30 12:32:55 +00:00
Gregory Nutt
a9d713bbcc This is the initial commit the port to the SAMD5x/E5x MCU family and also support for the Adafruit Metro M4 board. It port is untested and unfinished. It currently will not even link due to some missing clock related logic.
Squashed commit of the following:

    arch/arm/src/samd5e5: Clean-up EIC logic.
    arch/arm/src/samd5e5:  Fix some compilation issues; Still issues with the EIC logic from samd2x.
    arch/arm/src/samd5e5:  Fix some compilation issues; bring in some EIC logic from samd2x.
    arch/arm/src/samd5e5:  Add NVMCTRL header file, fix some compiler problems, misc. clean-up.
    configs/metro-m4:  Add LED support.
    arch/arm/src/samd5e5:  Bring in SAML21 clock configuration.  This is a WIP; it cannot possible even compile yet.
    arch/arm/src/samd5e5:  Leverage Cortex-M4 interrupt and SysTick logic from the SAM3/4.
    arch/arm/src/samd5e5: Add SERCOM utility function.
    arch/arm/src/samd5e5:  Bring all SERCOM USART logic from SAMD2L2 to SAMD5E5.  This is a brute coy with nothing more than more that name changes and extension from 5 to 7 SERCOMs.
    arch/arm/src/samd5e5: Add sam_config.h header file
    arch/arm/src/samd5e5/:  Add Generic Clock (GCLK) utility functions.
    arch/arm/src/samd5e5:  Add EVSYS register definition file
    arch/arm/src/samd5e5 and configs/metro-m4:  Use SERCOM3 for the Arduino serial shield as console.
    arch/arm/src/samd5e5/chip:  Add SERCOM USART, SPI, I2C master, and slave register defintions header files
    arch/arm/src/samd5e5/chip:  Add AES, PM, TRNG, and WDT header files.
    arch/arm/src/samd5e5/chip:  Add pin multiplexing header files.
    Various fixes to configuration system; fix metro-m4/nsh defconfig file.
    configs/metro-m4:  Add initial support for the Adafruit Metro M4 board.
    arch/arm/src/samd5e5:  Add peripheral clock helpers.
    arch/arm/src/samd5e5/chip:  Add PAC register definition header file.  Fix some errors in the memory map header file.
    arch/arm/src/samd5e5:  Add chip.h headerf file.
    arch/arm/src/samd5e5:  Add PORT register definitions and support from SAML21.
    arch/arm/include/samd5e5:  Add interrupt vector definitions.
    arch/arm/src/samd5e5:  Add some boilerplate files.  Correct some typos.
    arch/arm/src/samd5e5/chip/sam_eic.h:  Add EIC register definitions.
    arch/arm/src/samd5e5/chip:  Add OSC32KCTRL and OSCCTRL register definitions.
    arch/arm/src/samd5e5/chip:  Add GCLK, MCLK, and RSTC header files.
    arch/arm/src/samd5e5/chip/sam_cmcc.h:  Add CMCC register definitions
    arch/arm/src/samd5e5/chip/sam_supc.h:  Add SUPC header file.
    arch/arm/src/samd5e5:  Add start-up logic.
    arch/arm/src/samd5e5:  Add Make.defs file
    arch/arm/src/samd5e5/chip:  Add memory map header file.
    arch/arm/include/samd5e5:  Add chip.h header file.
    arch/arm/Kconfig and arch/arm/src/samd5e5/Kconfig:  Add configuration logic for the SAMD5x/Ex family.
2018-07-26 12:12:08 -06:00
Gregory Nutt
e428f3852a arm/Kconfig: Add spurious 'invisible' configuration settings to avoid prompting users for hardfault or memfault debug on systems where such debug is not available. 2018-07-24 05:54:30 -06:00
Masayuki Ishikawa
3b15cae493 Merged in masayuki2009/nuttx.nuttx/debug_memfault (pull request #693)
arch/arm: Add CONFIG_DEBUG_MEMFAULT to Kconfig

Also, fix src/armv7-m/up_memfault.c

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>

Approved-by: GregoryN <gnutt@nuttx.org>
2018-07-24 11:42:54 +00:00
Gregory Nutt
62ea8f5805 arm/Kconfig and arm/src/samd2l2/Kconfig: Rename ARCH_CHIP_SAMD to ARCH_CHIP_SAMD2X and ARCH_CHIP_SAML to ARCH_CHIP_SAML2X. 2018-07-22 16:41:13 -06:00
Gregory Nutt
c3b406826e Rename all usage of samdl/SAMDL to samd2l2/SAMD2L2 to make room in the name space for the forthcoming samd5e5/SAMD5E5
Squashed commit of the following:

    Change all remaining occurrences of SAMDL to SAMD2L2.

    configs/:  Change all remaining occurrences of SAMDL to SAMD2L2

    configs/:  Change all occurrences of CONFIG_SAMDL_* to CONFIG_SAMD2L2_*
    arch/arm/src and include:  Rename all directories from samdl to samd2l2.  Change all configuration variable names and other usage from SAMDL to SAMD2L2.
2018-07-22 15:54:12 -06:00
Gregory Nutt
e569872358 arch/arm/Kconfig: Since the basic STM32H7 port is working, let's remove the EXPERIMENTAL dependency. 2018-07-12 12:35:35 -06:00
Alan Carvalho de Assis
283b73edc5 Fix lots of typos in C comments and Kconfig help text 2018-07-08 18:24:45 -06:00
Gregory Nutt
8bd9cfe038 Squashed commit of the following:
arch/arm:  Remove support for CONFIG_ARMV7M_CMNVECTOR.  It is now the only vector support available.  Also remove CONFIG_HAVE_CMNVECTOR.  That no longer signifies anything."
    arch/arm/src/stm32:  This commit removes support for the dedicated vector handling from the STM32 architecture support. Only common vectors are now supported.
2018-06-20 12:30:37 -06:00
Gregory Nutt
2ec450f185 arch/arm/Kconfig: Fix an ommission in the Kconfig from last Tiva commits. 2018-06-20 10:09:23 -06:00
Gregory Nutt
9a51854223 arch/arm/src/lc823450: This commit removes support for the dedicated vector handling from the LC823450 architecture support. Only common vectors are now supported. 2018-06-20 10:04:38 -06:00
Gregory Nutt
ade6751345 arch/arm/src/tiva: This commit removes support for the dedicated vector handling from the Tiva/LM architecture support. Only common vectors are now supported. 2018-06-20 09:18:42 -06:00
Gregory Nutt
b38618d0c6 Squashed commit of the following:
arch/arm/src/lpc17xx:  This commit removes support for the dedicated vector handling from the LPC17xx architectures. Only common vectors are now supported.
    arch/arm/src/kinetis:  This commit removes support for the dedicated vector handling from the Kinetis architectures. Only common vectors are now supported.
2018-06-20 08:18:32 -06:00
Gregory Nutt
dd899c0453 arch/arm/src/sam34: This commit removes support for the dedicated vector handling from the SAM3/4 architecture support. Only common vectors are now supported. 2018-06-19 18:13:15 -06:00
Juha Niskanen
d42b6cbb97 arch/arm/src/stm32l4: STM32L4 has fetchadd and testset 2018-06-18 07:14:52 -06:00
Simon Laube
7b0475450c This commit brings in a partial, WIP port to the STMicro STM32H7. The port is still missing several key components that make unusable in its current form. However, the changes have lingered on a branch long enough.
See configs/nucleo-h743zi/README.txt for a detailed description of the state of the port.
2018-06-16 16:59:34 -06:00
Gregory Nutt
05ad7208e7 configs/imxrt1050-evk: Add knsh configuration.. PROTECTED mode NSH build. 2018-06-08 16:27:14 -06:00
Gregory Nutt
4a9a421c34 Back out part of f4bcaa4fc2dc2f06d5632d3b74f43c25a6e7e845.If CONFIG_ARCH_IDLE_CUSTOM is defined, then it should not use the version of lc823450_idle.c in arch/arm/src/lc823450. That part was correct before the PR. If CONFIG_ARCH_IDLE_CUSTOM, then the build should use a custom IDLE loop in the board src/ directory. 2018-05-11 06:26:01 -06:00
Masayuki Ishikawa
f4bcaa4fc2 Merged in masayuki2009/nuttx.nuttx/fix_lc823450_build_errors (pull request #638)
arch/arm/src/lc823450: Fix some recently introduced build issues

Reported-by: Wig Cheng <wig.cheng@relajet.com>
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2018-05-11 12:19:29 +00:00
Michael Jung
3acffb0c5c arch/arm/src/lpc17xx: Add support for ARMv7-M run time stack checking on NXP LPC17xx MCUs based on CONFIG_ARMV7M_STACKCHECK. Basically copied from stm32. 2018-05-06 07:06:52 -06:00
Gregory Nutt
d2def725d9 This commits adds initial support for the Kinetis Freedom-K28F board. Not you ready for prime time.
Squashed commit of the following:

    arch/arm/src/kinetis:  A fixes from first (unsuccessful) attempt to build the Freedom-K28F configuration.
    configs/freedom-k28f:  Add basic board support for Freedom-K28F.  Initial commit is basically just the Teensy-3.x brought up to date and with name changes.
2018-05-02 13:14:32 -06:00
Ivan Ucherdzhiev
cf8c25df64 This commit brings in basic support fo the i.MX RT 1050 'crossover' SoC. The basic support is complete and compiles without error, but is still untested.
This port was the joing effort of Janne Rosberg, Ivan Ucherdzhiev, and myself.  I give credit to Ivan for the kill because he is the one to held on to the end.

Squashed commit of the following:

  Author: Gregory Nutt <gnutt@nuttx.org>
    configs/imxrt1050-evk/scripts:  Add section to linker script to handle the case where RAMFUNCs are enabled.  RAMFUNCs appear to be enabled in the default configuration ... they probably should not be enabled.

  Author: Ivan Ucherdzhiev <ivanucherdjiev@gmail.com>
    arch/arm/src/imxrt:  imxrt_lowputc.c is finished. Now everything needed for the initial port is done and ready for testing.
    arch/arm/src/imxrt:  Add logic to imxrt_lowputc.c.  Still incomplete.

  Author: Ivan Ucherdzhiev <ivanucherdjiev@gmail.com>
    arch/arm/src/imxrt:  Add serial support.  configs/imxrt1050-evk:  Add linker script.

  Author: Gregory Nutt <gnutt@nuttx.org>
    arch/arm/src/imxrt:  Add initial cut at imxrt_allocateheap.c

  Author: Ivan Ucherdzhiev <ivanucherdjiev@gmail.com>
    arm/arm/src/imxrt:  Completes all definitions for PADMUX, CTLMUX, and IOMUX_INPUT and mapping tables on imxrt_gpio.c and imxr_iomuxc.c.
    arch/arm/src/imxrt/chip:  Add definitions for IMXRT_PADCTL and IMXRT_PADMUX registers.  Only the IMXRT_INPUT definitions in this commit.
    arch/arm/src/imxrt/chip:  Add more IOMUXC register definitions.

  Author: Gregory Nutt <gnutt@nuttx.org>
    configs/imxrt1050-evk:  Add STRIP definition to Make.defs.
    arch/arm/src/imxrt:  Bring in i.MX6 memory configuration settings.
    arch/arm/src/imxrt:  Remove call to non-existent imxrt_gpioinit() from imxrt_start.c.
    arch/arm/src/imxrt:  Bring in incomplete imxrt_iomuxc.c file from i.mx6.
    arch/arm/src/imxrt:  Add first cut at GPIO interrupt logic.
    arch/arm/include:  Add definitions to support a second level of GPIO pin interrupts.

  Author: Janne Rosberg <janne.rosberg@offcode.fi>
    arch/arm/src/imxrt:  Add imxrt_wdog.c/.h

  Author: Gregory Nutt <gnutt@nuttx.org>
    arch/arm/src/imxrt:  Port SAMv7 interrupt logic to imxrt_irq.c.
    arch/arm/src/imxrt:  More clarification of the start-up memory map.
    arch/arm/src/imxrt:  Some mostly cosmetic clean-up to the imxrt_start.c file that was so rudely taken from the SAMv7.
    arch/arm/src/imxrt:  Add imxrt_start.c.  Initial commit is the the SAMv7 startup logic with name changes.

  Author: Ivan Ucherdzhiev <ivanucherdjiev@gmail.com>
    arch/arm/src/imxrt:  Adds a few IOMUXC register definitions.

  Author: Janne Rosberg <janne.rosberg@offcode.fi>
    arch/arm/src/imxrt:  Add imxrt_clockconfig.c/.h
    configs/imxrt1050-evk:  Add clock configuration definitions to board.h
    arch/arm/src/imxrt:  Fix CCM register name; Fix doubly defined in LPUART bit field.
    arch/arm/src/imxrt:  Add analog defines to CCM register definition header file.

  Author: Gregory Nutt <gnutt@nuttx.org>
    arch/arm/src/imxrt:  Bring in GPIO C files from i.MX6.  Things are in disarray now because that GPIO logic depends on IOMUXC logic which is not yet in place.
    arch/arm/src/imxrt:  Add a few more GPIO definitions to make the header file compatible with i.MX6
    arch/arm/src/imxrt/chip:  Add GPIO register definition file.

  Author: Janne Rosberg <janne.rosberg@offcode.fi>
    arch/arm/src/imxrt:  Add DCDC register definitions.
    arch/arm/srch/imxrt: Add CCM register bit definitions

  Author: Gregory Nutt <gnutt@nuttx.org>
    Purely cosmetic
    arch/arm/src/imxrt:  Add system reset controller register definition header file.
    Embarassingly trivial change left in compiler.
    arch/arm/src/imxrt:  Finishes i.MX RT1050 LPUART register definition header file.
    arch/arm/src/imxrt:  Beginning of an i.MX RT1050 LPUART register definition header file.
    Some trivial things

  Author: Janne Rosberg <janne.rosberg@offcode.fi>
    arch/arm/src/imxrt:  Add imxrt_wdog.h
    arch/arm/src/imxrt:  Add initial imxrt_ccm.h

  Author: Gregory Nutt <gnutt@nuttx.org>
    Trivial update to README.
    arch/arm/src/imxrt:  The i.MX Rt implements 4 bits of interrupt priority, not two.  Thanks, Janne.
    arch/arm/src/imxrt:  Fix some initial compile issues.  Still a long way from complete, but there is a buildable environment now for the imxrt1050-evk.
    configs/imxrt1050-evk:  Add an initial NSH configuration for testing.
    configs/Kconfig:  Hook the i.MX RT 1050 board configuration into the NuttX configuration system.
    configs/imxrt_evk:  Add the framework for i.MX RT 1050 board support.
    arch/arm/src/imxrt:  Bring in a few more files from LPC54xxx.
    arch/arm/src/imxrt:  Bring in imxrt_clrpend() from the LPC54xxx.
    arch/arm/src/imxrt:  Bring in Cortex-M7 SysTick setup from the SAMv7.
    arch/arm/src/imxrt:  Add a few easy files.
    arch/arm/src/imxrt/chip:  Add memory map header files.
    arch/arm/src/imxrt:  A few basic files to start the port to the i.MX RT 1050.
2018-04-12 09:31:09 -06:00
Janne Rosberg
d608f6943b arch/arm/src/nrf52: Initial support for the NRF52 2018-03-26 10:37:32 -06:00
Juha Niskanen
2fd9728a3a arch/arm/src/stm32: stm32_flash.c: add progmem support for STM32L15XX 2018-02-20 07:05:07 -06:00
Gregory Nutt
5beab6fbf0 spin_lock_irqsave() and spin_unlock_irqrestore() are only valid if the CPU supports global disabling of interrupts. 2018-02-04 15:41:22 -06:00
Gregory Nutt
1e59d9dd14 armv7-a, armv7-r, armv7-m: Add atomic read-add-write and read-subtract-write functions. 2018-02-04 12:22:03 -06:00
Gregory Nutt
8bc90a1899 This adds basic architectural support for the LPC546xx family and includes support for the LPCXpresso-LPC54628 board. The basic NSH port is almost complete... still lacking GPIO support and LED support. There are still no significant drivers available.
Squashed commit of the following:

    arch/arm/src/lpc54xx:  Finish off some missing logic.  Complete now execpt for GPIO and LED support.
    arch/arm/src/lpc54xx:  Add lpc54_clrpend.c
    arch/arm/src/lpc54xx:  Serial driver is complete and compiles.
    arch/arm/src/lpc54xx:  Add beginning of a serial driver (still missing some logic)
    arch/arm/src/lpc54xx:  Fleshes out low level USART intialization.
    arch/arm/src/lpc546xx/Kconfig: Add hooks to integrate with common seril upper half.
    arch/arm/src/lpc54xx:  Beginning of USART console support.
    arch/arm/src/lpc54xx: Completes very basic clock configuration.
    arch/arm/src/lpc54xx:  Add clocking logic (still not complete)
    arch/arm/src/lpc54xx:  Beginning of PLL configuration logic.
    arch/arm/src/lpc54xx:  Fix a few things from first compile attempt.  Compilation cannot work until I at least finish the clock configuration logic.
    arch/arm/src/lpc54xx: Addes some SysTick logic.
    arch/arm/src/lpc54xx:  Completes basic startup logic (sans clock configuration) and interrupt configuration.
     arch/arm/src/lpc54xx:  Add generic ARMv7-M start-up logic (needs LPC54628 customizations); add emtpy file that will eventually hold the clock configuration logic.
    arch/arm/src/lpc54xx:  Add (incomplete) SYSCON register definition header file.
    arch/arm/src/lpc54xx:  Add FLEXCOMM header file.
    arch/arm/src/lpc54xx:  Bring in tickless clock logic from LPC43; configs/lpcxpresso-lpc54628: mount procfs if enabled.
    arch/arm/src/lpc54xx: Add RIT clock definitions; add SysTick initialization (not finished)
    LPC54xx and LPCXpresso-LPC54628: add more boilerplate files and stubbed out files.
    arch/arm/src/lpc54xx:  Add (incomplete) USART header file.
    Add another condition to a Kconfig; refresh a defconfig.
    arch/arm/src/lpc54xx/chip: Add LPC54628 memory map header files.
    configs/lpcxpresso-lpc54628:  Add basic build files for the LPCXpresso-LPC54628
    arch/: Basic build directory structure for the LPC54628
2017-12-07 13:30:02 -06:00
Gregory Nutt
f3b37e5da3 fs/procfs/fs_procfsprogrem: Add /proc/progmem. This is an alternative way to get the information that was previoulsy available in apps/system/free. apps/system/free was removed beause it made illegal calls into the OS violating the portable interface. This new procfs entry provides the same information with no such violation. 2017-11-13 09:08:39 -06:00
Gregory Nutt
ea23268f34 BCM2708: Add system timer register definitions and a partial implementation of the tickless mode timer. 2017-10-17 13:54:54 -06:00
Gregory Nutt
270aa2848a Squashed commit of the following:
BCM2708:  Add enough infrastructrue (more stubs) to get a clean compilation of the Pi Zero configuration (with many undefined things at link time).

    BCM2708:  Add basic interrupt handling logic

    BCM2708: Add interrupt register definitions.

    BCM2708:  Add irq.h header file

    BCM2708/Pi zero:  bcm_boot.c and bcm_memorymap.h now compile.  Added pizero linker script.

    BCM2708/Pi Zero:  Add Make.defs needed to build.

    arch/arm/include/bcm2708, arch/arm/src/bcm2708, configs/pizero:  Add some basic build and configuration logic.

    configs/pizero:  Add some basic structure of the Rasperry Pi Zero port.

    Created directory configs/pizero.  Nothing there now but a README.txt file.

    Add initial boot.c and memorymap.c files
    Author: Alan Carvalho de Assis <acassis@gmail.com>

    Add AUX/UART/SPI registers definition
    Author: Alan Carvalho de Assis <acassis@gmail.com>

    Pizero GPIO registers
    * Initial commit to add GPIO definitions
    * Add remaining GPIO registers definition
    Alan Carvalho de Assis <acassis@gmail.com>

    BCM2708 memory map:  Add VBASE defintions; fix VCSDRAM address per Alan; move all virtual address to the bottom of the file to avoid confusion -- top is all physical address; bottom is all veritural address.

    Add initial memory map to BCM2708/BCM2835
    Alan Carvalho de Assis <acassis@gmail.com>
2017-10-09 13:11:17 -06:00
Gregory Nutt
435dd39d4c arch/arm/Kconfig: Add more classic ARM11 architecture selections. 2017-09-09 12:44:56 -06:00
Masayuki Ishikawa
e851a24329 arch/arm/src/lc823450: Initial support for ON Semiconductor LC823450
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2017-08-02 21:09:43 +09:00
Hidetaka Takano
d665392873 Fixed typo "CORTEXR5F" in arch/arm/Kconfig 2017-06-15 20:44:06 +09:00
Gregory Nutt
b0fda33e13 Kconfig: Rename CONFIG_ARM_TOOLCHAIN_IAR to CONFIG_ARCH_TOOLCHAIN_IAR 2017-05-13 16:01:38 -06:00
Gregory Nutt
6e4918c557 Remove CONFIG_ARM_TOOLCHAIN_GNU; replace with CONFIG_ARCH_TOOLCHAIN_GNU 2017-05-13 13:28:15 -06:00
Gregory Nutt
7fe112fe4c Kconfig/deconfigs: Add CONFIG_ARCH_TOOLCHAIN_GNU to indicate that the toolchain is based on GNU gcc/as/ld. This is in addition to the CPU-specific versions of the same definition. 2017-05-13 11:44:12 -06:00
David Sidrane
5d6da5f4bb kinetis:Add ARCH_HAVE_I2CRESET 2017-05-06 04:52:48 -10:00
Gregory Nutt
232fbf7f00 CONFIG_DEBUG_HARDFAULT should be available for Cortex-M0 too. configs/nucle-f072rb/nsh: Correct amount of available SRAM in defconfig. 2017-04-26 07:45:40 -06:00
Gregory Nutt
879273f63e arch/arm/Kconfig: Add option for STM32F0 2017-04-14 09:32:15 -06:00
Gregory Nutt
3f0c4871c8 Merge remote-tracking branch 'origin/master' into xmc4 2017-03-18 06:48:37 -06:00
Gregory Nutt
fe610e7a1d XMC4500 Relax: Add basic board support infrastructure of Infineon XMC4500 Relax Lite v1 2017-03-16 10:52:01 -06:00
no1wudi
1280c91564 fixed descritpions of NUC100/120 2017-03-16 23:04:52 +08:00
Gregory Nutt
dc4ac48aad arch/arm/src/xmc4: Initial, partial support for Infineon XMC4xxx 2017-03-14 11:56:29 -06:00
Gregory Nutt
492bde8cdb Merged in david_s5/nuttx/upstream_2_greg_f7_config (pull request #199)
Added missing ARCH_HAVE_RESET for F7
2017-01-23 23:08:50 +00:00
David Sidrane
ab18e483bd Added missing ARCH_HAVE_RESET for F7 2017-01-23 13:01:55 -10:00
Gregory Nutt
9cc37d8ee1 Math library optimatizations for FPU only apply to ARMv8 which is not yet supported. 2017-01-20 08:24:59 -06:00
Gregory Nutt
f063e4c5ac Remove Calypso architecture support and support for Calypso SERCOMM driver. 2016-12-13 18:35:52 -06:00
David Sidrane
bce382da52 Kinetis Support ARMV7 Common Vector and FPU 2016-10-18 12:00:01 -10:00
Gregory Nutt
caea59b340 SPI bit order: Add configuration setting to indicate if an architecture-specif SPI implementation does or does not support LSB bit order. 2016-08-08 12:21:20 -06:00
Max Neklyudov
8db29071da timekeeping: initial implementation 2016-07-10 16:14:25 -06:00
ziggurat29
af236d4784 STM32L4: add support for tickless OS, and incidentally timers, pwm, oneshot, free-running.... 2016-07-08 17:30:55 -05:00
Gregory Nutt
7c568f249a STM32: Various fixed to get a clean compile after integrating tickless mode. Mostly because patch came from an old version of NuttX. 2016-07-06 13:37:08 -06:00
Michael Spahlinger
26f7b8c9e5 TWIHS Driver improved and GPIO-Driver fixed for Open-Drain Pins
- sam_gpioread: Now the actual line level from the pin is read back.  This is extremely important for Open-Drain Pins, which can be used bidirectionally
 - Re-Implemented twi_reset-function and enhanced it so it can be called from inside the driver (see next point)
 - Glitch-Filter: Added a configuration option to enable the twi-built-in glitch filter
 - Added a "Single Master Mode": In EMC Testing the TWI-Bus got stuck because the TWI-Master detected a Multi-Master access (but there is no second master). With the option "Single Master" we detect these events and automatically trigger a twi_reset. We also do an automatic recovery if a slave got stuck (SDA stays low).

With the above changes I²C-Bus reliability in harsh environments (eg. EMC) is greatly improved.

The small change in the GPIO-Driver was necessary because otherwise you cannot read back the correct line status of Open-Drain Outputs and this is needed by the twi_reset function.
2016-06-24 10:33:51 -06:00
Gregory Nutt
1cdc746726 Rename CONFIG_DEBUG to CONFIG_DEBUG_FEATURES 2016-06-11 14:14:08 -06:00
Gregory Nutt
c089a2f241 Rename CONFIG_ARCH_HAVE_OTHER_UART to CONFIG_OTHER_UART_SERIALDRIVER 2016-05-25 10:48:33 -06:00
Gregory Nutt
bd2da2f543 ARMv7-M: Add toolchain option to select the IAR tools. Move ARMv7-M assembly language into a gnu/ subdirectory. Makefile selects iar/ or gnu/ directory based upon tool configuration 2016-04-02 07:53:52 -06:00
Gregory Nutt
9addc363f5 i.MX6 no longer depends on EXPERIMENTAL 2016-03-12 11:46:53 -06:00
Gregory Nutt
11f3554153 i.MX6: Kconfg needs to autoselect ARCH_HAVE_TRUSTZONE 2016-03-12 11:40:27 -06:00
Gregory Nutt
08fa7a0c6b Rename CONFIG_SAMA5_HAVE_TRUSTZONE to CONFIG_ARCH_HAVE_TRUSTZONE; Eliminate CONFIG_SAMA5_SECURE; Add CONFIG_ARCH_TRUSTZONE_SECURE 2016-03-12 10:53:22 -06:00
Sebastien Lorquet
f4f03e6f02 Add port to the stm32L4 2016-03-10 09:59:16 -06:00
Gregory Nutt
5c881e6d2e i.MX6: minor updates to last commit 2016-03-04 18:44:30 -06:00
Gregory Nutt
52d499ba33 ARMv7-A: Add hooks for some common GIC logic 2016-03-02 14:56:54 -06:00
Gregory Nutt
0d54cfa7ad i.MX6: Some tweaks to the Kconfig files 2016-02-29 13:17:18 -06:00
Gregory Nutt
ad69f9d045 i.MX6: Add memory map header file 2016-02-29 12:26:21 -06:00
Gregory Nutt
a0cdd1ddb1 Add a rudimentary arch/arm/src/imx6 directory for the i.MX6 family 2016-02-28 15:32:36 -06:00
Gregory Nutt
75973db9cc Change name IMX to IMX1 in configuration variable names to make room for i.MX6 2016-02-28 15:18:43 -06:00
Gregory Nutt
9bcf27d15b TMS570 is big-endian 2015-12-26 14:47:54 -06:00
Gregory Nutt
1f2d9c9174 TMS570: Does not have prioritized interrupts in the sense of other CPUs. Fix some compile errors when DEBUG is enabled 2015-12-26 12:26:57 -06:00
Gregory Nutt
092c681157 TMS570: Add a little more IRQ/FIQ logic 2015-12-21 10:57:01 -06:00
Gregory Nutt
6baccab3ae Need to select MEMINIT if TMS570 selected 2015-12-17 12:40:24 -06:00
Gregory Nutt
8cabb844ab TMS570: Hook into build/configuration system 2015-12-15 17:15:37 -06:00
Gregory Nutt
1169ff6dbd MPU: Add support for separated vs. unified MPU 2015-12-14 15:41:18 -06:00
Gregory Nutt
dfec6a0dd0 Rename CONFIG_ARMV7M_MPU to CONFIG_ARM_MPU so that we can reuse the configuration settings for the ARMV7R MPU 2015-12-14 13:56:21 -06:00
Gregory Nutt
daea1e614b All architectures need to build ELF support if either CONFIG_ELF or CONFIG_MODULE are selected. Cortex-M7 also must support module cache corherence 2015-12-12 09:35:05 -06:00
Gregory Nutt
192772b7ee SAMV7: Add support for CONFIG_SCHED_TICKLESS_LIMIT_MAX_SLEEP 2015-12-02 09:21:34 -06:00
Gregory Nutt
612ebdeabd Kconfig: Set default number of MPU regions to 16 for Cortex-M7 2015-11-08 06:59:35 -06:00
Anton D. Kachalov
46444388fa Add Shared IRQ support for UART w/multi port.
Signed-off-by: Anton D. Kachalov <mouse@yandex-team.ru>
2015-08-10 18:13:35 +03:00
Juha Niskanen
7407e41569 Add CONFIG_ADC_NO_STARTUP support for STM32 F1 (untested) 2015-07-30 07:42:31 -06:00
Gregory Nutt
f795e386d7 moxART needs to select some architecture. Is ARM7TDMI close? 2015-07-29 20:41:05 -06:00
Anton D. Kachalov
75762f1519 Add support for MoxaRT 2015-07-29 19:13:47 +03:00
Gregory Nutt
7eb5e7f9ec STM32F746G-DISCO: Getting closer to a build 2015-07-17 11:47:16 -06:00
Gregory Nutt
3583f8c1dc STM32 F7: Add more configuration selections 2015-07-16 18:30:40 -06:00
Gregory Nutt
d8915e9dc6 Add include/chip.h definitions and configuration support for the STM32 F7 2015-07-16 08:47:25 -06:00
Gregory Nutt
724c1eacaa Add support for a BOARDIOC_RESET boardctl() command. Enable configuration options to support BOARDIOC_RESET for ARMv6-M and ARMv7-M 2015-07-04 10:39:24 -06:00
Gregory Nutt
797aa0a138 Power off support now depends on CONFIG_ARCH_HAVE_POWEROFF 2015-07-03 06:53:51 -06:00
Gregory Nutt
fb926e7283 Fix references to the no-longer-existent misc/ directory in comments, README files, and documentation 2015-06-28 08:08:57 -06:00
Gregory Nutt
9140a0fcc4 Initial support for the NXP LPC11 family and the LPC1115 MCU in particular. Contributed by Alan Carvalho de Assis. 2015-05-22 14:14:09 -06:00
Gregory Nutt
ec2e922d17 Fix a missed renaming in a Kconfig file 2015-05-14 12:33:42 -06:00
Gregory Nutt
3ec627b02d Rename SAMD directories and configuration variables to SAMDL so that the same build environment can support the SAML 2015-05-14 12:25:09 -06:00
Gregory Nutt
9b7c128758 Add option to enable stackcheck per architecture 2015-04-12 06:30:24 -06:00
Gregory Nutt
9e10f868eb SAMV7: Update floating point and TCM configuration options. Update TODO list. Update comments. Refresh a configuration 2015-03-10 07:50:32 -06:00
Gregory Nutt
93a6b16718 Add a bare bones framework that will do nothing more than support configuration for the Atmel SAMV71 Xplained Ultra board. Very much a work in progress. 2015-03-06 08:56:44 -06:00
Gregory Nutt
9bcdf974a0 Add new common lazy FPU state saving option for ARMv7-M. Not yet verified 2015-03-06 08:26:43 -06:00
Gregory Nutt
02e613b277 Add basic build directories and configuration logic for the SAMV7 family 2015-03-05 10:00:24 -06:00
Gregory Nutt
3591729d17 EFM32: Add buton interrupt handling for the Olimex board 2014-10-21 13:51:30 -06:00
Gregory Nutt
895cfe0e7c Add configuration support for the EFM32 Gecko Starter Kit 2014-10-17 09:25:52 -06:00
Gregory Nutt
5fb235c615 Some initial clean-up in verifying the CONFIG_BUILD_PROTECTED configuration change 2014-08-29 15:07:35 -06:00
Gregory Nutt
e11679acf8 Rename CONFIG_NUTTX_KERNEL to CONFIG_BUILD_PROTECTED; Partially integrate new CONFIG_BUILD_KERNEL 2014-08-29 14:47:22 -06:00
Gregory Nutt
1f5813a763 After cached related fix, the ELF example is now functional 2014-08-24 14:12:45 -06:00
Gregory Nutt
839e206a4a Modify ADDRENV Kconfigs. Z180 does not need all of the virtual address settings that the ARM does 2014-08-24 12:54:37 -06:00
Gregory Nutt
66abb71c57 Change CONFIG_ADDRENV to CONFIG_ARCH_ADDRENV; change how it is selected -- the architecure must first declare support 2014-08-24 06:42:11 -06:00
Gregory Nutt
41196945d6 ARMv7-A: Add skeleton environment and build support for process address environments 2014-08-23 18:59:24 -06:00
Gregory Nutt
c61ec08ee8 SAMA5: Use the one-shot and free-running timers to implement tickless OS support for SAMA5 2014-08-09 17:14:51 -06:00
Gregory Nutt
6c4f57b0dc SAMA5 TWI: Add support for up_i2creset 2014-07-09 09:51:28 -06:00
Gregory Nutt
77c968e36a Kconfig: Remove warnings. ARCH_RAMFUNCS depends on ARCH_HAVE_RAMFUNCS, so it is not possible to select ARCH_RAMFUNCS wihtout ARCH_HAVE_RAMFUNCS 2014-04-04 16:26:24 -06:00
Gregory Nutt
f713b4937c Improved description of CONFIG_ARMV7M_USEBASEPRI from Vijay Kumar 2014-03-19 07:16:44 -06:00
Gregory Nutt
88c2da5bc1 The old lm/ directories were enamed tiva/ to better support new products coming down the pipe from TI 2014-03-08 12:31:06 -06:00
Gregory Nutt
40621d42fc Add configuration ettings for the on-demand paging option 2014-03-05 14:25:49 -06:00
Gregory Nutt
740a3ce1b9 Removed unused configuratin variable: CONFIG_PGTABLE_VADDR 2014-03-01 16:21:28 -06:00
Gregory Nutt
210fbc3365 configs/lm3s8962-ek/nsh converted to use the kconfig-frontends tools 2014-03-01 13:29:23 -06:00
Gregory Nutt
6fea68c36e Add basic framework to support the Atmel SAMD Cortex-M+ chip 2014-02-12 15:07:11 -06:00
Gregory Nutt
4aee332cd1 Add option to indicatet that data is retained in SDRAM 2014-01-28 10:42:49 -06:00
Gregory Nutt
ddd678e45b Remove EFM32 from build system 2014-01-27 10:41:06 -06:00
Gregory Nutt
07d12a800d Basic support for the EFM32 processor family from Richar Cochran 2014-01-23 07:56:10 -06:00
Gregory Nutt
3855ce04e8 Beginning of high priority nested interrupt support for the ARMv7-M family 2013-12-21 11:03:38 -06:00
Gregory Nutt
f53f269a84 Kconfigs: Interrupt prioritization should not be automatically selected 2013-12-20 08:42:54 -06:00
Gregory Nutt
38eee28af6 pcDuino: More changes to get the code fragments that are in place building successfully 2013-12-07 16:44:23 -06:00
Gregory Nutt
d460e8d7fa Add basic directory structure to support the Allwinner A10 2013-12-07 13:06:34 -06:00
Gregory Nutt
b8085906b9 Extend stack debug logic to include IDLE and interrupt stacks. Also color the heap as well. Based on suggestions from David Sidrane 2013-11-01 11:16:51 -06:00
Gregory Nutt
a55dda98b3 Add hooks to select Cortex-A8 2013-08-27 08:46:37 -06:00
Gregory Nutt
a81abd3514 Improve Cortex-A5 context switching so that a little less copying is done 2013-07-24 07:47:51 -06:00
Gregory Nutt
137cd94b6a Basic framework to support the AT91SAMA5D3 family and the SAMA5D3x-EK board(s) in particular 2013-07-19 15:23:03 -06:00
Gregory Nutt
c294e9b374 More ARMv7-A files that are just copies of the ARMv4/5 files for now 2013-07-19 11:43:04 -06:00
Gregory Nutt
15ae557793 Minor but fatal typo introduced in last checkin 2013-07-18 15:45:21 -06:00
Gregory Nutt
28a90ba46d Some initial frame for Cortex-A5 support. No much yet 2013-07-18 15:20:47 -06:00
Gregory Nutt
8d72772a11 SAM4L: Add DFLL0 support, add logic to set the power scaling mode, add support for RAM functions 2013-06-07 13:26:55 -06:00
Gregory Nutt
77f84ae94d Add a skeleton configuration that will eventually support the SAM4L Xplained Pro board 2013-06-03 15:11:56 -06:00
Gregory Nutt
e9859095dc Rename sam3u/ architecture directories to sam34/ to include the SAM4L 2013-06-02 13:57:22 -06:00
Gregory Nutt
308e3f528d Move SAM3U header files to arch/arm/src/sam3u/chip. Some renaming of SAM3U to SAM to ssupport SAM4. Convert all configs/sam3u-ek configurations to use the kconfig-frontends tool 2013-06-02 10:33:57 -06:00
Gregory Nutt
803a860d34 New Kconfig convention: Extra indentation in comments will render as HTML preformatted text 2013-04-22 09:10:58 -06:00
Gregory Nutt
a5b7e65b20 Misc changes for clean compilation of freedom-kl25z config 2013-04-16 09:53:15 -06:00
Gregory Nutt
5334562196 Initial support for the Kinetis L family and the Freedom KL25Z board from Alan Carvalho de Assis 2013-04-16 08:48:42 -06:00
patacongo
65fb38bbcf Add support for ram vectors to the ARMv7-M architecture
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5756 42af7a65-404d-4744-a932-0658087f49c3
2013-03-18 21:10:08 +00:00
patacongo
7654076287 Add MPU support for the LPC17xx family
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5731 42af7a65-404d-4744-a932-0658087f49c3
2013-03-11 17:51:42 +00:00
patacongo
34e3bb60ce AT91SAM3 now supports kernel-mode heap; SAM3U-EK knsh configuration converted to use kconfig-frontends tool
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5726 42af7a65-404d-4744-a932-0658087f49c3
2013-03-10 19:31:10 +00:00
patacongo
d0b4eb9790 Add interrupt vector logic for the LM4F120
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5693 42af7a65-404d-4744-a932-0658087f49c3
2013-03-01 21:41:29 +00:00
patacongo
c254d0bb3e Add an NSH configuration for the NuTiny-SDK-NUC120. Still does not work
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5678 42af7a65-404d-4744-a932-0658087f49c3
2013-02-26 21:53:12 +00:00