Newbie Question: Clarifying I2C Master/Slave roles and device tree binding for client hardware info
Momin M
momin.mohammed7860 at gmail.com
Sat May 9 12:11:59 EDT 2026
Hi all,
I have been reading the I2C kernel documentation, and I understand the
basic principles of SDA/SCL. I am now trying to grasp the kernel-side
implementation.
I'm struggling with two interconnected points regarding driver development:
1. *Master/Slave Abstraction:* How are the concepts of I2C "Master" and
"Slave" represented in Linux kernel drivers? Specifically, is the
i2c_adapter always considered the "master" (the controller that
initiates transactions), and the i2c_client always considered the
"slave" (the device being accessed), or are there contexts where this
simple analogy breaks down (e.g., multi-master environments or slave-mode
drivers)?
2. *Client Hardware Information:* I'm trying to understand the minimum
necessary hardware information required for the i2c_client to probe
successfully. Beyond the reg property (slave address) and a
compatible string
in the Device Tree, what other information, if any, is crucial for
correctly instantiating the client device, especially for a standard,
non-complex sensor?
Any guidance on tracing this abstraction back to the low-level
register/hardware interaction would be greatly appreciated.
Thanks,
Momin M
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20260509/fa3c74c6/attachment.html>
More information about the Kernelnewbies
mailing list