Commit Graph

25 Commits

Author SHA1 Message Date
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
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
Sebastian Huber
80cf60efec Canonicalize config.h include
Use the following variant which was already used by most source files:

  #ifdef HAVE_CONFIG_H
  #include "config.h"
  #endif
2020-04-16 07:30:00 +02:00
Zenon
99d6172f06 Correct minor spelling and grammar errors
This work was performed as a GCI 2018 task.
2018-11-06 18:51:32 -06:00
Sebastian Huber
dc158ad4ec i2c: Use self-contained mutex
Update #2843.
2018-02-02 15:01:21 +01:00
Chris Johns
05015dc188 Xilinx AXI I2C driver IP race condition causes clock glitch.
Setting the PIRQ to 0 before reading the data produces a short clock pulse.
Moving the write to after reading the data fixes the issue.

Close #3173
2018-02-01 14:59:55 +11:00
Sebastian Huber
4cfce5cb64 i2c: Add temperature sensor LM75A driver
Close #3163.
2017-10-02 13:40:46 +02:00
Sebastian Huber
9c063df3ab i2c: Fix EEPROM driver program timeout handling
The RTEMS_MILLISECONDS_TO_TICKS() macro doesn't round up. Do not use it
to calculate the program timeout in ticks. Check program done condition
after the timeout check to account for pre-emptions.

Update #3162.
2017-10-02 13:34:00 +02:00
Sebastian Huber
2e1d595972 i2c: Send MSB of address first for EEPROMs
Update #3161.
2017-10-02 13:34:00 +02:00
Sebastian Huber
b2ed712d26 Include missing <string.h>
Update #2133.
2017-08-25 10:58:58 +02:00
Sebastian Huber
e062741da6 dev/i2c: Fix integer type
Update #3082.
2017-08-22 14:18:57 +02:00
Chris Johns
849500d0f2 dev/i2c: Add I2C device support for FPGA Slave, LM25066A, TMP112, ADS1113, ADS1114 and ADS1115
Closes #3101.
2017-08-20 10:59:53 +10:00
Chris Johns
12dea0afa5 dev/i2c: Add Xilinx AXI I2C driver.
This is a generic driver for use with Xilinx AXI I2C controller IP.

Closes #3100.
2017-08-16 14:49:58 +10:00
Kevin Kirspel
c6bb1c33bc posix/mmap: Add support for file handler and MAP_ANON
Added a mmap file handler to struct _rtems_filesystem_file_handlers_r.
Updated each file handler object to support the default mmap handler.
Updated mmap() to call the mmap handler for MAP_SHARED.
Added a mmap file handler for shm

Added support for MAP_ANON in mmap().

Updates #2859
2017-07-14 16:04:05 -04:00
Sebastian Huber
08135c85d8 i2c: Fix return status of i2c dev read/write 2015-07-23 09:00:31 +02:00
Sebastian Huber
cf36b70e8d IMFS: Replace node union with individual struct
This reduces the average node size.

Add and use IMFS_GENERIC_INITIALIZER().
2015-01-27 06:54:22 +01:00
Sebastian Huber
90b0e28456 i2c: Do not close file descriptor 0 if open fails 2014-11-26 09:56:01 +01:00
Sebastian Huber
d6f0ca64a5 i2c: Avoid undefined right shift operation 2014-11-26 08:26:15 +01:00
Joel Sherrill
a0bf44e115 cpukit/dev/i2c/i2c-dev.c: Fix leak on error path
Coverity ID 1255520. fd was not closed on error path.
2014-11-25 12:57:08 -06:00
Sebastian Huber
cfc53c11b3 i2c: Fix endian issue 2014-11-24 11:55:44 +01:00
Sebastian Huber
0510cfd8ed Add NXP PCA9548A 8-channel switch I2C driver 2014-11-20 10:30:17 +01:00
Sebastian Huber
67ac69fc3f Add NXP PCA9535 16-bit GPIO I2C driver 2014-11-20 10:30:12 +01:00
Sebastian Huber
cce4678047 Add generic EEPROM I2C device driver 2014-11-20 10:30:11 +01:00
Sebastian Huber
41c5f1b779 Add I2C driver framework
This I2C driver framework has some major differences compared to libi2c.

* It is compatible to the Linux I2C user-space API.

* It uses generic IMFS nodes and thus reduces the levels of indirection.

* The drivers don't have to mess around with minor numbers to get their
  state information.

* No arbitrary bus controller model is assumed.  The main task of an I2C
  bus controller driver is to process I2C messages.  How this is done is
  private to the driver.

* Scatter/gather operations are supported (I2C_M_NOSTART).
2014-11-20 10:30:06 +01:00