The Linux I 2 C Subsystem Jean Delvare Suse L3 Support

Slides:



Advertisements
Similar presentations
Reduce Cost & Complexity Partner logo here Presenters Name (16pt) Presenters Title (14pt) Company/ (14pt) Manage and Deploy Applications using Virtualization.
Advertisements

Nsure ™ Audit Essentials Rick Meredith Software Engineer Novell, Inc. Jaime Brimhall Software Engineer Novell, Inc.
How to Successfully Cluster GroupWise Gregg A. Hinchman Consultant, Hinchman Consulting Ed Hanley Senior Consultant, Novell.
Panel Discussion: The Future of I/O From a CPU Architecture Perspective #OFADevWorkshop Brad Benton AMD, Inc.
Wifi n Support in Linux Vladimir Botka, PhD‏ Software Developer‏ SUSE LINUX GmbH
OpenCL Introduction A TECHNICAL REVIEW LU OCT
Upgrading to Novell ® SecureLogin 3.5 Rod Tietjen,
DIR-835A1 Wireless N750 Dual-Band Router Wireless & Router Product Div. July 2011 D-Link WRPD.
Nsure ™ Audit: Instrumenting Custom Applications Rick Meredith Jason Arrington Nsure Audit Engineering Novell, Inc.
Implementing Novell iChain ® at the City of Los Angeles Adam Loughran Senior Systems Engineer, Novell Robert Gillette IS Development Manager, City of Los.
Benefits of a SUSE ® Subscription Insert Presenter's Name (16pt) Insert Presenter's Title (14pt) Insert Company/ (14pt)
Configuring Identity Manager 2 (formerly DirXML ® ) for JDBC (w/DirXML) Jason Elsberry Software Engineer
Computer Architecture and Organization Introduction.
Implementing DirXML ® Stylesheets David Wagstaff
Novell Nsure TM Identity Manager 2 andGroupWise Provisioning Art Purcell, GroupWise ® Engineering, David Holbrook, DirXML Engineering,
Title Slide – Option 1. Title Slide – Option 2 Insert Text.
Case Study: DirXML Implementation at Waste Management Rick Wagner Systems Engineer Novell, Inc.
Successful GroupWise Clustering, Part 1 Gregg A. Hinchman Ed Hanley Novell Inc.
April 30, 2007 openSUSE.org Build Service a short introduction Moiz Kohari VP Engineering.
The Art of Business Continuance Brad Rupp WG Storage Engineering Novell Gregg A. Hinchman Consultant Hinchman Consulting.
Copyright © 2006 Intel Corporation. WiMAX Wireless Broadband Access: The World Goes Wireless Michael Chen Director of Product & Platform Marketing Group.
Kevin James Prototype Systems Devloper Novell Inc. Freddy Kaiser Technical Directory, Enterprise Solutions Novell Inc. BUS172 - Case Study: Extended Provisioning.
Retention for GroupWise Angela Williams - Channel Sales Manager Jeff Stratford - President Nexic, Inc.
Enhancement Package Innovations Gabe Rodriguez - Halliburton Stefan Kneis – SAP Marco Valencia - SAP.
Strong Authentication to any Application Using SecureLogin and NMAS TM Scott Kiester and John Jolly Software Engineer Novell, Inc.
Securing GroupWise ® end-to-end with SSL Mike Bills ATT Engineer, Novell Inc.
Securing Legacy Applications with exteNd Composer and Novell iChain Kirk Noren Application Services Specialist Novell, Inc.
May 1, 2007 Novell ® Infiniband and Virtualization VM -IB project Patrick Mullaney.
DIR-826L Wireless N600 Gigabit Cloud Router Sales Guide WRPD Jan 25 th, 2012 D-LINK HQ.
Introducing Novell ® Identity Manager 4 Insert Presenter's Name (16pt) Insert Presenter's Title (14pt) Insert Company/ (14pt)
가상화 기반의 Workload 관리솔루션 : FORGE PlateSpin Virtualization and Workload Management 나영관 한국노벨 /
-1- For Oracle employees and authorized partners only. Do not distribute to third parties. © 2009 Oracle Corporation – Proprietary and Confidential Oracle.
SUSE ® Linux Enterprise High Availability Extension.
Introduction to GroupWise ® C3POs Glade Monson Developer Services, Novell Inc.
MICROCONTROLLER AND INTERFACING Presented by: Shefali Jethva ( ) Shivali Panchal ( ) Komal Soni ( ) Roll no. :- 14EC308.
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Oracle Proprietary and Confidential. 1.
WorkloadIQ ™ The intelligent way to build, secure, manage and measure workloads across physical, virtual and cloud environments Your Name Here Your Title.
IDC Says, "Don't Move To The Cloud" Richard Whitehead Director, Intelligent Workload Management August, 2010 Ben Goodman Principal.
Novell ® IT Consulting Insert Presenter's Name (16pt) Insert Presenter's Title (14pt) Insert Company/ (14pt)
SUSE ® Linux Enterprise Desktop in a One-To-One 21st Century Classroom Alex Inman Director of Technology Whitfield School
What's new in openSUSE 11.2? Andreas Jaeger Director openSUSE Novell.
Novell ® Technical Training Field / Sales Presentation Insert Presenter's Name (16pt) Insert Presenter's Title (14pt) Insert Company/ (14pt)
Introduction to SUSE Studio Tim Serong Senior Clustering Engineer OPS Engineering, Novell Inc.
OES11 / SLES11 Feature Competitive Novell Confidential.
Community Week: OpenSUSE Weekly News Presentation: Sascha Manns Title: What's behind Weekly News? Member of OpenSUSE Marketing Team.
Clarity and Compromise First steps of DM/MD unification Neil Brown Kernel Engineer
GStreamer in OpenOffice.org? Cédric Bosdonnat, Radek Doulík.
Forrester and Novell Novell ® Identity Manager 4 Webcast I Insert Presenter's Name (16pt) Insert Presenter's Title (14pt) Insert Company/ (14pt)
Novell ® VBA Interoperability roundup Noel Power OpenOffice developer
Novell ® Demo Systems Portal Update Doc Hodges Novell Demo Systems
DHP-600AV / DHP-601AV Powerline AV2 Gigabit Adapter Powerline AV2 Starter Kit Sales Guide WRPD, Mar 2013 D-Link Confidential.
From Source Code to Packages and even whole distributions By Cool Person From openSUSE.
UI-Facelift of the YaST Partitioner Module Martin Schmidkunz Arvin Schnell Katařina Machálková Status: 16th June 2008.
Enterprise Linux Servers Solution Overview Kerry Kim Enterprise Linux Servers Solution Manager.
From Source Code to Packages for Various Distributions Andreas Jaeger Program Manager openSUSE
UI-Facelift of the YaST Partitioner Module Martin Schmidkunz Status: 13th February 2008.
SUSE Studio: Building distributions By Cool Person From openSUSE.
-1- For Oracle employees and authorized partners only. Do not distribute to third parties. © 2009 Oracle Corporation – Proprietary and Confidential Oracle.
The Community role in openSUSE life-cycle Dinar Valeev Community member.
Testing PCI Express Generation 1 & 2 with the RTO Oscilloscope
From Source Code to Packages for Various Distributions
Redesign of AppArmor Modules in YaST
<Insert Picture Here>
The PCI bus (Peripheral Component Interconnect ) is the most commonly used peripheral bus on desktops and bigger computers. higher-level bus architectures.
The Small batch (and Other) solutions in Mantle API
Introducing low-power buses for Windows 8
ECEG-3202 Computer Architecture and Organization
ECEG-3202 Computer Architecture and Organization
1.2.1 Data transmission.
Presentation transcript:

The Linux I 2 C Subsystem Jean Delvare Suse L3 Support

© Novell, Inc. All rights reserved. 2 What is I 2 C? I 2 C (Inter-Integrated Circuit) is a multi-master, serial, single-ended computer bus invented by Philips, that is used to attach low-speed peripherals to a motherboard, embedded system, or cellphone. SMBus (System Management Bus) is a subset of I 2 C that defines stricter electrical and protocol conventions. TWI (Two-Wire Interface), ACCESS.bus and DDC (Display Data Channel) are basically the same as I 2 C.

© Novell, Inc. All rights reserved. 3 Usages of I 2 C in your computer On the motherboard (SMBus) – SPD EEPROM on the memory modules – Hardware monitoring – Clock chips, voltage regulators, etc. On the graphics adapter (DDC and I 2 C) – Monitor information and control over VGA/DVI – Thermal sensors On the TV adapter (I 2 C) – Tuner, video encoder, video decoder, audio decoder, etc.

© Novell, Inc. All rights reserved. 4 SMBus in your computer (example) Host controller EEPROM (memory modules) Sensor chip 0x5 0 0x5 1 0x5 2 0x2 d

© Novell, Inc. All rights reserved. 5 History of the Linux i2c subsystem April 1998: Implementation by Gerd Knorr (kernel v2.1.94) December 1998: Out-of-tree implementation by Simon G. Vogl, part of lm-sensors 2 December 1999: Merged into the kernel tree (v2.3.34), still part of the lm-sensors project Gerd Knorr's implementation finally dropped (v2.5.29) March to May 2003: Migrated to the Linux 2.5 device driver model by Greg KH (v to v2.5.70) May 2007 to April 2008: Properly integrated into the standard device driver model by David Brownell and Jean Delvare (v to v2.6.25)

© Novell, Inc. All rights reserved. 6 Why I 2 C sucks I 2 C lacks device enumeration I 2 C lacks a standard method for device presence detection I 2 C lacks standard identification registers I 2 C lacks clear semantics of what's a read and what's a write! We can't count on automatic device instantiation. How do we instantiate devices?

© Novell, Inc. All rights reserved. 7 Why SMBus sucks less (but still) SMBus has an ARP mechanism for both device enumeration and identification, – but it's optional. SMBus has a standard subset of bus transactions, with mostly clear semantics, – but not all chips follow the SMBus standard, – and there is still room for confusion

© Novell, Inc. All rights reserved. 8 Binding model migration Legacy model: – Each driver detects and instantiates its own devices – Instantiation from user-space handled by each the driver – No alternative! Standard model: – Devices are instantiated outside drivers – Instantiation from user-space is centralized – For backwards compatibility, drivers can detect their devices and ask i2c-core to instantiate them – Various ways to instantiate devices

Future developments

© Novell, Inc. All rights reserved Remaining issues The i2c-dev driver (user-space access to I 2 C devices) is still not migrated to the new binding model – Full of race conditions – Needs a complete redesign – Missing features (e.g. exclusive bus access) Legacy attributes of i2c adapters (retries, timeout) are unclear – Need to be clarified – Do we care about backwards compatibility? – Move handling to i2c-core

© Novell, Inc. All rights reserved. 1 Missing features SMBus Alert – Done! ☺ by David Brownell and Jean Delvare, merged in kernel Bus multiplexing – Work in progress by Rodolfo Giometti, Michael Lawnick and Jean Delvare, ready for kernel SMBus ARP (Address Resolution Protocol) – Work in progress by Corentin Labbe, long way to go

© Novell, Inc. All rights reserved I 2 C multiplexing, why? Host controller LM63 sensor chip (for CPU0) 0x4 c LM63 sensor chip (for CPU1) Address collision! bus_id = 0-004c Switch i2c-0

© Novell, Inc. All rights reserved I 2 C Multiplexing, how? Problem: the i2c subsystem's bus_id format assumes unique device addresses on every single i2c_adapter. Solution #1: just change the bus_id format! – Not possible: user-space relies on it. Solution #2: cheat on addresses! – Not possible: only 16 bits in format for the address, needed for 10-bit addressing extension; and wouldn't cover the case of cascaded switches. Solution #3: cheat on bus numbers! – This works: just claim that struct i2c_adapter now represents an I 2 C bus segment rather than an I 2 C bus controller.

© Novell, Inc. All rights reserved I 2 C multiplexing implementation Host controller LM63 sensor chip (for CPU0) 0x4c, bus_id = c 0x4c, bus_id = c LM63 sensor chip (for CPU1) Switch i2c-0 i2c-1 i2c-2

© Novell, Inc. All rights reserved Questions?

General Disclaimer This document is not to be construed as a promise by any participating company to develop, deliver, or market a product. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. Novell, Inc. makes no representations or warranties with respect to the contents of this document, and specifically disclaims any express or implied warranties of merchantability or fitness for any particular purpose. The development, release, and timing of features or functionality described for Novell products remains at the sole discretion of Novell. Further, Novell, Inc. reserves the right to revise this document and to make changes to its content, at any time, without obligation to notify any person or entity of such revisions or changes. All Novell marks referenced in this presentation are trademarks or registered trademarks of Novell, Inc. in the United States and other countries. All third-party trademarks are the property of their respective owners.