* [PATCH v4 0/8] i2c: i2c-mlxbf.c: bug fixes and new feature support
@ 2022-09-19 21:34 Asmaa Mnebhi
2022-09-19 21:34 ` [PATCH v4 8/8] i2c: i2c-mlxbf.c: Update binding devicetree Asmaa Mnebhi
0 siblings, 1 reply; 3+ messages in thread
From: Asmaa Mnebhi @ 2022-09-19 21:34 UTC (permalink / raw)
To: Wolfram Sang, robh, linux-i2c, linux-kernel, devicetree; +Cc: Asmaa Mnebhi
This is a series of patches fixing several bugs and implementing
new features.
Bug fixes:
1) Fix the frequency calculation
2) Fix incorrect base address passed during io write
3) prevent stack overflow in mlxbf_i2c_smbus_start_transaction()
4) Support lock mechanism to avoid race condition between entities
using the i2c bus
Cleanup:
5) remove IRQF_ONESHOT flag as it is no longer needed.
Features:
6) Support multi slave functionality
7) Support BlueField-3 SoC
8) Update binding devicetree
What has changed from v3->v4:
- moved the patch related to updating the SPDX licence out of this series.
This will be submitted as a separate patch later and will need approval
from all contributors.
- fixed build error in the frequency calculation patch. The name
of the frequency functions changed but that was not reflected
when they were called.
- Fixed the prefix in $subject as "i2c: <driver>:"
- Use kernel multiline comment style in the "support lock mechanism" patch
- instead of calling mlxbf_i2c_smbus_master_unlock multiple times, use the
"goto out_unlock" style.
- Added the devicetree reviewers
Asmaa Mnebhi (8):
i2c: i2c-mlxbf.c: Fix frequency calculation
i2c: i2c-mlxbf.c: remove IRQF_ONESHOT
i2c: i2c-mlxbf.c: incorrect base address passed during io write
i2c: i2c-mlxbf: prevent stack overflow in
mlxbf_i2c_smbus_start_transaction()
i2c: i2c-mlxbf.c: support lock mechanism
i2c: i2c-mlxbf: add multi slave functionality
i2c: i2c-mlxbf.c: support BlueField-3 SoC
i2c: i2c-mlxbf.c: Update binding devicetree
.../bindings/i2c/mellanox,i2c-mlxbf.yaml | 49 +-
MAINTAINERS | 1 +
drivers/i2c/busses/i2c-mlxbf.c | 862 ++++++++++--------
3 files changed, 522 insertions(+), 390 deletions(-)
--
2.30.1
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH v4 8/8] i2c: i2c-mlxbf.c: Update binding devicetree
2022-09-19 21:34 [PATCH v4 0/8] i2c: i2c-mlxbf.c: bug fixes and new feature support Asmaa Mnebhi
@ 2022-09-19 21:34 ` Asmaa Mnebhi
2022-09-20 8:18 ` Krzysztof Kozlowski
0 siblings, 1 reply; 3+ messages in thread
From: Asmaa Mnebhi @ 2022-09-19 21:34 UTC (permalink / raw)
To: Wolfram Sang, robh, linux-i2c, linux-kernel, devicetree
Cc: Asmaa Mnebhi, Khalil Blaiech
In the latest version of the i2c-mlxbf.c driver, the "Smbus block"
resource was broken down to 3 separate resources "Smbus timer",
"Smbus master" and "Smbus slave" to accommodate for BlueField-3
SoC registers' changes.
Reviewed-by: Khalil Blaiech <kblaiech@nvidia.com>
Signed-off-by: Asmaa Mnebhi <asmaa@nvidia.com>
---
.../bindings/i2c/mellanox,i2c-mlxbf.yaml | 49 ++++++++++++++-----
1 file changed, 37 insertions(+), 12 deletions(-)
diff --git a/Documentation/devicetree/bindings/i2c/mellanox,i2c-mlxbf.yaml b/Documentation/devicetree/bindings/i2c/mellanox,i2c-mlxbf.yaml
index 93198d5d43a6..12dbe7e7967e 100644
--- a/Documentation/devicetree/bindings/i2c/mellanox,i2c-mlxbf.yaml
+++ b/Documentation/devicetree/bindings/i2c/mellanox,i2c-mlxbf.yaml
@@ -8,6 +8,7 @@ title: Mellanox I2C SMBus on BlueField SoCs
maintainers:
- Khalil Blaiech <kblaiech@nvidia.com>
+ - Asmaa Mnebhi <asmaa@nvidia.com>
allOf:
- $ref: /schemas/i2c/i2c-controller.yaml#
@@ -17,14 +18,19 @@ properties:
enum:
- mellanox,i2c-mlxbf1
- mellanox,i2c-mlxbf2
+ - mellanox,i2c-mlxbf3
reg:
minItems: 3
+ maxItems: 6
items:
- description: Smbus block registers
- description: Cause master registers
- description: Cause slave registers
- description: Cause coalesce registers
+ - description: Smbus timer registers
+ - description: Smbus master registers
+ - description: Smbus slave registers
interrupts:
maxItems: 1
@@ -35,6 +41,13 @@ properties:
bus frequency used to configure timing registers;
The frequency is expressed in Hz. Default is 100000.
+ resource_version:
+ enum: [ 0, 1 ]
+ description:
+ Version of the device tree. resource_version = 0 when the driver uses
+ Smbus block resource. resource_version = 1 when the driver uses Smbus
+ timer, Smbus master and Smbus slave resources.
+
required:
- compatible
- reg
@@ -42,18 +55,6 @@ required:
unevaluatedProperties: false
-if:
- properties:
- compatible:
- contains:
- enum:
- - mellanox,i2c-mlxbf1
-
-then:
- properties:
- reg:
- maxItems: 3
-
examples:
- |
i2c@2804000 {
@@ -61,8 +62,13 @@ examples:
reg = <0x02804000 0x800>,
<0x02801200 0x020>,
<0x02801260 0x020>;
+ <0x00000001 0x1>;
+ <0x02804000 0x40>,
+ <0x02804200 0x200>,
+ <0x02804400 0x200>,
interrupts = <57>;
clock-frequency = <100000>;
+ resource_version = <1>;
};
- |
@@ -72,6 +78,25 @@ examples:
<0x02808e00 0x020>,
<0x02808e20 0x020>,
<0x02808e40 0x010>;
+ <0x02808800 0x040>;
+ <0x02808a00 0x200>,
+ <0x02808c00 0x200>,
interrupts = <57>;
clock-frequency = <400000>;
+ resource_version = <1>;
+ };
+
+ - |
+ i2c@2808800 {
+ compatible = "mellanox,i2c-mlxbf3";
+ reg = <0x00000001 0x1>,
+ <0x13404400 0x020>,
+ <0x13404420 0x020>,
+ <0x13404440 0x010>;
+ <0x13404480 0x40>,
+ <0x13404200 0x200>,
+ <0x13404000 0x200>,
+ interrupts = <35>;
+ clock-frequency = <400000>;
+ resource_version = <1>;
};
--
2.30.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH v4 8/8] i2c: i2c-mlxbf.c: Update binding devicetree
2022-09-19 21:34 ` [PATCH v4 8/8] i2c: i2c-mlxbf.c: Update binding devicetree Asmaa Mnebhi
@ 2022-09-20 8:18 ` Krzysztof Kozlowski
0 siblings, 0 replies; 3+ messages in thread
From: Krzysztof Kozlowski @ 2022-09-20 8:18 UTC (permalink / raw)
To: Asmaa Mnebhi
Cc: Khalil Blaiech, robh, linux-i2c, linux-kernel, devicetree,
Wolfram Sang
On Mon, 19 Sep 2022 17:34:31 -0400, Asmaa Mnebhi wrote:
> In the latest version of the i2c-mlxbf.c driver, the "Smbus block"
> resource was broken down to 3 separate resources "Smbus timer",
> "Smbus master" and "Smbus slave" to accommodate for BlueField-3
> SoC registers' changes.
>
> Reviewed-by: Khalil Blaiech <kblaiech@nvidia.com>
> Signed-off-by: Asmaa Mnebhi <asmaa@nvidia.com>
> ---
> .../bindings/i2c/mellanox,i2c-mlxbf.yaml | 49 ++++++++++++++-----
> 1 file changed, 37 insertions(+), 12 deletions(-)
>
My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
on your patch (DT_CHECKER_FLAGS is new in v5.13):
yamllint warnings/errors:
dtschema/dtc warnings/errors:
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/i2c/mellanox,i2c-mlxbf.yaml: properties:reg: {'minItems': 3, 'maxItems': 6, 'items': [{'description': 'Smbus block registers'}, {'description': 'Cause master registers'}, {'description': 'Cause slave registers'}, {'description': 'Cause coalesce registers'}, {'description': 'Smbus timer registers'}, {'description': 'Smbus master registers'}, {'description': 'Smbus slave registers'}]} should not be valid under {'required': ['maxItems']}
hint: "maxItems" is not needed with an "items" list
from schema $id: http://devicetree.org/meta-schemas/items.yaml#
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/i2c/mellanox,i2c-mlxbf.yaml: ignoring, error in schema: properties: reg
Error: Documentation/devicetree/bindings/i2c/mellanox,i2c-mlxbf.example.dts:26.19-20 syntax error
FATAL ERROR: Unable to parse input tree
make[1]: *** [scripts/Makefile.lib:384: Documentation/devicetree/bindings/i2c/mellanox,i2c-mlxbf.example.dtb] Error 1
make[1]: *** Waiting for unfinished jobs....
make: *** [Makefile:1420: dt_binding_check] Error 2
doc reference errors (make refcheckdocs):
See https://patchwork.ozlabs.org/patch/
This check can fail if there are any dependencies. The base for a patch
series is generally the most recent rc1.
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.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2022-09-20 8:21 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-09-19 21:34 [PATCH v4 0/8] i2c: i2c-mlxbf.c: bug fixes and new feature support Asmaa Mnebhi
2022-09-19 21:34 ` [PATCH v4 8/8] i2c: i2c-mlxbf.c: Update binding devicetree Asmaa Mnebhi
2022-09-20 8:18 ` 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).