Skip to content

Commit 9d0d886

Browse files
committed
Merge branch 'i2c/for-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux
Pull i2c updates from Wolfram Sang: "A bit smaller this time with mostly usual driver updates. Slave support for imx stands out a little" * 'i2c/for-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (30 commits) i2c: remove check that can never be true i2c: Warn when device removing fails dt-bindings: i2c: Update DT binding docs to support SiFive FU740 SoC dt-bindings: i2c: Add compatible string for AM64 SoC i2c: designware: Make register offsets all of the same width i2c: designware: Switch header to use BIT() and GENMASK() i2c: pxa: move to generic GPIO recovery i2c: sh_mobile: Mark adapter suspended during suspend i2c: owl: Add compatible for the Actions Semi S500 I2C controller dt-bindings: i2c: owl: Convert Actions Semi Owl binding to a schema i2c: imx: support slave mode for imx I2C driver i2c: ismt: Adding support for I2C_SMBUS_BLOCK_PROC_CALL i2c: ocores: Avoid false-positive error log message. Revert "i2c: qcom-geni: Disable DMA processing on the Lenovo Yoga C630" i2c: mxs: Remove unneeded platform_device_id i2c: pca-platform: drop two members from driver data that are assigned to only i2c: imx: Remove unused .id_table support i2c: nvidia-gpu: drop empty stub for runtime pm dt-bindings: i2c: mellanox,i2c-mlxbf: convert txt to YAML schema i2c: mv64xxx: Add bus error recovery ...
2 parents 605ea5a + 4e970a0 commit 9d0d886

25 files changed

Lines changed: 604 additions & 340 deletions

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

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,12 @@ Required properties:
55
"aeroflexgaisler,i2cmst"
66
"sifive,fu540-c000-i2c", "sifive,i2c0"
77
For Opencore based I2C IP block reimplemented in
8-
FU540-C000 SoC. Please refer to sifive-blocks-ip-versioning.txt
9-
for additional details.
8+
FU540-C000 SoC.
9+
"sifive,fu740-c000-i2c", "sifive,i2c0"
10+
For Opencore based I2C IP block reimplemented in
11+
FU740-C000 SoC.
12+
Please refer to sifive-blocks-ip-versioning.txt for
13+
additional details.
1014
- reg : bus address start and address range size of device
1115
- clocks : handle to the controller clock; see the note below.
1216
Mutually exclusive with opencores,ip-clock-frequency

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ Required properties :
88
"ti,omap4-i2c" for OMAP4+ SoCs
99
"ti,am654-i2c", "ti,omap4-i2c" for AM654 SoCs
1010
"ti,j721e-i2c", "ti,omap4-i2c" for J721E SoCs
11+
"ti,am64-i2c", "ti,omap4-i2c" for AM64 SoCs
1112
- ti,hwmods : Must be "i2c<n>", n being the instance number (1-based)
1213
- #address-cells = <1>;
1314
- #size-cells = <0>;

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

Lines changed: 0 additions & 29 deletions
This file was deleted.
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/i2c/i2c-owl.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Actions Semi Owl I2C Controller
8+
9+
maintainers:
10+
- Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
11+
12+
description: |
13+
This I2C controller is found in the Actions Semi Owl SoCs:
14+
S500, S700 and S900.
15+
16+
allOf:
17+
- $ref: /schemas/i2c/i2c-controller.yaml#
18+
19+
properties:
20+
compatible:
21+
enum:
22+
- actions,s500-i2c # Actions Semi S500 compatible SoCs
23+
- actions,s700-i2c # Actions Semi S700 compatible SoCs
24+
- actions,s900-i2c # Actions Semi S900 compatible SoCs
25+
26+
reg:
27+
maxItems: 1
28+
29+
interrupts:
30+
maxItems: 1
31+
32+
clocks:
33+
description: Phandle of the clock feeding the I2C controller.
34+
minItems: 1
35+
36+
clock-frequency:
37+
description: |
38+
Desired I2C bus clock frequency in Hz. As only Standard and Fast
39+
modes are supported, possible values are 100000 and 400000.
40+
enum: [100000, 400000]
41+
42+
required:
43+
- compatible
44+
- reg
45+
- interrupts
46+
- clocks
47+
48+
unevaluatedProperties: false
49+
50+
examples:
51+
- |
52+
#include <dt-bindings/clock/actions,s900-cmu.h>
53+
#include <dt-bindings/interrupt-controller/arm-gic.h>
54+
i2c@e0170000 {
55+
compatible = "actions,s900-i2c";
56+
reg = <0xe0170000 0x1000>;
57+
interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
58+
clocks = <&cmu CLK_I2C0>;
59+
clock-frequency = <100000>;
60+
};
61+
62+
...

Documentation/devicetree/bindings/i2c/mellanox,i2c-mlxbf.txt

Lines changed: 0 additions & 42 deletions
This file was deleted.
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/i2c/mellanox,i2c-mlxbf.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Mellanox I2C SMBus on BlueField SoCs
8+
9+
maintainers:
10+
- Khalil Blaiech <kblaiech@nvidia.com>
11+
12+
allOf:
13+
- $ref: /schemas/i2c/i2c-controller.yaml#
14+
15+
properties:
16+
compatible:
17+
enum:
18+
- mellanox,i2c-mlxbf1
19+
- mellanox,i2c-mlxbf2
20+
21+
reg:
22+
minItems: 3
23+
maxItems: 4
24+
items:
25+
- description: Smbus block registers
26+
- description: Cause master registers
27+
- description: Cause slave registers
28+
- description: Cause coalesce registers
29+
30+
interrupts:
31+
maxItems: 1
32+
33+
clock-frequency:
34+
enum: [ 100000, 400000, 1000000 ]
35+
description:
36+
bus frequency used to configure timing registers;
37+
The frequency is expressed in Hz. Default is 100000.
38+
39+
required:
40+
- compatible
41+
- reg
42+
- interrupts
43+
44+
unevaluatedProperties: false
45+
46+
if:
47+
properties:
48+
compatible:
49+
contains:
50+
enum:
51+
- mellanox,i2c-mlxbf1
52+
53+
then:
54+
properties:
55+
reg:
56+
maxItems: 3
57+
58+
examples:
59+
- |
60+
i2c@2804000 {
61+
compatible = "mellanox,i2c-mlxbf1";
62+
reg = <0x02804000 0x800>,
63+
<0x02801200 0x020>,
64+
<0x02801260 0x020>;
65+
interrupts = <57>;
66+
clock-frequency = <100000>;
67+
};
68+
69+
- |
70+
i2c@2808800 {
71+
compatible = "mellanox,i2c-mlxbf2";
72+
reg = <0x02808800 0x600>,
73+
<0x02808e00 0x020>,
74+
<0x02808e20 0x020>,
75+
<0x02808e40 0x010>;
76+
interrupts = <57>;
77+
clock-frequency = <400000>;
78+
};

MAINTAINERS

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1502,7 +1502,7 @@ S: Maintained
15021502
F: Documentation/devicetree/bindings/arm/actions.yaml
15031503
F: Documentation/devicetree/bindings/clock/actions,owl-cmu.txt
15041504
F: Documentation/devicetree/bindings/dma/owl-dma.yaml
1505-
F: Documentation/devicetree/bindings/i2c/i2c-owl.txt
1505+
F: Documentation/devicetree/bindings/i2c/i2c-owl.yaml
15061506
F: Documentation/devicetree/bindings/interrupt-controller/actions,owl-sirq.yaml
15071507
F: Documentation/devicetree/bindings/mmc/owl-mmc.yaml
15081508
F: Documentation/devicetree/bindings/pinctrl/actions,*
@@ -11254,6 +11254,7 @@ MELLANOX BLUEFIELD I2C DRIVER
1125411254
M: Khalil Blaiech <kblaiech@nvidia.com>
1125511255
L: linux-i2c@vger.kernel.org
1125611256
S: Supported
11257+
F: Documentation/devicetree/bindings/i2c/mellanox,i2c-mlxbf.yaml
1125711258
F: drivers/i2c/busses/i2c-mlxbf.c
1125811259

1125911260
MELLANOX ETHERNET DRIVER (mlx4_en)

drivers/i2c/busses/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -675,6 +675,7 @@ config I2C_IMG
675675
config I2C_IMX
676676
tristate "IMX I2C interface"
677677
depends on ARCH_MXC || ARCH_LAYERSCAPE || COLDFIRE
678+
select I2C_SLAVE
678679
help
679680
Say Y here if you want to use the IIC bus controller on
680681
the Freescale i.MX/MXC, Layerscape or ColdFire processors.

drivers/i2c/busses/i2c-at91-master.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626
#include <linux/of_device.h>
2727
#include <linux/pinctrl/consumer.h>
2828
#include <linux/platform_device.h>
29-
#include <linux/platform_data/dma-atmel.h>
3029
#include <linux/pm_runtime.h>
3130

3231
#include "i2c-at91.h"

drivers/i2c/busses/i2c-at91.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
#include <linux/dma-mapping.h>
1919
#include <linux/dmaengine.h>
2020
#include <linux/i2c.h>
21-
#include <linux/platform_data/dma-atmel.h>
2221
#include <linux/platform_device.h>
2322

2423
#define AT91_I2C_TIMEOUT msecs_to_jiffies(100) /* transfer timeout */
@@ -123,7 +122,6 @@ struct at91_twi_pdata {
123122
bool has_adv_dig_filtr;
124123
bool has_ana_filtr;
125124
bool has_clear_cmd;
126-
struct at_dma_slave dma_slave;
127125
};
128126

129127
struct at91_twi_dma {

0 commit comments

Comments
 (0)