Message ID | 20220517085431.3895-1-josua@solid-run.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 1f77204e11f8b9e5d77d65197a03b702c50ea29b |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | adin: add support for clock output | expand |
On 17/05/2022 10:54, Josua Mayer wrote: > The ADIN1300 supports generating certain clocks on its GP_CLK pin, as > well as providing the reference clock on CLK25_REF. > > Add DT properties to configure both pins. > > Technically the phy also supports a recovered 125MHz clock for > synchronous ethernet. However SyncE should be configured dynamically at > runtime, so it is explicitly omitted in this binding. > > Signed-off-by: Josua Mayer <josua@solid-run.com> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> No need to remove my tag, please keep it. Best regards, Krzysztof
On Tue, May 17, 2022 at 3:54 AM Josua Mayer <josua@solid-run.com> wrote: > > The ADIN1300 supports generating certain clocks on its GP_CLK pin, as > well as providing the reference clock on CLK25_REF. > > Add DT properties to configure both pins. > > Technically the phy also supports a recovered 125MHz clock for > synchronous ethernet. However SyncE should be configured dynamically at > runtime, so it is explicitly omitted in this binding. > > Signed-off-by: Josua Mayer <josua@solid-run.com> > --- > V4 -> V5: removed recovered clock options > V3 -> V4: changed type of adi,phy-output-reference-clock to boolean > V1 -> V2: changed clkout property to enum > V1 -> V2: added property for CLK25_REF pin > > .../devicetree/bindings/net/adi,adin.yaml | 15 +++++++++++++++ > 1 file changed, 15 insertions(+) > > diff --git a/Documentation/devicetree/bindings/net/adi,adin.yaml b/Documentation/devicetree/bindings/net/adi,adin.yaml > index 1129f2b58e98..77750df0c2c4 100644 > --- a/Documentation/devicetree/bindings/net/adi,adin.yaml > +++ b/Documentation/devicetree/bindings/net/adi,adin.yaml > @@ -36,6 +36,21 @@ properties: > enum: [ 4, 8, 12, 16, 20, 24 ] > default: 8 > > + adi,phy-output-clock: > + description: Select clock output on GP_CLK pin. Two clocks are available: Not valid yaml and now failing in linux-next: make[1]: *** Deleting file 'Documentation/devicetree/bindings/net/adi,adin.example.dts' Traceback (most recent call last): File "/usr/local/bin/dt-extract-example", line 52, in <module> binding = yaml.load(open(args.yamlfile, encoding='utf-8').read()) File "/usr/local/lib/python3.10/dist-packages/ruamel/yaml/main.py", line 434, in load return constructor.get_single_data() File "/usr/local/lib/python3.10/dist-packages/ruamel/yaml/constructor.py", line 119, in get_single_data node = self.composer.get_single_node() File "_ruamel_yaml.pyx", line 706, in _ruamel_yaml.CParser.get_single_node File "_ruamel_yaml.pyx", line 724, in _ruamel_yaml.CParser._compose_document File "_ruamel_yaml.pyx", line 775, in _ruamel_yaml.CParser._compose_node File "_ruamel_yaml.pyx", line 889, in _ruamel_yaml.CParser._compose_mapping_node File "_ruamel_yaml.pyx", line 775, in _ruamel_yaml.CParser._compose_node File "_ruamel_yaml.pyx", line 889, in _ruamel_yaml.CParser._compose_mapping_node File "_ruamel_yaml.pyx", line 775, in _ruamel_yaml.CParser._compose_node File "_ruamel_yaml.pyx", line 891, in _ruamel_yaml.CParser._compose_mapping_node File "_ruamel_yaml.pyx", line 904, in _ruamel_yaml.CParser._parse_next_event ruamel.yaml.scanner.ScannerError: mapping values are not allowed in this context in "<unicode string>", line 40, column 77 make[1]: *** [Documentation/devicetree/bindings/Makefile:26: Documentation/devicetree/bindings/net/adi,adin.example.dts] Error 1 ./Documentation/devicetree/bindings/net/adi,adin.yaml:40:77: [error] syntax error: mapping values are not allowed here (syntax) ./Documentation/devicetree/bindings/net/adi,adin.yaml: mapping values are not allowed in this context in "<unicode string>", line 40, column 77 You need a '|' for a literal block if you use a colon in the description. Rob
diff --git a/Documentation/devicetree/bindings/net/adi,adin.yaml b/Documentation/devicetree/bindings/net/adi,adin.yaml index 1129f2b58e98..77750df0c2c4 100644 --- a/Documentation/devicetree/bindings/net/adi,adin.yaml +++ b/Documentation/devicetree/bindings/net/adi,adin.yaml @@ -36,6 +36,21 @@ properties: enum: [ 4, 8, 12, 16, 20, 24 ] default: 8 + adi,phy-output-clock: + description: Select clock output on GP_CLK pin. Two clocks are available: + A 25MHz reference and a free-running 125MHz. + The phy can alternatively automatically switch between the reference and + the 125MHz clocks based on its internal state. + $ref: /schemas/types.yaml#/definitions/string + enum: + - 25mhz-reference + - 125mhz-free-running + - adaptive-free-running + + adi,phy-output-reference-clock: + description: Enable 25MHz reference clock output on CLK25_REF pin. + type: boolean + unevaluatedProperties: false examples:
The ADIN1300 supports generating certain clocks on its GP_CLK pin, as well as providing the reference clock on CLK25_REF. Add DT properties to configure both pins. Technically the phy also supports a recovered 125MHz clock for synchronous ethernet. However SyncE should be configured dynamically at runtime, so it is explicitly omitted in this binding. Signed-off-by: Josua Mayer <josua@solid-run.com> --- V4 -> V5: removed recovered clock options V3 -> V4: changed type of adi,phy-output-reference-clock to boolean V1 -> V2: changed clkout property to enum V1 -> V2: added property for CLK25_REF pin .../devicetree/bindings/net/adi,adin.yaml | 15 +++++++++++++++ 1 file changed, 15 insertions(+)