Skip to content

Commit 12250d8

Browse files
committed
Merge branch 'i2c-embedded/for-next' of git://git.pengutronix.de/git/wsa/linux
Pull i2c-embedded changes from Wolfram Sang: "The changes for i2c-embedded include: - massive rework of the omap driver - massive rework of the at91 driver. In fact, the old driver gets removed; I am okay with this approach since the old driver was depending on BROKEN and its limitations made it practically unusable, so people used bitbanging instead. But even if there are users, there is no platform_data or module parameter which would need to be converted. It is just another driver doing I2C transfers, just way better. Modifications of arch/arm/at91 related files have proper acks from the maintainer. - new driver for R-Car I2C - devicetree and generic_clock conversions and fixes - usual driver fixes and changes. The rework patches have come a long way and lots of people have been involved in creating/testing them. Most patches have been in linux-next at least since 3.6-rc5. A few have been added in the last week, I have to admit. An unexpected (but welcome :)) peak in private life is the cause for that. The "late" patches shouldn't cause any merge conflicts and I will have a special eye on them during the stabilization phase. This is an exception and I want to have the patches in place properly in time again for the next kernels." * 'i2c-embedded/for-next' of git://git.pengutronix.de/git/wsa/linux: (44 commits) MXS: Implement DMA support into mxs-i2c i2c: add Renesas R-Car I2C driver i2c: s3c2410: use clk_prepare_enable and clk_disable_unprepare ARM: OMAP: convert I2C driver to PM QoS for MPU latency constraints i2c: nomadik: Add Device Tree support to the Nomadik I2C driver i2c: algo: pca: Fix chip reset function for PCA9665 i2c: mpc: Wait for STOP to hit the bus i2c: davinci: preparation for switch to common clock framework omap-i2c: fix incorrect log message when using a device tree i2c: omap: sanitize exit path i2c: omap: switch over to autosuspend API i2c: omap: remove unnecessary pm_runtime_suspended check i2c: omap: switch to threaded IRQ support i2c: omap: remove redundant status read i2c: omap: get rid of the "complete" label i2c: omap: resize fifos before each message i2c: omap: simplify IRQ exit path i2c: omap: always return IRQ_HANDLED i2c: omap: simplify errata check i2c: omap: bus: add a receiver flag ...
2 parents da06a8d + 62885f5 commit 12250d8

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+2096
-597
lines changed
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
I2C for Atmel platforms
2+
3+
Required properties :
4+
- compatible : Must be "atmel,at91rm9200-i2c", "atmel,at91sam9261-i2c",
5+
"atmel,at91sam9260-i2c", "atmel,at91sam9g20-i2c", "atmel,at91sam9g10-i2c"
6+
or "atmel,at91sam9x5-i2c"
7+
- reg: physical base address of the controller and length of memory mapped
8+
region.
9+
- interrupts: interrupt number to the cpu.
10+
- #address-cells = <1>;
11+
- #size-cells = <0>;
12+
13+
Optional properties:
14+
- Child nodes conforming to i2c bus binding
15+
16+
Examples :
17+
18+
i2c0: i2c@fff84000 {
19+
compatible = "atmel,at91sam9g20-i2c";
20+
reg = <0xfff84000 0x100>;
21+
interrupts = <12 4 6>;
22+
#address-cells = <1>;
23+
#size-cells = <0>;
24+
25+
24c512@50 {
26+
compatible = "24c512";
27+
reg = <0x50>;
28+
pagesize = <128>;
29+
}
30+
}
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
* Texas Instruments Davinci I2C
2+
3+
This file provides information, what the device node for the
4+
davinci i2c interface contain.
5+
6+
Required properties:
7+
- compatible: "ti,davinci-i2c";
8+
- reg : Offset and length of the register set for the device
9+
10+
Recommended properties :
11+
- interrupts : standard interrupt property.
12+
- clock-frequency : desired I2C bus clock frequency in Hz.
13+
14+
Example (enbw_cmc board):
15+
i2c@1c22000 {
16+
compatible = "ti,davinci-i2c";
17+
reg = <0x22000 0x1000>;
18+
clock-frequency = <100000>;
19+
interrupts = <15>;
20+
interrupt-parent = <&intc>;
21+
#address-cells = <1>;
22+
#size-cells = <0>;
23+
24+
dtt@48 {
25+
compatible = "national,lm75";
26+
reg = <0x48>;
27+
};
28+
};

Documentation/devicetree/bindings/i2c/i2c-mxs.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ Required properties:
66
- interrupts: Should contain ERROR and DMA interrupts
77
- clock-frequency: Desired I2C bus clock frequency in Hz.
88
Only 100000Hz and 400000Hz modes are supported.
9+
- fsl,i2c-dma-channel: APBX DMA channel for the I2C
910

1011
Examples:
1112

@@ -16,4 +17,5 @@ i2c0: i2c@80058000 {
1617
reg = <0x80058000 2000>;
1718
interrupts = <111 68>;
1819
clock-frequency = <100000>;
20+
fsl,i2c-dma-channel = <6>;
1921
};
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
I2C for Nomadik based systems
2+
3+
Required (non-standard) properties:
4+
- Nil
5+
6+
Recommended (non-standard) properties:
7+
- clock-frequency : Maximum bus clock frequency for the device
8+
9+
Optional (non-standard) properties:
10+
- Nil
11+
12+
Example :
13+
14+
i2c@80004000 {
15+
compatible = "stericsson,db8500-i2c", "st,nomadik-i2c";
16+
reg = <0x80004000 0x1000>;
17+
interrupts = <0 21 0x4>;
18+
#address-cells = <1>;
19+
#size-cells = <0>;
20+
v-i2c-supply = <&db8500_vape_reg>;
21+
22+
clock-frequency = <400000>;
23+
};

arch/arm/boot/dts/at91sam9260.dtsi

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
gpio2 = &pioC;
2929
tcb0 = &tcb0;
3030
tcb1 = &tcb1;
31+
i2c0 = &i2c0;
3132
};
3233
cpus {
3334
cpu@0 {
@@ -202,6 +203,15 @@
202203
status = "disabled";
203204
};
204205

206+
i2c0: i2c@fffac000 {
207+
compatible = "atmel,at91sam9260-i2c";
208+
reg = <0xfffac000 0x100>;
209+
interrupts = <11 4 6>;
210+
#address-cells = <1>;
211+
#size-cells = <0>;
212+
status = "disabled";
213+
};
214+
205215
adc0: adc@fffe0000 {
206216
compatible = "atmel,at91sam9260-adc";
207217
reg = <0xfffe0000 0x100>;

arch/arm/boot/dts/at91sam9263.dtsi

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
gpio3 = &pioD;
2525
gpio4 = &pioE;
2626
tcb0 = &tcb0;
27+
i2c0 = &i2c0;
2728
};
2829
cpus {
2930
cpu@0 {
@@ -185,6 +186,15 @@
185186
interrupts = <24 4 2>;
186187
status = "disabled";
187188
};
189+
190+
i2c0: i2c@fff88000 {
191+
compatible = "atmel,at91sam9263-i2c";
192+
reg = <0xfff88000 0x100>;
193+
interrupts = <13 4 6>;
194+
#address-cells = <1>;
195+
#size-cells = <0>;
196+
status = "disabled";
197+
};
188198
};
189199

190200
nand0: nand@40000000 {

arch/arm/boot/dts/at91sam9g20.dtsi

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,10 @@
1818

1919
ahb {
2020
apb {
21+
i2c0: i2c@fffac000 {
22+
compatible = "atmel,at91sam9g20-i2c";
23+
};
24+
2125
adc0: adc@fffe0000 {
2226
atmel,adc-startup-time = <40>;
2327
};

arch/arm/boot/dts/at91sam9g25ek.dts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,18 @@
3232
phy-mode = "rmii";
3333
status = "okay";
3434
};
35+
36+
i2c0: i2c@f8010000 {
37+
status = "okay";
38+
};
39+
40+
i2c1: i2c@f8014000 {
41+
status = "okay";
42+
};
43+
44+
i2c2: i2c@f8018000 {
45+
status = "okay";
46+
};
3547
};
3648

3749
usb0: ohci@00600000 {

arch/arm/boot/dts/at91sam9g45.dtsi

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@
2929
gpio4 = &pioE;
3030
tcb0 = &tcb0;
3131
tcb1 = &tcb1;
32+
i2c0 = &i2c0;
33+
i2c1 = &i2c1;
3234
};
3335
cpus {
3436
cpu@0 {
@@ -206,6 +208,24 @@
206208
status = "disabled";
207209
};
208210

211+
i2c0: i2c@fff84000 {
212+
compatible = "atmel,at91sam9g10-i2c";
213+
reg = <0xfff84000 0x100>;
214+
interrupts = <12 4 6>;
215+
#address-cells = <1>;
216+
#size-cells = <0>;
217+
status = "disabled";
218+
};
219+
220+
i2c1: i2c@fff88000 {
221+
compatible = "atmel,at91sam9g10-i2c";
222+
reg = <0xfff88000 0x100>;
223+
interrupts = <13 4 6>;
224+
#address-cells = <1>;
225+
#size-cells = <0>;
226+
status = "disabled";
227+
};
228+
209229
adc0: adc@fffb0000 {
210230
compatible = "atmel,at91sam9260-adc";
211231
reg = <0xfffb0000 0x100>;

arch/arm/boot/dts/at91sam9m10g45ek.dts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,14 @@
4646
phy-mode = "rmii";
4747
status = "okay";
4848
};
49+
50+
i2c0: i2c@fff84000 {
51+
status = "okay";
52+
};
53+
54+
i2c1: i2c@fff88000 {
55+
status = "okay";
56+
};
4957
};
5058

5159
nand0: nand@40000000 {

0 commit comments

Comments
 (0)