SlideShare a Scribd company logo
1 of 19
Download to read offline
The Story Behind the MIPI I3C HCI℠
Driver for Linux
Nicolas Pitre
BayLibre
© 2020 MIPI Alliance, Inc. 2
The Story Behind the MIPI I3C HCI℠ Driver for Linux
What is Linux?
What does "Linux" refer to?
● A complete system (distribution)
● An Operating System (OS)
● A kernel
© 2020 MIPI Alliance, Inc. 3
The Story Behind the MIPI I3C HCI℠ Driver for Linux
What is Linux?
Linux development is:
● Organically grown, not "designed"
● Driven by code contributors
● Not dictated by anyone in particular
● Peer reviewed in the open
© 2020 MIPI Alliance, Inc. 4
The Story Behind the MIPI I3C HCI℠ Driver for Linux
Why Linux?
Linux is a compelling choice
● Large developer community
● Best looked-after network stack
● Extensive storage options
● Scalable from embedded IoT device to supercomputers
● All-around very popular and widely used
Providing MIPI I3C HCI support for Linux is a good strategy
© 2020 MIPI Alliance, Inc. 5
The Story Behind the MIPI I3C HCI℠ Driver for Linux
What is Linux?
Linux is an untraditional choice:
● Freely obtainable
● Freely modifiable
BUT
● Modifications to GPL-licensed source code must be made available
People contribute their changes back to main Linux:
● To simplify their GPL obligations
● To lower their maintenance cost
● To benefit from Linux’s distribution channels
© 2020 MIPI Alliance, Inc. 6
The Story Behind the MIPI I3C HCI℠ Driver for Linux
The MIPI I3C Host Controller Interface
Standardized interface between software and hardware allows for:
● Common software driver
● Reduced software effort
● Sharing the cost of non-differentiating development
© 2020 MIPI Alliance, Inc. 7
The Story Behind the MIPI I3C HCI℠ Driver for Linux
The MIPI I3C Host Controller Interface
The I3C HCI specification is:
● Comprehensive
● Extensive
● Versioned
© 2020 MIPI Alliance, Inc. 8
The Story Behind the MIPI I3C HCI℠ Driver for Linux
The MIPI I3C Host Controller Interface
Comparison between existing drivers in their current state
Table 1. Lines of code for various I3C Host Controller Drivers
The MIPI I3C HCI design covers a lot more ground
Driver # of lines
Synopsys DesignWare I3C 1219
Silvaco I3C master 1349
Cadence I3C master 1689
MIPI I3C HCI 4093
© 2020 MIPI Alliance, Inc. 9
The Story Behind the MIPI I3C HCI℠ Driver for Linux
The MIPI I3C Host Controller Interface
Yet, support is still incomplete.
Some of the unsupported MIPI I3C HCI features:
● Auto-commands
● Scheduled commands
● Master role handoff
Important changes to the Linux I3C subsystem is required before those features can be accommodated
© 2020 MIPI Alliance, Inc. 10
The Story Behind the MIPI I3C HCI℠ Driver for Linux
The Linux I3C subsystem structure
There are 3 layers:
● Host Controller (hardware) drivers
● The I3C subsystem (common) layer
● Device (or function) drivers
© 2020 MIPI Alliance, Inc. 11
The Story Behind the MIPI I3C HCI℠ Driver for Linux
The Linux I3C subsystem structure
Host Controller (hardware) drivers:
● Discovers and initializes controller hardware
● Implements hardware abstraction for the I3C subsystem
● Performs low-level requests from the I3C subsystem
● Signals hardware events to the I3C subsystem
© 2020 MIPI Alliance, Inc. 12
The Story Behind the MIPI I3C HCI℠ Driver for Linux
The Linux I3C subsystem structure
The I3C subsystem (common) layer:
● Manages registration of host controller and function drivers
● Collects info about discovered device and configures them
● Connects device instances with appropriate function driver
● Provides a library of helpers for common driver tasks
© 2020 MIPI Alliance, Inc. 13
The Story Behind the MIPI I3C HCI℠ Driver for Linux
The Linux I3C subsystem structure
The device (or function) driver:
● Concerns itself with functionality of a single device (camera, storage, etc.)
● Is host controller agnostic
● Gets involved only when matched to an actual device instance by the I3C subsystem
Only driver currently in mainline Linux:
● STMicroelectronics LSM6DSx 6-axis IMU sensors
© 2020 MIPI Alliance, Inc. 14
The Story Behind the MIPI I3C HCI℠ Driver for Linux
The Linux I3C subsystem structure
Function driver interface currently provided by the I3C subsystem:
● Register/Unregister for a device
● Perform private read and/or write data transfers
● Register for receiving IBI’s
© 2020 MIPI Alliance, Inc. 15
The Story Behind the MIPI I3C HCI℠ Driver for Linux
The Linux I3C subsystem structure
Needed extensions to the Linux I3C subsystem:
● IBI interface extension for auto-commands
● Interface for scheduled commands
● Allow for time stamped IBI’s
● Device private CCC’s
● Bus mastership handoff handling
Involvement from interested parties is required
© 2020 MIPI Alliance, Inc. 16
The Story Behind the MIPI I3C HCI℠ Driver for Linux
Linux development model peculiarities
Common wisdom with regards to Linux development:
● There are no stable API’s in the kernel
● A new API must have at least one in-tree user
● Never over-engineer an API, because…
● There are no stable API’s in the kernel
Those are more reasons why people contribute their code to the main Linux source code
© 2020 MIPI Alliance, Inc. 17
The Story Behind the MIPI I3C HCI℠ Driver for Linux
Conclusion
Considerations for future work:
● The MIPI I3C HCI driver’s core structure is done
● Further HCI support require I3C subsystem extensions
● New I3C subsystem extensions require example usage from function drivers
● More function drivers are sorely needed
© 2020 MIPI Alliance, Inc. 18
The Story Behind the MIPI I3C HCI℠ Driver for Linux
Questions?
Nicolas Pitre
npitre@baylibre.com
www.baylibre.com
MIPI DevCon 2020 | The Story Behind the MIPI I3C HCI Driver for Linux

More Related Content

What's hot

MIPI DevCon Taipei 2019: An Introduction to MIPI I3C® v1.1 and What's Next
MIPI DevCon Taipei 2019: An Introduction to MIPI I3C® v1.1 and What's NextMIPI DevCon Taipei 2019: An Introduction to MIPI I3C® v1.1 and What's Next
MIPI DevCon Taipei 2019: An Introduction to MIPI I3C® v1.1 and What's NextMIPI Alliance
 
MIPI DevCon Taipei 2019 Keynote: Technologies for Automated Driving
MIPI DevCon Taipei 2019 Keynote: Technologies for Automated DrivingMIPI DevCon Taipei 2019 Keynote: Technologies for Automated Driving
MIPI DevCon Taipei 2019 Keynote: Technologies for Automated DrivingMIPI Alliance
 
MIPI DevCon Seoul 2018: Mobile Technologies for a Smart World
MIPI DevCon Seoul 2018: Mobile Technologies for a Smart World MIPI DevCon Seoul 2018: Mobile Technologies for a Smart World
MIPI DevCon Seoul 2018: Mobile Technologies for a Smart World MIPI Alliance
 
MIPI DevCon 2020 | MIPI A-PHY: Laying the Groundwork for MIPI’s Automotive Se...
MIPI DevCon 2020 | MIPI A-PHY: Laying the Groundwork for MIPI’s Automotive Se...MIPI DevCon 2020 | MIPI A-PHY: Laying the Groundwork for MIPI’s Automotive Se...
MIPI DevCon 2020 | MIPI A-PHY: Laying the Groundwork for MIPI’s Automotive Se...MIPI Alliance
 
MIPI DevCon Seoul 2018: Next Generation Verification Process for Automotive a...
MIPI DevCon Seoul 2018: Next Generation Verification Process for Automotive a...MIPI DevCon Seoul 2018: Next Generation Verification Process for Automotive a...
MIPI DevCon Seoul 2018: Next Generation Verification Process for Automotive a...MIPI Alliance
 
MIPI DevCon Taipei 2019: Enabling MIPI Camera Applications Including Automoti...
MIPI DevCon Taipei 2019: Enabling MIPI Camera Applications Including Automoti...MIPI DevCon Taipei 2019: Enabling MIPI Camera Applications Including Automoti...
MIPI DevCon Taipei 2019: Enabling MIPI Camera Applications Including Automoti...MIPI Alliance
 
MIPI DevCon Seoul 2018: Troubleshooting MIPI M-PHY Link and Protocol Issues
MIPI DevCon Seoul 2018: Troubleshooting MIPI M-PHY Link and Protocol IssuesMIPI DevCon Seoul 2018: Troubleshooting MIPI M-PHY Link and Protocol Issues
MIPI DevCon Seoul 2018: Troubleshooting MIPI M-PHY Link and Protocol IssuesMIPI Alliance
 
MIPI DevCon 2016: Specifications Roadmap - The Wires for Wireless
MIPI DevCon 2016: Specifications Roadmap - The Wires for WirelessMIPI DevCon 2016: Specifications Roadmap - The Wires for Wireless
MIPI DevCon 2016: Specifications Roadmap - The Wires for WirelessMIPI Alliance
 
MIPI DevCon Seoul 2018: Powering AI and Automotive Applications with the MIPI...
MIPI DevCon Seoul 2018: Powering AI and Automotive Applications with the MIPI...MIPI DevCon Seoul 2018: Powering AI and Automotive Applications with the MIPI...
MIPI DevCon Seoul 2018: Powering AI and Automotive Applications with the MIPI...MIPI Alliance
 
MIPI DevCon 2021: The MIPI Specification Roadmap: Driving Advancements in Mob...
MIPI DevCon 2021: The MIPI Specification Roadmap: Driving Advancements in Mob...MIPI DevCon 2021: The MIPI Specification Roadmap: Driving Advancements in Mob...
MIPI DevCon 2021: The MIPI Specification Roadmap: Driving Advancements in Mob...MIPI Alliance
 
MIPI DevCon 2020 | MIPI DevCon 2020 | How MIPI Interfaces Solve Challenges in...
MIPI DevCon 2020 | MIPI DevCon 2020 | How MIPI Interfaces Solve Challenges in...MIPI DevCon 2020 | MIPI DevCon 2020 | How MIPI Interfaces Solve Challenges in...
MIPI DevCon 2020 | MIPI DevCon 2020 | How MIPI Interfaces Solve Challenges in...MIPI Alliance
 
MIPI DevCon 2020 | MIPI to Bluetooth LE: Leveraging Mobile Technology for Wir...
MIPI DevCon 2020 | MIPI to Bluetooth LE: Leveraging Mobile Technology for Wir...MIPI DevCon 2020 | MIPI to Bluetooth LE: Leveraging Mobile Technology for Wir...
MIPI DevCon 2020 | MIPI to Bluetooth LE: Leveraging Mobile Technology for Wir...MIPI Alliance
 
MIPI DevCon 2021: Latest Developments within MIPI Automotive SerDes Solutions...
MIPI DevCon 2021: Latest Developments within MIPI Automotive SerDes Solutions...MIPI DevCon 2021: Latest Developments within MIPI Automotive SerDes Solutions...
MIPI DevCon 2021: Latest Developments within MIPI Automotive SerDes Solutions...MIPI Alliance
 
MIPI DevCon Bangalore 2017: Building Intelligent, High-Speed Sensor Connectiv...
MIPI DevCon Bangalore 2017: Building Intelligent, High-Speed Sensor Connectiv...MIPI DevCon Bangalore 2017: Building Intelligent, High-Speed Sensor Connectiv...
MIPI DevCon Bangalore 2017: Building Intelligent, High-Speed Sensor Connectiv...MIPI Alliance
 
MIPI DevCon 2020 | MASS: Automotive Displays Using VDC-M Visually Lossless C...
MIPI DevCon 2020 |  MASS: Automotive Displays Using VDC-M Visually Lossless C...MIPI DevCon 2020 |  MASS: Automotive Displays Using VDC-M Visually Lossless C...
MIPI DevCon 2020 | MASS: Automotive Displays Using VDC-M Visually Lossless C...MIPI Alliance
 
MIPI DevCon 2021: State of the Alliance
MIPI DevCon 2021: State of the AllianceMIPI DevCon 2021: State of the Alliance
MIPI DevCon 2021: State of the AllianceMIPI Alliance
 
MIPI DevCon 2016: MIPI Beyond Mobile - An Industrial Computer-on-Module Case ...
MIPI DevCon 2016: MIPI Beyond Mobile - An Industrial Computer-on-Module Case ...MIPI DevCon 2016: MIPI Beyond Mobile - An Industrial Computer-on-Module Case ...
MIPI DevCon 2016: MIPI Beyond Mobile - An Industrial Computer-on-Module Case ...MIPI Alliance
 
MIPI DevCon 2020 | Why an Integrated MIPI C-PHY/D-PHY IP is Essential
MIPI DevCon 2020 | Why an Integrated MIPI C-PHY/D-PHY IP is EssentialMIPI DevCon 2020 | Why an Integrated MIPI C-PHY/D-PHY IP is Essential
MIPI DevCon 2020 | Why an Integrated MIPI C-PHY/D-PHY IP is EssentialMIPI Alliance
 
MPI DevCon Hsinchu City 2017: MIPI Alliance Extends Interface Standards to Su...
MPI DevCon Hsinchu City 2017: MIPI Alliance Extends Interface Standards to Su...MPI DevCon Hsinchu City 2017: MIPI Alliance Extends Interface Standards to Su...
MPI DevCon Hsinchu City 2017: MIPI Alliance Extends Interface Standards to Su...MIPI Alliance
 
XPDDS17: Keynote: Shared Coprocessor Framework on ARM - Oleksandr Andrushchen...
XPDDS17: Keynote: Shared Coprocessor Framework on ARM - Oleksandr Andrushchen...XPDDS17: Keynote: Shared Coprocessor Framework on ARM - Oleksandr Andrushchen...
XPDDS17: Keynote: Shared Coprocessor Framework on ARM - Oleksandr Andrushchen...The Linux Foundation
 

What's hot (20)

MIPI DevCon Taipei 2019: An Introduction to MIPI I3C® v1.1 and What's Next
MIPI DevCon Taipei 2019: An Introduction to MIPI I3C® v1.1 and What's NextMIPI DevCon Taipei 2019: An Introduction to MIPI I3C® v1.1 and What's Next
MIPI DevCon Taipei 2019: An Introduction to MIPI I3C® v1.1 and What's Next
 
MIPI DevCon Taipei 2019 Keynote: Technologies for Automated Driving
MIPI DevCon Taipei 2019 Keynote: Technologies for Automated DrivingMIPI DevCon Taipei 2019 Keynote: Technologies for Automated Driving
MIPI DevCon Taipei 2019 Keynote: Technologies for Automated Driving
 
MIPI DevCon Seoul 2018: Mobile Technologies for a Smart World
MIPI DevCon Seoul 2018: Mobile Technologies for a Smart World MIPI DevCon Seoul 2018: Mobile Technologies for a Smart World
MIPI DevCon Seoul 2018: Mobile Technologies for a Smart World
 
MIPI DevCon 2020 | MIPI A-PHY: Laying the Groundwork for MIPI’s Automotive Se...
MIPI DevCon 2020 | MIPI A-PHY: Laying the Groundwork for MIPI’s Automotive Se...MIPI DevCon 2020 | MIPI A-PHY: Laying the Groundwork for MIPI’s Automotive Se...
MIPI DevCon 2020 | MIPI A-PHY: Laying the Groundwork for MIPI’s Automotive Se...
 
MIPI DevCon Seoul 2018: Next Generation Verification Process for Automotive a...
MIPI DevCon Seoul 2018: Next Generation Verification Process for Automotive a...MIPI DevCon Seoul 2018: Next Generation Verification Process for Automotive a...
MIPI DevCon Seoul 2018: Next Generation Verification Process for Automotive a...
 
MIPI DevCon Taipei 2019: Enabling MIPI Camera Applications Including Automoti...
MIPI DevCon Taipei 2019: Enabling MIPI Camera Applications Including Automoti...MIPI DevCon Taipei 2019: Enabling MIPI Camera Applications Including Automoti...
MIPI DevCon Taipei 2019: Enabling MIPI Camera Applications Including Automoti...
 
MIPI DevCon Seoul 2018: Troubleshooting MIPI M-PHY Link and Protocol Issues
MIPI DevCon Seoul 2018: Troubleshooting MIPI M-PHY Link and Protocol IssuesMIPI DevCon Seoul 2018: Troubleshooting MIPI M-PHY Link and Protocol Issues
MIPI DevCon Seoul 2018: Troubleshooting MIPI M-PHY Link and Protocol Issues
 
MIPI DevCon 2016: Specifications Roadmap - The Wires for Wireless
MIPI DevCon 2016: Specifications Roadmap - The Wires for WirelessMIPI DevCon 2016: Specifications Roadmap - The Wires for Wireless
MIPI DevCon 2016: Specifications Roadmap - The Wires for Wireless
 
MIPI DevCon Seoul 2018: Powering AI and Automotive Applications with the MIPI...
MIPI DevCon Seoul 2018: Powering AI and Automotive Applications with the MIPI...MIPI DevCon Seoul 2018: Powering AI and Automotive Applications with the MIPI...
MIPI DevCon Seoul 2018: Powering AI and Automotive Applications with the MIPI...
 
MIPI DevCon 2021: The MIPI Specification Roadmap: Driving Advancements in Mob...
MIPI DevCon 2021: The MIPI Specification Roadmap: Driving Advancements in Mob...MIPI DevCon 2021: The MIPI Specification Roadmap: Driving Advancements in Mob...
MIPI DevCon 2021: The MIPI Specification Roadmap: Driving Advancements in Mob...
 
MIPI DevCon 2020 | MIPI DevCon 2020 | How MIPI Interfaces Solve Challenges in...
MIPI DevCon 2020 | MIPI DevCon 2020 | How MIPI Interfaces Solve Challenges in...MIPI DevCon 2020 | MIPI DevCon 2020 | How MIPI Interfaces Solve Challenges in...
MIPI DevCon 2020 | MIPI DevCon 2020 | How MIPI Interfaces Solve Challenges in...
 
MIPI DevCon 2020 | MIPI to Bluetooth LE: Leveraging Mobile Technology for Wir...
MIPI DevCon 2020 | MIPI to Bluetooth LE: Leveraging Mobile Technology for Wir...MIPI DevCon 2020 | MIPI to Bluetooth LE: Leveraging Mobile Technology for Wir...
MIPI DevCon 2020 | MIPI to Bluetooth LE: Leveraging Mobile Technology for Wir...
 
MIPI DevCon 2021: Latest Developments within MIPI Automotive SerDes Solutions...
MIPI DevCon 2021: Latest Developments within MIPI Automotive SerDes Solutions...MIPI DevCon 2021: Latest Developments within MIPI Automotive SerDes Solutions...
MIPI DevCon 2021: Latest Developments within MIPI Automotive SerDes Solutions...
 
MIPI DevCon Bangalore 2017: Building Intelligent, High-Speed Sensor Connectiv...
MIPI DevCon Bangalore 2017: Building Intelligent, High-Speed Sensor Connectiv...MIPI DevCon Bangalore 2017: Building Intelligent, High-Speed Sensor Connectiv...
MIPI DevCon Bangalore 2017: Building Intelligent, High-Speed Sensor Connectiv...
 
MIPI DevCon 2020 | MASS: Automotive Displays Using VDC-M Visually Lossless C...
MIPI DevCon 2020 |  MASS: Automotive Displays Using VDC-M Visually Lossless C...MIPI DevCon 2020 |  MASS: Automotive Displays Using VDC-M Visually Lossless C...
MIPI DevCon 2020 | MASS: Automotive Displays Using VDC-M Visually Lossless C...
 
MIPI DevCon 2021: State of the Alliance
MIPI DevCon 2021: State of the AllianceMIPI DevCon 2021: State of the Alliance
MIPI DevCon 2021: State of the Alliance
 
MIPI DevCon 2016: MIPI Beyond Mobile - An Industrial Computer-on-Module Case ...
MIPI DevCon 2016: MIPI Beyond Mobile - An Industrial Computer-on-Module Case ...MIPI DevCon 2016: MIPI Beyond Mobile - An Industrial Computer-on-Module Case ...
MIPI DevCon 2016: MIPI Beyond Mobile - An Industrial Computer-on-Module Case ...
 
MIPI DevCon 2020 | Why an Integrated MIPI C-PHY/D-PHY IP is Essential
MIPI DevCon 2020 | Why an Integrated MIPI C-PHY/D-PHY IP is EssentialMIPI DevCon 2020 | Why an Integrated MIPI C-PHY/D-PHY IP is Essential
MIPI DevCon 2020 | Why an Integrated MIPI C-PHY/D-PHY IP is Essential
 
MPI DevCon Hsinchu City 2017: MIPI Alliance Extends Interface Standards to Su...
MPI DevCon Hsinchu City 2017: MIPI Alliance Extends Interface Standards to Su...MPI DevCon Hsinchu City 2017: MIPI Alliance Extends Interface Standards to Su...
MPI DevCon Hsinchu City 2017: MIPI Alliance Extends Interface Standards to Su...
 
XPDDS17: Keynote: Shared Coprocessor Framework on ARM - Oleksandr Andrushchen...
XPDDS17: Keynote: Shared Coprocessor Framework on ARM - Oleksandr Andrushchen...XPDDS17: Keynote: Shared Coprocessor Framework on ARM - Oleksandr Andrushchen...
XPDDS17: Keynote: Shared Coprocessor Framework on ARM - Oleksandr Andrushchen...
 

Similar to MIPI DevCon 2020 | The Story Behind the MIPI I3C HCI Driver for Linux

MIPI DevCon 2016: MIPI Mobile Touch Specification
MIPI DevCon 2016: MIPI Mobile Touch SpecificationMIPI DevCon 2016: MIPI Mobile Touch Specification
MIPI DevCon 2016: MIPI Mobile Touch SpecificationMIPI Alliance
 
Advanced View Pic Microcontroller Projects List _ PIC Microcontroller.pdf
Advanced View Pic Microcontroller Projects List _ PIC Microcontroller.pdfAdvanced View Pic Microcontroller Projects List _ PIC Microcontroller.pdf
Advanced View Pic Microcontroller Projects List _ PIC Microcontroller.pdfIsmailkhan77481
 
Your Application Deserves Better than Kubernetes Ingress: Istio vs. Kubernetes
Your Application Deserves Better than Kubernetes Ingress: Istio vs. KubernetesYour Application Deserves Better than Kubernetes Ingress: Istio vs. Kubernetes
Your Application Deserves Better than Kubernetes Ingress: Istio vs. KubernetesMirantis
 
Why the yocto project for my io t project elc_edinburgh_2018
Why the yocto project for my io t project elc_edinburgh_2018Why the yocto project for my io t project elc_edinburgh_2018
Why the yocto project for my io t project elc_edinburgh_2018Mender.io
 
BKK16-105 HALs for LITE
BKK16-105 HALs for LITEBKK16-105 HALs for LITE
BKK16-105 HALs for LITELinaro
 
Advanced view of projects raspberry pi list raspberry pi projects
Advanced view of projects raspberry pi list raspberry pi projectsAdvanced view of projects raspberry pi list raspberry pi projects
Advanced view of projects raspberry pi list raspberry pi projectsWiseNaeem
 
IoT: Contrasting Yocto/Buildroot to binary OSes
IoT: Contrasting Yocto/Buildroot to binary OSesIoT: Contrasting Yocto/Buildroot to binary OSes
IoT: Contrasting Yocto/Buildroot to binary OSesMender.io
 
SFScon21 - Ettore Chimenti - Hardware Roadmap the next frontier of a vending ...
SFScon21 - Ettore Chimenti - Hardware Roadmap the next frontier of a vending ...SFScon21 - Ettore Chimenti - Hardware Roadmap the next frontier of a vending ...
SFScon21 - Ettore Chimenti - Hardware Roadmap the next frontier of a vending ...South Tyrol Free Software Conference
 
Tizen IVI - Rusty Lynch (Intel) - Korea Linux Forum 2012
Tizen IVI - Rusty Lynch (Intel) - Korea Linux Forum 2012Tizen IVI - Rusty Lynch (Intel) - Korea Linux Forum 2012
Tizen IVI - Rusty Lynch (Intel) - Korea Linux Forum 2012Ryo Jin
 
Iot development from prototype to production
Iot development from prototype to productionIot development from prototype to production
Iot development from prototype to productionMender.io
 
Survey of Operating Systems for the IoT Environment
Survey of Operating Systems for the IoT EnvironmentSurvey of Operating Systems for the IoT Environment
Survey of Operating Systems for the IoT EnvironmentEswar Publications
 
IoT Development from Prototype to Production
IoT Development from Prototype to ProductionIoT Development from Prototype to Production
IoT Development from Prototype to ProductionMender.io
 
Generating Signatures for cyberattacks.
Generating Signatures for cyberattacks.Generating Signatures for cyberattacks.
Generating Signatures for cyberattacks.Shyamsundar Das
 
MIPI DevCon 2016: Mobile System Sideband GPIO Minimization and Secondary IPC ...
MIPI DevCon 2016: Mobile System Sideband GPIO Minimization and Secondary IPC ...MIPI DevCon 2016: Mobile System Sideband GPIO Minimization and Secondary IPC ...
MIPI DevCon 2016: Mobile System Sideband GPIO Minimization and Secondary IPC ...MIPI Alliance
 
.NET and Kubernetes: Bringing Legacy .NET Into the Modern World with Pivotal ...
.NET and Kubernetes: Bringing Legacy .NET Into the Modern World with Pivotal ....NET and Kubernetes: Bringing Legacy .NET Into the Modern World with Pivotal ...
.NET and Kubernetes: Bringing Legacy .NET Into the Modern World with Pivotal ...VMware Tanzu
 
Advanced View Pic Microcontroller Projects List _ PIC Microcontroller.pdf
Advanced View Pic Microcontroller Projects List _ PIC Microcontroller.pdfAdvanced View Pic Microcontroller Projects List _ PIC Microcontroller.pdf
Advanced View Pic Microcontroller Projects List _ PIC Microcontroller.pdfWiseNaeem
 
Developing an embedded video application on dual Linux + FPGA architecture
Developing an embedded video application on dual Linux + FPGA architectureDeveloping an embedded video application on dual Linux + FPGA architecture
Developing an embedded video application on dual Linux + FPGA architectureChristian Charreyre
 
Kernel Recipes 2017 - Developing an embedded video application on dual Linux ...
Kernel Recipes 2017 - Developing an embedded video application on dual Linux ...Kernel Recipes 2017 - Developing an embedded video application on dual Linux ...
Kernel Recipes 2017 - Developing an embedded video application on dual Linux ...Anne Nicolas
 

Similar to MIPI DevCon 2020 | The Story Behind the MIPI I3C HCI Driver for Linux (20)

MIPI DevCon 2016: MIPI Mobile Touch Specification
MIPI DevCon 2016: MIPI Mobile Touch SpecificationMIPI DevCon 2016: MIPI Mobile Touch Specification
MIPI DevCon 2016: MIPI Mobile Touch Specification
 
Advanced View Pic Microcontroller Projects List _ PIC Microcontroller.pdf
Advanced View Pic Microcontroller Projects List _ PIC Microcontroller.pdfAdvanced View Pic Microcontroller Projects List _ PIC Microcontroller.pdf
Advanced View Pic Microcontroller Projects List _ PIC Microcontroller.pdf
 
Your Application Deserves Better than Kubernetes Ingress: Istio vs. Kubernetes
Your Application Deserves Better than Kubernetes Ingress: Istio vs. KubernetesYour Application Deserves Better than Kubernetes Ingress: Istio vs. Kubernetes
Your Application Deserves Better than Kubernetes Ingress: Istio vs. Kubernetes
 
Why the yocto project for my io t project elc_edinburgh_2018
Why the yocto project for my io t project elc_edinburgh_2018Why the yocto project for my io t project elc_edinburgh_2018
Why the yocto project for my io t project elc_edinburgh_2018
 
BKK16-105 HALs for LITE
BKK16-105 HALs for LITEBKK16-105 HALs for LITE
BKK16-105 HALs for LITE
 
Advanced view of projects raspberry pi list raspberry pi projects
Advanced view of projects raspberry pi list raspberry pi projectsAdvanced view of projects raspberry pi list raspberry pi projects
Advanced view of projects raspberry pi list raspberry pi projects
 
IoT: Contrasting Yocto/Buildroot to binary OSes
IoT: Contrasting Yocto/Buildroot to binary OSesIoT: Contrasting Yocto/Buildroot to binary OSes
IoT: Contrasting Yocto/Buildroot to binary OSes
 
SFScon21 - Ettore Chimenti - Hardware Roadmap the next frontier of a vending ...
SFScon21 - Ettore Chimenti - Hardware Roadmap the next frontier of a vending ...SFScon21 - Ettore Chimenti - Hardware Roadmap the next frontier of a vending ...
SFScon21 - Ettore Chimenti - Hardware Roadmap the next frontier of a vending ...
 
Tizen IVI - Rusty Lynch (Intel) - Korea Linux Forum 2012
Tizen IVI - Rusty Lynch (Intel) - Korea Linux Forum 2012Tizen IVI - Rusty Lynch (Intel) - Korea Linux Forum 2012
Tizen IVI - Rusty Lynch (Intel) - Korea Linux Forum 2012
 
Iot development from prototype to production
Iot development from prototype to productionIot development from prototype to production
Iot development from prototype to production
 
Survey of Operating Systems for the IoT Environment
Survey of Operating Systems for the IoT EnvironmentSurvey of Operating Systems for the IoT Environment
Survey of Operating Systems for the IoT Environment
 
K vector embedded_linux_workshop
K vector embedded_linux_workshopK vector embedded_linux_workshop
K vector embedded_linux_workshop
 
IoT Development from Prototype to Production
IoT Development from Prototype to ProductionIoT Development from Prototype to Production
IoT Development from Prototype to Production
 
Generating Signatures for cyberattacks.
Generating Signatures for cyberattacks.Generating Signatures for cyberattacks.
Generating Signatures for cyberattacks.
 
MIPI DevCon 2016: Mobile System Sideband GPIO Minimization and Secondary IPC ...
MIPI DevCon 2016: Mobile System Sideband GPIO Minimization and Secondary IPC ...MIPI DevCon 2016: Mobile System Sideband GPIO Minimization and Secondary IPC ...
MIPI DevCon 2016: Mobile System Sideband GPIO Minimization and Secondary IPC ...
 
.NET and Kubernetes: Bringing Legacy .NET Into the Modern World with Pivotal ...
.NET and Kubernetes: Bringing Legacy .NET Into the Modern World with Pivotal ....NET and Kubernetes: Bringing Legacy .NET Into the Modern World with Pivotal ...
.NET and Kubernetes: Bringing Legacy .NET Into the Modern World with Pivotal ...
 
MinGw Compiler
MinGw CompilerMinGw Compiler
MinGw Compiler
 
Advanced View Pic Microcontroller Projects List _ PIC Microcontroller.pdf
Advanced View Pic Microcontroller Projects List _ PIC Microcontroller.pdfAdvanced View Pic Microcontroller Projects List _ PIC Microcontroller.pdf
Advanced View Pic Microcontroller Projects List _ PIC Microcontroller.pdf
 
Developing an embedded video application on dual Linux + FPGA architecture
Developing an embedded video application on dual Linux + FPGA architectureDeveloping an embedded video application on dual Linux + FPGA architecture
Developing an embedded video application on dual Linux + FPGA architecture
 
Kernel Recipes 2017 - Developing an embedded video application on dual Linux ...
Kernel Recipes 2017 - Developing an embedded video application on dual Linux ...Kernel Recipes 2017 - Developing an embedded video application on dual Linux ...
Kernel Recipes 2017 - Developing an embedded video application on dual Linux ...
 

More from MIPI Alliance

MIPI DevCon 2021: MIPI I3C Under the Spotlight: A Fireside Chat with the I3C ...
MIPI DevCon 2021: MIPI I3C Under the Spotlight: A Fireside Chat with the I3C ...MIPI DevCon 2021: MIPI I3C Under the Spotlight: A Fireside Chat with the I3C ...
MIPI DevCon 2021: MIPI I3C Under the Spotlight: A Fireside Chat with the I3C ...MIPI Alliance
 
MIPI DevCon 2021: MIPI I3C Application and Validation Models for IoT Sensor N...
MIPI DevCon 2021: MIPI I3C Application and Validation Models for IoT Sensor N...MIPI DevCon 2021: MIPI I3C Application and Validation Models for IoT Sensor N...
MIPI DevCon 2021: MIPI I3C Application and Validation Models for IoT Sensor N...MIPI Alliance
 
MIPI DevCon 2021: MIPI I3C Signal Integrity Challenges on DDR5-based Server P...
MIPI DevCon 2021: MIPI I3C Signal Integrity Challenges on DDR5-based Server P...MIPI DevCon 2021: MIPI I3C Signal Integrity Challenges on DDR5-based Server P...
MIPI DevCon 2021: MIPI I3C Signal Integrity Challenges on DDR5-based Server P...MIPI Alliance
 
MIPI DevCon 2021: MIPI I3C interface for the ETSI Smart Secure Platform
MIPI DevCon 2021: MIPI I3C interface for the ETSI Smart Secure PlatformMIPI DevCon 2021: MIPI I3C interface for the ETSI Smart Secure Platform
MIPI DevCon 2021: MIPI I3C interface for the ETSI Smart Secure PlatformMIPI Alliance
 
MIPI DevCon 2021: MIPI Security for Automotive and IoT – Initial Focus on MASS
MIPI DevCon 2021: MIPI Security for Automotive and IoT – Initial Focus on MASSMIPI DevCon 2021: MIPI Security for Automotive and IoT – Initial Focus on MASS
MIPI DevCon 2021: MIPI Security for Automotive and IoT – Initial Focus on MASSMIPI Alliance
 
MIPI DevCon 2021: MIPI HTI, PTI and STP: The Bases for Next-Generation Online...
MIPI DevCon 2021: MIPI HTI, PTI and STP: The Bases for Next-Generation Online...MIPI DevCon 2021: MIPI HTI, PTI and STP: The Bases for Next-Generation Online...
MIPI DevCon 2021: MIPI HTI, PTI and STP: The Bases for Next-Generation Online...MIPI Alliance
 
MIPI DevCon 2021: Meeting the Needs of Next-Generation Displays with a High-P...
MIPI DevCon 2021: Meeting the Needs of Next-Generation Displays with a High-P...MIPI DevCon 2021: Meeting the Needs of Next-Generation Displays with a High-P...
MIPI DevCon 2021: Meeting the Needs of Next-Generation Displays with a High-P...MIPI Alliance
 
MIPI DevCon 2021: MIPI CSI-2 v4.0 Panel Discussion with the MIPI Camera Worki...
MIPI DevCon 2021: MIPI CSI-2 v4.0 Panel Discussion with the MIPI Camera Worki...MIPI DevCon 2021: MIPI CSI-2 v4.0 Panel Discussion with the MIPI Camera Worki...
MIPI DevCon 2021: MIPI CSI-2 v4.0 Panel Discussion with the MIPI Camera Worki...MIPI Alliance
 
MIPI DevCon 2021: MIPI D-PHY and MIPI CSI-2 for IoT: AI Edge Devices
MIPI DevCon 2021: MIPI D-PHY and MIPI CSI-2 for IoT: AI Edge DevicesMIPI DevCon 2021: MIPI D-PHY and MIPI CSI-2 for IoT: AI Edge Devices
MIPI DevCon 2021: MIPI D-PHY and MIPI CSI-2 for IoT: AI Edge DevicesMIPI Alliance
 
MIPI DevCon 2020 | Snapshot of MIPI RFFE v3.0 from a System-Architecture Per...
MIPI DevCon 2020 |  Snapshot of MIPI RFFE v3.0 from a System-Architecture Per...MIPI DevCon 2020 |  Snapshot of MIPI RFFE v3.0 from a System-Architecture Per...
MIPI DevCon 2020 | Snapshot of MIPI RFFE v3.0 from a System-Architecture Per...MIPI Alliance
 
MIPI DevCon 2020 | Interoperability Challenges and Solutions for MIPI I3C
MIPI DevCon 2020 | Interoperability Challenges and Solutions for MIPI I3CMIPI DevCon 2020 | Interoperability Challenges and Solutions for MIPI I3C
MIPI DevCon 2020 | Interoperability Challenges and Solutions for MIPI I3CMIPI Alliance
 
MIPI DevCon 2020 | High Speed MIPI CSI-2 Interface Meeting Automotive ASIL-B
MIPI DevCon 2020 | High Speed MIPI CSI-2 Interface Meeting Automotive ASIL-B MIPI DevCon 2020 | High Speed MIPI CSI-2 Interface Meeting Automotive ASIL-B
MIPI DevCon 2020 | High Speed MIPI CSI-2 Interface Meeting Automotive ASIL-B MIPI Alliance
 
MIPI DevCon 2020 | Keynote: Trends in Future In-Vehicle Communication Networks
MIPI DevCon 2020 | Keynote: Trends in Future In-Vehicle Communication NetworksMIPI DevCon 2020 | Keynote: Trends in Future In-Vehicle Communication Networks
MIPI DevCon 2020 | Keynote: Trends in Future In-Vehicle Communication NetworksMIPI Alliance
 
MIPI DevCon Taipei 2019: Addressing 5G RFFE Control Challenges with MIPI RFFE...
MIPI DevCon Taipei 2019: Addressing 5G RFFE Control Challenges with MIPI RFFE...MIPI DevCon Taipei 2019: Addressing 5G RFFE Control Challenges with MIPI RFFE...
MIPI DevCon Taipei 2019: Addressing 5G RFFE Control Challenges with MIPI RFFE...MIPI Alliance
 
MIPI DevCon Taipei 2019: PHY Testing Challenges and Opportunities: The Need F...
MIPI DevCon Taipei 2019: PHY Testing Challenges and Opportunities: The Need F...MIPI DevCon Taipei 2019: PHY Testing Challenges and Opportunities: The Need F...
MIPI DevCon Taipei 2019: PHY Testing Challenges and Opportunities: The Need F...MIPI Alliance
 
MIPI DevCon Taipei 2019: Study on the Influence of Random Jitter to the MIPI ...
MIPI DevCon Taipei 2019: Study on the Influence of Random Jitter to the MIPI ...MIPI DevCon Taipei 2019: Study on the Influence of Random Jitter to the MIPI ...
MIPI DevCon Taipei 2019: Study on the Influence of Random Jitter to the MIPI ...MIPI Alliance
 

More from MIPI Alliance (16)

MIPI DevCon 2021: MIPI I3C Under the Spotlight: A Fireside Chat with the I3C ...
MIPI DevCon 2021: MIPI I3C Under the Spotlight: A Fireside Chat with the I3C ...MIPI DevCon 2021: MIPI I3C Under the Spotlight: A Fireside Chat with the I3C ...
MIPI DevCon 2021: MIPI I3C Under the Spotlight: A Fireside Chat with the I3C ...
 
MIPI DevCon 2021: MIPI I3C Application and Validation Models for IoT Sensor N...
MIPI DevCon 2021: MIPI I3C Application and Validation Models for IoT Sensor N...MIPI DevCon 2021: MIPI I3C Application and Validation Models for IoT Sensor N...
MIPI DevCon 2021: MIPI I3C Application and Validation Models for IoT Sensor N...
 
MIPI DevCon 2021: MIPI I3C Signal Integrity Challenges on DDR5-based Server P...
MIPI DevCon 2021: MIPI I3C Signal Integrity Challenges on DDR5-based Server P...MIPI DevCon 2021: MIPI I3C Signal Integrity Challenges on DDR5-based Server P...
MIPI DevCon 2021: MIPI I3C Signal Integrity Challenges on DDR5-based Server P...
 
MIPI DevCon 2021: MIPI I3C interface for the ETSI Smart Secure Platform
MIPI DevCon 2021: MIPI I3C interface for the ETSI Smart Secure PlatformMIPI DevCon 2021: MIPI I3C interface for the ETSI Smart Secure Platform
MIPI DevCon 2021: MIPI I3C interface for the ETSI Smart Secure Platform
 
MIPI DevCon 2021: MIPI Security for Automotive and IoT – Initial Focus on MASS
MIPI DevCon 2021: MIPI Security for Automotive and IoT – Initial Focus on MASSMIPI DevCon 2021: MIPI Security for Automotive and IoT – Initial Focus on MASS
MIPI DevCon 2021: MIPI Security for Automotive and IoT – Initial Focus on MASS
 
MIPI DevCon 2021: MIPI HTI, PTI and STP: The Bases for Next-Generation Online...
MIPI DevCon 2021: MIPI HTI, PTI and STP: The Bases for Next-Generation Online...MIPI DevCon 2021: MIPI HTI, PTI and STP: The Bases for Next-Generation Online...
MIPI DevCon 2021: MIPI HTI, PTI and STP: The Bases for Next-Generation Online...
 
MIPI DevCon 2021: Meeting the Needs of Next-Generation Displays with a High-P...
MIPI DevCon 2021: Meeting the Needs of Next-Generation Displays with a High-P...MIPI DevCon 2021: Meeting the Needs of Next-Generation Displays with a High-P...
MIPI DevCon 2021: Meeting the Needs of Next-Generation Displays with a High-P...
 
MIPI DevCon 2021: MIPI CSI-2 v4.0 Panel Discussion with the MIPI Camera Worki...
MIPI DevCon 2021: MIPI CSI-2 v4.0 Panel Discussion with the MIPI Camera Worki...MIPI DevCon 2021: MIPI CSI-2 v4.0 Panel Discussion with the MIPI Camera Worki...
MIPI DevCon 2021: MIPI CSI-2 v4.0 Panel Discussion with the MIPI Camera Worki...
 
MIPI DevCon 2021: MIPI D-PHY and MIPI CSI-2 for IoT: AI Edge Devices
MIPI DevCon 2021: MIPI D-PHY and MIPI CSI-2 for IoT: AI Edge DevicesMIPI DevCon 2021: MIPI D-PHY and MIPI CSI-2 for IoT: AI Edge Devices
MIPI DevCon 2021: MIPI D-PHY and MIPI CSI-2 for IoT: AI Edge Devices
 
MIPI DevCon 2020 | Snapshot of MIPI RFFE v3.0 from a System-Architecture Per...
MIPI DevCon 2020 |  Snapshot of MIPI RFFE v3.0 from a System-Architecture Per...MIPI DevCon 2020 |  Snapshot of MIPI RFFE v3.0 from a System-Architecture Per...
MIPI DevCon 2020 | Snapshot of MIPI RFFE v3.0 from a System-Architecture Per...
 
MIPI DevCon 2020 | Interoperability Challenges and Solutions for MIPI I3C
MIPI DevCon 2020 | Interoperability Challenges and Solutions for MIPI I3CMIPI DevCon 2020 | Interoperability Challenges and Solutions for MIPI I3C
MIPI DevCon 2020 | Interoperability Challenges and Solutions for MIPI I3C
 
MIPI DevCon 2020 | High Speed MIPI CSI-2 Interface Meeting Automotive ASIL-B
MIPI DevCon 2020 | High Speed MIPI CSI-2 Interface Meeting Automotive ASIL-B MIPI DevCon 2020 | High Speed MIPI CSI-2 Interface Meeting Automotive ASIL-B
MIPI DevCon 2020 | High Speed MIPI CSI-2 Interface Meeting Automotive ASIL-B
 
MIPI DevCon 2020 | Keynote: Trends in Future In-Vehicle Communication Networks
MIPI DevCon 2020 | Keynote: Trends in Future In-Vehicle Communication NetworksMIPI DevCon 2020 | Keynote: Trends in Future In-Vehicle Communication Networks
MIPI DevCon 2020 | Keynote: Trends in Future In-Vehicle Communication Networks
 
MIPI DevCon Taipei 2019: Addressing 5G RFFE Control Challenges with MIPI RFFE...
MIPI DevCon Taipei 2019: Addressing 5G RFFE Control Challenges with MIPI RFFE...MIPI DevCon Taipei 2019: Addressing 5G RFFE Control Challenges with MIPI RFFE...
MIPI DevCon Taipei 2019: Addressing 5G RFFE Control Challenges with MIPI RFFE...
 
MIPI DevCon Taipei 2019: PHY Testing Challenges and Opportunities: The Need F...
MIPI DevCon Taipei 2019: PHY Testing Challenges and Opportunities: The Need F...MIPI DevCon Taipei 2019: PHY Testing Challenges and Opportunities: The Need F...
MIPI DevCon Taipei 2019: PHY Testing Challenges and Opportunities: The Need F...
 
MIPI DevCon Taipei 2019: Study on the Influence of Random Jitter to the MIPI ...
MIPI DevCon Taipei 2019: Study on the Influence of Random Jitter to the MIPI ...MIPI DevCon Taipei 2019: Study on the Influence of Random Jitter to the MIPI ...
MIPI DevCon Taipei 2019: Study on the Influence of Random Jitter to the MIPI ...
 

Recently uploaded

How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 

Recently uploaded (20)

How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 

MIPI DevCon 2020 | The Story Behind the MIPI I3C HCI Driver for Linux

  • 1. The Story Behind the MIPI I3C HCI℠ Driver for Linux Nicolas Pitre BayLibre
  • 2. © 2020 MIPI Alliance, Inc. 2 The Story Behind the MIPI I3C HCI℠ Driver for Linux What is Linux? What does "Linux" refer to? ● A complete system (distribution) ● An Operating System (OS) ● A kernel
  • 3. © 2020 MIPI Alliance, Inc. 3 The Story Behind the MIPI I3C HCI℠ Driver for Linux What is Linux? Linux development is: ● Organically grown, not "designed" ● Driven by code contributors ● Not dictated by anyone in particular ● Peer reviewed in the open
  • 4. © 2020 MIPI Alliance, Inc. 4 The Story Behind the MIPI I3C HCI℠ Driver for Linux Why Linux? Linux is a compelling choice ● Large developer community ● Best looked-after network stack ● Extensive storage options ● Scalable from embedded IoT device to supercomputers ● All-around very popular and widely used Providing MIPI I3C HCI support for Linux is a good strategy
  • 5. © 2020 MIPI Alliance, Inc. 5 The Story Behind the MIPI I3C HCI℠ Driver for Linux What is Linux? Linux is an untraditional choice: ● Freely obtainable ● Freely modifiable BUT ● Modifications to GPL-licensed source code must be made available People contribute their changes back to main Linux: ● To simplify their GPL obligations ● To lower their maintenance cost ● To benefit from Linux’s distribution channels
  • 6. © 2020 MIPI Alliance, Inc. 6 The Story Behind the MIPI I3C HCI℠ Driver for Linux The MIPI I3C Host Controller Interface Standardized interface between software and hardware allows for: ● Common software driver ● Reduced software effort ● Sharing the cost of non-differentiating development
  • 7. © 2020 MIPI Alliance, Inc. 7 The Story Behind the MIPI I3C HCI℠ Driver for Linux The MIPI I3C Host Controller Interface The I3C HCI specification is: ● Comprehensive ● Extensive ● Versioned
  • 8. © 2020 MIPI Alliance, Inc. 8 The Story Behind the MIPI I3C HCI℠ Driver for Linux The MIPI I3C Host Controller Interface Comparison between existing drivers in their current state Table 1. Lines of code for various I3C Host Controller Drivers The MIPI I3C HCI design covers a lot more ground Driver # of lines Synopsys DesignWare I3C 1219 Silvaco I3C master 1349 Cadence I3C master 1689 MIPI I3C HCI 4093
  • 9. © 2020 MIPI Alliance, Inc. 9 The Story Behind the MIPI I3C HCI℠ Driver for Linux The MIPI I3C Host Controller Interface Yet, support is still incomplete. Some of the unsupported MIPI I3C HCI features: ● Auto-commands ● Scheduled commands ● Master role handoff Important changes to the Linux I3C subsystem is required before those features can be accommodated
  • 10. © 2020 MIPI Alliance, Inc. 10 The Story Behind the MIPI I3C HCI℠ Driver for Linux The Linux I3C subsystem structure There are 3 layers: ● Host Controller (hardware) drivers ● The I3C subsystem (common) layer ● Device (or function) drivers
  • 11. © 2020 MIPI Alliance, Inc. 11 The Story Behind the MIPI I3C HCI℠ Driver for Linux The Linux I3C subsystem structure Host Controller (hardware) drivers: ● Discovers and initializes controller hardware ● Implements hardware abstraction for the I3C subsystem ● Performs low-level requests from the I3C subsystem ● Signals hardware events to the I3C subsystem
  • 12. © 2020 MIPI Alliance, Inc. 12 The Story Behind the MIPI I3C HCI℠ Driver for Linux The Linux I3C subsystem structure The I3C subsystem (common) layer: ● Manages registration of host controller and function drivers ● Collects info about discovered device and configures them ● Connects device instances with appropriate function driver ● Provides a library of helpers for common driver tasks
  • 13. © 2020 MIPI Alliance, Inc. 13 The Story Behind the MIPI I3C HCI℠ Driver for Linux The Linux I3C subsystem structure The device (or function) driver: ● Concerns itself with functionality of a single device (camera, storage, etc.) ● Is host controller agnostic ● Gets involved only when matched to an actual device instance by the I3C subsystem Only driver currently in mainline Linux: ● STMicroelectronics LSM6DSx 6-axis IMU sensors
  • 14. © 2020 MIPI Alliance, Inc. 14 The Story Behind the MIPI I3C HCI℠ Driver for Linux The Linux I3C subsystem structure Function driver interface currently provided by the I3C subsystem: ● Register/Unregister for a device ● Perform private read and/or write data transfers ● Register for receiving IBI’s
  • 15. © 2020 MIPI Alliance, Inc. 15 The Story Behind the MIPI I3C HCI℠ Driver for Linux The Linux I3C subsystem structure Needed extensions to the Linux I3C subsystem: ● IBI interface extension for auto-commands ● Interface for scheduled commands ● Allow for time stamped IBI’s ● Device private CCC’s ● Bus mastership handoff handling Involvement from interested parties is required
  • 16. © 2020 MIPI Alliance, Inc. 16 The Story Behind the MIPI I3C HCI℠ Driver for Linux Linux development model peculiarities Common wisdom with regards to Linux development: ● There are no stable API’s in the kernel ● A new API must have at least one in-tree user ● Never over-engineer an API, because… ● There are no stable API’s in the kernel Those are more reasons why people contribute their code to the main Linux source code
  • 17. © 2020 MIPI Alliance, Inc. 17 The Story Behind the MIPI I3C HCI℠ Driver for Linux Conclusion Considerations for future work: ● The MIPI I3C HCI driver’s core structure is done ● Further HCI support require I3C subsystem extensions ● New I3C subsystem extensions require example usage from function drivers ● More function drivers are sorely needed
  • 18. © 2020 MIPI Alliance, Inc. 18 The Story Behind the MIPI I3C HCI℠ Driver for Linux Questions? Nicolas Pitre npitre@baylibre.com www.baylibre.com