752451f01c
Pull i2c-embedded changes from Wolfram Sang: - CBUS driver (an I2C variant) - continued rework of the omap driver - s3c2410 gets lots of fixes and gains pinctrl support - at91 gains DMA support - the GPIO muxer gains devicetree probing - typical fixes and additions all over * 'i2c-embedded/for-next' of git://git.pengutronix.de/git/wsa/linux: (45 commits) i2c: omap: Remove the OMAP_I2C_FLAG_RESET_REGS_POSTIDLE flag i2c: at91: add dma support i2c: at91: change struct members indentation i2c: at91: fix compilation warning i2c: mxs: Do not disable the I2C SMBus quick mode i2c: mxs: Handle i2c DMA failure properly i2c: s3c2410: Remove recently introduced performance overheads i2c: ocores: Move grlib set/get functions into #ifdef CONFIG_OF block i2c: s3c2410: Add fix for i2c suspend/resume i2c: s3c2410: Fix code to free gpios i2c: i2c-cbus-gpio: introduce driver i2c: ocores: Add support for the GRLIB port of the controller and use function pointers for getreg and setreg functions i2c: ocores: Add irq support for sparc i2c: omap: Move the remove constraint ARM: dts: cfa10049: Add the i2c muxer buses to the CFA-10049 i2c: s3c2410: do not special case HDMIPHY stuck bus detection i2c: s3c2410: use exponential back off while polling for bus idle i2c: s3c2410: do not generate STOP for QUIRK_HDMIPHY i2c: s3c2410: grab adapter lock while changing i2c clock i2c: s3c2410: Add support for pinctrl ...
55 lines
2 KiB
Text
55 lines
2 KiB
Text
* Samsung's I2C controller
|
|
|
|
The Samsung's I2C controller is used to interface with I2C devices.
|
|
|
|
Required properties:
|
|
- compatible: value should be either of the following.
|
|
(a) "samsung, s3c2410-i2c", for i2c compatible with s3c2410 i2c.
|
|
(b) "samsung, s3c2440-i2c", for i2c compatible with s3c2440 i2c.
|
|
(c) "samsung, s3c2440-hdmiphy-i2c", for s3c2440-like i2c used
|
|
inside HDMIPHY block found on several samsung SoCs
|
|
- reg: physical base address of the controller and length of memory mapped
|
|
region.
|
|
- interrupts: interrupt number to the cpu.
|
|
- samsung,i2c-sda-delay: Delay (in ns) applied to data line (SDA) edges.
|
|
|
|
Required for all cases except "samsung,s3c2440-hdmiphy-i2c":
|
|
- Samsung GPIO variant (deprecated):
|
|
- gpios: The order of the gpios should be the following: <SDA, SCL>.
|
|
The gpio specifier depends on the gpio controller. Required in all
|
|
cases except for "samsung,s3c2440-hdmiphy-i2c" whose input/output
|
|
lines are permanently wired to the respective clienta
|
|
- Pinctrl variant (preferred, if available):
|
|
- pinctrl-0: Pin control group to be used for this controller.
|
|
- pinctrl-names: Should contain only one value - "default".
|
|
|
|
Optional properties:
|
|
- samsung,i2c-slave-addr: Slave address in multi-master enviroment. If not
|
|
specified, default value is 0.
|
|
- samsung,i2c-max-bus-freq: Desired frequency in Hz of the bus. If not
|
|
specified, the default value in Hz is 100000.
|
|
|
|
Example:
|
|
|
|
i2c@13870000 {
|
|
compatible = "samsung,s3c2440-i2c";
|
|
reg = <0x13870000 0x100>;
|
|
interrupts = <345>;
|
|
samsung,i2c-sda-delay = <100>;
|
|
samsung,i2c-max-bus-freq = <100000>;
|
|
/* Samsung GPIO variant begins here */
|
|
gpios = <&gpd1 2 0 /* SDA */
|
|
&gpd1 3 0 /* SCL */>;
|
|
/* Samsung GPIO variant ends here */
|
|
/* Pinctrl variant begins here */
|
|
pinctrl-0 = <&i2c3_bus>;
|
|
pinctrl-names = "default";
|
|
/* Pinctrl variant ends here */
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
wm8994@1a {
|
|
compatible = "wlf,wm8994";
|
|
reg = <0x1a>;
|
|
};
|
|
};
|