#
# For a description of the syntax of this configuration file,
# see the file kconfig-language.txt in the NuttX tools repository.
#
config DEV_SIMPLE_ADDRENV
bool "Simple AddrEnv"
default n
config DEV_NULL
bool "Enable /dev/null"
default !DEFAULT_SMALL
config DEV_ZERO
bool "Enable /dev/zero"
default !DEFAULT_SMALL
config DEV_MEM
bool "Enable /dev/mem"
default n
---help---
It is a full image of physical memory and can be used to
access physical memory.
config DEV_ASCII
bool "Enable /dev/ascii"
default n
---help---
Enable the /dev/ascii device driver. This is a character driver
that will return all characters from 0x21-0x7f.
config DEV_RPMSG
bool "RPMSG Device Client Support"
default n
depends on RPMSG
config DEV_RPMSG_SERVER
bool "RPMSG Device Server Support"
default n
depends on RPMSG
if DEV_RPMSG_SERVER
config DEV_RPMSG_SERVER_WORK_PRIORITY
int "Rpmsg Device Server Work Priority"
default 224
config DEV_RPMSG_SERVER_WORK_STACKSIZE
int "Rpmsg Device Server Work Stack Size"
default DEFAULT_TASK_STACKSIZE
endif # DEV_RPMSG_SERVER
config OPTEE_OPENVELA_COMPAT
bool "Enable driver compatibility with openvela OP-TEE OS"
default n
---help---
The Openvela version of OP-TEE OS makes a special interpretation of
registered memory (OPTEE_MSG_ATTR_TYPE_RMEM_*) for use directly with
pointers, instead of cookies. Enable this setting to have the OP-TEE
driver pass temporary memory as registered memory in the way that
Openvela expects. Enabled by default with the socket transports of the
OP-TEE driver.
choice
prompt "Select OP-TEE dev implementation"
default DEV_OPTEE_NONE
---help---
There are three implementations of optee server,
one is soft tee server which does not distinguish
between secure and non-secure states and uses socket communication,
and the other two is teeos which runs in the secure state of
the cpu and uses either RPMsg cross-core communication or arm SMCs.
Warning: SMC implementation has only been tested on arm64.
config DEV_OPTEE_LOCAL
bool "OPTEE Local Socket Support"
select OPTEE_OPENVELA_COMPAT
depends on NET_LOCAL
depends on LIBC_MEMFD_SHMFS || LIBC_MEMFD_TMPFS
depends on ALLOW_BSD_COMPONENTS
config DEV_OPTEE_RPMSG
bool "OP-TEE RPMSG Socket Support"
select OPTEE_OPENVELA_COMPAT
depends on NET_RPMSG
depends on LIBC_MEMFD_SHMFS || LIBC_MEMFD_TMPFS
depends on ALLOW_BSD_COMPONENTS
config DEV_OPTEE_SMC
bool "OP-TEE SMC CC Support"
depends on ARCH_ARM || ARCH_ARM64
depends on LIBC_MEMFD_SHMFS || LIBC_MEMFD_TMPFS
depends on ALLOW_BSD_COMPONENTS
config DEV_OPTEE_NONE
bool "Disable OP-TEE driver"
endchoice
if DEV_OPTEE_RPMSG
config OPTEE_REMOTE_CPU_NAME
string "The cpuname on which the OP-TEE server runs"
default "tee"
endif # DEV_OPTEE_RPMSG
if DEV_OPTEE_SMC
choice
prompt "Select OP-TEE conduit method"
default DEV_OPTEE_SMC_CONDUIT_SMC
---help---
Select between the 2 supported conduit methods for invoking the secure
world: SMC (when running at EL1) and HVC (when running at EL2, which is
not supported by NuttX yet).
config DEV_OPTEE_SMC_CONDUIT_SMC
bool "Use SMC calls to invoke OP-TEE"
config DEV_OPTEE_SMC_CONDUIT_HVC
bool "Use HVC calls to invoke OP-TEE"
endchoice
endif # DEV_OPTEE_SMC
config DRVR_MKRD
bool "RAM disk wrapper (mkrd)"
default n
---help---
Build the mkrd() function which serves as a wrapper to simplify
creation of RAM disks. If the boardctrl() interface is enabled,
the selecting this option will also enable the BOARDIOC_MKRD
command that will support creation of RAM disks from applications.
config BLK_RPMSG
bool "RPMSG Block Client Support"
default n
depends on RPMSG
config BLK_RPMSG_SERVER
bool "RPMSG Block Server Support"
default n
depends on RPMSG
config GOLDFISH_PIPE
bool "Goldfish Pipe Support"
default n
# ARCH needs to support memory access while CPU is running to be able to use
# the LWL CONSOLE
config ARCH_HAVE_RDWR_MEM_CPU_RUN
bool
default n
config LWL_CONSOLE
bool "Lightweight Link Console Support"
default n
depends on DEV_CONSOLE && ARCH_HAVE_RDWR_MEM_CPU_RUN
---help---
Use the lightweight link console which provides console over a
debug channel by means of shared memory. A terminal application
for openocd as the debugger is available in tools/ocdconsole.py.
menu "Buffering"
config DRVR_WRITEBUFFER
bool "Enable write buffer support"
default n
---help---
Enable generic write buffering support that can be used by a variety
of drivers.
if DRVR_WRITEBUFFER
config DRVR_WRDELAY
int "Write flush delay"
default 350
---help---
If there is no write activity for this configured amount of time,
then the contents will be automatically flushed to the media. This
reduces the likelihood that data will be stuck in the write buffer
at the time of power down.
endif # DRVR_WRITEBUFFER
config DRVR_READAHEAD
bool "Enable read-ahead buffer support"
default n
---help---
Enable generic read-ahead buffering support that can be used by a
variety of drivers.
if DRVR_WRITEBUFFER || DRVR_READAHEAD
config DRVR_READBYTES
bool "Support byte read method"
default MTD_BYTE_WRITE
config DRVR_REMOVABLE
bool "Support removable media"
default n
config DRVR_INVALIDATE
bool "Support cache invalidation"
default n
endif # DRVR_WRITEBUFFER || DRVR_READAHEAD
endmenu # Buffering