[v1,2/6] dt-bindings: i2c: hpe,gxp-i2c
Commit Message
From: Nick Hawkins <nick.hawkins@hpe.com>
Document binding to support I2C controller in GXP.
Signed-off-by: Nick Hawkins <nick.hawkins@hpe.com>
---
.../devicetree/bindings/i2c/hpe,gxp-i2c.yaml | 63 +++++++++++++++++++
1 file changed, 63 insertions(+)
create mode 100644 Documentation/devicetree/bindings/i2c/hpe,gxp-i2c.yaml
Comments
On 16/12/2022 19:35, nick.hawkins@hpe.com wrote:
> From: Nick Hawkins <nick.hawkins@hpe.com>
>
Subject: missing explanation what you are doing. Use `git log` to learn
how this can be written.
> Document binding to support I2C controller in GXP.
>
> Signed-off-by: Nick Hawkins <nick.hawkins@hpe.com>
> ---
> .../devicetree/bindings/i2c/hpe,gxp-i2c.yaml | 63 +++++++++++++++++++
> 1 file changed, 63 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/i2c/hpe,gxp-i2c.yaml
>
> diff --git a/Documentation/devicetree/bindings/i2c/hpe,gxp-i2c.yaml b/Documentation/devicetree/bindings/i2c/hpe,gxp-i2c.yaml
> new file mode 100644
> index 000000000000..fa378e991fdb
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/i2c/hpe,gxp-i2c.yaml
> @@ -0,0 +1,63 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/i2c/hpe,gxp-i2c.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: HPE GXP SoC I2C Controller
> +
> +maintainers:
> + - Nick Hawkins <nick.hawkins@hpe.com>
> +
> +allOf:
> + - $ref: /schemas/i2c/i2c-controller.yaml#
> +
> +properties:
> + compatible:
> + const: hpe,gxp-i2c
> +
> + '#address-cells':
> + const: 1
Drop, it's coming from i2c-controller.
> +
> + interrupts:
> + maxItems: 1
> +
> + reg:
> + maxItems: 1
> +
> + hpe,i2c-max-bus-freq:
> + $ref: /schemas/types.yaml#/definitions/uint32
> + description:
> + Desired frequency in Hz of the bus.
No, there is existing property for this - clock-frequency. Do not invent
own stuff.
Even if this was accepted, you must use standard property suffixes.
> + default: 100000
> +
> + hpe,sysreg-phandle:
Don't encode the type in property name. You do not call "reg" a
"reg-uint32", right? or hpe,i2c-max-bus-freq-uint32?
hpe,sysreg
(unless you can name it more accurately)
> + $ref: /schemas/types.yaml#/definitions/phandle
> + description: Pandle to syscon used to control the system registers.
> +
> + '#size-cells':
> + const: 0
Drop, it's coming from i2c-controller.
Krzysztof
new file mode 100644
@@ -0,0 +1,63 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/i2c/hpe,gxp-i2c.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: HPE GXP SoC I2C Controller
+
+maintainers:
+ - Nick Hawkins <nick.hawkins@hpe.com>
+
+allOf:
+ - $ref: /schemas/i2c/i2c-controller.yaml#
+
+properties:
+ compatible:
+ const: hpe,gxp-i2c
+
+ '#address-cells':
+ const: 1
+
+ interrupts:
+ maxItems: 1
+
+ reg:
+ maxItems: 1
+
+ hpe,i2c-max-bus-freq:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description:
+ Desired frequency in Hz of the bus.
+ default: 100000
+
+ hpe,sysreg-phandle:
+ $ref: /schemas/types.yaml#/definitions/phandle
+ description: Pandle to syscon used to control the system registers.
+
+ '#size-cells':
+ const: 0
+
+required:
+ - compatible
+ - reg
+ - interrupts
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ i2c@2600 {
+ compatible = "hpe,gxp-i2c";
+ reg = <0x2500 0x70>;
+ interrupts = <9>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ hpe,sysreg-phandle = <&sysreg_system_controller>;
+ hpe,i2c-max-bus-freq = <10000>;
+
+ eeprom@50 {
+ compatible = "atmel,24c128";
+ reg = <0x50>;
+ };
+ };