Start a new file which describes the generic bindings used for I2C with device tree. So we have a central place to look for them, increase visibility of them, and hopefully reduce the amount of custom properties introduced. Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com> Reviewed-by: Vaibhav Hiremath <vaibhav.hiremath@linaro.org> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
34 lines
1.3 KiB
Plaintext
34 lines
1.3 KiB
Plaintext
Generic device tree bindings for I2C busses
|
|
===========================================
|
|
|
|
This document describes generic bindings which can be used to describe I2C
|
|
busses in a device tree.
|
|
|
|
Required properties
|
|
-------------------
|
|
|
|
- #address-cells - should be <1>. Read more about addresses below.
|
|
- #size-cells - should be <0>.
|
|
- compatible - name of I2C bus controller following generic names
|
|
recommended practice.
|
|
|
|
For other required properties e.g. to describe register sets, interrupts,
|
|
clocks, etc. check the binding documentation of the specific driver.
|
|
|
|
The cells properties above define that an address of children of an I2C bus
|
|
are described by a single value. This is usually a 7 bit address. However,
|
|
flags can be attached to the address. I2C_TEN_BIT_ADDRESS is used to mark a 10
|
|
bit address. It is needed to avoid the ambiguity between e.g. a 7 bit address
|
|
of 0x50 and a 10 bit address of 0x050 which, in theory, can be on the same bus.
|
|
Another flag is I2C_OWN_SLAVE_ADDRESS to mark addresses on which we listen to
|
|
be devices ourselves.
|
|
|
|
Optional properties
|
|
-------------------
|
|
|
|
These properties may not be supported by all drivers. However, if a driver
|
|
wants to support one of the below features, it should adapt the bindings below.
|
|
|
|
- clock-frequency - frequency of bus clock in Hz
|
|
- wakeup-source - device can be used as a wakeup source.
|