8b92305265
This port was effort of a number of people, I rather arbitrarily gave authorship to Guiding Li because he has the largest number of fundamental quashed commits from the Xiamoi repository. Squashed commit of the following: Author: Xiang Xiao <xiaoxiang@pinecone.net> include/nuttx/b2c.h and libx/libc/string: Add non-standard string functions to deal with cases where there are more than 8-bits in a type char. Author: Gregory Nutt <gnutt@nuttx.org> Fix several build issues/missing definitiona needed for OpenAMP build in drivers/. Add OpenAMP code has been reviewed and ran through tools/nxstyle (with all reports accounted for). Author: Xiang Xiao <xiaoxiang@xiaomi.com> tools/: Fix the minor issue in Makefile Author: Gregory Nutt <gnutt@nuttx.org> drivers/rptun/rptun.c: Review for coding standard. Run against tools/nxstyle. tools/LibTargets.mk: Fix some TABs that were turned into spaces by a copy-paste. fs/hostfs: Add configure and build support for hostfs RPC. drivers/timer: Add configure and build support for syslog RTC. drivers/syslog: Add configure and build support for syslog RPC. drivers/serial: Add configure and build support for serial RPC. Kconfig, tools/*.mk. openamp/: Add basic OpenAMP build support. drivers/rptun: Add configure and build support for OpenAMP tunnel drivers. drivers/net: Update Make.defs and Kconfig for OpenSDA support. Remove drivers/clk/clk-rpmsg.c drivers/power/rpmsg_regulator.c. These depend on upstreaming support for a new subsystem based on the clk/regulator is model from Linux. Removed because we want to separate the activities. We will just try to get the basic OpenAMP support in place for now. Remove drivers/misc/misc_rpmsg.c and include/nuttx/misc/misc_rpmsg.h. These are specific to the Xiaomi application. Author: zhuyanlin <zhuyanlin@pinecone.net> This commit brings in the OpenAMP OS driver/RPC components from https://github.com/FishsemiCode/nuttx. Initial commit is source files only. Additional changes to Kconfig and Make.defs files still needed. Author: Jianli Dong <dongjianli@pinecone.net> This commit brings in the OpenAMP OS driver/RPC components from https://github.com/FishsemiCode/nuttx. Initial commit is source files only. Additional changes to Kconfig and Make.defs files still needed. Author: Guiding Li <liguiding@pinecone.net> This commit brings in the OpenAMP OS driver/RPC components from https://github.com/FishsemiCode/nuttx. Initial commit is source files only. Additional changes to Kconfig and Make.defs files still needed.
358 lines
8.4 KiB
Plaintext
358 lines
8.4 KiB
Plaintext
#
|
|
# For a description of the syntax of this configuration file,
|
|
# see the file kconfig-language.txt in the NuttX tools repository.
|
|
#
|
|
|
|
menu "Timer Driver Support"
|
|
|
|
config PWM
|
|
bool "PWM Driver Support"
|
|
default n
|
|
---help---
|
|
This selection enables building of the "upper-half" PWM driver.
|
|
See include/nuttx/timers/pwm.h for further PWM driver information.
|
|
|
|
if PWM
|
|
|
|
config PWM_PULSECOUNT
|
|
bool "PWM Pulse Count Support"
|
|
default n
|
|
depends on ARCH_HAVE_PWM_PULSECOUNT
|
|
---help---
|
|
Some hardware will support generation of a fixed number of pulses.
|
|
This might be used, for example to support a stepper motor. If the
|
|
hardware will support a fixed pulse count, then this configuration
|
|
should be set to enable the capability.
|
|
|
|
config PWM_MULTICHAN
|
|
bool "PWM Multiple Output Channel Support"
|
|
default n
|
|
depends on ARCH_HAVE_PWM_MULTICHAN
|
|
depends on !PWM_PULSECOUNT
|
|
---help---
|
|
Enables support for multiple output channels per timer.
|
|
|
|
if PWM_MULTICHAN
|
|
|
|
config PWM_NCHANNELS
|
|
int "Number of Output Channels Per Timer"
|
|
default 1
|
|
range 1 6
|
|
---help---
|
|
Specifies the number of output channels per timer. Each timer
|
|
may support fewer output channels than this value.
|
|
|
|
endif # PWM_MULTICHAN
|
|
endif # PWM
|
|
|
|
config TIMER
|
|
bool "Timer Support"
|
|
default n
|
|
---help---
|
|
This selection enables building of the "upper-half" timer
|
|
driver. See include/nuttx/timers/timer.h for further timer driver
|
|
information.
|
|
|
|
if TIMER
|
|
|
|
config TIMER_ARCH
|
|
bool "Timer Arch Implementation"
|
|
select ARCH_HAVE_TICKLESS
|
|
select ARCH_HAVE_TIMEKEEPING
|
|
---help---
|
|
Implement timer arch API on top of timer driver interface.
|
|
|
|
endif # TIMER
|
|
|
|
config ONESHOT
|
|
bool "Oneshot timer driver"
|
|
default n
|
|
---help---
|
|
This selection enables building of the "upper-half" oneshot timer
|
|
driver. See include/nuttx/timers/oneshot.h for further oneshot timer
|
|
driver information.
|
|
|
|
if ONESHOT
|
|
|
|
config ALARM_ARCH
|
|
bool "Alarm Arch Implementation"
|
|
select ARCH_HAVE_TICKLESS
|
|
select ARCH_HAVE_TIMEKEEPING
|
|
---help---
|
|
Implement alarm arch API on top of oneshot driver interface.
|
|
|
|
endif # ONESHOT
|
|
|
|
menuconfig RTC
|
|
bool "RTC Driver Support"
|
|
default n
|
|
---help---
|
|
This selection enables configuration of a real time clock (RTCdriver.
|
|
See include/nuttx/timers/rtc.h for further RTC driver information.
|
|
Most RTC drivers are MCU specific and may require other specific
|
|
settings.
|
|
|
|
if RTC
|
|
|
|
config RTC_DATETIME
|
|
bool "Date/Time RTC Support"
|
|
default n
|
|
---help---
|
|
There are two general types of RTC: (1) A simple battery backed
|
|
counter that keeps the time when power is down, and (2) a full
|
|
date / time RTC the provides the date and time information, often in
|
|
BCD format. If RTC_DATETIME is selected, it specifies this second kind
|
|
of RTC. In this case, the RTC is used to "seed" the normal NuttX timer
|
|
and the NuttX system timer provides for higher resolution time.
|
|
|
|
if !RTC_DATETIME
|
|
|
|
config RTC_HIRES
|
|
bool "Hi-Res RTC Support"
|
|
default n
|
|
---help---
|
|
If RTC_DATETIME not selected, then the simple, battery backed counter
|
|
is used. There are two different implementations of such simple
|
|
counters based on the time resolution of the counter: The typical RTC
|
|
keeps time to resolution of 1 second, usually supporting a 32-bit
|
|
time_t value. In this case, the RTC is used to "seed" the normal NuttX
|
|
timer and the NuttX timer provides for higherresoution time.
|
|
|
|
If RTC_HIRES is enabled in the NuttX configuration, then the RTC
|
|
provides higher resolution time and completely replaces the system
|
|
timer for purpose of date and time.
|
|
|
|
config RTC_FREQUENCY
|
|
int "Hi-Res RTC frequency"
|
|
default 1
|
|
depends on RTC_HIRES
|
|
---help---
|
|
If RTC_HIRES is defined, then the frequency of the high resolution RTC
|
|
must be provided. If RTC_HIRES is not defined, RTC_FREQUENCY is
|
|
assumed to be one Hz.
|
|
|
|
endif # !RTC_DATETIME
|
|
|
|
config RTC_ALARM
|
|
bool "RTC Alarm Support"
|
|
default n
|
|
---help---
|
|
Enable if the RTC hardware supports setting of an alarm. A callback
|
|
function will be executed when the alarm goes off.
|
|
|
|
config RTC_NALARMS
|
|
int "Number of alarms"
|
|
default 1
|
|
depends on RTC_ALARM
|
|
---help---
|
|
Number of alarms supported by the hardware.
|
|
|
|
config RTC_DRIVER
|
|
bool "RTC Driver Support"
|
|
default n
|
|
---help---
|
|
This selection enables building of the "upper-half" RTC
|
|
driver. See include/nuttx/timers/rtc.h for further RTC driver
|
|
information.
|
|
|
|
if RTC_DRIVER
|
|
|
|
config RTC_ARCH
|
|
bool "RTC Arch Implementation"
|
|
default n
|
|
---help---
|
|
Implement RTC arch API on top of RTC driver interface.
|
|
|
|
config RTC_PERIODIC
|
|
bool "RTC Periodic Interrupts"
|
|
default n
|
|
---help---
|
|
Add interrupt controls for RTCs that support periodic interrupts.
|
|
|
|
config RTC_IOCTL
|
|
bool "RTC IOCTLs"
|
|
default n
|
|
---help---
|
|
Support the RTC interface ioctl() method. This allows you to add
|
|
architecture-specific RTC operations to the RTC interface
|
|
|
|
endif # RTC_DRIVER
|
|
|
|
config RTC_EXTERNAL
|
|
bool "External RTC Support"
|
|
default n
|
|
---help---
|
|
In modern MCUs, the RTC is usually implement as an internal
|
|
peripheral to the MCU. An option is to use an external RTC
|
|
connected to the MCU typically via SPI or I2C.
|
|
|
|
If an external RTC is connect to the MCU through some bus, then the
|
|
RTC will not be available to the system until after the system
|
|
fully boots up and is able to access the bus. In that case, this
|
|
setting must be included to suppress attempts to initialize the RTC
|
|
early in the boot sequence.
|
|
|
|
config RTC_DSXXXX
|
|
bool "DS130x/DS323x RTC Driver"
|
|
default n
|
|
select I2C
|
|
select RTC_DATETIME
|
|
depends on RTC_EXTERNAL
|
|
---help---
|
|
Enables support for the Maxim Integrated DS3231 I2C RTC timer.
|
|
|
|
if RTC_DSXXXX
|
|
|
|
choice
|
|
prompt "Maxim Integrated RTC"
|
|
default RTC_DS3231
|
|
|
|
config RTC_DS1302
|
|
bool "DS1302"
|
|
---help---
|
|
Enables support for the Maxim Integrated DS1302 serial RTC timer.
|
|
|
|
config RTC_DS1307
|
|
bool "DS1307"
|
|
---help---
|
|
Enables support for the Maxim Integrated DS1307 I2C RTC timer.
|
|
|
|
config RTC_DS3231
|
|
bool "DS3231"
|
|
---help---
|
|
Enables support for the Maxim Integrated DS3231 I2C RTC timer.
|
|
|
|
config RTC_DS3232
|
|
bool "DS3232"
|
|
---help---
|
|
Enables support for the Maxim Integrated DS3232 I2C RTC timer.
|
|
|
|
config RTC_DS3234
|
|
bool "DS3234"
|
|
depends on EXPERIMENTAL
|
|
---help---
|
|
Enables support for the Maxim Integrated DS3234 SPI RTC timer.
|
|
|
|
Not yet implemented.
|
|
|
|
endchoice # Maxim Integrated RTC
|
|
|
|
config DS3231_I2C_FREQUENCY
|
|
int "DS1307/DS323x I2C frequency"
|
|
default 400000
|
|
range 1 400000
|
|
|
|
endif # RTC_DSXXXX
|
|
|
|
config RTC_PCF85263
|
|
bool "PCF85263 RTC Driver"
|
|
default n
|
|
select I2C
|
|
select RTC_DATETIME
|
|
depends on RTC_EXTERNAL
|
|
---help---
|
|
Enables support for the NXP PCF85263 I2C RTC timer.
|
|
|
|
if RTC_PCF85263
|
|
|
|
config PCF85263_I2C_FREQUENCY
|
|
int "PCF85263 I2C frequency"
|
|
default 400000
|
|
range 1 400000
|
|
|
|
endif # RTC_PCF85263
|
|
|
|
config RTC_MCP794XX
|
|
bool "MCP794XX RTC Driver"
|
|
default n
|
|
select I2C
|
|
select RTC_DATETIME
|
|
depends on RTC_EXTERNAL
|
|
---help---
|
|
Enables support for the Microchip MCP794XX I2C RTC timer.
|
|
|
|
if RTC_MCP794XX
|
|
|
|
config MCP794XX_I2C_FREQUENCY
|
|
int "MCP794XX I2C frequency"
|
|
default 400000
|
|
range 1 400000
|
|
|
|
endif # RTC_MCP794XX
|
|
|
|
config RTC_RPMSG
|
|
bool "Rpmsg RTC Driver"
|
|
default n
|
|
depends on OPENAMP
|
|
depends on RTC_EXTERNAL
|
|
select ARCH_HAVE_RTC_SUBSECONDS
|
|
|
|
endif # RTC
|
|
|
|
menuconfig WATCHDOG
|
|
bool "Watchdog Timer Support"
|
|
default n
|
|
---help---
|
|
This selection enables building of the "upper-half" watchdog timer
|
|
driver. See include/nuttx/timers/watchdog.h for further watchdog timer driver
|
|
information.
|
|
|
|
if WATCHDOG
|
|
|
|
config WATCHDOG_DEVPATH
|
|
string "Watchdog Device Path"
|
|
default "/dev/watchdog0"
|
|
|
|
config WATCHDOG_AUTOMONITOR
|
|
bool "Auto-monitor"
|
|
---help---
|
|
The auto-monitor provides an OS-internal mechanism for automatically
|
|
start and repeatly reset the counting after the watchdog is register.
|
|
|
|
if WATCHDOG_AUTOMONITOR
|
|
|
|
config WATCHDOG_AUTOMONITOR_TIMEOUT
|
|
int "Auto-monitor reset timeout(second)"
|
|
default 60
|
|
|
|
choice
|
|
prompt "Auto-monitor keepalive by"
|
|
default WATCHDOG_AUTOMONITOR_BY_TIMER
|
|
|
|
config WATCHDOG_AUTOMONITOR_BY_CAPTURE
|
|
bool "Capture callback"
|
|
|
|
config WATCHDOG_AUTOMONITOR_BY_TIMER
|
|
bool "Timer callback"
|
|
|
|
config WATCHDOG_AUTOMONITOR_BY_WORKER
|
|
bool "Worker callback"
|
|
depends on SCHED_WORKQUEUE
|
|
|
|
config WATCHDOG_AUTOMONITOR_BY_IDLE
|
|
bool "Idle callback"
|
|
depends on PM
|
|
|
|
endchoice
|
|
|
|
endif # WATCHDOG_AUTOMONITOR
|
|
|
|
endif # WATCHDOG
|
|
|
|
config TIMERS_CS2100CP
|
|
bool "CS2100-CP Fraction-N Clock Multiplier"
|
|
depends on I2C
|
|
|
|
if TIMERS_CS2100CP
|
|
|
|
config CS2100CP_DEBUG
|
|
bool "Enable CS2100-CP Debug Features"
|
|
depends on DEBUG_FEATURES
|
|
|
|
config CS2100CP_REGDEBUG
|
|
bool "Enable CS2100-CP Register Debug"
|
|
depends on DEBUG_FEATURES
|
|
|
|
endif # TIMERS_CS2100CP
|
|
endmenu # Timer Driver Support
|