[PATCH 05/13] dt-bindings: i2c: add bindings for microchip mpfs i2c
Krzysztof Kozlowski
krzysztof.kozlowski at canonical.com
Mon Nov 8 13:13:10 PST 2021
On 08/11/2021 16:05, conor.dooley at microchip.com wrote:
> From: Conor Dooley <conor.dooley at microchip.com>
>
> Add device tree bindings for the i2c controller on
> the Microchip PolarFire SoC.
>
> Signed-off-by: Conor Dooley <conor.dooley at microchip.com>
> Signed-off-by: Daire McNamara <daire.mcnamara at microchip.com>
> ---
> .../bindings/i2c/microchip,mpfs-i2c.yaml | 74 +++++++++++++++++++
> 1 file changed, 74 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/i2c/microchip,mpfs-i2c.yaml
>
> diff --git a/Documentation/devicetree/bindings/i2c/microchip,mpfs-i2c.yaml b/Documentation/devicetree/bindings/i2c/microchip,mpfs-i2c.yaml
> new file mode 100644
> index 000000000000..bc4ea4498d35
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/i2c/microchip,mpfs-i2c.yaml
> @@ -0,0 +1,74 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/i2c/microchip,mpfs-i2c.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Microchip MPFS I2C Controller Device Tree Bindings
> +
> +maintainers:
> + - Daire McNamara <daire.mcnamara at microchip.com>
> +
> +description: |
> + This I2C controller is found on the Microchip PolarFire SoC.
> +
> +allOf:
> + - $ref: /schemas/i2c/i2c-controller.yaml#
> +
> +properties:
> + compatible:
> + enum:
> + - microchip,mpfs-i2c # Microchip PolarFire SoC compatible SoCs
> +
> + reg:
> + maxItems: 1
> +
> + interrupts:
> + maxItems: 1
> +
> + clocks:
> + description: Phandle of the clock feeding the I2C controller.
Skip such descriptions here and in other patches - they do not introduce
any meaningful information.
> + minItems: 1
Define instead exact number of clocks or maxItems... but why would they
be variable?
> +
> + clock-frequency:
> + description: |
> + Desired I2C bus clock frequency in Hz. As only Standard and Fast
> + modes are supported, possible values are 100000 and 400000.
> + enum: [100000, 400000]
> +
> +required:
> + - compatible
> + - reg
> + - interrupts
> + - clocks
> +
> +unevaluatedProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/clock/microchip,mpfs-clock.h>
> + soc {
> + #address-cells = <2>;
> + #size-cells = <2>;
> + i2c at 2010a000 {
> + compatible = "microchip,mpfs-i2c";
> + reg = <0 0x2010a000 0 0x1000>;
> + interrupts = <58>;
> + clock-frequency = <100000>;
> + clocks = <&clkcfg CLK_I2C0>;
> + };
> + };
> + - |
> + #include <dt-bindings/clock/microchip,mpfs-clock.h>
> + soc {
> + #address-cells = <2>;
> + #size-cells = <2>;
> + i2c at 2010b000 {
> + compatible = "microchip,mpfs-i2c";
> + reg = <0 0x2010b000 0 0x1000>;
> + interrupts = <61>;
> + clock-frequency = <100000>;
> + clocks = <&clkcfg CLK_I2C1>;
This is the same example as above, just with changed numbers. Skip it.
> + };
> + };
> +...
>
Best regards,
Krzysztof
More information about the linux-riscv
mailing list