Commit Graph

243 Commits

Author SHA1 Message Date
SPRESENSE
050ee011e5 boards: cxd56xx: Add VIDEO configuration to mpy defconfig
New CISIF which supports rearchitected video driver needs VIDEO configuration.
Add VIDEO configuration because mpy defconfig includes CISIF.
2021-09-15 07:06:35 +02:00
SPRESENSE
a4fcd654a4 boards: cxd56xx: Update defconfig of camera example
Add LCD and NX configurations to camera example as apps/examples/camera changes.
2021-09-15 07:06:35 +02:00
SPRESENSE
74df4b70b3 drivers: video: Rearchitect video driver
Rearchitect video driver:
- Define two video I/F(struct imgsensor_ops_s and struct imgdata_ops_s),
  and support them.
- CISIF driver supports new video I/F struct imgdata_ops_s.
- ISX012 driver supports new video I/F struct imgsensor_ops_s.
- Move ISX012 driver to general driver directory.
2021-09-15 07:06:35 +02:00
Alan C. Assis
099e9fb4f7 boards: Remove -nostartfiles -nodefaultlibs from LDFLAGS 2021-09-13 08:58:25 +08:00
YAMAMOTO Takashi
c4216d062f Revert "Make: fix use of gcc as LD for modules and ELF executables builds"
This reverts commit 6c2c70c61e.
2021-09-08 09:40:48 +08:00
YAMAMOTO Takashi
58bdcbab9b Revert "Make: use gcc as LD"
This reverts commit 45672c269d.

Because:

* It's very confusing to have cc as LD.
* I don't see what "-nostartfiles -nodefaultlibs" in LDFLAGS are
  supposed to do when we use LD directly. It would be simpler to
  remove them from our LDFLAGS.
2021-09-08 09:40:48 +08:00
Alin Jerpelea
9d870e1502 defconfig: allow use of BSD components
several configs are used for testing and need the BSD components

more information about license can be found here
https://www.apache.org/legal/resolved.html#category-a

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-09-02 09:00:43 -03:00
Alin Jerpelea
cf884b7460 Revert "defconfig: remove NFS from defconfig"
This reverts commit ff07cb8b2f.
2021-09-02 09:00:43 -03:00
Alin Jerpelea
ff07cb8b2f defconfig: remove NFS from defconfig
NFS uses BSD license and should not be enabled by default

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-08-30 22:39:04 +08:00
Xiang Xiao
b12f588140 Rename CONFIG_LIB_BOARDCTL to CONFIG_BOARDCTL
since boardctl isn't a libc feature

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-08-06 13:58:26 +02:00
Xiang Xiao
5025fbef8d Rename LIB_ to LIBC_ for all libc Kconfig
follow other libc component naming convention

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-08-05 19:45:24 +02:00
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