* [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).