* [PATCH v2] dt-bindings: i2c: nxp,lpc1788-i2c: convert to dt schema
@ 2024-06-20 5:40 Kanak Shilledar
2024-06-20 10:57 ` Krzysztof Kozlowski
0 siblings, 1 reply; 4+ messages in thread
From: Kanak Shilledar @ 2024-06-20 5:40 UTC (permalink / raw)
Cc: Kanak Shilledar, Andi Shyti, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Vladimir Zapolskiy, linux-i2c, devicetree,
linux-kernel, linux-arm-kernel
Convert the NXP I2C controller for LPC2xxx/178x/18xx/43xx
to newer DT schema. Created DT schema based on the .txt file
which had `compatible`, `reg`, `interrupts`, `clocks`,
`#address-cells` and `#size-cells` as required properties.
Additional changes to the original .txt binding
- added maintainer from the MAINTAINERS file.
- added resets property required by the corresponding DTS files.
Signed-off-by: Kanak Shilledar <kanakshilledar@gmail.com>
---
Changes in v2:
- updated subject line to include device name.
- changed removed description from properties except `clock-frequency`.
- updated MAINTAINERS to track this file.
---
.../devicetree/bindings/i2c/i2c-lpc2k.txt | 33 -----------
.../bindings/i2c/nxp,lpc1788-i2c.yaml | 56 +++++++++++++++++++
MAINTAINERS | 2 +-
3 files changed, 57 insertions(+), 34 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/i2c/i2c-lpc2k.txt
create mode 100644 Documentation/devicetree/bindings/i2c/nxp,lpc1788-i2c.yaml
diff --git a/Documentation/devicetree/bindings/i2c/i2c-lpc2k.txt b/Documentation/devicetree/bindings/i2c/i2c-lpc2k.txt
deleted file mode 100644
index 4101aa621ad4..000000000000
--- a/Documentation/devicetree/bindings/i2c/i2c-lpc2k.txt
+++ /dev/null
@@ -1,33 +0,0 @@
-NXP I2C controller for LPC2xxx/178x/18xx/43xx
-
-Required properties:
- - compatible: must be "nxp,lpc1788-i2c"
- - reg: physical address and length of the device registers
- - interrupts: a single interrupt specifier
- - clocks: clock for the device
- - #address-cells: should be <1>
- - #size-cells: should be <0>
-
-Optional properties:
-- clock-frequency: the desired I2C bus clock frequency in Hz; in
- absence of this property the default value is used (100 kHz).
-
-Example:
-i2c0: i2c@400a1000 {
- compatible = "nxp,lpc1788-i2c";
- reg = <0x400a1000 0x1000>;
- interrupts = <18>;
- clocks = <&ccu1 CLK_APB1_I2C0>;
- #address-cells = <1>;
- #size-cells = <0>;
-};
-
-&i2c0 {
- clock-frequency = <400000>;
-
- lm75@48 {
- compatible = "nxp,lm75";
- reg = <0x48>;
- };
-};
-
diff --git a/Documentation/devicetree/bindings/i2c/nxp,lpc1788-i2c.yaml b/Documentation/devicetree/bindings/i2c/nxp,lpc1788-i2c.yaml
new file mode 100644
index 000000000000..8caafe48edb6
--- /dev/null
+++ b/Documentation/devicetree/bindings/i2c/nxp,lpc1788-i2c.yaml
@@ -0,0 +1,56 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/i2c/nxp,lpc1788-i2c.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: NXP I2C controller for LPC2xxx/178x/18xx/43xx
+
+maintainers:
+ - Vladimir Zapolskiy <vz@mleia.com>
+
+allOf:
+ - $ref: /schemas/i2c/i2c-controller.yaml#
+
+properties:
+ compatible:
+ const: nxp,lpc1788-i2c
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ maxItems: 1
+
+ clocks:
+ maxItems: 1
+
+ clock-frequency:
+ description: the desired I2C bus clock frequency in Hz
+ default: 100000
+
+ resets:
+ maxItems: 1
+
+required:
+ - compatible
+ - reg
+ - interrupts
+ - clocks
+ - "#address-cells"
+ - "#size-cells"
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ #include "dt-bindings/clock/lpc18xx-ccu.h"
+
+ i2c@400a1000 {
+ compatible = "nxp,lpc1788-i2c";
+ reg = <0x400a1000 0x1000>;
+ interrupts = <18>;
+ clocks = <&ccu1 CLK_APB1_I2C0>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
diff --git a/MAINTAINERS b/MAINTAINERS
index cf9c9221c388..920e4f28b5ae 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2374,7 +2374,7 @@ ARM/LPC18XX ARCHITECTURE
M: Vladimir Zapolskiy <vz@mleia.com>
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
S: Maintained
-F: Documentation/devicetree/bindings/i2c/i2c-lpc2k.txt
+F: Documentation/devicetree/bindings/i2c/nxp,lpc1788-i2c.yaml
F: arch/arm/boot/dts/nxp/lpc/lpc43*
F: drivers/i2c/busses/i2c-lpc2k.c
F: drivers/memory/pl172.c
--
2.45.2
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH v2] dt-bindings: i2c: nxp,lpc1788-i2c: convert to dt schema
2024-06-20 5:40 [PATCH v2] dt-bindings: i2c: nxp,lpc1788-i2c: convert to dt schema Kanak Shilledar
@ 2024-06-20 10:57 ` Krzysztof Kozlowski
2024-06-24 7:09 ` Kanak Shilledar
0 siblings, 1 reply; 4+ messages in thread
From: Krzysztof Kozlowski @ 2024-06-20 10:57 UTC (permalink / raw)
To: Kanak Shilledar
Cc: Andi Shyti, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Vladimir Zapolskiy, linux-i2c, devicetree, linux-kernel,
linux-arm-kernel
On 20/06/2024 07:40, Kanak Shilledar wrote:
> Convert the NXP I2C controller for LPC2xxx/178x/18xx/43xx
> to newer DT schema. Created DT schema based on the .txt file
> which had `compatible`, `reg`, `interrupts`, `clocks`,
> `#address-cells` and `#size-cells` as required properties.
>
Thank you for your patch. There is something to discuss/improve.
> + clocks:
> + maxItems: 1
> +
> + clock-frequency:
> + description: the desired I2C bus clock frequency in Hz
> + default: 100000
> +
> + resets:
> + maxItems: 1
> +
> +required:
> + - compatible
> + - reg
> + - interrupts
> + - clocks
> + - "#address-cells"
> + - "#size-cells"
These should not be required, because you can have an enabled I2C
controller without children in DT.
> +
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v2] dt-bindings: i2c: nxp,lpc1788-i2c: convert to dt schema
2024-06-20 10:57 ` Krzysztof Kozlowski
@ 2024-06-24 7:09 ` Kanak Shilledar
2024-06-24 8:47 ` Krzysztof Kozlowski
0 siblings, 1 reply; 4+ messages in thread
From: Kanak Shilledar @ 2024-06-24 7:09 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: Andi Shyti, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Vladimir Zapolskiy, linux-i2c, devicetree, linux-kernel,
linux-arm-kernel
On Thu, Jun 20, 2024 at 4:27 PM Krzysztof Kozlowski <krzk@kernel.org> wrote:
>
> On 20/06/2024 07:40, Kanak Shilledar wrote:
> > Convert the NXP I2C controller for LPC2xxx/178x/18xx/43xx
> > to newer DT schema. Created DT schema based on the .txt file
> > which had `compatible`, `reg`, `interrupts`, `clocks`,
> > `#address-cells` and `#size-cells` as required properties.
> >
>
> Thank you for your patch. There is something to discuss/improve.
>
>
> > + clocks:
> > + maxItems: 1
> > +
> > + clock-frequency:
> > + description: the desired I2C bus clock frequency in Hz
> > + default: 100000
> > +
> > + resets:
> > + maxItems: 1
> > +
> > +required:
> > + - compatible
> > + - reg
> > + - interrupts
> > + - clocks
> > + - "#address-cells"
> > + - "#size-cells"
>
> These should not be required, because you can have an enabled I2C
> controller without children in DT.
You suggest removing the address cells and size cells from the
required properties?
I saw a few i2c dt-bindings and these had the address cells and size
cells in the required
property.
>
>
> Best regards,
> Krzysztof
Thanks and Regards,
Kanak Shilledar
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v2] dt-bindings: i2c: nxp,lpc1788-i2c: convert to dt schema
2024-06-24 7:09 ` Kanak Shilledar
@ 2024-06-24 8:47 ` Krzysztof Kozlowski
0 siblings, 0 replies; 4+ messages in thread
From: Krzysztof Kozlowski @ 2024-06-24 8:47 UTC (permalink / raw)
To: Kanak Shilledar
Cc: Andi Shyti, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Vladimir Zapolskiy, linux-i2c, devicetree, linux-kernel,
linux-arm-kernel
On 24/06/2024 09:09, Kanak Shilledar wrote:
>>> +
>>> +required:
>>> + - compatible
>>> + - reg
>>> + - interrupts
>>> + - clocks
>>> + - "#address-cells"
>>> + - "#size-cells"
>>
>> These should not be required, because you can have an enabled I2C
>> controller without children in DT.
>
> You suggest removing the address cells and size cells from the
> required properties?
Yes.
> I saw a few i2c dt-bindings and these had the address cells and size
> cells in the required
> property.
Could be.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2024-06-24 8:48 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-06-20 5:40 [PATCH v2] dt-bindings: i2c: nxp,lpc1788-i2c: convert to dt schema Kanak Shilledar
2024-06-20 10:57 ` Krzysztof Kozlowski
2024-06-24 7:09 ` Kanak Shilledar
2024-06-24 8:47 ` Krzysztof Kozlowski
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).