23 Commits

Author SHA1 Message Date
Gedare Bloom
db425a09b1 dev/can: remove URLs from copyrights 2025-02-07 00:30:36 +00:00
Michal Lenc
e6f6eccaef can: add support for CTU CAN FD controller
This commit adds support for CTU CAN FD controller. The controller
can be initialized from BSP by ctucanfd_initialize() function call.
It also implements the dynamic redistribution of hardware transmission
buffers to CAN stack priority classes in order to avoid possible
priority inversion.

Signed-off-by: Michal Lenc <michallenc@seznam.cz>
Co-authored-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
2025-01-28 08:25:28 +01:00
Michal Lenc
0cbb9eb9f9 can: add support for a simple virtual CAN controller
This commit adds a support for a simple virtual CAN controller. This
controller can be used to test CAN stack functions and serves as an
inspiration for further controller implementations.

Signed-off-by: Michal Lenc <michallenc@seznam.cz>
Co-authored-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
2025-01-28 08:25:28 +01:00
Michal Lenc
c3f4e215b1 cpukit: add support for common CAN/CAN FD stack
This adds support for common full-featured CAN/CAN FD stack to RTEMS.
The API is provided in form the form of the POSIX character driver with
each CAN controller (chip) registered as node into “/dev”
namespace.

The stack utilizes FIFO queues (also called edges) organized
into oriented edges between controller side and application side.
Edges, responsible for message transfers from application to controller
and vice versa, can have different priorities and function as priority
classes.

The stack provides run time configuration options to create new
queues with desired priority, direction and filter, making it
suitable for various applications requirements. There is also a
possibility to configure controller’s characteristics (bit rate,
mode, chip specific ioctl calls). Both blocking and nonblocking mode
is supported.

Signed-off-by: Michal Lenc <michallenc@seznam.cz>
Co-authored-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
2025-01-28 01:57:28 +00:00
Aaron Nyholm
87c725b6ed flashdev: Add sector IOCTLs
Added new IOCTLs to flashdev to get sector info.
Updated flashdev shell command and flashdev test with new IOCTLs.
2024-11-06 22:35:20 +00:00
Bernd Moessner
a43163d058 flashdev.h: Add missing C++ include guards
Updates #4981
2024-01-16 10:57:43 -06:00
Gedare Bloom
c1cad595af Revert "cpukit/dev/can: Added CAN support"
This reverts commit cd91b37dce.

Closes #4803.
2023-07-27 12:41:28 -06:00
Sebastian Huber
bcef89f236 Update company name
The embedded brains GmbH & Co. KG is the legal successor of embedded
brains GmbH.
2023-05-20 11:05:26 +02:00
Aaron Nyholm
15d4428e96 cpukit/flash: Add API for Flash devices 2023-05-16 12:48:13 +10:00
Prashanth S
cd91b37dce cpukit/dev/can: Added CAN support 2022-10-30 09:35:54 +01:00
Joel Sherrill
35d1f9a238 cpukit/include/dev: Change license to BSD-2
Updates #3053.
2022-03-25 11:19:28 -05:00
Joel Sherrill
255fe433fd cpukit/: Scripted embedded brains header file clean up
Updates #4625.
2022-03-10 08:43:49 +01:00
Christian Mauderer
5bb5e01356 i2c: Add non blocking read / write
This adds the possibility to open an I2C bus with O_NONBLOCK (or set it
later via fcntl) to get non-blocking transmissions. This means that if
the bus is busy, a read, write or transfer ioctl will return with a
EAGAIN errno.
2021-06-22 13:51:17 +02:00
Christian Mauderer
b2f265ab9f cpukit/spi: Allow driver specific ioctl
This allows a SPI driver to add a hardware specific ioctl.
2021-01-21 10:17:31 +01:00
Sebastian Huber
d2c98c1104 dev/sc16is752: Fix declaration 2020-08-05 09:18:27 +02:00
Sebastian Huber
2be6ab7f77 dev/sc16is752: Add set/get EFCR IO controls 2019-06-14 07:41:36 +02:00
Sebastian Huber
6ff1da40c7 dev/sc16is752: Add RS485 mode variants 2019-06-14 07:35:21 +02:00
Andreas Dachsberger
38a3b6160c doxygen: Put SPI Driver into group Device Drivers
Update #3706.
2019-04-04 08:20:07 +02:00
Andreas Dachsberger
7cb1c2b0fd doxygen: Added I2C Driver to Device Drivers
Update #3706.
2019-04-04 08:12:36 +02:00
Christian Mauderer
bf7070232f dev/sc16is752: Add GPIO access via ioctl. 2018-02-12 14:36:23 +01:00
Sebastian Huber
36304f3d7a spi: Use self-contained mutex
Update #2843.
2018-02-02 15:01:21 +01:00
Sebastian Huber
dc158ad4ec i2c: Use self-contained mutex
Update #2843.
2018-02-02 15:01:21 +01:00
Chris Johns
2afb22b7e1 Remove make preinstall
A speciality of the RTEMS build system was the make preinstall step.  It
copied header files from arbitrary locations into the build tree.  The
header files were included via the -Bsome/build/tree/path GCC command
line option.

This has at least seven problems:

* The make preinstall step itself needs time and disk space.

* Errors in header files show up in the build tree copy.  This makes it
  hard for editors to open the right file to fix the error.

* There is no clear relationship between source and build tree header
  files.  This makes an audit of the build process difficult.

* The visibility of all header files in the build tree makes it
  difficult to enforce API barriers.  For example it is discouraged to
  use BSP-specifics in the cpukit.

* An introduction of a new build system is difficult.

* Include paths specified by the -B option are system headers.  This
  may suppress warnings.

* The parallel build had sporadic failures on some hosts.

This patch removes the make preinstall step.   All installed header
files are moved to dedicated include directories in the source tree.
Let @RTEMS_CPU@ be the target architecture, e.g. arm, powerpc, sparc,
etc.  Let @RTEMS_BSP_FAMILIY@ be a BSP family base directory, e.g.
erc32, imx, qoriq, etc.

The new cpukit include directories are:

* cpukit/include

* cpukit/score/cpu/@RTEMS_CPU@/include

* cpukit/libnetworking

The new BSP include directories are:

* bsps/include

* bsps/@RTEMS_CPU@/include

* bsps/@RTEMS_CPU@/@RTEMS_BSP_FAMILIY@/include

There are build tree include directories for generated files.

The include directory order favours the most general header file, e.g.
it is not possible to override general header files via the include path
order.

The "bootstrap -p" option was removed.  The new "bootstrap -H" option
should be used to regenerate the "headers.am" files.

Update #3254.
2018-01-25 08:45:26 +01:00