Documentation: add dummy pages for missing filesystems and drivers
This commit is contained in:
parent
870139e45f
commit
d72c6802c1
@ -1,5 +1,5 @@
|
||||
==============
|
||||
Boards support
|
||||
Boards Support
|
||||
==============
|
||||
|
||||
This page discusses the board support logic for NuttX.
|
||||
|
97
Documentation/components/drivers/block/eeprom.rst
Normal file
97
Documentation/components/drivers/block/eeprom.rst
Normal file
@ -0,0 +1,97 @@
|
||||
======
|
||||
EEPROM
|
||||
======
|
||||
|
||||
EEPROMs are a form of Memory
|
||||
Technology Device (MTD). EEPROMs are non-volatile memory like FLASH, but
|
||||
differ in underlying memory technology and differ in usage in many respects:
|
||||
They may not be organized into blocks (at least from the standpoint of the
|
||||
user) and it is not necessary to erase the EEPROM memory before re-writing
|
||||
it. In addition, EEPROMs tend to be much smaller than FLASH parts, usually
|
||||
only a few kilobytes vs megabytes for FLASH. EEPROM tends to be used to
|
||||
retain a small amount of device configuration information; FLASH tends
|
||||
to be used for program or massive data storage. For these reasons, it may
|
||||
not be convenient to use the more complex MTD interface but instead use
|
||||
the simple character interface provided by the EEPROM drivers.
|
||||
|
||||
EEPROM Device Support
|
||||
=====================
|
||||
|
||||
drivers/eeprom/spi_xx25xx.c
|
||||
---------------------------
|
||||
|
||||
This is a driver for SPI EEPROMs that use the same commands as the
|
||||
25AA160::
|
||||
|
||||
Manufacturer Device Bytes PgSize AddrLen
|
||||
Microchip
|
||||
25xx010A 128 16 1
|
||||
25xx020A 256 16 1
|
||||
25AA02UID 256 16 1
|
||||
25AA02E48 256 16 1
|
||||
25AA02E64 256 16 1
|
||||
25xx040 512 16 1+bit
|
||||
25xx040A 512 16 1+bit
|
||||
25xx080 1024 16 1
|
||||
25xx080A 1024 16 2
|
||||
25xx080B 1024 32 2
|
||||
25xx080C 1024 16 x
|
||||
25xx080D 1024 32 x
|
||||
25xx160 2048 16 2
|
||||
25xx160A/C 2048 16 2 TESTED
|
||||
25xx160B/D 2048 32 2
|
||||
25xx160C 2048 16 2
|
||||
25xx160D 2048 32 2
|
||||
25xx320 4096 32 2
|
||||
25xx320A 4096 32 2
|
||||
25xx640 8192 32 2
|
||||
25xx640A 8192 32 2
|
||||
25xx128 16384 64 2
|
||||
25xx256 32768 64 2
|
||||
25xx512 65536 128 2
|
||||
25xx1024 131072 256 3
|
||||
Atmel
|
||||
AT25010B 128 8 1
|
||||
AT25020B 256 8 1
|
||||
AT25040B 512 8 1+bit
|
||||
AT25080B 1024 32 2
|
||||
AT25160B 2048 32 2
|
||||
AT25320B 4096 32 2
|
||||
AT25640B 8192 32 2
|
||||
AT25128B 16384 64 2
|
||||
AT25256B 32768 64 2
|
||||
AT25512 65536 128 2
|
||||
AT25M01 131072 256 3
|
||||
|
||||
drivers/mtd/at24xx.c
|
||||
--------------------
|
||||
|
||||
This is a driver for I2C-based at24cxx EEPROM (at24c32, at24c64, at24c128,
|
||||
at24c256, at24c512). This driver is currently provided as an MTD driver
|
||||
but could easily be modified to support the character driver interface.
|
||||
|
||||
File Systems
|
||||
============
|
||||
|
||||
Most EEPROM parts are too small to be candidates for use with a file
|
||||
system. The character driver interface is optimal for these small parts
|
||||
because you can open and access the EEPROM part as if it were a single,
|
||||
fixed size file.
|
||||
|
||||
It is also possible to use these character drivers with a file system.
|
||||
The character driver can converted to a block device using the NuttX loop
|
||||
device. The loop device can be found the file drivers/loop.c. Interface
|
||||
function prototypes can be found in include/nuttx/fs/fs.h::
|
||||
|
||||
int losetup(FAR const char *devname, FAR const char *filename,
|
||||
uint16_t sectsize, off_t offset, bool readonly);
|
||||
|
||||
Given a file or character devices at 'filename', losetup will create the
|
||||
block device 'devname' using a bogus sector size of sectsize. 'offset' is
|
||||
normally zero but can be used to provide an offset into the EEPROM where
|
||||
the block driver data starts; The EEPROM block driver can also be read-
|
||||
only.
|
||||
|
||||
There is a corresponding function that will destroy the loop device::
|
||||
|
||||
int loteardown(FAR const char *devname);
|
@ -2,6 +2,13 @@
|
||||
Block Device Drivers
|
||||
====================
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
eeprom.rst
|
||||
ramdisk.rst
|
||||
|
||||
|
||||
Block device drivers have these properties:
|
||||
|
||||
- ``include/nuttx/fs/fs.h``. All structures and APIs needed
|
||||
@ -37,107 +44,3 @@ Block device drivers have these properties:
|
||||
|
||||
- **Examples**. ``drivers/loop.c``,
|
||||
``drivers/mmcsd/mmcsd_spi.c``, ``drivers/ramdisk.c``, etc.
|
||||
|
||||
``ramdisk.c``
|
||||
=============
|
||||
|
||||
Can be used to set up a block of memory or (read-only) FLASH as
|
||||
a block driver that can be mounted as a file system. See
|
||||
include/nuttx/drivers/ramdisk.h.
|
||||
|
||||
EEPROM
|
||||
======
|
||||
|
||||
EEPROMs are a form of Memory
|
||||
Technology Device (MTD). EEPROMs are non-volatile memory like FLASH, but
|
||||
differ in underlying memory technology and differ in usage in many respects:
|
||||
They may not be organized into blocks (at least from the standpoint of the
|
||||
user) and it is not necessary to erase the EEPROM memory before re-writing
|
||||
it. In addition, EEPROMs tend to be much smaller than FLASH parts, usually
|
||||
only a few kilobytes vs megabytes for FLASH. EEPROM tends to be used to
|
||||
retain a small amount of device configuration information; FLASH tends
|
||||
to be used for program or massive data storage. For these reasons, it may
|
||||
not be convenient to use the more complex MTD interface but instead use
|
||||
the simple character interface provided by the EEPROM drivers.
|
||||
|
||||
EEPROM Device Support
|
||||
---------------------
|
||||
|
||||
drivers/eeprom/spi_xx25xx.c
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
This is a driver for SPI EEPROMs that use the same commands as the
|
||||
25AA160::
|
||||
|
||||
Manufacturer Device Bytes PgSize AddrLen
|
||||
Microchip
|
||||
25xx010A 128 16 1
|
||||
25xx020A 256 16 1
|
||||
25AA02UID 256 16 1
|
||||
25AA02E48 256 16 1
|
||||
25AA02E64 256 16 1
|
||||
25xx040 512 16 1+bit
|
||||
25xx040A 512 16 1+bit
|
||||
25xx080 1024 16 1
|
||||
25xx080A 1024 16 2
|
||||
25xx080B 1024 32 2
|
||||
25xx080C 1024 16 x
|
||||
25xx080D 1024 32 x
|
||||
25xx160 2048 16 2
|
||||
25xx160A/C 2048 16 2 TESTED
|
||||
25xx160B/D 2048 32 2
|
||||
25xx160C 2048 16 2
|
||||
25xx160D 2048 32 2
|
||||
25xx320 4096 32 2
|
||||
25xx320A 4096 32 2
|
||||
25xx640 8192 32 2
|
||||
25xx640A 8192 32 2
|
||||
25xx128 16384 64 2
|
||||
25xx256 32768 64 2
|
||||
25xx512 65536 128 2
|
||||
25xx1024 131072 256 3
|
||||
Atmel
|
||||
AT25010B 128 8 1
|
||||
AT25020B 256 8 1
|
||||
AT25040B 512 8 1+bit
|
||||
AT25080B 1024 32 2
|
||||
AT25160B 2048 32 2
|
||||
AT25320B 4096 32 2
|
||||
AT25640B 8192 32 2
|
||||
AT25128B 16384 64 2
|
||||
AT25256B 32768 64 2
|
||||
AT25512 65536 128 2
|
||||
AT25M01 131072 256 3
|
||||
|
||||
drivers/mtd/at24xx.c
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
This is a driver for I2C-based at24cxx EEPROM (at24c32, at24c64, at24c128,
|
||||
at24c256, at24c512). This driver is currently provided as an MTD driver
|
||||
but could easily be modified to support the character driver interface.
|
||||
|
||||
File Systems
|
||||
------------
|
||||
|
||||
Most EEPROM parts are too small to be candidates for use with a file
|
||||
system. The character driver interface is optimal for these small parts
|
||||
because you can open and access the EEPROM part as if it were a single,
|
||||
fixed size file.
|
||||
|
||||
It is also possible to use these character drivers with a file system.
|
||||
The character driver can converted to a block device using the NuttX loop
|
||||
device. The loop device can be found the file drivers/loop.c. Interface
|
||||
function prototypes can be found in include/nuttx/fs/fs.h::
|
||||
|
||||
int losetup(FAR const char *devname, FAR const char *filename,
|
||||
uint16_t sectsize, off_t offset, bool readonly);
|
||||
|
||||
Given a file or character devices at 'filename', losetup will create the
|
||||
block device 'devname' using a bogus sector size of sectsize. 'offset' is
|
||||
normally zero but can be used to provide an offset into the EEPROM where
|
||||
the block driver data starts; The EEPROM block driver can also be read-
|
||||
only.
|
||||
|
||||
There is a corresponding function that will destroy the loop device::
|
||||
|
||||
int loteardown(FAR const char *devname);
|
||||
|
7
Documentation/components/drivers/block/ramdisk.rst
Normal file
7
Documentation/components/drivers/block/ramdisk.rst
Normal file
@ -0,0 +1,7 @@
|
||||
=============
|
||||
``ramdisk.c``
|
||||
=============
|
||||
|
||||
Can be used to set up a block of memory or (read-only) FLASH as
|
||||
a block driver that can be mounted as a file system. See
|
||||
include/nuttx/drivers/ramdisk.h.
|
3
Documentation/components/drivers/character/1wire.rst
Normal file
3
Documentation/components/drivers/character/1wire.rst
Normal file
@ -0,0 +1,3 @@
|
||||
================
|
||||
One Wire Drivers
|
||||
================
|
3
Documentation/components/drivers/character/bch.rst
Normal file
3
Documentation/components/drivers/character/bch.rst
Normal file
@ -0,0 +1,3 @@
|
||||
================================
|
||||
Block Driver to Character Driver
|
||||
================================
|
@ -0,0 +1,3 @@
|
||||
====================
|
||||
Constactless Devices
|
||||
====================
|
@ -0,0 +1,8 @@
|
||||
==============
|
||||
Crypto Drivers
|
||||
==============
|
||||
|
||||
.. toctree::
|
||||
:caption: Supported Drivers
|
||||
|
||||
se05x.rst
|
3
Documentation/components/drivers/character/efuse.rst
Normal file
3
Documentation/components/drivers/character/efuse.rst
Normal file
@ -0,0 +1,3 @@
|
||||
=============
|
||||
EFUSE Drivers
|
||||
=============
|
5
Documentation/components/drivers/character/i2s.rst
Normal file
5
Documentation/components/drivers/character/i2s.rst
Normal file
@ -0,0 +1,5 @@
|
||||
===========
|
||||
I2S Drivers
|
||||
===========
|
||||
|
||||
See ``include/nuttx/audio/i2s.h``.
|
@ -52,20 +52,28 @@ Character device drivers have these properties:
|
||||
|
||||
.. toctree::
|
||||
:caption: Supported Drivers
|
||||
:maxdepth: 2
|
||||
|
||||
serial.rst
|
||||
touchscreen.rst
|
||||
1wire.rst
|
||||
analog.rst
|
||||
pwm.rst
|
||||
bch.rst
|
||||
can.rst
|
||||
quadrature.rst
|
||||
timer.rst
|
||||
rtc.rst
|
||||
watchdog.rst
|
||||
keypad.rst
|
||||
contactless.rst
|
||||
crypto/index.rst
|
||||
efuse.rst
|
||||
i2s.rst
|
||||
input/index.rst
|
||||
ipcc.rst
|
||||
leds/index.rst
|
||||
loop.rst
|
||||
math.rst
|
||||
modem.rst
|
||||
motor/index.rst
|
||||
note.rst
|
||||
foc.rst
|
||||
ws2812.rst
|
||||
se05x.rst
|
||||
nullzero.rst
|
||||
|
||||
quadrature.rst
|
||||
rc.rst
|
||||
rf.rst
|
||||
serial.rst
|
||||
timers/index.rst
|
||||
touchscreen.rst
|
||||
|
10
Documentation/components/drivers/character/input/index.rst
Normal file
10
Documentation/components/drivers/character/input/index.rst
Normal file
@ -0,0 +1,10 @@
|
||||
=============
|
||||
Input Devices
|
||||
=============
|
||||
|
||||
.. toctree::
|
||||
:caption: Supported Drivers
|
||||
|
||||
keypad.rst
|
||||
|
||||
See ``include/nuttx/input/*.h`` for registration information.
|
3
Documentation/components/drivers/character/ipcc.rst
Normal file
3
Documentation/components/drivers/character/ipcc.rst
Normal file
@ -0,0 +1,3 @@
|
||||
======================================================
|
||||
IPCC (Inter Processor Communication Controller) Driver
|
||||
======================================================
|
@ -0,0 +1,8 @@
|
||||
====
|
||||
LEDS
|
||||
====
|
||||
|
||||
.. toctree::
|
||||
:caption: Supported Drivers
|
||||
|
||||
ws2812.rst
|
6
Documentation/components/drivers/character/loop.rst
Normal file
6
Documentation/components/drivers/character/loop.rst
Normal file
@ -0,0 +1,6 @@
|
||||
===========
|
||||
Loop Device
|
||||
===========
|
||||
|
||||
Supports the standard loop device that can be used to export a
|
||||
file (or character device) as a block device.
|
3
Documentation/components/drivers/character/math.rst
Normal file
3
Documentation/components/drivers/character/math.rst
Normal file
@ -0,0 +1,3 @@
|
||||
=========================
|
||||
Math Acceleration Drivers
|
||||
=========================
|
3
Documentation/components/drivers/character/modem.rst
Normal file
3
Documentation/components/drivers/character/modem.rst
Normal file
@ -0,0 +1,3 @@
|
||||
============
|
||||
Modem Device
|
||||
============
|
@ -0,0 +1,8 @@
|
||||
=============
|
||||
Motor Drivers
|
||||
=============
|
||||
|
||||
.. toctree::
|
||||
:caption: Supported Drivers
|
||||
|
||||
foc.rst
|
3
Documentation/components/drivers/character/rc.rst
Normal file
3
Documentation/components/drivers/character/rc.rst
Normal file
@ -0,0 +1,3 @@
|
||||
======================
|
||||
Remote Control Devices
|
||||
======================
|
3
Documentation/components/drivers/character/rf.rst
Normal file
3
Documentation/components/drivers/character/rf.rst
Normal file
@ -0,0 +1,3 @@
|
||||
==========
|
||||
RF Devices
|
||||
==========
|
12
Documentation/components/drivers/character/timers/index.rst
Normal file
12
Documentation/components/drivers/character/timers/index.rst
Normal file
@ -0,0 +1,12 @@
|
||||
==============
|
||||
Timers Drivers
|
||||
==============
|
||||
|
||||
.. toctree::
|
||||
:caption: Supported Drivers
|
||||
|
||||
timer.rst
|
||||
pwm.rst
|
||||
watchdog.rst
|
||||
rtc.rst
|
||||
|
@ -30,48 +30,57 @@ Drivers in NuttX generally work in two distinct layers:
|
||||
* A "lower half" which is typically hardware-specific. This is
|
||||
usually implemented at the architecture or board level.
|
||||
|
||||
Subdirectories of `nuttx/drivers`
|
||||
=================================
|
||||
Subdirectories of ``nuttx/drivers``
|
||||
===================================
|
||||
|
||||
* ``analog/``
|
||||
* ``1wire/`` :doc:`character/1wire`
|
||||
|
||||
1wire device drivers.
|
||||
|
||||
* ``analog/`` :doc:`character/analog`
|
||||
|
||||
This directory holds implementations of analog device drivers.
|
||||
This includes drivers for Analog to Digital Conversion (ADC) as
|
||||
well as drivers for Digital to Analog Conversion (DAC).
|
||||
See ``include/nuttx/analog/*.h`` for registration information.
|
||||
|
||||
* ``audio/``
|
||||
* ``audio/`` :doc:`special/audio`
|
||||
|
||||
Audio device drivers.
|
||||
|
||||
See ``include/nuttx/audio/audio.h`` for interface definitions.
|
||||
See also the audio subsystem at ``nuttx/audio/``.
|
||||
|
||||
* ``bch/``
|
||||
* ``bch/`` :doc:`character/bch`
|
||||
|
||||
Contains logic that may be used to convert a block driver into
|
||||
a character driver. This is the complementary conversion as that
|
||||
performed by loop.c.
|
||||
|
||||
See ``include/nuttx/fs/fs.h`` for registration information.
|
||||
|
||||
* ``can/``
|
||||
* ``can/`` :doc:`character/can`
|
||||
|
||||
This is the CAN drivers and logic support.
|
||||
|
||||
See ``include/nuttx/can/can.h`` for usage information.
|
||||
* ``clk/``:doc:`special/clk`
|
||||
|
||||
* ``contactless/``
|
||||
Clock management (CLK) device drivers.
|
||||
|
||||
* ``contactless/`` :doc:`character/contactless`
|
||||
|
||||
Contactless devices are related to wireless devices. They are not
|
||||
communication devices with other similar peers, but couplers/interfaces
|
||||
to contactless cards and tags.
|
||||
|
||||
* ``crypto/``
|
||||
* ``crypto/`` :doc:`character/crypto/index`
|
||||
|
||||
Contains crypto drivers and support logic, including the ``/dev/urandom`` device.
|
||||
Contains crypto drivers and support logic, including the
|
||||
``/dev/urandom`` device.
|
||||
|
||||
* ``eeprom/``
|
||||
* ``devicetree/`` :doc:`special/devicetree`
|
||||
|
||||
Device Tree support.
|
||||
|
||||
* ``dma/`` :doc:`special/dma`
|
||||
|
||||
DMA drivers support.
|
||||
|
||||
* ``eeprom/`` :doc:`block/eeprom`
|
||||
|
||||
An EEPROM is a form of Memory Technology Device (see ``drivers/mtd``).
|
||||
EEPROMs are non-volatile memory like FLASH, but differ in underlying
|
||||
@ -86,90 +95,123 @@ Subdirectories of `nuttx/drivers`
|
||||
interface but instead use the simple character interface provided by
|
||||
the EEPROM drivers.
|
||||
|
||||
* ``i2c/``
|
||||
* ``efuse/`` :doc:`character/efuse`
|
||||
|
||||
EFUSE drivers support.
|
||||
|
||||
* ``i2c/`` :doc:`special/i2c`
|
||||
|
||||
I2C drivers and support logic.
|
||||
|
||||
See ``include/nuttx/i2c/i2c_master.h``
|
||||
|
||||
* ``i2s/``
|
||||
* ``i2s/`` :doc:`character/i2s`
|
||||
|
||||
I2S drivers and support logic.
|
||||
|
||||
See ``include/nuttx/audio/i2s.h``
|
||||
|
||||
* ``input/``
|
||||
* ``input/`` :doc:`character/input/index`
|
||||
|
||||
This directory holds implementations of human input device (HID) drivers.
|
||||
This includes such things as mouse, touchscreen, joystick,
|
||||
keyboard and keypad drivers.
|
||||
|
||||
See ``include/nuttx/input/*.h`` for registration information.
|
||||
|
||||
Note that USB HID devices are treated differently. These can be found under
|
||||
``usbdev/`` or ``usbhost/``.
|
||||
|
||||
* ``lcd/``
|
||||
* ``ioexpander/`` :doc:`special/ioexpander`
|
||||
|
||||
Drivers for parallel and serial LCD and OLED type devices. These drivers support
|
||||
interfaces as defined in ``include/nuttx/lcd/lcd.h``
|
||||
IO Expander drivers.
|
||||
|
||||
* ``leds/``
|
||||
* ``ipcc/`` :doc:`character/ipcc`
|
||||
|
||||
IPCC (Inter Processor Communication Controller) driver.
|
||||
|
||||
* ``lcd/`` :doc:`special/lcd`
|
||||
|
||||
Drivers for parallel and serial LCD and OLED type devices.
|
||||
|
||||
* ``leds/`` :doc:`character/leds/index`
|
||||
|
||||
Various LED-related drivers including discrete as well as PWM- driven LEDs.
|
||||
|
||||
* ``loop/``
|
||||
* ``loop/`` :doc:`character/loop`
|
||||
|
||||
Supports the standard loop device that can be used to export a
|
||||
file (or character device) as a block device.
|
||||
|
||||
See ``losetup()`` and ``loteardown()`` in ``include/nuttx/fs/fs.h``.
|
||||
|
||||
* ``mmcsd/``
|
||||
* ``math/`` :doc:`character/math`
|
||||
|
||||
MATH Acceleration drivers.
|
||||
|
||||
* ``misc/`` :doc:`character/nullzero` :doc:`special/rwbuffer` :doc:`block/ramdisk`
|
||||
|
||||
Various drivers that don't fit elsewhere.
|
||||
|
||||
* ``mmcsd/`` :doc:`special/sdio` :doc:`special/mmcsd`
|
||||
|
||||
Support for MMC/SD block drivers. MMC/SD block drivers based on
|
||||
SPI and SDIO/MCI interfaces are supported.
|
||||
|
||||
See include/nuttx/mmcsd.h and include/nuttx/sdio.h for further information.
|
||||
* ``modem/`` :doc:`character/modem`
|
||||
|
||||
* ``mtd/``
|
||||
Modem Support.
|
||||
|
||||
* ``motor/`` :doc:`character/motor/index`
|
||||
|
||||
Motor control drivers.
|
||||
|
||||
* ``mtd/`` :doc:`special/mtd`
|
||||
|
||||
Memory Technology Device (MTD) drivers. Some simple drivers for
|
||||
memory technologies like FLASH, EEPROM, NVRAM, etc.
|
||||
|
||||
|
||||
See ``include/nuttx/mtd/mtd.h``
|
||||
|
||||
(Note: This is a simple memory interface and should not be
|
||||
confused with the "real" MTD developed at infradead.org. This
|
||||
logic is unrelated; I just used the name MTD because I am not
|
||||
aware of any other common way to refer to this class of devices).
|
||||
|
||||
* ``net/``
|
||||
* ``net/`` :doc:`special/net/index`
|
||||
|
||||
Network interface drivers.
|
||||
|
||||
See also ``include/nuttx/net/net.h``
|
||||
* ``notes/`` :doc:`character/note`
|
||||
|
||||
* ``pipes/``
|
||||
Note Driver Support.
|
||||
|
||||
FIFO and named pipe drivers. Standard interfaces are declared in ``include/unistd.h``
|
||||
* ``pipes/`` :doc:`special/pipes`
|
||||
|
||||
* ``power/``
|
||||
FIFO and named pipe drivers.
|
||||
Standard interfaces are declared in ``include/unistd.h``
|
||||
|
||||
Power management (PM) driver interfaces. These interfaces are used
|
||||
to manage power usage of a platform by monitoring driver activity
|
||||
and by placing drivers into reduce power usage modes when the
|
||||
drivers are not active.
|
||||
* ``power/`` :doc:`special/power/index`
|
||||
|
||||
* ``pwm/``
|
||||
Various drivers related to power managament.
|
||||
|
||||
Provides the "upper half" of a pulse width modulation (PWM) driver.
|
||||
The "lower half" of the PWM driver is provided by device-specific logic.
|
||||
* ``rc/`` :doc:`character/rc`
|
||||
|
||||
See ``include/nuttx/timers/pwm.h`` for usage information.
|
||||
Remote Control Device Support.
|
||||
|
||||
* ``sensors/``
|
||||
* ``regmap/`` :doc:`special/regmap`
|
||||
|
||||
Regmap Subsystems Support.
|
||||
|
||||
* ``reset/`` :doc:`special/reset`
|
||||
|
||||
Reset Driver Support.
|
||||
|
||||
* ``rf/`` :doc:`character/rf`
|
||||
|
||||
RF Device Support.
|
||||
|
||||
* ``rptun/`` :doc:`special/rptun`
|
||||
|
||||
Remote Proc Tunnel Driver Support.
|
||||
|
||||
* ``segger/`` :doc:`special/segger`
|
||||
|
||||
Segger RTT drivers.
|
||||
|
||||
* ``sensors/`` :doc:`special/sensors`
|
||||
|
||||
Drivers for various sensors. A sensor driver differs little from
|
||||
other types of drivers other than they are use to provide measurements
|
||||
@ -180,57 +222,53 @@ Subdirectories of `nuttx/drivers`
|
||||
measure and convert voltage levels. DACs, however, are retained in
|
||||
the ``analog/`` sub-directory.
|
||||
|
||||
* ``serial/``
|
||||
* ``serial/``:doc:`character/serial`
|
||||
|
||||
Front-end character drivers for chip-specific UARTs.
|
||||
This provide some TTY-like functionality and are commonly used (but
|
||||
not required for) the NuttX system console.
|
||||
|
||||
See also ``include/nuttx/serial/serial.h``
|
||||
|
||||
* ``spi/``
|
||||
* ``spi/`` :doc:`special/spi`
|
||||
|
||||
SPI drivers and support logic.
|
||||
|
||||
See ``include/nuttx/spi/spi.h``
|
||||
|
||||
* ``syslog/``
|
||||
* ``syslog/`` :doc:`special/syslog`
|
||||
|
||||
System logging devices.
|
||||
|
||||
See ``include/syslog.h`` and ``include/nuttx/syslog/syslog.h``
|
||||
* ``timers/`` :doc:`character/timers/index`
|
||||
|
||||
* ``timers/``
|
||||
Includes support for various timer devices.
|
||||
|
||||
Includes support for various timer devices including:
|
||||
|
||||
- An "upper half" for a generic timer driver.
|
||||
See ``include/nuttx/timers/timer.h`` for more information.
|
||||
|
||||
- An "upper half" for a generic watchdog driver.
|
||||
See ``include/nuttx/timers/watchdog.h`` for more information.
|
||||
|
||||
- RTC drivers
|
||||
|
||||
* ``usbdev/``
|
||||
* ``usbdev/`` :doc:`special/usbdev`
|
||||
|
||||
USB device drivers.
|
||||
|
||||
See also ``include/nuttx/usb/usbdev.h``
|
||||
|
||||
* ``usbhost/``
|
||||
* ``usbhost/`` :doc:`special/usbhost`
|
||||
|
||||
USB host drivers.
|
||||
|
||||
See also ``include/nuttx/usb/usbhost.h``
|
||||
* ``usbmisc/`` :doc:`special/usbmisc`
|
||||
|
||||
* ``video/``
|
||||
USB Miscellaneous drivers.
|
||||
|
||||
* ``usbmonitor/`` :doc:`special/usbmonitor`
|
||||
|
||||
USB Monitor support.
|
||||
|
||||
* ``usrsock/`` :doc:`special/usrsock`
|
||||
|
||||
Usrsock Driver Support.
|
||||
|
||||
* ``video/`` :doc:`special/video`
|
||||
|
||||
Video-related drivers.
|
||||
|
||||
See ``include/nuttx/video/``
|
||||
* ``virtio/`` :doc:`special/virtio`
|
||||
|
||||
* ``wireless/``
|
||||
Virtio Device Support.
|
||||
|
||||
* ``wireless/`` :doc:`special/wireless`
|
||||
|
||||
Drivers for various wireless devices.
|
||||
|
||||
|
6
Documentation/components/drivers/special/audio.rst
Normal file
6
Documentation/components/drivers/special/audio.rst
Normal file
@ -0,0 +1,6 @@
|
||||
====================
|
||||
Audio Device Drivers
|
||||
====================
|
||||
|
||||
See ``include/nuttx/audio/audio.h`` for interface definitions.
|
||||
See also the audio subsystem at ``nuttx/audio/``.
|
3
Documentation/components/drivers/special/clk.rst
Normal file
3
Documentation/components/drivers/special/clk.rst
Normal file
@ -0,0 +1,3 @@
|
||||
======================
|
||||
Clock management (CLK)
|
||||
======================
|
3
Documentation/components/drivers/special/devicetree.rst
Normal file
3
Documentation/components/drivers/special/devicetree.rst
Normal file
@ -0,0 +1,3 @@
|
||||
===================
|
||||
Device Tree support
|
||||
===================
|
3
Documentation/components/drivers/special/dma.rst
Normal file
3
Documentation/components/drivers/special/dma.rst
Normal file
@ -0,0 +1,3 @@
|
||||
===========
|
||||
DMA Drivers
|
||||
===========
|
@ -2,8 +2,9 @@
|
||||
I2C Device Drivers
|
||||
==================
|
||||
|
||||
- ``include/nuttx/i2c/i2c.h``. All structures and APIs needed
|
||||
to work with I2C drivers are provided in this header file.
|
||||
- ``include/nuttx/i2c/i2c_master.h`` and ``include/nuttx/i2c/i2c_slave.h``.
|
||||
All structures and APIs needed to work with I2C drivers are provided in
|
||||
this header file.
|
||||
|
||||
- ``struct i2c_ops_s``. Each I2C device driver must implement
|
||||
an instance of ``struct i2c_ops_s``. That structure defines a
|
||||
|
@ -22,17 +22,33 @@ following section.
|
||||
.. toctree::
|
||||
:caption: Supported Drivers
|
||||
|
||||
syslog.rst
|
||||
spi.rst
|
||||
i2c.rst
|
||||
ethernet.rst
|
||||
audio.rst
|
||||
clk.rst
|
||||
devicetree.rst
|
||||
dma.rst
|
||||
framebuffer.rst
|
||||
i2c.rst
|
||||
ioexpander.rst
|
||||
lcd.rst
|
||||
mtd.rst
|
||||
sdio.rst
|
||||
usbhost.rst
|
||||
usbdev.rst
|
||||
rwbuffer.rst
|
||||
regmap.rst
|
||||
reset.rst
|
||||
rptun.rst
|
||||
rwbuffer.rst
|
||||
sensors.rst
|
||||
segger.rst
|
||||
spi.rst
|
||||
syslog.rst
|
||||
sdio.rst
|
||||
usbdev.rst
|
||||
usbhost.rst
|
||||
usbmisc.rst
|
||||
usbmonitor.rst
|
||||
usrsock.rst
|
||||
mmcsd.rst
|
||||
net/index.rst
|
||||
pipes.rst
|
||||
power/index.rst
|
||||
virtio.rst
|
||||
video.rst
|
||||
wireless.rst
|
||||
|
3
Documentation/components/drivers/special/ioexpander.rst
Normal file
3
Documentation/components/drivers/special/ioexpander.rst
Normal file
@ -0,0 +1,3 @@
|
||||
==========================
|
||||
IO Expander Device Drivers
|
||||
==========================
|
6
Documentation/components/drivers/special/mmcsd.rst
Normal file
6
Documentation/components/drivers/special/mmcsd.rst
Normal file
@ -0,0 +1,6 @@
|
||||
====================
|
||||
MMCSD Device Drivers
|
||||
====================
|
||||
|
||||
- ``include/nuttx/mmcsd.h``. All structures and APIs needed to
|
||||
work with MMCSD drivers are provided in this header file.
|
14
Documentation/components/drivers/special/net/index.rst
Normal file
14
Documentation/components/drivers/special/net/index.rst
Normal file
@ -0,0 +1,14 @@
|
||||
=========================
|
||||
Network interface drivers
|
||||
=========================
|
||||
|
||||
- ``include/nuttx/net/net.h``. All structures and APIs
|
||||
needed to work with network device drivers are provided in
|
||||
this header file.
|
||||
|
||||
|
||||
.. toctree::
|
||||
:caption: Supported Drivers
|
||||
|
||||
ethernet.rst
|
||||
|
3
Documentation/components/drivers/special/pipes.rst
Normal file
3
Documentation/components/drivers/special/pipes.rst
Normal file
@ -0,0 +1,3 @@
|
||||
===========================
|
||||
FIFO and named pipe drivers
|
||||
===========================
|
8
Documentation/components/drivers/special/power/index.rst
Normal file
8
Documentation/components/drivers/special/power/index.rst
Normal file
@ -0,0 +1,8 @@
|
||||
=====================
|
||||
Power-related Drivers
|
||||
=====================
|
||||
|
||||
.. toctree::
|
||||
:caption: Supported Drivers
|
||||
|
||||
pm/index.rst
|
@ -85,8 +85,8 @@ All PM interfaces are declared in the file ``include/nuttx/power/pm.h``.
|
||||
|
||||
Called by a device driver in
|
||||
order to register to receive power management event callbacks.
|
||||
Refer to the :ref:`components/power:Callbacks` section for more
|
||||
details.
|
||||
Refer to the `Callbacks`_
|
||||
section for more details.
|
||||
|
||||
:param callbacks:
|
||||
An instance of :c:struct:`pm_callback_s`
|
||||
@ -100,8 +100,8 @@ All PM interfaces are declared in the file ``include/nuttx/power/pm.h``.
|
||||
|
||||
Called by a device driver in
|
||||
order to unregister previously registered power management event
|
||||
callbacks. Refer to the :ref:`components/power:Callbacks` section for
|
||||
more details.
|
||||
callbacks. Refer to the `Callbacks`_
|
||||
section for more details.
|
||||
|
||||
**Input Parameters:**
|
||||
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
3
Documentation/components/drivers/special/reset.rst
Normal file
3
Documentation/components/drivers/special/reset.rst
Normal file
@ -0,0 +1,3 @@
|
||||
============
|
||||
Reset Driver
|
||||
============
|
23
Documentation/components/drivers/special/rptun.rst
Normal file
23
Documentation/components/drivers/special/rptun.rst
Normal file
@ -0,0 +1,23 @@
|
||||
==========================
|
||||
Remote Proc Tunnel Drivers
|
||||
==========================
|
||||
|
||||
RPTUN driver is used for multi-cores' communication.
|
||||
|
||||
Supported RPTUN drivers:
|
||||
|
||||
- RPMSG File System
|
||||
- RPMSG domain (remote) sockets
|
||||
- RPMSG UART Driver
|
||||
- RPMSG net Driver
|
||||
- RPMSG Usersock
|
||||
- RPMSG Sensor Driver
|
||||
- RPMSG RTC Driver
|
||||
- RPMSG MTD
|
||||
- RPMSG Device
|
||||
- RPMSG Block Driver
|
||||
- RPMSG IO expander
|
||||
- RPMSG uinput
|
||||
- RPMSG clk Driver
|
||||
- RPMSG syslog
|
||||
- RPMSG regulator
|
10
Documentation/components/drivers/special/segger.rst
Normal file
10
Documentation/components/drivers/special/segger.rst
Normal file
@ -0,0 +1,10 @@
|
||||
==================
|
||||
Segger RTT drivers
|
||||
==================
|
||||
|
||||
Supported Segger drivers:
|
||||
|
||||
- serial over RTT - ``CONFIG_SERIAL_RTTx``,
|
||||
- console over RTT - ``CONFIG_SERIAL_RTT_CONSOLE_CHANNEL``
|
||||
- Segger SystemView - ``CONFIG_SEGGER_SYSVIEW``
|
||||
- Note RTT - ``CONFIG_NOTE_RTT``
|
3
Documentation/components/drivers/special/usbmisc.rst
Normal file
3
Documentation/components/drivers/special/usbmisc.rst
Normal file
@ -0,0 +1,3 @@
|
||||
=========================
|
||||
USB Miscellaneous Drivers
|
||||
=========================
|
3
Documentation/components/drivers/special/usbmonitor.rst
Normal file
3
Documentation/components/drivers/special/usbmonitor.rst
Normal file
@ -0,0 +1,3 @@
|
||||
===================
|
||||
USB Monitor support
|
||||
===================
|
3
Documentation/components/drivers/special/usrsock.rst
Normal file
3
Documentation/components/drivers/special/usrsock.rst
Normal file
@ -0,0 +1,3 @@
|
||||
==============
|
||||
Usrsock Driver
|
||||
==============
|
@ -2,6 +2,9 @@
|
||||
Video Device Drivers
|
||||
====================
|
||||
|
||||
- ``include/nuttx/video/``. All structures and APIs
|
||||
needed to work with video drivers are provided in this header
|
||||
file.
|
||||
|
||||
max7456
|
||||
-------
|
||||
|
3
Documentation/components/drivers/special/virtio.rst
Normal file
3
Documentation/components/drivers/special/virtio.rst
Normal file
@ -0,0 +1,3 @@
|
||||
=====================
|
||||
Virtio Device Drivers
|
||||
=====================
|
3
Documentation/components/drivers/special/wireless.rst
Normal file
3
Documentation/components/drivers/special/wireless.rst
Normal file
@ -0,0 +1,3 @@
|
||||
================
|
||||
Wireless Drivers
|
||||
================
|
5
Documentation/components/filesystem/aio.rst
Normal file
5
Documentation/components/filesystem/aio.rst
Normal file
@ -0,0 +1,5 @@
|
||||
========================
|
||||
Asynchronous I/O support
|
||||
========================
|
||||
|
||||
See ``include/aio.h``.
|
@ -1,5 +1,5 @@
|
||||
======
|
||||
cromfs
|
||||
CROMFS
|
||||
======
|
||||
|
||||
Overview
|
||||
|
5
Documentation/components/filesystem/fat.rst
Normal file
5
Documentation/components/filesystem/fat.rst
Normal file
@ -0,0 +1,5 @@
|
||||
===
|
||||
FAT
|
||||
===
|
||||
|
||||
Support for FAT filesystem.
|
13
Documentation/components/filesystem/hostfs.rst
Normal file
13
Documentation/components/filesystem/hostfs.rst
Normal file
@ -0,0 +1,13 @@
|
||||
================
|
||||
Host File System
|
||||
================
|
||||
|
||||
The Host file system provides a mechanism to mount directories from the host OS
|
||||
during simulation mode. The host directory to be "mounted" is specified during
|
||||
the mount command using the ``-o`` command line switch, such as::
|
||||
|
||||
mount -t hostfs -o fs=/home/user/nuttx_root /host
|
||||
|
||||
For non-NSH operation, the option ``fs=home/user/nuttx_root`` would
|
||||
be passed to the ``mount()`` routine using the optional ``void *data``
|
||||
parameter.
|
@ -45,13 +45,23 @@ scalability from the very tiny platform to the moderate platform.
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
aio.rst
|
||||
binfs.rst
|
||||
cromfs.rst
|
||||
fat.rst
|
||||
hostfs.rst
|
||||
littlefs.rst
|
||||
mmap.rst
|
||||
nfs.rst
|
||||
nxffs.rst
|
||||
procfs.rst
|
||||
smartfs.rst
|
||||
spiffs.rst
|
||||
unionfs.rst
|
||||
zipfs.rst
|
||||
partition.rst
|
||||
procfs.rst
|
||||
romfs.rst
|
||||
rpmsgfs.rst
|
||||
smartfs.rst
|
||||
shmfs.rst
|
||||
spiffs.rst
|
||||
tmpfs.rst
|
||||
unionfs.rst
|
||||
userfs.rst
|
||||
zipfs.rst
|
||||
|
6
Documentation/components/filesystem/littlefs.rst
Normal file
6
Documentation/components/filesystem/littlefs.rst
Normal file
@ -0,0 +1,6 @@
|
||||
========
|
||||
LITTLEFS
|
||||
========
|
||||
|
||||
A little fail-safe filesystem designed for microcontrollers from
|
||||
https://github.com/littlefs-project/littlefs.
|
5
Documentation/components/filesystem/nfs.rst
Normal file
5
Documentation/components/filesystem/nfs.rst
Normal file
@ -0,0 +1,5 @@
|
||||
===
|
||||
NFS
|
||||
===
|
||||
|
||||
Network file system (NFS) client file system.
|
3
Documentation/components/filesystem/romfs.rst
Normal file
3
Documentation/components/filesystem/romfs.rst
Normal file
@ -0,0 +1,3 @@
|
||||
=====
|
||||
ROMFS
|
||||
=====
|
5
Documentation/components/filesystem/rpmsgfs.rst
Normal file
5
Documentation/components/filesystem/rpmsgfs.rst
Normal file
@ -0,0 +1,5 @@
|
||||
=================
|
||||
RPMSG File System
|
||||
=================
|
||||
|
||||
Use rpmsg file system to mount remote directories to local.
|
5
Documentation/components/filesystem/shmfs.rst
Normal file
5
Documentation/components/filesystem/shmfs.rst
Normal file
@ -0,0 +1,5 @@
|
||||
=========================
|
||||
Shared Memory File System
|
||||
=========================
|
||||
|
||||
Include support for shm_open() and shm_close.
|
5
Documentation/components/filesystem/tmpfs.rst
Normal file
5
Documentation/components/filesystem/tmpfs.rst
Normal file
@ -0,0 +1,5 @@
|
||||
=====
|
||||
TMPFS
|
||||
=====
|
||||
|
||||
TMPFS filesystem.
|
5
Documentation/components/filesystem/userfs.rst
Normal file
5
Documentation/components/filesystem/userfs.rst
Normal file
@ -0,0 +1,5 @@
|
||||
================
|
||||
User file system
|
||||
================
|
||||
|
||||
See ``include/nuttx/fs/userfs.h``.
|
@ -1,3 +1,4 @@
|
||||
=============
|
||||
OS Components
|
||||
=============
|
||||
|
||||
@ -10,7 +11,6 @@ case, you can head to the :doc:`reference <../reference/index>`.
|
||||
:maxdepth: 2
|
||||
:caption: Contents:
|
||||
|
||||
power.rst
|
||||
binfmt.rst
|
||||
drivers/index.rst
|
||||
nxflat.rst
|
||||
|
@ -120,7 +120,7 @@ Key features of NuttX include:
|
||||
* Graphics: framebuffer drivers, graphic- and segment-LCD drivers. VNC server.
|
||||
* Audio subsystem: CODECs, audio input and output drivers. Command line and graphic media player applications.
|
||||
* Cryptographic subsystem.
|
||||
* :doc:`/components/power` sub-system.
|
||||
* :doc:`/components/drivers/special/power/pm/index` sub-system.
|
||||
* ModBus support provided by built-in `FreeModBus <https://www.embedded-experts.at/en/freemodbus/>`__ version 1.5.0.
|
||||
|
||||
* **C/C++ Libraries**
|
||||
|
@ -240,7 +240,7 @@ Linker Segments
|
||||
ESP32 has 4 generic timers of 64 bits (2 from Group 0 and 2 from Group 1). They're
|
||||
accessible as character drivers, the configuration along with a guidance on how
|
||||
to run the example and the description of the application level interface
|
||||
can be found :doc:`here </components/drivers/character/timer>`.
|
||||
can be found :doc:`here </components/drivers/character/timers/timer>`.
|
||||
|
||||
Watchdog Timers
|
||||
===============
|
||||
@ -249,7 +249,7 @@ ESP32 has 3 WDTs. 2 MWDTS from the Timers Module and 1 RWDT from the RTC Module
|
||||
(Currently not supported yet). They're accessible as character drivers,
|
||||
The configuration along with a guidance on how to run the example and the description
|
||||
of the application level interface can be found
|
||||
:doc:`here </components/drivers/character/watchdog>`.
|
||||
:doc:`here </components/drivers/character/timers/watchdog>`.
|
||||
|
||||
SMP
|
||||
===
|
||||
|
@ -242,7 +242,7 @@ Linker Segments
|
||||
ESP32-S2 has 4 generic timers of 64 bits (2 from Group 0 and 2 from Group 1).
|
||||
They're accessible as character drivers, the configuration along with a
|
||||
guidance on how to run the example and the description of the application level
|
||||
interface can be found in the :doc:`timer documentation </components/drivers/character/timer>`.
|
||||
interface can be found in the :doc:`timer documentation </components/drivers/character/timers/timer>`.
|
||||
|
||||
Watchdog Timers
|
||||
===============
|
||||
@ -251,7 +251,7 @@ ESP32-S2 has 3 WDTs. 2 MWDTs from the Timers Module and 1 RWDT from the RTC Modu
|
||||
(Currently not supported yet). They're accessible as character drivers,
|
||||
The configuration along with a guidance on how to run the example and the description
|
||||
of the application level interface can be found in the
|
||||
:doc:`watchdog documentation </components/drivers/character/watchdog>`.
|
||||
:doc:`watchdog documentation </components/drivers/character/timers/watchdog>`.
|
||||
|
||||
I2S
|
||||
===
|
||||
|
@ -88,7 +88,7 @@ Power Management
|
||||
Manage power state transition and query. The supplied argument
|
||||
indicates the specific PM operation to perform, which map to
|
||||
corresponding internal ``pm_<operation>`` functions
|
||||
(see :doc:`/components/power`).
|
||||
(see :doc:`/components/drivers/special/power/pm/index`).
|
||||
|
||||
With this interface you can interact with PM handling arch/board logic
|
||||
(typically done in IDLE loop) or you can directly manage state transitions
|
||||
|
Loading…
Reference in New Issue
Block a user