Commit Graph

282 Commits

Author SHA1 Message Date
Masayuki Ishikawa
59bff123e6 boards: spresense: Update rndis_smp/defconfig
Summary:
- I noticed that the RNDIS networking is unstable when running
  nxplayer + command execution via telnet
- This commit is a workaround to fix this issue by disabling
  CONFIG_TCP_WRITE_BUFFERS. Also, CONFIG_SENDFILE_BUFSIZE is
  increased to improve the webserver performance.

Impact:
- spresense:rndis_smp only

Testing:
- Tested with nxplayer, telnetd and webserver

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2021-08-01 20:49:13 -07:00
Xiang Xiao
b3f9ffbe72 Replace all __attribute__((aligned(x)) with aligned_data(x)
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-07-29 21:55:21 -03:00
Pavel Pisa
6c2c70c61e Make: fix use of gcc as LD for modules and ELF executables builds
The patch

  Make: use gcc as LD

introduced use of GCC wrapper as linker. LD variable references GCC
executable now. But when GCC wrapper s used to build relocatable
loadable objects (ELF executables and modules) then it causes
linking of toolchain default libc and other libraries even when -r
is usd. Another problem is that incorrect multiarch variant is selected
for libraries search and possibly even for LTO or C++ templates
instantiating and other glue code which causes fails during linking
if CFLAGS selects non/default miltiarch variant.

Corresponding CFLAGS are passed to LDMODULEFLAGS and LDELFFLAGS
as well as -nostartfiles -nodefaultlibs options.

Separate line is used to easily find and adjust lines if link
process is changed in future.

Signed-off-by: Pavel Pisa <ppisa@pikron.com>
2021-07-19 08:41:25 -03:00
Xiang Xiao
663104a2e9 fs: Simplify sendfile implementation
and avoid call nx_ file API in the kernel space

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: Id951ca161df2c2ee267dc4b5a0d7dfa67df4c1e6
2021-07-17 07:39:15 -03:00
Jiuzhu Dong
85470176e7 sched/task: delete CONFIG_MAX_TASKS limit
Change-Id: I583015a95dbcebd352f81ecb3104ffdbd646a9ec
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2021-07-11 19:42:30 -07:00
Masayuki Ishikawa
48ab08c43d boards: spresense: Update rndis and rndis_smp defconfigs
Summary:
- This commit adds CONFIG_NET_TCP_WRITE_BUFFERS=y to
  rndis and rndis_smp defconfigs

Impact:
- webserver performance will be improved

Testing:
- Tested with nxplayer, telnetd, webserver, iperf

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2021-07-09 02:19:32 +02:00
SPRESENSE
3a22af5d9b boards: cxd56xx: Change c++ option to -std=c++11
Change CXXFLAGS from -std=c++98 to -std=c++11.
2021-07-04 00:36:20 -05:00
SPRESENSE
12fb49d0a3 boards: cxd56xx: Fix warning of cxd56 audio driver
Only when CONFIG_AUDIO_CXD56 is enabled, board_audio_initialize_driver
function is available.
2021-07-03 23:33:40 -05:00
SPRESENSE
adc72de2ee boards: cxd56xx: Fix bmp280 compile error
Fix compile error caused by bmp280.h being updated.
2021-07-03 23:33:40 -05:00
SPRESENSE
6f78544fd9 boards: cxd56xx: Fix some printf format warnings
Fix some warnings by -Wformat.
2021-07-03 23:33:40 -05:00
SPRESENSE
751f7973e9 boards: cxd56xx: Fix crashdump compile error in SMP
In CONFIG_SMP=y, use arm_intstack_top() instead of g_intstacktop
to get the base address of interrupt stack.
2021-07-03 23:33:40 -05:00
Masayuki Ishikawa
c8a14147d2 boards: spresense: Add interrupt stack to smp/defconfig
Summary:
- This commit adds CONFIG_ARCH_INTERRUPTSTACK=2048 to defconfig

Impact:
- None

Testing:
- Tested with ostest

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2021-07-03 07:02:33 -05:00
Masayuki Ishikawa
30fd340e74 boards: spresense: Add CONFIG_BOARD_LATE_INITIALIZE=y for SMP
Summary:
- I noticed that spresense:rndis_smp and spresense:wifi_smp
  do not boot due to the recent change in nx_start.c
- As the result of the discussion, I understand that we have to
  add CONFIG_BOARD_LATE_INITIALIZE=y for SMP

Impact:
- spresense only

Testing:
- Tested with spresense:rndis_smp and spresense:wifi_smp

Signed-off-by: Masayuki Ishikawa <masayuki.ishikawa@gmail.com>
2021-07-02 10:15:45 -05:00
Masayuki Ishikawa
e890e2e45c boards: spresense: Update rndis and rndis_smp for workaround
Summary:
- I noticed that Telnet session is sometimes not closed
  when tested with nxplayer + command stress test
- The symptom relates to the change of IOB throttling in TCP
  but we are still finding the root cause.
- This commit is just a workaround to avoid the issue by
  disabling telnet character mode.

Impact:
- spresense:rndis, spresense:rndis_smp only

Testing:
- Tested with nxplayer (HTTP audio streaming) + command stress test

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2021-06-25 00:58:27 -05:00
Masayuki Ishikawa
35a7902367 boards: spresense: Update elf/defconfig
Summary:
- This commit adds the following configs to spresense:elf
  +CONFIG_DEBUG_FULLOPT=y
  +CONFIG_DEBUG_SYMBOLS=y
  +CONFIG_STACK_COLORATION=y

Impact:
- None

Testing:
- Tested with spresense

Signed-off-by: Masayuki Ishikawa <masayuki.ishikawa@gmail.com>
2021-06-15 22:30:32 -03:00
Alexander Vasiljev
45672c269d Make: use gcc as LD 2021-06-10 03:43:18 -07:00
Xiang Xiao
5b2a17b892 Include assert.h in necessary place
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-06-08 13:06:08 -07:00
Xiang Xiao
2e54df0f35 Don't include assert.h from public header file
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-06-03 08:36:03 -07:00
Masayuki Ishikawa
9e8441e66e boards: spresense: Normalize rndis_smp and wifi_smp defconfigs
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2021-06-02 22:13:10 -05:00
Kazuya Hioki
ee0833c45d boards: cxd56xx: Apply CXD56_PHYSADDR to cxd56_imageproc.c and cxd56_audio_dma.c
Summary:
- This commit converts data to the physical address for DMA transfer.

Impact:
- cxd56_imageproc.c and cxd56_audio_dma.c

Testing:
- Not tested

Signed-off-by: Kazuya Hioki <Kazuya.Hioki@sony.com>
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2021-06-02 22:13:10 -05:00
Kazuya Hioki
d3ef61af31 boards: spresense: Introduce ramconfig-new.ld for the system bus
Summary:
- In order to support the atomic instructions by ldrex/strex instruction
  in NuttX SMP, the data or later sections are mapped to the system bus.

Impact:
- Bootloader for Spresense SDK 2.1.0 or later must be installed
- Loops per msec must be adjusted
- Physical address for DMA must be converted with CXD56_PHYSADDR

Testing:
- Will be tested with later commits

Signed-off-by: Kazuya Hioki <Kazuya.Hioki@sony.com>
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2021-06-02 22:13:10 -05:00
Nakamura, Yuuichi
85f9b893b2 Add new config nsh_trace for spresense 2021-06-01 00:48:59 -05:00
Masayuki Ishikawa
f14ceb43b7 boards: spresense: Remove CONFIG_LIBM from defconfigs
Summary:
- This commit removes CONFIG_LIBM from defconfigs to use libm for gcc

Impact:
- Applications which use the math library

Testing:
- Tested with spresense:wifi_smp

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2021-05-27 12:56:54 +02:00
SPRESENSE
0146231166 boards: cxd56xx: Fix bug that modem may miss the GPIO interrupt
If the GPIO falls within 300us after raising
(or GPIO raises within 300us after falling), the modem may miss the GPIO
interrupt. So add delay by 300us before changing the GPIO.
2021-05-23 20:42:54 +02:00
SPRESENSE
14c57b0774 boards: cxd56xx: Fix uninitialized variable
Fix uninitialized variable.
CodeSonar Warning 520074
2021-05-23 20:42:54 +02:00
SPRESENSE
21ed297adc boards: cxd56xx: Fix configuration to compile bmp280 sensor
Fix the configuration name to compile cxd56_bmp280_i2c.c.
2021-05-23 20:42:54 +02:00
SPRESENSE
6cc60f3bd9 boards: cxd56xx: Set the pin number to the argument of gpio handler
Make it easy to get the pin number on GPIO interrupt handler.
2021-05-23 20:42:54 +02:00
SPRESENSE
ca775beccb boards: spresense: Support board_reset on interrupt context
When CONFIG_BOARD_RESET_ON_ASSERT is enabled, board_reset() may be
called on interrupt context. This commit changes to be able to call the
function on interrupt context.
2021-05-23 20:42:54 +02:00
SPRESENSE
8b5425d661 boards: spresense: Add delay only for PMIC GPO setting
When RTC clock is still unstable, add a delay time only for PMIC GPO
setting to avoid a problem that the setting is not reflected.
2021-05-23 20:42:54 +02:00
SPRESENSE
8403fe6503 boards: spresense: Fix PMIC setting during boot-up
When RTC clock is still unstable, the continuous PMIC settings may not
be reflected. This commit adds a delay time to avoid such problem.
2021-05-23 20:42:54 +02:00
Masayuki Ishikawa
3af0ef70ff boards: spresense: Update rndis/rndis_smp/wifi/wifi_smp defconfigs
Summary:
- Add the following configs
  +CONFIG_NFS=y
  +CONFIG_USERMAIN_STACKSIZE=3072 (rndis/defconfig only)

Impact:
- None

Testing:
- Tested with NFS server on Ubuntu 18.04 (x86_64)

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2021-05-13 22:33:12 -03:00
Xiang Xiao
11ef8a3201 board: Enable CONFIG_BOARDCTL_ROMDISK
to fix build break by commit 3156aa7532

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-05-13 10:44:16 -05:00
Gregory Nutt
27e0725a4e Remove CONFIG_NET_UDP_BINDTODEVICE from DHCPC configurations
CONFIG_NET_UDP_BINDTODEVICE is now selected by default if DHCPC is enabled.

This change will not build without apps PR 696
2021-04-28 21:22:40 -05:00
Abdelatif Guettouche
f43f066018 boards: Update the iperf configs.
Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2021-04-21 13:44:18 -05:00
Masayuki Ishikawa
1a9e7efde5 smp: Remove CONFIG_SMP_IDLETHREAD_STACKSIZE
Summary:
- The CONFIG_SMP_IDLETHREAD_STACKSIZE was introduced to optimize
  the idle stack size for other than CPU0
- However, there are no big differences between the idle stacks.
- This commit removes the config to simplify the kernel code

Impact:
- All SMP configurations

Testing:
- Tested with ostest with the following configs
- spresense:smp, spresense:rndis_smp
- esp32-devkitc:smp (QEMU), maix-bit:smp (QEMU)
- sabre-6quad:smp (QEMU), sabre-6quad:netnsh_smp (QEMU)
- raspberrypi-pico:smp, sim:smp (x86_64)

Signed-off-by: Masayuki Ishikawa <asayuki.Ishikawa@jp.sony.com>
2021-04-19 21:46:39 -05:00
Xiang Xiao
2335b69120 arch: Allocate the space from the beginning in up_stack_frame
arch: Allocate the space from the beginning in up_stack_frame

and modify the affected portion:
1.Correct the stack dump and check
2.Allocate tls_info_s by up_stack_frame too
3.Move the stack fork allocation from arch to sched

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-04-16 12:41:41 +09:00
Xiang Xiao
8640d82ce0 arch: Rename g_intstackbase to g_intstacktop
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-04-16 12:41:41 +09:00
Barry Xu
099980efb5 Support different hardware version of Wi-Fi add-on board (iS110B)
Signed-off-by: Barry Xu <barry.xu@sony.com>
2021-04-14 16:10:51 +09:00
Masayuki Ishikawa
0d1d42ec5f boards: spresense: Update defconfigs for rndis and rndis_smp
Summary:
- Update spresense:rndis_smp
  - Remove CONFIG_MAX_TASKS=16
  - Enable CONFIG_RTC_ALARM and CONFIG_RTC_HIRES
- Update spresense:rndis
  - Follow rndis_smp configuration except for SMP

Impact:
- spresense:rndis and spresense:rndis_smp

Testing:
- Tested with nxplayer

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2021-04-12 23:19:30 -05:00
Xiang Xiao
3f67c67aaf arch: Fix the stack boundary calculation and check
All supported arch uses a push-down stack:
The stack grows toward lower addresses in memory. The stack pointer
register points to the lowest, valid working address (the "top" of
the stack). Items on the stack are referenced as positive(include zero)
word offsets from sp.
Which means that for stack in the [begin, begin + size):
1.The initial SP point to begin + size
2.push equals sub and then store
3.pop equals load and then add

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-04-10 08:39:54 -07:00
Masayuki Ishikawa
9cce09e58a boards: Remove SCHED_INSTRUMENTATION from all SMP related configs
Summary:
- This commit removes SCHED_INSTRUMENTATION which has been used
  to debug NuttX SMP kernel

Impact:
- None

Testing:
- Tested with ostest

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2021-03-22 19:47:56 -07:00
Alin Jerpelea
40cd67eee6 boards: arm: Author Gregory Nutt: update licenses to Apache
Gregory Nutt has submitted the SGA and we can migrate the licenses
 to Apache.

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-03-18 22:58:27 -07:00
Jiuzhu Dong
59eb4fa8d6 fs: delete NFILE_DESCRIPTORS for allocating dynamically
Change-Id: Id06d215063796d222b9792d25ab2d6742167729f
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2021-03-17 06:46:42 -07:00
Masayuki Ishikawa
c3ace7a999 boards: spresense: Add CONFIG_ARCH_LEDS_CPU_ACTIVITY=y to rndis_smp and wifi_smp
Summary:
- This commit adds CONFIG_ARCH_LEDS_CPU_ACTIVITY=y to rndis_smp and wifi_smp

Impact:
- spresense:rndis_smp and spresense:wifi_smp configurations

Testing:
- Tested with smp and ostest

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2021-03-11 15:30:38 +01:00
Masayuki Ishikawa
d4d996cc28 boards: spresense: Add CONFIG_ARCH_LEDS_CPU_ACTIVITY to board.h and cxd56_leds.c
Summary:
- This commit adds CPU activity LEDs feature to spresense

Impact:
- CONFIG_ARCH_LEDS_CPU_ACTIVITY=y only

Testing:
- Arch specific code and defconfigs will be commited later

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2021-03-11 15:30:38 +01:00
Masayuki Ishikawa
06a81db203 boards: spresense: Update rndis_smp/defconfig
Summary:
- This commit updates rndis_smp/defconfig
- Adjust stack size to avoid hardfault
- Remove CONFIG_NET_TCP_WRITE_BUFFERS temporarily to avoid
  unstable behaviors with nxplayer + telnet

Impact:
- spresense:rndis_smp only

Testing:
- Tested with nxplayer, telnet

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2021-03-10 14:14:52 +08:00
Gustavo Henrique Nihei
330eff36d7 sourcefiles: Fix relative path in file header 2021-03-09 23:18:28 +08:00
Gustavo Henrique Nihei
47cb41c92f makefiles: Fix relative path in file header 2021-03-09 23:18:28 +08:00
Masayuki Ishikawa
a11764525d boards: spresense: Update rndis_smp/defconfig
Summary:
- This commit adds following parameters to rndis_smp/defconfig
- CONFIG_LIB_SENDFILE_BUFSIZE=1024
- CONFIG_MEMCPY_VIK=y
- CONFIG_MEMSET_64BIT=y
- CONFIG_MEMSET_OPTSPEED=y
- CONFIG_MQ_MAXMSGSIZE=64

Impact:
- rndis_smp only

Testing:
- Tested with nxplayer

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2021-03-07 19:51:12 -08:00
Xiang Xiao
9473434587 Ensure the kernel component don't call userspace API
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-03-01 09:23:09 +09:00
Masayuki Ishikawa
ad2e85433a boards, include, sched: Remove CONFIG_SPINLOCK_IRQ
Summary:
- This commit removes CONFIG_SPINLOCK_IRQ to avoid complexity

Impact:
- None

Testing:
- Tested with the following configs
- spresense:wifi, spresense:smp
- esp32-devkitc:smp (QEMU), sabre-6quad:smp (QEMU)
- maix-bit:smp (QEMU), sim:smp
- stm32f4discovery:wifi
2021-02-05 22:50:04 -08:00
Masayuki Ishikawa
8706db6f48 boards: spresene: Add iperf to rndis and rndis_smp defcofigs
Summary:
- This commit adds iperf to rndis and rndis_smp defcofigs

Impact:
- rndis and rndis_smp

Testing:
- Tested with iperf

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2021-01-31 21:43:54 -08:00
baggio63446333
0261e58a8b boards: cxd56xx: Add I2C bitbang driver registration
Add board API to register i2c bitbang driver as i2c device.
2021-01-26 13:59:30 -03:00
Alin Jerpelea
e76f0f3de9 arch: arm: cxd56xx: replace licenses with Apache 2.0
This change is a license change to Apache 2.0 license.

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-01-25 04:34:41 -08:00
Alin Jerpelea
0881e0e8db boards: arm: cxd56xx: drivers: update license to Apache 2.0
This is a license change to Apache 2.0 license.

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-01-25 04:34:41 -08:00
Alin Jerpelea
94774f4d5b boards: arm: cxd56xx: common: update license to Apache 2.0
This is a license change to Apache 2.0 license.

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-01-25 04:34:41 -08:00
Matias N
76cc5c36e4 bmp280: convert to common sensor interface 2021-01-18 21:08:34 -03:00
Xiang Xiao
0536953ded Kernel module should prefer functions with nx/kmm prefix
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-01-13 08:57:58 +01:00
Masayuki Ishikawa
96769b0722 boards: cxd56xx: Replace license header with Apache License 2.0
Summary:
- This commit replaces SHES related headers under cxd56xx

Impact:
- No impact

Testing:
- Build check only

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2020-12-28 08:43:35 +01:00
YAMAMOTO Takashi
4c67d9d66c boards/arm/cxd56xx/common/src/cxd56_ili9340.c: Fix syslog formats 2020-11-27 05:18:57 -06:00
YAMAMOTO Takashi
edee18be72 boards/arm/cxd56xx/common/src/cxd56_gs2200m.c: Fix syslog formats 2020-11-27 05:18:57 -06:00
chao.an
b88561299b make/expression: improving up asm/C/C++ compile times
In the current compilation environment, the recursive assignment(=) for compile
flags will be delayed until every file is actually need to be compile.

For example:
--------------------------------------------------------------------------------
arch/arm/src/Makefile:

INCLUDES += ${shell $(INCDIR) "$(CC)" $(ARCH_SRCDIR)$(DELIM)chip}
INCLUDES += ${shell $(INCDIR) "$(CC)" $(ARCH_SRCDIR)$(DELIM)common}
INCLUDES += ${shell $(INCDIR) "$(CC)" $(ARCH_SRCDIR)$(DELIM)$(ARCH_SUBDIR)}
INCLUDES += ${shell $(INCDIR) "$(CC)" $(TOPDIR)$(DELIM)sched}

CPPFLAGS += $(INCLUDES) $(EXTRAFLAGS)
CFLAGS += $(INCLUDES) $(EXTRAFLAGS)
CXXFLAGS += $(INCLUDES) $(EXTRAFLAGS)
AFLAGS += $(INCLUDES) $(EXTRAFLAGS)
--------------------------------------------------------------------------------

All compilation options will be included recursively,
which will be delayed until the compilation options are actually used:

tools/Config.mk:

--------------------------------------------------------------------------------
define COMPILE
  @echo "CC: $1"
  $(Q) $(CC) -c $(CFLAGS) $($(strip $1)_CFLAGS) $1 -o $2
endef
--------------------------------------------------------------------------------

All compile flags to be reexecuted $(INCDIR) as long as one file needs to be compiled,
but in fact, the compilation options have not changed in the current directory.

So the we recommand to change the syntax of assignment
From
    Recursive (=)
To
    Simple    (:=)

In this way, we can ensure that all compilation options are expanded only once and reducing repeated works.

Signed-off-by: chao.an <anchao@xiaomi.com>
2020-11-02 07:53:53 -08:00
Xiang Xiao
cc869d891c boards/cxd56xx: Remove HOSTCC and HOSTCFLAGS from Make.defs
since all host toolchain definition is moved to the common place(tools/Config.mk)

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-11-02 09:11:37 +01:00
Alin Jerpelea
bc8ea75580 tools: cxd56: mkspk: automate mkspk build
the mkspk tool will automaticaly be built if CONFIG_CXD56_BINARY
is set.

Test:
nuttx.spk was succesfully generated

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2020-10-28 12:50:02 +01:00
Masayuki Ishikawa
7be1739b41 boards: spresense: Add graphics demos to wifi and wifi_smp
Summary:
- This commit enables LCD for spresense and adds graphics demos

Impact:
- Affects wifi and wifi_smp configurations

Testing:
- Tested with nx, nxdemo, nxhello and nxlines

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2020-10-12 09:37:29 +02:00
Masayuki Ishikawa
b592228cea boards: spresense: Add CONFIG_ARCH_INTERRUPTSTACK=2048 to wifi and wifi_smp
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2020-10-12 09:37:29 +02:00
Masayuki Ishikawa
cb6dd70082 boards: cxd56xx: Fix a deadlock in cxd56_gs2200m.c
Summary:
- During streaming test, I noticed a dealock when controlling IRQ
- Actually, it will send an IPI when the cpu index is not 0
- However, up_cpu_pause() also sends IPI with critical section
- So the IRQ control must follow the same rule

Impact:
- Affects SMP only

Testing:
- Tested with spresense:wifi_smp

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2020-10-08 09:02:17 +02:00
Masayuki Ishikawa
8d1dc11a36 boards: spresense: Add CONFIG_USERMAIN_STACKSIZE=3072 to wifi/defconfig
Summary:
- I noticed that stack for the init task was filled almost 100%
- This commit fixes this issue

Impact:
- Affects spresense:wifi configuration only

Testing:
- Tested with renew/mount/wget/nxplayer commands

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2020-10-01 08:45:48 +02:00
Masayuki Ishikawa
6696d72494 boards: spresense: Adjust parameters for wifi and wifi_smp
Summary:
- This commit adjusts parameters for audio streaming

Impact:
- Only affects spresense:wifi and spresense:wifi_smp

Testing:
- Tested with nxplayer

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2020-09-23 15:17:46 +02:00
Masayuki Ishikawa
b08eaf0fbb boards: spresense: Add rndis_smp/defconfig
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2020-09-23 10:45:29 +02:00
Masayuki Ishikawa
809b0aa02c boards: spresense: Add CONFIG_SYSTEM_NXRECORDER=y to rndis/defconfig
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2020-09-23 10:45:29 +02:00
Masayuki Ishikawa
3941e47259 boards: spresense: Update README.txt regarding gs2200m
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2020-09-17 09:24:39 +02:00
Xiang Xiao
bf7399a982 arch: Initialize idle thread stack information
and remove the special handling in the stack dump

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: Ia1ef9a427bd4c7f6cee9838d0445f29cfaca3998
2020-09-16 06:57:29 -07:00
Masayuki Ishikawa
5fec6191c3 boards: spresense: Update rndis/defconfig
Summary:
- This commit updates spresense:rndis defconfig
- Audio buffer has been changed from 4KBx16 to 2KBx32
- Also, increase PREALLOC_MQ_MSGS to 32
- Increase stack size for audio worker thread
- Add examples/tcpblaster
- Use default IOB settings
- Enable NET_TCP_WRITE_BUFFERS

Impact:
- Affects spresense:rndis only

Testing:
- Tested with nxplayer, tcpserver, tcpclient, webserver, telnetd.

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2020-09-16 13:57:42 +02:00
Matias N
c1878406b5 fix: normalize two board configs which were not updated for CONFIG_NFILE_STREAMS change 2020-09-12 14:18:51 -07:00
Xiang Xiao
b0797263ca libc/stdio: Allocate file_struct dynamically
1.Reduce the default size of task_group_s(~512B each task)
2.Scale better between simple and complex application

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: Ia872137504fddcf64d89c48d6f0593d76d582710
2020-09-11 17:58:17 +08:00
Masayuki Ishikawa
a712fbd0a0 boards: wifi_smp: Add CONFIG_CXD56_TESTSET=y to defconfig
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2020-09-10 08:52:22 +02:00
Masayuki Ishikawa
35b2e7c431 boards: spresense: Fix build error for wifi_smp
Summary:
- Fix build error introduced by PR1520

Impact:
- Affects spresense:wifi_smp only

Testing:
- Build check only

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2020-09-07 14:32:05 +08:00
Xiang Xiao
952af92690 sched/note: Move the circle buffer code to driver
so the format code can be shared by different transport

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-09-07 11:54:10 +08:00
Masayuki Ishikawa
5feab8057c boards: cxd56xx: Add wifi_smp configuration
Summary:
- This commit adds a wifi_smp configuration for spresense
- To avoid deadlock, gs2200m_irq_enable() and gs2200m_irq_disable()
  release global spinlock if they are not called on CPU0.

Impact:
- Only affects spresense:wifi_smp

Testing:
- Tested with ostest, renew, smp, telnetd.
- NOTE: tcpserver might be unstable

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2020-09-01 09:05:53 +02:00
Nathan Hartman
91b52c38f9 Fix wrong executable bit on two source files
boards/arm/cxd56xx/drivers/audio/cxd56_audio_bca_reg.h:

    * Remove erroneous executable bit.

fs/tmpfs/fs_tmpfs.c:

    * Remove erroneous executable bit.
2020-08-31 19:19:14 +01:00
Brennan Ashton
4cb193d530 Docs: Update links to old website and wiki
Signed-off-by: Brennan Ashton <bashton@brennanashton.com>
2020-08-30 19:16:30 -03:00
Masayuki Ishikawa
e3b3d21556 boards: cxd56xx: Refactor cxd56_gs2200m.c
Summary:
- This commit refactors cxd56_gs2200m.c
- gs2200m_irq_enable() and gs2200m_irq_disable() are now symmetric.

Impact:
- All use cases which use the gs2200m driver.

Testing:
- Tested with spresense:wifi

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2020-08-20 03:17:13 -05:00
Ouss4
ccf7154f05 drivers: Add the configuration option to select a board specific folder. 2020-08-13 03:48:17 -05:00
Xiang Xiao
a0ce81d659 sched/wdog: Don't dynamically allocate wdog_s
to save the preserved space(1KB) and also avoid the heap overhead

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: I694073f68e1bd63960cedeea1ddec441437be025
2020-08-11 12:28:55 -06:00
Xiang Xiao
154852acb5 sched/mqueue: Reduce the initial memory consumption
Change the preallocated message and descriptor from 32/24 to 4.
The total size is reduce from 1892 to 532

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: I79d199465daef678986868f773876289859f42fc
2020-08-10 08:07:50 +02:00
Masayuki Ishikawa
56181c0bdd boards: spresense: Update wifi/defconfig
Summary:
- Add CONFIG_EXAMPLES_TCPBLASTER_GROUPSIZE=500
- Remove CONFIG_EXAMPLES_TCPBLASTER_SERVER_PORTNO=10001
- Add CONFIG_EXAMPLES_TCPBLASTER_TARGET2=y

Impact:
- This commit affects spresense:wifi only

Testing:
- Tested tcpclient and tcpserver

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2020-08-09 07:39:43 -05:00
Masayuki Ishikawa
9a1391d36b boards: spresense: Enable CONFIG_RTC_HIRES in wifi/defconfig
Summary:
- This commit enable COFNIG_RTC_HIRES

Impact:
- This commit affects spresense:wifi configuration only

Testing:
- spresense:wifi with getprime

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2020-08-07 09:30:52 +01:00
Xiang Xiao
e1d3627bb1 sched/wdog: Change the default value of MAX_WDOGPARMS from 4 to 2
since the maximum number of argument pass to wd_start in the whole
code base is 2 and change CONFIG_MAX_WDOGPARMS in some defconfig
from 1 to 2 oherwise pthread_condclockwait will fail

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: Ib6cb28b8c0722058849e7be916e164513431d21c
2020-08-06 10:36:22 -06:00
David Sidrane
ed5d00edd8 board_crashdump:use consistent type from outer function for file name 2020-08-04 21:20:05 -05:00
Gregory Nutt
d09f6aaa72 Correct more improper use of malloc(), zalloc(), and free()
malloc() and free() should never be used within the OS. This will work in the FLAT build because there is only a single heap, but will cause problems in PROTECTED and KERNEL build modes where there are separate heaps for user and kernel memory.

Typically kmm_malloc(), kmm_zalloc(), and kmm_free() should be called within the kernel in those build modes to use the kernel heap.

Memory is never free.  Possible memory leak:

    ./boards/arm/cxd56xx/common/src/cxd56_crashdump.c:  pdump = malloc(sizeof(fullcontext_t));

Memory allocated with malloc(), but freed with kmm_free():

    ./drivers/usbhost/usbhost_composite.c:  cfgbuffer = (FAR uint8_t *)malloc(CUSTOM_CONFIG_BUFSIZE);

Memory is never freed in these cases.  It is allocated in the driver initialization logic, but there is no corresponding uninitialization logic; memory is not freed on error conditions:

    ./arch/arm/src/lc823450/lc823450_i2s.c:  priv = (struct lc823450_i2s_s *)zalloc(sizeof(struct lc823450_i2s_s));
    ./arch/arm/src/sam34/sam_spi.c:  spics = (struct sam_spics_s *)zalloc(sizeof(struct sam_spics_s));
    ./arch/arm/src/sama5/sam_spi.c:  spics = (struct sam_spics_s *)zalloc(sizeof(struct sam_spics_s));
    ./arch/arm/src/samv7/sam_spi.c:  spics = (struct sam_spics_s *)zalloc(sizeof(struct sam_spics_s));

Memory is allocated with zalloc() but freed on error conditions with kmm_free():

    ./arch/arm/src/sama5/sam_ssc.c:  priv = (struct sam_ssc_s *)zalloc(sizeof(struct sam_ssc_s));
    ./arch/arm/src/samv7/sam_ssc.c:  priv = (struct sam_ssc_s *)zalloc(sizeof(struct sam_ssc_s));
    ./arch/arm/src/stm32/stm32_i2s.c:  priv = (struct stm32_i2s_s *)zalloc(sizeof(struct stm32_i2s_s));

Memory is never freed:

    ./drivers/spi/spi_bitbang.c:  priv = (FAR struct spi_bitbang_s *)zalloc(sizeof(struct spi_bitbang_s));
2020-08-04 20:41:43 +01:00
SPRESENSE
3befe16f52 drivers/video: Support JPEG format in VIDEO_CAPTURE
Add support for the VIDEO stream with JPEG frames supported by ISX012.
2020-07-31 09:37:20 +02:00
SPRESENSE
45e9c2c8f5 drivers/video: Add 3A parameter control
Provide functions which get and set the 3A (Auto white balance/Auto
exposure/Auto
focus) parameters.
These are achieved by the ioctl request codes VIDIOC_G_EXT_CTRLS and
VIDIOC_S_EXT_CTRLS which have the following settings:

 1. ctrl_class = V4L2_CTRL_CLASS_CAMERA
 2. id         = V4L2_CID_3A_PARAMETER

Also, provide function which get the 3A adjustment status.
This is achieved by the ioctl request codes VIDIOC_G_EXT_CTRLS which has the
following settings:

 1. ctrl_class = V4L2_CTRL_CLASS_CAMERA
 2. id         = V4L2_CID_3A_STATUS
2020-07-31 09:37:20 +02:00
SPRESENSE
28ba7f4a1e boards: cxd56xx: Fix bugs about ON/OFF control of AWB and AE
Fix the following three bugs about ON/OFF control of auto white balance and auto
exposure:

 - The returned value of VIDIOC_G_CTRL with id = V4L2_CID_AUTO_WHITE_BALANCE is
different from V4L2 specification.
 - Auto exposure is locked if auto white balance lock is requested.
 - Auto exposure and auto white balance are locked if auto exposure lock is
requested.
2020-07-31 09:37:20 +02:00
SPRESENSE
f1f0378d0a boards: cxd56_imageproc.c: Add alpha blend API
Add imageproc_alpha_blend() to blend two images in a specified ratio.

The blended source image is selectable from the following two types:

 - Single color image
 - YUV422 image

The blend ratio is selectable from the following three types:

 - Blend ratio with single value
 - Blend ratio with 1bpp
 - Blend ratio with 8bpp
2020-07-31 09:37:20 +02:00
SPRESENSE
8fec8cccfc boards: cxd56_imageproc.c: Add RGB565 -> YUV422 converter
Enable to interconvert between YUV422 and RGB565.
2020-07-31 09:37:20 +02:00
SPRESENSE
d560ce65ff cxd56xx: spresense: Add some improvements and fix bugs for Spresense board
- Add new functions of GNSS
- Support the lower PWM frequency
- Add CONFIG_CPUFREQ_RELEASE_LOCK
- Add high speed ADC support
- Add HPADC input gain configuration
- Add eMMC device
- Frame buffer support
- Fix SD/GNSS/sensor drivers not worked
- Build errors
- Fix nxstyle issues
2020-07-28 09:13:05 +02:00
SPRESENSE
500ead8101 drivers/modem/altair: Update altair modem driver
- Add board specific logic to altair modem dirver
- Fix issue that SPI4 RX frequency violated AC Spec
- Remove dummy buffer in altair driver
- Fix priority of SPI transfer task is too low
- Remove unnecessary configuration
- Modify timeout value for RX ready
- Fix minor bugs
2020-07-28 09:09:18 +02:00
Xiang Xiao
b329e2377d boards: Move toolchain related variables to Toolchain.defs
1.It make sense to let Toolchain.defs give the default value
2.The board can still change if the default isn't suitable
3.Avoid the same definition spread more than 200 Make.defs

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: Ic2649f1c7689bcf59c105ca8db61cad45b6e0e64
2020-07-20 17:10:37 +01:00
Masayuki Ishikawa
4cf307584f boards: spresense: Remove CONFIG_SCHED_LPWORK=y from wifi/defconfig
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2020-07-19 21:11:46 -05:00