Announcement

Collapse
No announcement yet.

The I3C Subsystem Won't Be Added For Linux 4.20 / 5.0

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • The I3C Subsystem Won't Be Added For Linux 4.20 / 5.0

    Phoronix: The I3C Subsystem Won't Be Added For Linux 4.20 / 5.0

    While there was a push by its developers to align the I3C subsystem code for the next kernel, it's not going to happen for Linux 4.20...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    Is I3C going to be huge? Is it going to be the next thing for IoT?
    Are all single-board computers going to adopt I3C?

    Are there any libraries supporting I3C yet?

    How would you communicate with a I3C device?
    Can you do it with Python?

    And will it be using a special API or by reading/writing to a virtual file under the /dev/ directory?
    And will you be able to send JSON objects?

    Is it just sending/receiving data with some send() and recv() method?
    Or will it need some special protocol with control bits and checksums?

    I hope it will be very easy to use.

    Comment


    • #3
      Originally posted by uid313 View Post
      Is I3C going to be huge? Is it going to be the next thing for IoT?
      Are all single-board computers going to adopt I3C?
      Probably; I2C is pretty much an industry standard, and practically all single-board computers support it (though, some never added the headers, even though the chipset may support it). Since I3C is backward compatible, I don't see why that won't be a drop-in replacement for future devices.
      Are there any libraries supporting I3C yet?
      It's device-specific, so I don't think so. But I'm sure i2c-tools will be updated to support I3C.
      How would you communicate with a I3C device?
      Same way you do with I2C (i2c-tools is a good start, you can also use an Arduino if your device doesn't have native support).
      Can you do it with Python?
      Much like i2c-tools, there are various libraries for Python too, and I'm sure they'll also be updated for I3C.
      And will it be using a special API or by reading/writing to a virtual file under the /dev/ directory?
      I've already described this in the last article about I3C.
      And will you be able to send JSON objects?
      If the slave device supports it, yes. But most don't.
      Is it just sending/receiving data with some send() and recv() method?
      Depends on the language and library you use.
      Or will it need some special protocol with control bits and checksums?
      To my knowledge, there are no checksums, at least not by default.
      I hope it will be very easy to use.
      Easy is relative. It's a hell of a lot more difficult to use I2C than just a plain serial port, but I personally find it easier than SPI devices.

      As pointed out in the last article about I3C, it's pretty much the same thing as I2C but just with some improvements to keep up with modern demands. It doesn't seem they really changed the fundamental usage or behavior of it, since it is still backward compatible with I2C.

      EDIT:
      I get the impression you don't really know much about I2C (which is fine, not ridiculing). If you're not quite sure if I3C is right for you, the answer is probably "no". I2C/I3C aren't something you wonder if you need, you either know that you need it or not you know that you don't. It's primarily meant to transfer small packets of byte data; usually for sensors. This is appealing where analog inputs or basic digital inputs won't suffice (for example, a gyroscope, where you need to know positive and negative values). So depending on your workload, you're probably better off using an old-fashioned serial connection or a LAN.
      Last edited by schmidtbag; 01 November 2018, 01:50 PM.

      Comment

      Working...
      X