serial single-wire: add possibility to specify pull-up instead of open drain
Approved-by: David Sidrane <david.sidrane@nscdg.com>
Approved-by: Gregory Nutt <gnutt@nuttx.org>
Master
* Revert "Merged in yanqil-br/feature-multi_chan_pwm (pull request #973)"
This reverts commit aef0e0b538.
* arch/arm/src/{stm32/stm32f7/stm32h7/stm32l4}/stm32_pwm.c: configure multi-channel duty only if channel specified. This allows you to update duty cycle for a single channel
* nucleo-f303re/configs: add basic NSH configuration
* nucleo-f303re/configs/pwm: enable console on UART2 and set entry point to nsh_main
Approved-by: Gregory Nutt <gnutt@nuttx.org>
stm32f7: USART1_RXDMA is dependent on STM32F7_DMA2 not STM32F7_DMA1
Approved-by: David Sidrane <david.sidrane@nscdg.com>
Approved-by: Alan Carvalho de Assis <acassis@gmail.com>
Approved-by: Gregory Nutt <gnutt@nuttx.org>
arch/arm/src/tiva/Kconfig:
Remove EXPERIMENTAL dependency on TIVA_TIMER16_PWM.
arch/arm/src/tiva/common/tiva_timerlib.c:
Fix wrong 32/16-bit ifdef checks.
Add tiva_pwm16_sel_event() to choose GPTMCTL.TnEVENT value.
Implement tiva_pwm_mode16().
tiva_timer16_setinterval(): Fix wrong check for TIMER16_MODE_ONESHOT
and TIMER16_MODE_PERIODIC. Was comparing to config->cmn.mode
which can never have those values. This prevented interrupts being
enabled. Compare to timer->mode instead.
Add tiva_timer16pwm_setperiodduty() to set initial period, duty cycle,
and enable interrupts if requested in GPTM peripheral. Interrupts
are not enabled in NVIC until tiva_timer16_start() is called.
Add tiva_timer16pwm_setduty() to update duty cycle at any time.
arch/arm/src/tiva/hardware/lm/lm3s_timer.h,
arch/arm/src/tiva/hardware/lm/lm4f_timer.h,
arch/arm/src/tiva/hardware/tm4c/tm4c123_timer.h,
arch/arm/src/tiva/hardware/tm4c/tm4c129_timer.h:
Add missing defines; make surrounding defines consistent.
arch/arm/src/tiva/tiva_timer.h:
Add new TIMER_FLAG_* configuration flags to enable configuring the
16-bit PWM feature. Extend type of "flags" in tiva_timer32config_s
and tiva_timer16config_s from 8- to 32-bits to allow more flags.
If we are using the BASEPRI register to disable interrupts, then the answer is that we must disable ONLY the "normal interrupts". That is because we cannot disable SVCALL interrupts and we cannot permit SVCAll interrupts running at a higher priority than the high priority interrupts (otherwise, they will introduce jitter in the high priority interrupt response time.)
Hence, if you need to disable the high priority interrupt, you will have to disable the interrupt either at the peripheral that generates the interrupt or at the NVIC. Disabling global interrupts via the BASEPRI register cannot effect high priority interrupts.
arch/arm/src/tiva/common/tiva_timerlib.c:
* tiva_gptm_configure() and tiva_gptm_release(): Fix error: Was calling
tiva_emac_periphrdy() instead of tiva_gptm_periphrdy().
arch/arm/src/tiva/tiva_timer.h:
* Fix error in "abcde" description of bit flag defines.
kinetis:i2c transfer ensure correct result returned
kinetis_i2c_transfer released the mutex then fetched
the state, this resulted in returning the correct
results.
Approved-by: Gregory Nutt <gnutt@nuttx.org>
Move boards to boards folder
* boards: rename configs folder to boards
This is the proposed layout after the change:
boards: - folder containing board folders
<board>: - name of each board
drivers: - extra drivers specific for platform
include: - header files for the boars
scripts: - extra scripts specific for platform
src: - board specific code
tools: - extra tools specific for platform
<config>: - board specific configuration(s)
Note:
<xxx> names are dependent on platform
This is a logical change to aim to the arch layout but this is a
huge change it should be done in several steps to lower the risk.
Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
* Kconfig: replace configs with boards
The change is needed after the path change
Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
* Makefile: replace configs with boards
The change is needed after the path change
Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
* Makefile.*: replace configs with boards
The change is needed after the path change
Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
* Make.defs: replace configs with boards
The change is needed after the path change
Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
* .sh: replace configs with boards
The change is needed after the path change
Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
* .mk: replace configs with boards
The change is needed after the path change
Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
* .c & .h: replace configs with boards
The change is needed after the path change
Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
* .bat: replace configs with boards
The change is needed after the path change
Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
Approved-by: Gregory Nutt <gnutt@nuttx.org>
Rationale: TM4C1294NC is ambiguous:
TM4C1294NCPDT is a 128-TQFP
TM4C1294NCZAD is a 212-NFBGA
The TM4C1294NC part currently supported by NuttX is the TM4C1294NCPDT used on the TI EK-TM4C1294XL "Connected LaunchPad" (see configs/tm4c1294-launchpad). To ensure the correct part is fully specified, this commit updates all TM4C1294NC identifiers to TM4C1294NCPDT.
Rename:
CONFIG_ARCH_CHIP_TM4C1294NC to CONFIG_ARCH_CHIP_TM4C1294NCPDT
ARCH_CHIP_TM4C1294NC to ARCH_CHIP_TM4C1294NCPDT
TM4C1294NC to TM4C1294NCPDT
Rationale: In terms of firmware programming, there is no functional difference between these parts:
TM4C123GH6PMI7
TM4C123GH6PMI7R
TM4C123GH6PMT7
TM4C123GH6PMT7R
From a programming standpoint, all of the above parts are TM4C123GH6PM, which means it doesn't make sense to differentiate between PM and PMI. (The PM means 64-LQFP. The I means temperature range -40C to +85C. It could be T meaning -40C to +105C. The R means it ships in Tape and Reel packaging as opposed to Tray.)
arch/arm/include/tiva/chip.h:
arch/arm/include/tiva/tm4c_irq.h:
arch/arm/src/tiva/hardware/lm/lm3s_flash.h:
arch/arm/src/tiva/hardware/tm4c/tm4c_pinmap.h:
configs/tm4c123g-launchpad/README.txt:
configs/tm4c123g-launchpad/nsh/defconfig:
Rename: CONFIG_ARCH_CHIP_TM4C123GH6PMI to CONFIG_ARCH_CHIP_TM4C123GH6PM
arch/arm/src/tiva/Kconfig:
configs/Kconfig:
Rename: ARCH_CHIP_TM4C123GH6PMI to ARCH_CHIP_TM4C123GH6PM
arch/arm/src/tiva/hardware/tm4c/tm4c_memorymap.h:
Rename: CONFIG_ARCH_CHIP_TM4C123GH6PMI to CONFIG_ARCH_CHIP_TM4C123GH6PM
Remove redundant Peripheral Base Addresses section. There were two identical copies, one for CONFIG_ARCH_CHIP_TM4C123GH6PMI and another for CONFIG_ARCH_CHIP_TM4C123GH6PM.
Testing of the WiFi is minimal so far but functionality is proven. I'm specifically not happy that the driver doesn't recover elegantly from a DMA data checksum failure, but that is an issue that can be dealt with in due course ... I'm trying to get the rest of the interfaces fleshed out and the hardware proven so it can go for pre-production build. I _think_ there's only Bluetooth and USB-device left to implement now.
- Fix for mx25rxx driver as it does not work properly
- Add mx25rxx memory chip & smartfs support in b-l475e-iot01a/nsh config
- Update smartfs smart_scan() function
stm32f7: Fixes bad preprocessor logic preventing USB OTG HS to work when used without external ULPI.
Approved-by: David Sidrane <david.sidrane@nscdg.com>
Approved-by: Gregory Nutt <gnutt@nuttx.org>
Add support for LPC40xx family chips
* Corrected a few peripheral definitions and pin functions for the LPC17xx family.
Added configuration options, chip definitions, and additional pin functions for the LPC40xx family.
Added board configurations for Embedded Artists LPC4088 Quickstart board and LPC4088 Developer's kit. These configurations are still something of a work in progress. In particular, the LCD functionality is untested.
* First pass rename in *.c and *.h files.
* Renamed LPC17XX to LPC17XX_40XX in config files
* Rplaced LPC17xx with LPC17xx/LPC40xx in .c files
* Replaced LPC17xx with LPC17xx/LPC40xx in .h files
* Updated some documentation
* Working on moving directories
* moved arch/arm/src/lpc17xx and arch/arm/include/lpc17xx to lpc17xx_40xx
* Renamed LPC17_* constants / configuration options to LPC17_40_*
* Updated chip family name defines
* Renamed some chip-specific files
* Updated references to renamed files
* Updated references to lpc17_ to lpc17_40_
* Renamed source files from lpc17_* to lpc17_40_*
* Clean up white space
Approved-by: Gregory Nutt <gnutt@nuttx.org>
drivers/lcd/tda19988.c: Now uses the new common videomode structure of include/nuttx/video/videomode.h as do other video components.
video/, include/nuttx/video/videomode.h: Separate EDID and from videomode managment. They really are separate things.
back at physical address 0x2007C000 and 0x20080000 (i.e. right below and right
above a 512 KiB boundary). Memory from those two blocks is considered
continuous when assigned to a heap.
In the protected build mode, when the memory protection unit is used, though,
it must be split into two MPU regions. This is because MPU regions must be
naturally aligned, and the 32KiB continuous address space of the two 16KiB AHB
SRAM blocks does not start at an address divisible by 32KiB.
The only other configurations that use protected build mode on lpc17xx are
currently open1788/knsh and open1788/knxterm. The LPC1788 has the AHB SRAM
blocks mapped more sanely (from an MPU region point of view), which is
probably why no problems emerged here. Both still compile with my change and
other than wasting an MPU region (which would otherwise remain unused) should
work fine. That said, I have no hardware to confirm.
arch/arm/src/am335x: Add logic to map the framebuffer to a non-cached, non-buffered memory region.
arch/arm/src/am335x: Remove struct am335x_fbinfo_s. Replaced with configuration settings that provide the same information.
Squashed commit of the following:
arch/arm/src/am335x/am335x_lcdc.c: LCD driver now compiles.
arch/arm/src/am335x/am335x_lcd.c: This brings the LCD driver to code complete. Have not yet attempted to compile.
arch/arm/src/am335x/am335x_edid.c: Framebuffer is pre-allocated. In verification of video mode, include a test to assure that the video mode can be supported by the pre-allocated framebuffer memory.
arch/arm/src/am335x/am335x_lcd.c: At a little bit of LCD initialization logic. There is a long way to go.
arch/arm/src/am335x/am335x_edid.c: Add am335x_lcd_videomode() which provides an alternative way of initializing the LCD controller.
arch/arm/src/am335x/am335x_edid.c: edit.h has move to include/nuttx/video.
arch/arm/src/am335x/hardware/am335x_cm.h: Fix a typo in a macro name.
arch/arm/src/am335x/am335x_edid.c: Integrate video/edid support.
arch/arm/src/am335x/am335x_edid.c: Fall back to VGA mode is not valid videomode is availabe in the EDID data.
arch/arm/src/am335x/am335x_edid.c: Fixes for a partially clean compile.
arch/arm/src/am335x/am335x_edid.c: Add basic logic to convert EDID montor descriptions into a form usable for LCD configuration.
arch/arm/src/am335x: Add framework (only) for an LCD driver. Initial commit is simply the LPC54 framebuffer driver with naming changes.
Improve gs2200m performance
* arch/arm/src/cxd56xx: Fix dma initialization in cxd56_dmac.c
up_dma_initialize() must be used instead of up_dmainitialize()
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
* drivers/wireless: Introduce CONFIG_WL_GS2200M_SPI_FREQUENCY
Also, changed usleep(100) to up_udelay(100) to avoid invalid response.
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
* configs/spresense/wifi: Improve performance for webserver
This commit changes followings.
1. Enable SPI DMA for both TX and RX
2. Increase SPI clock speed from 4MHz to 10MHz
3. Increase buffer size for sendfile() from 512B to 1KB
4. Enable sendfile() for webserver
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
Approved-by: Gregory Nutt <gnutt@nuttx.org>
arch/arm/src/tiva: Add a workaround for tiva with qemu
With qemu, tiva_ifup() hangs because ethernet link status can not
be set correctly. This PR is a workaround to avoid this issue.
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
Approved-by: Gregory Nutt <gnutt@nuttx.org>
Squashed commit of the following:
configs/makerlisp/scripts/makerlisp_ram.linkcmd: Fixup .RESET and .STARTUP. These need to be redirected to RAM since they default to ROM.
configs/makerlisp/scripts/makerlisp_ram.linkcmd: Restore some settings that should be unnecessary but are really required by the current implementation.
configs/makerlisp: Rename nsh configuratinon to nsh_flash. Create new configuration, nsh_ram, that is identical to the nsh_flash configuration except that the code runs out of external SRAM.
configs/makerlisp/scripts: Add a linker script to support execution from RAM.
configs: spresense: add I2CTOOL support and extend GPIO for future use
* arch: arm: cxd56xx: add delay support
add delay support for cxd56xx chip
Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
* configs: spresense: register I2C busses
for development is usefull to register I2C busses when the I2CTOOL
is built
Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
* configs:spresense: enable GPIO interface
enable GPIO interface on spresense board
Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
Approved-by: Gregory Nutt <gnutt@nuttx.org>
arch: arm: cxd56xx: SCU, ADC, I2C
* nuttx: configs: spresense: LEDS: fix warnings
In the initial code several errors were missed because I pushed
the dirty code.
Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
* arch: arm: cxd56xx: add Sensor Control Unit (SCU)
Add Sensor Control Unit (SCU) on cxd56xx chip
Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
* arch: arm: cxd56xx: add I2C support
add I2C support on cxd56xx chip
Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
* arch: arm: cxd56xx: add ADC interface support
Add ADC interface support on cxd56xx chip
Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
* arch: arm: cxd56xx: Use DMAC for reading sensing data
Use DMAC for reading sensing data from SCU on cxd56xx chip
Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
* arch: arm: cxd56xx: code style sanitization
NuttX does not use Deoxygen for documentation and no file should contain Doxygen tags or Doxygen style comments.
Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
* configs: spresense: enable I2CDEV
add enable I2CDEV for spresense board
Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
* configs: spresense: add notification LEDs
Add usefull diagnostic LEDs on the speresense board
Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
Approved-by: Gregory Nutt <gnutt@nuttx.org>
arch: arm: cxd56xx: add UID support
* arch: arm: cxd56xx: add UID support
Add support to be able to read the HW UID
Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
* configs: spresense: enable USERLEDS
add USERLED for spresense board
Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
Approved-by: Gregory Nutt <gnutt@nuttx.org>
commit f5080f53516a853408dd80f09f85e1d1c139133f
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Mon Jun 17 12:24:22 2019 -0600
arch/z80/src/ez80/ez80_spi.c: SPI driver still does not work. But the driver now has timeouts so that at least it does not hang the system on startup.
commit 5241e9ae643981c43c8c7fa8478a01d0c2e17eb0
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Mon Jun 17 10:45:11 2019 -0600
arch/z80/src/ez80: Fixes to SPI baud rate calculation.
commit ce2e9e3703485563a0a5b6a57e4080ad45d91fd7
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Mon Jun 17 09:29:13 2019 -0600
arch/z80/src/ez80: Cosmetic and unnecessary clean-up or serial driver.
commit 77287c8508a7e3262068d3e8cf1c5f8e27f3a144
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Mon Jun 17 09:08:56 2019 -0600
arch/z80/src/common and arch/z80/src/ez80: Clean up some assertion-related logic.
commit 4d2d3594c22f7240119255825fce2d2437301404
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Mon Jun 17 07:48:21 2019 -0600
configs/makerlisp/nsh/defconfig: Enable STACKDUMP on assertion.
commit 76b7a2faa3f213dd26634dd9440d12f746cac097
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Mon Jun 17 07:47:55 2019 -0600
configs/makerlisp/include/board.h: Don't put the board in reset on a simple assertion, onlhy a full panic.
commit 0a0dc12edcd39c07696769cb7249d8c39a148ccc
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Mon Jun 17 07:46:54 2019 -0600
arch/z80/src/ez80/ez80_rtc_lowerhalf.c: Remove all references to alarm ID.
commit 1a4dba1075fcf6466e87520a8ba66bbf91d696d7
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Mon Jun 17 07:33:29 2019 -0600
configs/makerlisp/src/ez80_bringup.c: Fix an error that was causing MMC/SD to fail to initialize. Unfortunately now the system hangs.
commit 145a395c7a8e73336fe62caf803d108c59e306a5
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Mon Jun 17 07:32:50 2019 -0600
arch/z80/src/ez80: Add an RTC lower half driver. Initial commit is just the STM32 RTC lower half with name changes.