On Mon, Jul 13, 2020 at 08:45:33AM +0200, Kurt Kanzenbach wrote: > On Sat Jul 11 2020, Florian Fainelli wrote: > > On 7/10/2020 4:36 AM, Kurt Kanzenbach wrote: > >> Add basic documentation and example. > >> > >> Signed-off-by: Kurt Kanzenbach <kurt@xxxxxxxxxxxxx> > >> --- > >> .../bindings/net/dsa/hellcreek.yaml | 132 ++++++++++++++++++ > >> 1 file changed, 132 insertions(+) > >> create mode 100644 Documentation/devicetree/bindings/net/dsa/hellcreek.yaml > >> > >> diff --git a/Documentation/devicetree/bindings/net/dsa/hellcreek.yaml b/Documentation/devicetree/bindings/net/dsa/hellcreek.yaml > >> new file mode 100644 > >> index 000000000000..bb8ccc1762c8 > >> --- /dev/null > >> +++ b/Documentation/devicetree/bindings/net/dsa/hellcreek.yaml > >> @@ -0,0 +1,132 @@ > >> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > >> +%YAML 1.2 > >> +--- > >> +$id: http://devicetree.org/schemas/net/dsa/hellcreek.yaml# > >> +$schema: http://devicetree.org/meta-schemas/core.yaml# > >> + > >> +title: Hirschmann Hellcreek TSN Switch Device Tree Bindings > >> + > >> +allOf: > >> + - $ref: dsa.yaml# > >> + > >> +maintainers: > >> + - Andrew Lunn <andrew@xxxxxxx> > >> + - Florian Fainelli <f.fainelli@xxxxxxxxx> > >> + - Vivien Didelot <vivien.didelot@xxxxxxxxx> > > > > Don't you want to add yourself here as well? > > Sure. > > > > >> + > >> +description: > >> + The Hellcreek TSN Switch IP is a 802.1Q Ethernet compliant switch. It supports > >> + the Pricision Time Protocol, Hardware Timestamping as well the Time Aware > > s/Pricision/Precision/g; > > >> + Shaper. > >> + > >> +properties: > >> + compatible: > >> + oneOf: > >> + - const: hirschmann,hellcreek > >> + > >> + reg: > >> + description: > >> + The physical base address and size of TSN and PTP memory base > > > > You need to indicate how many of these cells are required. > > Yes. > > > > >> + > >> + reg-names: > >> + description: > >> + Names of the physical base addresses > > > > Likewise. > > > >> + > >> + '#address-cells': > >> + const: 1 > >> + > >> + '#size-cells': > >> + const: 1 > > > > Humm, not sure about those, you do not expose a memory mapped interface > > bus from this switch to another sub node. > > True. That might be even different for other SoCs. > > > > >> + > >> + leds: > >> + type: object > >> + properties: > >> + '#address-cells': > >> + const: 1 > >> + '#size-cells': > >> + const: 0 > >> + > >> + patternProperties: > >> + "^led@[0-9]+$": > >> + type: object > >> + description: Hellcreek leds > >> + > >> + properties: > >> + reg: > >> + items: > >> + - enum: [0, 1] > >> + description: Led number > >> + > >> + label: > >> + description: Label associated with this led > >> + $ref: /schemas/types.yaml#/definitions/string > >> + > >> + default-state: > >> + items: > >> + enum: ["on", "off", "keep"] > >> + description: Default state for the led > >> + $ref: /schemas/types.yaml#/definitions/string > >> + > >> + required: > >> + - reg > > > > Can you reference an existing LED binding by any chance? > > Yes, we should reference leds/common.yaml somehow. Looking at > leds-gpio.yaml for example, it should be possible like this: > > patternProperties: > "^led@[0-9]+$": > type: object > description: Hellcreek leds > > $ref: ../../leds/common.yaml# > > [...] > > But, how to express that only label and default-state should be used? properties: label: true default-state: true additionalProperties: false