Lee Lup Yuen
6aba739f05
arch/arm64: Add support for Generic Interrupt Controller Version 2
...
Currently NuttX on Arm64 supports Generic Interrupt Controller (GIC) Versions 3 and 4: [`arm64_gicv3.c`](https://github.com/apache/incubator-nuttx/blob/master/arch/arm64/src/common/arm64_gicv3.c ), [`arm64_gic.h`](https://github.com/apache/incubator-nuttx/blob/master/arch/arm64/src/common/arm64_gic.h ). This PR adds support for GIC Version 2, which is needed by [Pine64 PinePhone](https://lupyuen.github.io/articles/interrupt ) based on Allwinner A64 SoC.
This 64-bit implementation of GIC v2 is mostly identical to the existing GIC v2 for 32-bit Armv7-A ([`armv7-a/arm_gicv2.c`](https://github.com/apache/incubator-nuttx/blob/master/arch/arm/src/armv7-a/arm_gicv2.c ), [`armv7-a/gic.h`](https://github.com/apache/incubator-nuttx/blob/master/arch/arm/src/armv7-a/gic.h )), with minor modifications to support 64-bit Registers (Interrupt Context).
- `arch/arm64/Kconfig`: Under "ARM64 Options", we added an integer option `ARM_GIC_VERSION` ("GIC version") that selects the GIC Version. Valid values are 2, 3 and 4, default is 3.
- `arch/arm64/src/common/arm64_gicv2.c`: Implements 64-bit GIC v2 based on 32-bit [`armv7-a/arm_gicv2.c`](https://github.com/apache/incubator-nuttx/blob/master/arch/arm/src/armv7-a/arm_gicv2.c ) and [`armv7-a/gic.h`](https://github.com/apache/incubator-nuttx/blob/master/arch/arm/src/armv7-a/gic.h ), modified to support 64-bit Registers (Interrupt Context).
Function and Macro Names have not been changed, for easier cross-referencing between the 32-bit and 64-bit implementations of GIC v2.
- `arch/arm64/src/common/arm64_gicv3.c`: Added Conditional Compilation for GIC v3. This file will not be compiled if `ARM_GIC_VERSION` is 2.
- `arch/arm64/src/common/arm64_gic.h`: Added the Version Identifier for GIC v2. At startup we read the GIC Version from hardware and verify that it matches `ARM_GIC_VERSION`.
- `arch/arm64/include/qemu/chip.h`: Added the QEMU Base Addresses for GIC v2.
- `arch/arm64/src/common/Make.defs`: Added the source file that implements GIC v2.
- `boards/arm64/qemu/qemu-armv8a/README.txt`: Added the documentation for testing GIC v2 with QEMU.
- `boards/arm64/qemu/qemu-armv8a/configs/nsh_gicv2/defconfig`: Added the Board Configuration `qemu-armv8a:nsh_gicv2` for testing GIC v2 with QEMU. Identical to `qemu-armv8a:nsh`, except that `ARM_GIC_VERSION` is 2.
2022-11-20 21:44:12 -08:00
chao an
ce1c945136
net/arp: Make NET_ARP(Address Resolution Protocol) configurable
...
Some boards that use USRSOCK will not need this feature
Signed-off-by: chao an <anchao@xiaomi.com>
2022-11-21 13:20:55 +08:00
chao an
3e1c73f8c9
wireless/bluetooth: destroy nxsem properly
2022-11-21 01:15:48 +08:00
chao an
873023f89b
net/icmp[v6]: destroy nxsem properly
...
Signed-off-by: chao an <anchao@xiaomi.com>
2022-11-21 01:15:48 +08:00
chao an
dff81756cf
drivers/regulator_rpmsg: destroy nxsem properly
...
Signed-off-by: chao an <anchao@xiaomi.com>
2022-11-21 01:15:48 +08:00
chao an
07604b3220
drivers/rpmsg/clk/ioe: destroy nxsem properly
...
Signed-off-by: chao an <anchao@xiaomi.com>
2022-11-21 01:15:48 +08:00
chao an
74cfa7ddb9
drivers/misc/rwbuffer: destroy nxmutex/nxsem properly
...
Signed-off-by: chao an <anchao@xiaomi.com>
2022-11-21 01:15:48 +08:00
chao an
4413c5a563
graphics/nxterm: destroy nxmutex/nxsem properly
...
Signed-off-by: chao an <anchao@xiaomi.com>
2022-11-21 01:15:48 +08:00
chao an
a1abb818a9
drivers/misc/rpmsgdev: destroy nxmutex properly
2022-11-21 01:15:48 +08:00
chao an
40581558d3
drivers/loop: destroy nxmutex properly
2022-11-21 01:15:48 +08:00
chao an
d256b8334e
drivers/mtd: destroy nxmutex properly
2022-11-21 01:15:48 +08:00
chao an
3727de1a93
fs/userfs: destroy nxmutex properly
...
Signed-off-by: chao an <anchao@xiaomi.com>
2022-11-21 01:15:48 +08:00
Xiang Xiao
f2320a4a69
Fix board/stm32_lcd.c:584:14: error: converting the result of '<<' to a boolean; did you mean '(7 << (10)) != 0'?
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-11-20 14:34:44 +01:00
Xiang Xiao
1a942c3c31
Fix lcd/ili9225.c:388:46: error: shift count >= width of type
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-11-20 14:34:44 +01:00
Xiang Xiao
f28cfbf2f3
Fix chip/stm32_eth.c:3358:20: error: unused function 'stm32_selectrmii'
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-11-20 14:34:44 +01:00
Xiang Xiao
19138560f4
Fix error: variable 'buflen' is uninitialized when used here
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-11-20 14:34:44 +01:00
Xiang Xiao
ffda739704
Fix error: shifting a negative signed value is undefined
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-11-20 14:34:44 +01:00
Xiang Xiao
908bade7a7
Fix error: converting the result of '<<' to a boolean always evaluates to true
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-11-20 14:34:44 +01:00
Xiang Xiao
720acac6af
Fix chip/stm32_usbdev.c:929:20: error: unused function 'stm32_setstatusout'
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-11-20 14:34:44 +01:00
Xiang Xiao
6af9afaa60
Fix error: more '%' conversions than data arguments
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-11-20 14:34:44 +01:00
Xiang Xiao
3453fe799d
Fix video/max7456.c:775:19: error: unused function '__mx7_write_reg__dmm'
...
video/max7456.c:792:19: error: unused function '__mx7_write_reg__dmdi'
video/max7456.c:809:19: error: unused function '__mx7_write_reg__dmah'
video/max7456.c:826:19: error: unused function '__mx7_write_reg__dmal'
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-11-20 14:34:44 +01:00
Xiang Xiao
a4eeeb23de
Fix sensors/mpu60x0.c:650:23: error: unused function '__mpu_read_who_am_i'
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-11-20 14:34:44 +01:00
Xiang Xiao
22768ede17
Fix chip/sam_tc.c:682:24: error: unused function 'sam_tc_getreg'
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-11-20 14:34:44 +01:00
Xiang Xiao
d01fbf77d0
Fix chip/sam4l_clockconfig.c:923:20: error: unused function 'sam_enable_fastwakeup'
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-11-20 14:34:44 +01:00
Xiang Xiao
d3e282e561
Fix chip/s32k3xx_qspi.c:925:44: error: format specifies type 'unsigned long' but the argument has type 'uint32_t' (aka 'unsigned int')
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-11-20 14:34:44 +01:00
Xiang Xiao
d8e53d7b4f
Fix error: format specifies type 'unsigned long' but the argument has type 'unsigned int'
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-11-20 14:34:44 +01:00
Xiang Xiao
670c3e0e35
Fix chip/s32k3xx_lpi2c.c:624:3: error: unused function 's32k3xx_lpi2c_sem_waitstop'
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-11-20 14:34:44 +01:00
Xiang Xiao
987d2561c0
Fix chip/s32k3xx_fs26.c:249:31: error: format specifies type 'unsigned long' but the argument has type 'uint32_t' (aka 'unsigned int')
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-11-20 14:34:44 +01:00
Xiang Xiao
e18d5870db
Fix chip/s32k3xx_lpspi.c:719:23: error: unused function 's32k3xx_lpspi_readbyte'
...
and chip/s32k3xx_lpspi.c:748:20: error: unused function 's32k3xx_lpspi_writebyte'
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-11-20 14:34:44 +01:00
Xiang Xiao
416d7301c4
Fix wireless/ieee80211/bcm43xxx/bcmf_gspi.c:151:20: error: unused function 'bcmf_gspi_write_reg_32'
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-11-20 14:34:44 +01:00
Xiang Xiao
658dfeaf40
Fix chip/kinetis_spi.c:473:23: error: unused function 'spi_getreg8'
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-11-20 14:34:44 +01:00
Xiang Xiao
6fd08787b6
Fix chip/kinetis_usbdev.c:3317:1: error: unused function 'khci_epreserved'
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-11-20 14:34:44 +01:00
Xiang Xiao
232360cbd0
Fix chip/kinetis_enet.c:875:59: error: format specifies type 'unsigned long' but the argument has type 'uint32_t' (aka 'unsigned int')
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-11-20 14:34:44 +01:00
Xiang Xiao
9a50c30168
Fix chip/imxrt_enc.c:950:27: error: use of logical '&&' with constant operand
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-11-20 14:34:44 +01:00
Xiang Xiao
4913552140
Fix chip/imxrt_lpspi.c:553:23: error: unused function 'imxrt_lpspi_readbyte'
...
and chip/imxrt_lpspi.c:580:20: error: unused function 'imxrt_lpspi_writebyte'
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-11-20 14:34:44 +01:00
Xiang Xiao
3ecf66415c
Fix chip/imxrt_serial.c:1375:20: error: unused function 'imxrt_disableuartint'
...
and chip/imxrt_serial.c:1400:20: error: unused function 'imxrt_restoreuartint'
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-11-20 14:34:44 +01:00
Xiang Xiao
9f7d7c046a
Fix chip/imxrt_lpi2c.c:1254:1: error: unused function 'imxrt_lpi2c_getenabledints'
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-11-20 14:34:44 +01:00
Xiang Xiao
427f65ac28
Fix chip/imxrt_lpi2c.c:755:1: error: unused function 'imxrt_lpi2c_sem_waitstop'
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-11-20 14:34:44 +01:00
chao an
422272044b
boards/iperf: device name will vary across different NICs
...
Signed-off-by: chao an <anchao@xiaomi.com>
2022-11-20 19:44:32 +08:00
Xiang Xiao
f9479885ba
arch/arm64: Move group_addrenv to arm64_syscall_switch
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-11-20 08:17:03 -03:00
chao an
6898409d04
net/icmp[v6]: ICMP[v6]_NO_STACK should not depends on NET_IPv4/6
...
Signed-off-by: chao an <anchao@xiaomi.com>
2022-11-20 08:16:20 -03:00
Xiang Xiao
63bcca985f
arch/armv7-r: Don't clear SCTLR_U bit since spec require it's always one
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-11-19 14:42:22 -03:00
Xiang Xiao
4d56ef5d8c
arch/armv7-a: Support the big endian in arm_pghead.S like arm_head.S
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-11-19 14:42:22 -03:00
Xiang Xiao
4abd626288
arch/armv7-r: Remove the nonexistent SCTLR_IE
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-11-19 14:42:22 -03:00
Ville Juven
d088a48da4
mpfs/knsh: Enable SHM for MPFS kernel mode build
2022-11-18 22:45:26 +08:00
Ville Juven
603992fc5f
mpfs/ld-kernel: Increase size of kflash and ksram to 2MB
2022-11-18 22:45:26 +08:00
qinwei1
ce95db46b9
include/nuttx/tls.h: add CXX extern define for tls
...
Summary:
In order to use C functions in C++ code, "extern C"
needs to be defined in the C header file.
Add "extern C" define for tls.h
Signed-off-by: qinwei1 <qinwei1@xiaomi.com>
2022-11-18 12:42:26 +08:00
Nathan Hartman
5b9702ebe2
Remove DISCLAIMER. Apache NuttX has graduated the Incubator.
...
Remove additional disclaimer in README.md.
2022-11-18 01:40:08 +08:00
raiden00pl
45a24c1894
drivers/motor/foc/foc_dummy.c: remove unused variable
2022-11-18 01:39:26 +08:00
raiden00pl
04a66d2d3a
arch/stm32g4: fix ADC clock after ef517ed
2022-11-17 19:53:53 +08:00