Rob Herring d69c6ddd01 dt-bindings: Fix JSON pointers
The correct syntax for JSON pointers begins with a '/' after the '#'.
Without a '/', the string should be interpreted as a subschema
identifier. The jsonschema module currently doesn't handle subschema
identifiers and incorrectly allows JSON pointers to begin without a '/'.
Let's fix this before it becomes a problem when jsonschema module is
fixed.

Converted with:
perl -p -i -e 's/yaml#definitions/yaml#\/definitions/g' `find Documentation/devicetree/bindings/ -name "*.yaml"`

Cc: Maxime Ripard <mripard@kernel.org>
Cc: Jonathan Cameron <jic23@kernel.org>
Cc: Lars-Peter Clausen <lars@metafoo.de>
Cc: Daniel Thompson <daniel.thompson@linaro.org>
Cc: Jingoo Han <jingoohan1@gmail.com>
Cc: Pavel Machek <pavel@ucw.cz>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: Andrew Lunn <andrew@lunn.ch>
Cc: Florian Fainelli <f.fainelli@gmail.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Mark Brown <broonie@kernel.org>
Cc: netdev@vger.kernel.org
Acked-By: Vinod Koul <vkoul@kernel.org>
Acked-by: Lee Jones <lee.jones@linaro.org>
Acked-by: Guenter Roeck <linux@roeck-us.net>
Acked-by: Sebastian Reichel <sre@kernel.org>
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
Acked-by: Mark Brown <broonie@kernel.org>
Acked-by: Jakub Kicinski <kuba@kernel.org>
Link: https://lore.kernel.org/r/20201217223429.354283-1-robh@kernel.org
Signed-off-by: Rob Herring <robh@kernel.org>
2020-12-18 15:14:44 -06:00

123 lines
3.2 KiB
YAML

# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/net/mdio.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: MDIO Bus Generic Binding
maintainers:
- Andrew Lunn <andrew@lunn.ch>
- Florian Fainelli <f.fainelli@gmail.com>
- Heiner Kallweit <hkallweit1@gmail.com>
description:
These are generic properties that can apply to any MDIO bus. Any
MDIO bus must have a list of child nodes, one per device on the
bus. These should follow the generic ethernet-phy.yaml document, or
a device specific binding document.
properties:
$nodename:
pattern: "^mdio(@.*)?"
"#address-cells":
const: 1
"#size-cells":
const: 0
reset-gpios:
maxItems: 1
description:
The phandle and specifier for the GPIO that controls the RESET
lines of all devices on that MDIO bus.
reset-delay-us:
description:
RESET pulse width in microseconds. It applies to all MDIO devices
and must therefore be appropriately determined based on all devices
requirements (maximum value of all per-device RESET pulse widths).
reset-post-delay-us:
description:
Delay after reset deassert in microseconds. It applies to all MDIO
devices and it's determined by how fast all devices are ready for
communication. This delay happens just before e.g. Ethernet PHY
type ID auto detection.
clock-frequency:
description:
Desired MDIO bus clock frequency in Hz. Values greater than IEEE 802.3
defined 2.5MHz should only be used when all devices on the bus support
the given clock speed.
suppress-preamble:
description:
The 32 bit preamble should be suppressed. In order for this to
work, all devices on the bus must support suppressed preamble.
type: boolean
patternProperties:
"^ethernet-phy@[0-9a-f]+$":
type: object
properties:
reg:
minimum: 0
maximum: 31
description:
The ID number for the device.
broken-turn-around:
$ref: /schemas/types.yaml#/definitions/flag
description:
If set, indicates the MDIO device does not correctly release
the turn around line low at end of the control phase of the
MDIO transaction.
resets:
maxItems: 1
reset-names:
const: phy
reset-gpios:
maxItems: 1
description:
The GPIO phandle and specifier for the MDIO reset signal.
reset-assert-us:
description:
Delay after the reset was asserted in microseconds. If this
property is missing the delay will be skipped.
reset-deassert-us:
description:
Delay after the reset was deasserted in microseconds. If
this property is missing the delay will be skipped.
required:
- reg
additionalProperties: true
examples:
- |
davinci_mdio: mdio@5c030000 {
reg = <0x5c030000 0x1000>;
#address-cells = <1>;
#size-cells = <0>;
reset-gpios = <&gpio2 5 1>;
reset-delay-us = <2>;
ethphy0: ethernet-phy@1 {
reg = <1>;
};
ethphy1: ethernet-phy@3 {
reg = <3>;
};
};