forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge tag 'i2c-for-5.20-rc1' of git://git.kernel.org/pub/scm/linux/ke…
…rnel/git/wsa/linux Pull i2c updates from Wolfram Sang: - new drivers: Microchip CoreI2C, Renesas RZV2M - quite some DT schema conversions and extensions - and a bunch of driver updates and improvements * tag 'i2c-for-5.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (37 commits) i2c: extend documentation about retvals of master_xfer functions i2c: mux-gpmux: Add of_node_put() when breaking out of loop dt-bindings: i2c: i2c-rk3x: Document Rockchip RV1126 i2c: qcom-geni: Use the correct return value i2c: cadence: Support PEC for SMBus block read i2c: qcom-geni: Propagate GENI_ABORT_DONE to geni_i2c_abort_xfer() i2c: brcmstb: Use dev_name() for adapter name i2c: Add Renesas RZ/V2M controller dt-bindings: i2c: Document RZ/V2M I2C controller i2c: mlxcpld: Add callback to notify probing completion i2c: scmi: Replace open coded device_get_match_data() i2c: stm32: add support for the STM32MP13 soc dt-bindings: i2c: st,stm32-i2c: add entry for stm32mp13 dt-bindings: i2c: i2c-rk3x: add rk3588 compatible i2c: add support for microchip fpga i2c controllers i2c: i801: Add support for Intel Meteor Lake-P dt-bindings: i2c: nomadik: Add power domain to binding dt-bindings: i2c: nomadik: Drop unused voltage supply from example i2c: Fix a potential use after free i2c: hisi: use HZ_PER_KHZ macro in units.h ...
- Loading branch information
Showing
33 changed files
with
1,655 additions
and
262 deletions.
There are no files selected for viewing
29 changes: 29 additions & 0 deletions
29
Documentation/devicetree/bindings/i2c/arm,i2c-versatile.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause | ||
%YAML 1.2 | ||
--- | ||
$id: http://devicetree.org/schemas/i2c/arm,i2c-versatile.yaml# | ||
$schema: http://devicetree.org/meta-schemas/core.yaml# | ||
|
||
title: I2C Controller on ARM Ltd development platforms | ||
|
||
maintainers: | ||
- Linus Walleij <[email protected]> | ||
|
||
allOf: | ||
- $ref: /schemas/i2c/i2c-controller.yaml# | ||
|
||
properties: | ||
compatible: | ||
const: arm,versatile-i2c | ||
|
||
reg: | ||
maxItems: 1 | ||
|
||
required: | ||
- compatible | ||
- reg | ||
|
||
unevaluatedProperties: false | ||
|
||
... | ||
|
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -7,17 +7,18 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# | |
title: nuvoton NPCM7XX I2C Controller Device Tree Bindings | ||
|
||
description: | | ||
The NPCM750x includes sixteen I2C bus controllers. All Controllers support | ||
both master and slave mode. Each controller can switch between master and slave | ||
at run time (i.e. IPMB mode). Each controller has two 16 byte HW FIFO for TX and | ||
RX. | ||
I2C bus controllers of the NPCM series support both master and | ||
slave mode. Each controller can switch between master and slave at run time | ||
(i.e. IPMB mode). HW FIFO for TX and RX are supported. | ||
maintainers: | ||
- Tali Perry <[email protected]> | ||
|
||
properties: | ||
compatible: | ||
const: nuvoton,npcm750-i2c | ||
enum: | ||
- nuvoton,npcm750-i2c | ||
- nuvoton,npcm845-i2c | ||
|
||
reg: | ||
maxItems: 1 | ||
|
@@ -36,6 +37,10 @@ properties: | |
default: 100000 | ||
enum: [100000, 400000, 1000000] | ||
|
||
nuvoton,sys-mgr: | ||
$ref: /schemas/types.yaml#/definitions/phandle | ||
description: The phandle of system manager register node. | ||
|
||
required: | ||
- compatible | ||
- reg | ||
|
@@ -44,6 +49,15 @@ required: | |
|
||
allOf: | ||
- $ref: /schemas/i2c/i2c-controller.yaml# | ||
- if: | ||
properties: | ||
compatible: | ||
contains: | ||
const: nuvoton,npcm845-i2c | ||
|
||
then: | ||
required: | ||
- nuvoton,sys-mgr | ||
|
||
unevaluatedProperties: false | ||
|
||
|
@@ -57,6 +71,7 @@ examples: | |
clock-frequency = <100000>; | ||
interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>; | ||
compatible = "nuvoton,npcm750-i2c"; | ||
nuvoton,sys-mgr = <&gcr>; | ||
}; | ||
... |
113 changes: 113 additions & 0 deletions
113
Documentation/devicetree/bindings/i2c/opencores,i2c-ocores.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,113 @@ | ||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | ||
%YAML 1.2 | ||
--- | ||
$id: http://devicetree.org/schemas/i2c/opencores,i2c-ocores.yaml# | ||
$schema: http://devicetree.org/meta-schemas/core.yaml# | ||
|
||
title: OpenCores I2C controller | ||
|
||
maintainers: | ||
- Peter Korsgaard <[email protected]> | ||
- Andrew Lunn <[email protected]> | ||
|
||
allOf: | ||
- $ref: /schemas/i2c/i2c-controller.yaml# | ||
|
||
properties: | ||
compatible: | ||
oneOf: | ||
- items: | ||
- enum: | ||
- sifive,fu740-c000-i2c # Opencore based IP block FU740-C000 SoC | ||
- sifive,fu540-c000-i2c # Opencore based IP block FU540-C000 SoC | ||
- const: sifive,i2c0 | ||
- enum: | ||
- opencores,i2c-ocores | ||
- aeroflexgaisler,i2cmst | ||
|
||
reg: | ||
maxItems: 1 | ||
|
||
interrupts: | ||
maxItems: 1 | ||
|
||
clocks: | ||
maxItems: 1 | ||
|
||
clock-frequency: | ||
description: | | ||
clock-frequency property is meant to control the bus frequency for i2c bus | ||
drivers, but it was incorrectly used to specify i2c controller input clock | ||
frequency. So the following rules are set to fix this situation: | ||
- if clock-frequency is present and neither opencores,ip-clock-frequency nor | ||
clocks are, then clock-frequency specifies i2c controller clock frequency. | ||
This is to keep backwards compatibility with setups using old DTB. i2c bus | ||
frequency is fixed at 100 KHz. | ||
- if clocks is present it specifies i2c controller clock. clock-frequency | ||
property specifies i2c bus frequency. | ||
- if opencores,ip-clock-frequency is present it specifies i2c controller | ||
clock frequency. clock-frequency property specifies i2c bus frequency. | ||
default: 100000 | ||
|
||
reg-io-width: | ||
description: | | ||
io register width in bytes | ||
enum: [1, 2, 4] | ||
|
||
reg-shift: | ||
description: | | ||
device register offsets are shifted by this value | ||
default: 0 | ||
|
||
regstep: | ||
description: | | ||
deprecated, use reg-shift above | ||
deprecated: true | ||
|
||
opencores,ip-clock-frequency: | ||
$ref: /schemas/types.yaml#/definitions/uint32 | ||
description: | | ||
Frequency of the controller clock in Hz. Mutually exclusive with clocks. | ||
See the note above. | ||
required: | ||
- compatible | ||
- reg | ||
- "#address-cells" | ||
- "#size-cells" | ||
|
||
oneOf: | ||
- required: | ||
- opencores,ip-clock-frequency | ||
- required: | ||
- clocks | ||
|
||
unevaluatedProperties: false | ||
|
||
examples: | ||
- | | ||
i2c@a0000000 { | ||
compatible = "opencores,i2c-ocores"; | ||
reg = <0xa0000000 0x8>; | ||
#address-cells = <1>; | ||
#size-cells = <0>; | ||
interrupts = <10>; | ||
opencores,ip-clock-frequency = <20000000>; | ||
reg-shift = <0>; /* 8 bit registers */ | ||
reg-io-width = <1>; /* 8 bit read/write */ | ||
}; | ||
i2c@b0000000 { | ||
compatible = "opencores,i2c-ocores"; | ||
reg = <0xa0000000 0x8>; | ||
#address-cells = <1>; | ||
#size-cells = <0>; | ||
interrupts = <10>; | ||
clocks = <&osc>; | ||
clock-frequency = <400000>; /* i2c bus frequency 400 KHz */ | ||
reg-shift = <0>; /* 8 bit registers */ | ||
reg-io-width = <1>; /* 8 bit read/write */ | ||
}; | ||
... |
Oops, something went wrong.