mirror of
https://github.com/torvalds/linux.git
synced 2026-05-01 13:02:35 -04:00
The Cadence I2C controller has an external reset that needs to be de-asserted before the I2C controller can be accessed. Document the `resets` devicetree property that can be used to describe how the reset signal is connected. While the reset signal will always be present in hardware the devicetree property is kept optional for backwards compatibility with existing systems that do not specify the reset property and where the reset signal might not be controlled by operating system. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Acked-by: Michal Simek <michal.simek@amd.com> Signed-off-by: Wolfram Sang <wsa@kernel.org>
73 lines
1.4 KiB
YAML
73 lines
1.4 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/i2c/cdns,i2c-r1p10.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Cadence I2C controller
|
|
|
|
maintainers:
|
|
- Michal Simek <michal.simek@xilinx.com>
|
|
|
|
allOf:
|
|
- $ref: /schemas/i2c/i2c-controller.yaml#
|
|
|
|
properties:
|
|
compatible:
|
|
enum:
|
|
- cdns,i2c-r1p10 # cadence i2c controller version 1.0
|
|
- cdns,i2c-r1p14 # cadence i2c controller version 1.4
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
clocks:
|
|
minItems: 1
|
|
|
|
resets:
|
|
maxItems: 1
|
|
|
|
interrupts:
|
|
maxItems: 1
|
|
|
|
clock-frequency:
|
|
minimum: 1
|
|
maximum: 400000
|
|
description: |
|
|
Desired operating frequency, in Hz, of the bus.
|
|
|
|
clock-name:
|
|
const: pclk
|
|
description: |
|
|
Input clock name.
|
|
|
|
fifo-depth:
|
|
description:
|
|
Size of the data FIFO in bytes.
|
|
$ref: /schemas/types.yaml#/definitions/uint32
|
|
default: 16
|
|
enum: [2, 4, 8, 16, 32, 64, 128, 256]
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
- clocks
|
|
- interrupts
|
|
|
|
unevaluatedProperties: false
|
|
|
|
examples:
|
|
- |
|
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
|
i2c@e0004000 {
|
|
compatible = "cdns,i2c-r1p10";
|
|
clocks = <&clkc 38>;
|
|
resets = <&rstc 288>;
|
|
interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
|
|
reg = <0xe0004000 0x1000>;
|
|
clock-frequency = <400000>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
fifo-depth = <8>;
|
|
};
|