Add DT bindings OPEN Alliance 10BASE-T1x MACPHY Serial Interface
parameters. These are generic properties that can apply to any 10BASE-T1x
MAC-PHY which uses OPEN Alliance TC6 specification.
Signed-off-by: Parthiban Veerasooran <Parthiban.Veerasooran@microchip.com>
---
.../devicetree/bindings/net/oa-tc6.yaml | 72 +++++++++++++++++++
MAINTAINERS | 1 +
2 files changed, 73 insertions(+)
create mode 100644 Documentation/devicetree/bindings/net/oa-tc6.yaml
diff --git a/Documentation/devicetree/bindings/net/oa-tc6.yaml b/Documentation/devicetree/bindings/net/oa-tc6.yaml
new file mode 100644
index 000000000000..9f442fa6cace
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/oa-tc6.yaml
@@ -0,0 +1,72 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/net/oa-tc6.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: OPEN Alliance 10BASE-T1x MAC-PHY Specification Common Properties
+
+maintainers:
+ - Parthiban Veerasooran <parthiban.veerasooran@microchip.com>
+
+description:
+ These are generic properties that can apply to any 10BASE-T1x MAC-PHY
+ which uses OPEN Alliance TC6 specification.
+
+ 10BASE-T1x MAC-PHY Serial Interface Specification can be found at:
+ https://opensig.org/about/specifications/
+
+properties:
+ $nodename:
+ pattern: "^oa-tc6(@.*)?"
+
+ "#address-cells":
+ const: 1
+
+ "#size-cells":
+ const: 0
+
+ oa-cps:
+ maxItems: 1
+ description:
+ Chunk Payload Size. Configures the data chunk payload size to 2^N,
+ where N is the value of this bitfield. The minimum possible data
+ chunk payload size is 8 bytes or N = 3. The default data chunk
+ payload size is 64 bytes, or N = 6. The minimum supported data chunk
+ payload size for this MAC-PHY device is indicated in the CPSMIN
+ field of the CAPABILITY register. Valid values for this parameter
+ are 8, 16, 32 and 64. All other values are reserved.
+
+ oa-txcte:
+ maxItems: 1
+ description:
+ Transmit Cut-Through Enable. When supported by this MAC-PHY device,
+ this bit enables the cut-through mode of frame transfer through the
+ MAC-PHY device from the SPI host to the network.
+
+ oa-rxcte:
+ maxItems: 1
+ description:
+ Receive Cut-Through Enable. When supported by this MAC-PHY device,
+ this bit enables the cut-through mode of frame transfer through the
+ MAC-PHY device from the network to the SPI host.
+
+ oa-prote:
+ maxItems: 1
+ description:
+ Control data read/write Protection Enable. When set, all control
+ data written to and read from the MAC-PHY will be transferred with
+ its complement for detection of bit errors.
+
+additionalProperties: true
+
+examples:
+ - |
+ oa-tc6 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ oa-cps = <64>;
+ oa-txcte;
+ oa-rxcte;
+ oa-prote;
+ };
diff --git a/MAINTAINERS b/MAINTAINERS
index 1c165026bbd4..9580be91f5e9 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -15975,6 +15975,7 @@ OPEN ALLIANCE 10BASE-T1S MACPHY SERIAL INTERFACE FRAMEWORK
M: Parthiban Veerasooran <parthiban.veerasooran@microchip.com>
L: netdev@vger.kernel.org
S: Maintained
+F: Documentation/devicetree/bindings/net/oa-tc6.yaml
F: Documentation/networking/oa-tc6-framework.rst
F: drivers/include/linux/oa_tc6.h
F: drivers/net/ethernet/oa_tc6.c
--
2.34.1
On 23/10/2023 17:46, Parthiban Veerasooran wrote:
> Add DT bindings OPEN Alliance 10BASE-T1x MACPHY Serial Interface
> parameters. These are generic properties that can apply to any 10BASE-T1x
> MAC-PHY which uses OPEN Alliance TC6 specification.
Except that it was not tested at all few more issues.
>
> Signed-off-by: Parthiban Veerasooran <Parthiban.Veerasooran@microchip.com>
> ---
> .../devicetree/bindings/net/oa-tc6.yaml | 72 +++++++++++++++++++
> MAINTAINERS | 1 +
> 2 files changed, 73 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/net/oa-tc6.yaml
>
> diff --git a/Documentation/devicetree/bindings/net/oa-tc6.yaml b/Documentation/devicetree/bindings/net/oa-tc6.yaml
> new file mode 100644
> index 000000000000..9f442fa6cace
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/net/oa-tc6.yaml
Filename based on compatible.
> @@ -0,0 +1,72 @@
> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/net/oa-tc6.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: OPEN Alliance 10BASE-T1x MAC-PHY Specification Common Properties
> +
> +maintainers:
> + - Parthiban Veerasooran <parthiban.veerasooran@microchip.com>
> +
> +description:
> + These are generic properties that can apply to any 10BASE-T1x MAC-PHY
> + which uses OPEN Alliance TC6 specification.
> +
> + 10BASE-T1x MAC-PHY Serial Interface Specification can be found at:
> + https://opensig.org/about/specifications/
> +
> +properties:
> + $nodename:
> + pattern: "^oa-tc6(@.*)?"
Drop
> +
> + "#address-cells":
> + const: 1
> +
> + "#size-cells":
> + const: 0
Why?
> +
> + oa-cps:
> + maxItems: 1
> + description:
> + Chunk Payload Size. Configures the data chunk payload size to 2^N,
> + where N is the value of this bitfield. The minimum possible data
> + chunk payload size is 8 bytes or N = 3. The default data chunk
> + payload size is 64 bytes, or N = 6. The minimum supported data chunk
> + payload size for this MAC-PHY device is indicated in the CPSMIN
> + field of the CAPABILITY register. Valid values for this parameter
> + are 8, 16, 32 and 64. All other values are reserved.
> +
> + oa-txcte:
> + maxItems: 1
> + description:
> + Transmit Cut-Through Enable. When supported by this MAC-PHY device,
> + this bit enables the cut-through mode of frame transfer through the
> + MAC-PHY device from the SPI host to the network.
> +
> + oa-rxcte:
> + maxItems: 1
> + description:
> + Receive Cut-Through Enable. When supported by this MAC-PHY device,
> + this bit enables the cut-through mode of frame transfer through the
> + MAC-PHY device from the network to the SPI host.
> +
> + oa-prote:
> + maxItems: 1
> + description:
> + Control data read/write Protection Enable. When set, all control
> + data written to and read from the MAC-PHY will be transferred with
> + its complement for detection of bit errors.
> +
> +additionalProperties: true
> +
> +examples:
> + - |
> + oa-tc6 {
> + #address-cells = <1>;
> + #size-cells = <0>;
That's some total mess in indentation.
> + oa-cps = <64>;
> + oa-txcte;
> + oa-rxcte;
> + oa-prote;
> + };
Best regards,
Krzysztof
> + oa-cps:
> + maxItems: 1
> + description:
> + Chunk Payload Size. Configures the data chunk payload size to 2^N,
> + where N is the value of this bitfield. The minimum possible data
> + chunk payload size is 8 bytes or N = 3. The default data chunk
> + payload size is 64 bytes, or N = 6. The minimum supported data chunk
> + payload size for this MAC-PHY device is indicated in the CPSMIN
> + field of the CAPABILITY register. Valid values for this parameter
> + are 8, 16, 32 and 64. All other values are reserved.
> +
> + oa-txcte:
> + maxItems: 1
> + description:
> + Transmit Cut-Through Enable. When supported by this MAC-PHY device,
> + this bit enables the cut-through mode of frame transfer through the
> + MAC-PHY device from the SPI host to the network.
> +
> + oa-rxcte:
> + maxItems: 1
> + description:
> + Receive Cut-Through Enable. When supported by this MAC-PHY device,
> + this bit enables the cut-through mode of frame transfer through the
> + MAC-PHY device from the network to the SPI host.
> +
> + oa-prote:
> + maxItems: 1
> + description:
> + Control data read/write Protection Enable. When set, all control
> + data written to and read from the MAC-PHY will be transferred with
> + its complement for detection of bit errors.
Device tree described hardware. Its not supposed to be used to
describe configuration. So it is not clear to me if any of these are
valid in DT.
It seems to me, the amount of control transfers should be very small
compared to data transfers. So why not just set protection enable to
be true?
What is the effect of chunk payload size ? Is there a reason to use a
lower value than the default 64? I assume smaller sizes make data
transfer more expensive, since you need more DMA setup and completion
handing etc.
An Ethernet driver is allowed to have driver specific private
flags. See ethtool(1) --show-priv-flags and --set-priv-flags You could
maybe use these to configure cut through?
Andrew
Hi Andrew, On 24/10/23 6:07 am, Andrew Lunn wrote: > EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe > >> + oa-cps: >> + maxItems: 1 >> + description: >> + Chunk Payload Size. Configures the data chunk payload size to 2^N, >> + where N is the value of this bitfield. The minimum possible data >> + chunk payload size is 8 bytes or N = 3. The default data chunk >> + payload size is 64 bytes, or N = 6. The minimum supported data chunk >> + payload size for this MAC-PHY device is indicated in the CPSMIN >> + field of the CAPABILITY register. Valid values for this parameter >> + are 8, 16, 32 and 64. All other values are reserved. >> + >> + oa-txcte: >> + maxItems: 1 >> + description: >> + Transmit Cut-Through Enable. When supported by this MAC-PHY device, >> + this bit enables the cut-through mode of frame transfer through the >> + MAC-PHY device from the SPI host to the network. >> + >> + oa-rxcte: >> + maxItems: 1 >> + description: >> + Receive Cut-Through Enable. When supported by this MAC-PHY device, >> + this bit enables the cut-through mode of frame transfer through the >> + MAC-PHY device from the network to the SPI host. >> + >> + oa-prote: >> + maxItems: 1 >> + description: >> + Control data read/write Protection Enable. When set, all control >> + data written to and read from the MAC-PHY will be transferred with >> + its complement for detection of bit errors. > > Device tree described hardware. Its not supposed to be used to > describe configuration. So it is not clear to me if any of these are > valid in DT. > > It seems to me, the amount of control transfers should be very small > compared to data transfers. So why not just set protection enable to > be true? Yes having protection enabled for control transfer doesn't hurt anything. The only intention for keeping this as configurable is, it is defined in the OPEN Alliance specification to enable/disable. > > What is the effect of chunk payload size ? Is there a reason to use a > lower value than the default 64? I assume smaller sizes make data > transfer more expensive, since you need more DMA setup and completion > handing etc. Again the intention for keeping this as configurable is, it is defined in the OPEN Alliance specification as user configurable. They can be 8, 16, 32 and 64. And the default is 64. Also Microchip's LAN8650 supports for 32 and 64. > > An Ethernet driver is allowed to have driver specific private > flags. See ethtool(1) --show-priv-flags and --set-priv-flags You could > maybe use these to configure cut through? So you mean, we have to implement the support in the ethtool interface to enable/disable tx/rx cut through feature, isn't it? If you feel like the above configurations are not needed, so by keeping protection true always, chunk payload size (cps) 64 always and moving tx/rx cut through to ethtool, we can get rid of this DT bindings? Best Regards, Parthiban V > > Andrew > > >
On Mon, 23 Oct 2023 21:16:44 +0530, Parthiban Veerasooran wrote: > Add DT bindings OPEN Alliance 10BASE-T1x MACPHY Serial Interface > parameters. These are generic properties that can apply to any 10BASE-T1x > MAC-PHY which uses OPEN Alliance TC6 specification. > > Signed-off-by: Parthiban Veerasooran <Parthiban.Veerasooran@microchip.com> > --- > .../devicetree/bindings/net/oa-tc6.yaml | 72 +++++++++++++++++++ > MAINTAINERS | 1 + > 2 files changed, 73 insertions(+) > create mode 100644 Documentation/devicetree/bindings/net/oa-tc6.yaml > 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: ./Documentation/devicetree/bindings/net/oa-tc6.yaml:16:68: [error] syntax error: mapping values are not allowed here (syntax) dtschema/dtc warnings/errors: make[2]: *** Deleting file 'Documentation/devicetree/bindings/net/oa-tc6.example.dts' Documentation/devicetree/bindings/net/oa-tc6.yaml:16:68: mapping values are not allowed in this context make[2]: *** [Documentation/devicetree/bindings/Makefile:26: Documentation/devicetree/bindings/net/oa-tc6.example.dts] Error 1 make[2]: *** Waiting for unfinished jobs.... ./Documentation/devicetree/bindings/net/oa-tc6.yaml:16:68: mapping values are not allowed in this context /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/oa-tc6.yaml: ignoring, error parsing file make[1]: *** [/builds/robherring/dt-review-ci/linux/Makefile:1427: dt_binding_check] Error 2 make: *** [Makefile:234: __sub-make] Error 2 doc reference errors (make refcheckdocs): See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20231023154649.45931-5-Parthiban.Veerasooran@microchip.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 23/10/23 11:10 pm, Rob Herring wrote: > EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe > > On Mon, 23 Oct 2023 21:16:44 +0530, Parthiban Veerasooran wrote: >> Add DT bindings OPEN Alliance 10BASE-T1x MACPHY Serial Interface >> parameters. These are generic properties that can apply to any 10BASE-T1x >> MAC-PHY which uses OPEN Alliance TC6 specification. >> >> Signed-off-by: Parthiban Veerasooran <Parthiban.Veerasooran@microchip.com> >> --- >> .../devicetree/bindings/net/oa-tc6.yaml | 72 +++++++++++++++++++ >> MAINTAINERS | 1 + >> 2 files changed, 73 insertions(+) >> create mode 100644 Documentation/devicetree/bindings/net/oa-tc6.yaml >> > > 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: > ./Documentation/devicetree/bindings/net/oa-tc6.yaml:16:68: [error] syntax error: mapping values are not allowed here (syntax) > > dtschema/dtc warnings/errors: > make[2]: *** Deleting file 'Documentation/devicetree/bindings/net/oa-tc6.example.dts' > Documentation/devicetree/bindings/net/oa-tc6.yaml:16:68: mapping values are not allowed in this context > make[2]: *** [Documentation/devicetree/bindings/Makefile:26: Documentation/devicetree/bindings/net/oa-tc6.example.dts] Error 1 > make[2]: *** Waiting for unfinished jobs.... > ./Documentation/devicetree/bindings/net/oa-tc6.yaml:16:68: mapping values are not allowed in this context > /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/oa-tc6.yaml: ignoring, error parsing file > make[1]: *** [/builds/robherring/dt-review-ci/linux/Makefile:1427: dt_binding_check] Error 2 > make: *** [Makefile:234: __sub-make] Error 2 > > doc reference errors (make refcheckdocs): > > See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20231023154649.45931-5-Parthiban.Veerasooran@microchip.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. > Sorry, somehow I missed doing this check. Will fix this in the next revision. Best Regards, Parthiban V
© 2016 - 2026 Red Hat, Inc.