The i2c of K1 supports fast-speed-mode and high-speed-mode,
and supports FIFO transmission.
Signed-off-by: Troy Mitchell <TroyMitchell988@gmail.com>
---
.../bindings/i2c/spacemit,k1-i2c.yaml | 59 +++++++++++++++++++
1 file changed, 59 insertions(+)
create mode 100644 Documentation/devicetree/bindings/i2c/spacemit,k1-i2c.yaml
diff --git a/Documentation/devicetree/bindings/i2c/spacemit,k1-i2c.yaml b/Documentation/devicetree/bindings/i2c/spacemit,k1-i2c.yaml
new file mode 100644
index 000000000000..c1460ec2b323
--- /dev/null
+++ b/Documentation/devicetree/bindings/i2c/spacemit,k1-i2c.yaml
@@ -0,0 +1,59 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/i2c/spacemit,k1-i2c.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: I2C controller embedded in SpacemiT's K1 SoC
+
+maintainers:
+ - Troy Mitchell <troymitchell988@gmail.com>
+
+properties:
+ compatible:
+ const: spacemit,k1-i2c
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ maxItems: 1
+
+ clocks:
+ maxItems: 1
+
+ clock-frequency:
+ description:
+ Desired I2C bus clock frequency in Hz. As only fast and high-speed
+ modes are supported by hardware, possible values are 100000 and 400000.
+ enum: [100000, 400000]
+ default: 100000
+
+ fifo-disable:
+ type: boolean
+ description:
+ Whether to disable FIFO. If FIFO is turned on, it will be interrupted
+ only when the FIFO depth is reached, which can reduce the frequency
+ of interruption.
+ default: false
+
+unevaluatedProperties: false
+
+required:
+ - compatible
+ - reg
+ - interrupts
+ - clocks
+
+examples:
+ - |
+ i2c0: i2c@d4010800 {
+ compatible = "spacemit,k1-i2c";
+ reg = <0x0 0xd4010800 0x0 0x38>;
+ interrupt-parent = <&plic>;
+ interrupts = <36>;
+ clocks = <&ccu 90>;
+ clock-frequency = <100000>;
+ };
+
+...
--
2.34.1
On Tue, 15 Oct 2024 15:51:33 +0800, Troy Mitchell wrote: > The i2c of K1 supports fast-speed-mode and high-speed-mode, > and supports FIFO transmission. > > Signed-off-by: Troy Mitchell <TroyMitchell988@gmail.com> > --- > .../bindings/i2c/spacemit,k1-i2c.yaml | 59 +++++++++++++++++++ > 1 file changed, 59 insertions(+) > create mode 100644 Documentation/devicetree/bindings/i2c/spacemit,k1-i2c.yaml > My bot found errors running 'make dt_binding_check' on your patch: yamllint warnings/errors: dtschema/dtc warnings/errors: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/i2c/spacemit,k1-i2c.example.dtb: i2c@d4010800: reg: [[0, 3556837376], [0, 56]] is too long from schema $id: http://devicetree.org/schemas/i2c/spacemit,k1-i2c.yaml# /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/i2c/spacemit,k1-i2c.example.dtb: i2c@d4010800: Unevaluated properties are not allowed ('reg' was unexpected) from schema $id: http://devicetree.org/schemas/i2c/spacemit,k1-i2c.yaml# doc reference errors (make refcheckdocs): See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20241015075134.1449458-2-TroyMitchell988@gmail.com The base for the series is generally the latest rc1. A different dependency should be noted in *this* patch. If you already ran 'make dt_binding_check' and didn't see the above error(s), then make sure 'yamllint' is installed and dt-schema is up to date: pip3 install dtschema --upgrade Please check and re-submit after running the above command yourself. Note that DT_SCHEMA_FILES can be set to your schema file to speed up checking your schema. However, it must be unset to test all examples with your schema.
On 15/10/2024 09:51, Troy Mitchell wrote: > The i2c of K1 supports fast-speed-mode and high-speed-mode, s/i2c/I2C/ > and supports FIFO transmission. > > Signed-off-by: Troy Mitchell <TroyMitchell988@gmail.com> > --- > .../bindings/i2c/spacemit,k1-i2c.yaml | 59 +++++++++++++++++++ > 1 file changed, 59 insertions(+) > create mode 100644 Documentation/devicetree/bindings/i2c/spacemit,k1-i2c.yaml > > diff --git a/Documentation/devicetree/bindings/i2c/spacemit,k1-i2c.yaml b/Documentation/devicetree/bindings/i2c/spacemit,k1-i2c.yaml > new file mode 100644 > index 000000000000..c1460ec2b323 > --- /dev/null > +++ b/Documentation/devicetree/bindings/i2c/spacemit,k1-i2c.yaml > @@ -0,0 +1,59 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/i2c/spacemit,k1-i2c.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: I2C controller embedded in SpacemiT's K1 SoC > + > +maintainers: > + - Troy Mitchell <troymitchell988@gmail.com> > + > +properties: > + compatible: > + const: spacemit,k1-i2c There is no such vendor prefix. > + > + reg: > + maxItems: 1 > + > + interrupts: > + maxItems: 1 > + > + clocks: > + maxItems: 1 > + > + clock-frequency: > + description: > + Desired I2C bus clock frequency in Hz. As only fast and high-speed > + modes are supported by hardware, possible values are 100000 and 400000. > + enum: [100000, 400000] > + default: 100000 > + > + fifo-disable: Why is this a property of a board? Also, missing vendor prefix. > + type: boolean > + description: > + Whether to disable FIFO. If FIFO is turned on, it will be interrupted > + only when the FIFO depth is reached, which can reduce the frequency > + of interruption. > + default: false Drop > + > +unevaluatedProperties: false This goes after required: block. > + > +required: > + - compatible > + - reg > + - interrupts > + - clocks > + > +examples: > + - | > + i2c0: i2c@d4010800 { Drop unused alias > + compatible = "spacemit,k1-i2c"; Best regards, Krzysztof
On 2024/10/15 16:02, Krzysztof Kozlowski wrote: > On 15/10/2024 09:51, Troy Mitchell wrote: >> The i2c of K1 supports fast-speed-mode and high-speed-mode, > > s/i2c/I2C/ > >> and supports FIFO transmission. >> >> Signed-off-by: Troy Mitchell <TroyMitchell988@gmail.com> >> --- >> .../bindings/i2c/spacemit,k1-i2c.yaml | 59 +++++++++++++++++++ >> 1 file changed, 59 insertions(+) >> create mode 100644 Documentation/devicetree/bindings/i2c/spacemit,k1-i2c.yaml >> >> diff --git a/Documentation/devicetree/bindings/i2c/spacemit,k1-i2c.yaml b/Documentation/devicetree/bindings/i2c/spacemit,k1-i2c.yaml >> new file mode 100644 >> index 000000000000..c1460ec2b323 >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/i2c/spacemit,k1-i2c.yaml >> @@ -0,0 +1,59 @@ >> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) >> +%YAML 1.2 >> +--- >> +$id: http://devicetree.org/schemas/i2c/spacemit,k1-i2c.yaml# >> +$schema: http://devicetree.org/meta-schemas/core.yaml# >> + >> +title: I2C controller embedded in SpacemiT's K1 SoC >> + >> +maintainers: >> + - Troy Mitchell <troymitchell988@gmail.com> >> + >> +properties: >> + compatible: >> + const: spacemit,k1-i2c > > There is no such vendor prefix. > >> + >> + reg: >> + maxItems: 1 >> + >> + interrupts: >> + maxItems: 1 >> + >> + clocks: >> + maxItems: 1 >> + >> + clock-frequency: >> + description: >> + Desired I2C bus clock frequency in Hz. As only fast and high-speed >> + modes are supported by hardware, possible values are 100000 and 400000. >> + enum: [100000, 400000] >> + default: 100000 >> + >> + fifo-disable: > > Why is this a property of a board? > > Also, missing vendor prefix. > > >> + type: boolean >> + description: >> + Whether to disable FIFO. If FIFO is turned on, it will be interrupted >> + only when the FIFO depth is reached, which can reduce the frequency >> + of interruption. >> + default: false > > Drop It's a hardware FIFO instead of software. Is it unnecessary in this file? If is, why dma can be written in dt-binding. > >> + >> +unevaluatedProperties: false > > This goes after required: block. > > >> + >> +required: >> + - compatible >> + - reg >> + - interrupts >> + - clocks >> + >> +examples: >> + - | >> + i2c0: i2c@d4010800 { > > Drop unused alias > >> + compatible = "spacemit,k1-i2c"; > > Best regards, > Krzysztof > Best regards, Troy
On 16/10/2024 04:45, Troy Mitchell wrote: >>> + >>> + clock-frequency: >>> + description: >>> + Desired I2C bus clock frequency in Hz. As only fast and high-speed >>> + modes are supported by hardware, possible values are 100000 and 400000. >>> + enum: [100000, 400000] >>> + default: 100000 >>> + >>> + fifo-disable: >> >> Why is this a property of a board? Here, this ^^^^^^ >> >> Also, missing vendor prefix. >> >> >>> + type: boolean >>> + description: >>> + Whether to disable FIFO. If FIFO is turned on, it will be interrupted >>> + only when the FIFO depth is reached, which can reduce the frequency >>> + of interruption. >>> + default: false >> >> Drop > > It's a hardware FIFO instead of software. > Is it unnecessary in this file? > If is, why dma can be written in dt-binding. Because of what I asked earlier. Which 'dma' property are you asking about? 'use-dma'? There was rationale provided in favor. I would be more than happy to see similar rationale here. Best regards, Krzysztof
On Tue, Oct 15, 2024 at 10:02:21AM +0200, Krzysztof Kozlowski wrote: > On 15/10/2024 09:51, Troy Mitchell wrote: > > The i2c of K1 supports fast-speed-mode and high-speed-mode, > > s/i2c/I2C/ > > > and supports FIFO transmission. > > > > Signed-off-by: Troy Mitchell <TroyMitchell988@gmail.com> > > --- > > .../bindings/i2c/spacemit,k1-i2c.yaml | 59 +++++++++++++++++++ > > 1 file changed, 59 insertions(+) > > create mode 100644 Documentation/devicetree/bindings/i2c/spacemit,k1-i2c.yaml > > > > diff --git a/Documentation/devicetree/bindings/i2c/spacemit,k1-i2c.yaml b/Documentation/devicetree/bindings/i2c/spacemit,k1-i2c.yaml > > new file mode 100644 > > index 000000000000..c1460ec2b323 > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/i2c/spacemit,k1-i2c.yaml > > @@ -0,0 +1,59 @@ > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > > +%YAML 1.2 > > +--- > > +$id: http://devicetree.org/schemas/i2c/spacemit,k1-i2c.yaml# > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > + > > +title: I2C controller embedded in SpacemiT's K1 SoC > > + > > +maintainers: > > + - Troy Mitchell <troymitchell988@gmail.com> > > + > > +properties: > > + compatible: > > + const: spacemit,k1-i2c > > There is no such vendor prefix. 7cf3e9bfc63db ("dt-bindings: vendor-prefixes: add spacemit") will be in tomorrow's next.
© 2016 - 2024 Red Hat, Inc.