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,
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.

- interrupts		- interrupts used by the device.
- interrupt-names	- "irq" and "wakeup" names are recognized by I2C core,
			  other names are left to individual drivers.

Binding may contain optional "interrupts" property, describing interrupts
used by the device. I2C core will assign "irq" interrupt (or the very first
interrupt if not using interrupt names) as primary interrupt for the slave.

Also, if device is marked as a wakeup source, I2C core will set up "wakeup"
interrupt for the device. If "wakeup" interrupt name is not present in the
binding, then primary interrupt will be used as wakeup interrupt.
