Hi Rob Thank for your feedback. > > + ports: > > + $ref: "#/definitions/port-base" > > This applies to 'port' nodes, but this is the 'ports' node. > > For example, this schema says you can have endpoint nodes directly under > 'ports' which is not valid. It is a little bit confusable, but "port-base" doesn't include "endpoint" (A). It is the reason why audio-graph-port.yaml has patternProperties for endpoint (B), if my understand was correct. And user use audio-graph-port.yaml for "port" (C) Thus, above doesn't indicate that "ports" can use direct "endpoint". --- audio-graph-port.yaml --- ^ port-base: | $ref: /schemas/graph.yaml#/$defs/port-base | properties: | convert-rate: | $ref: "/schemas/sound/dai-params.yaml#/$defs/dai-sample-rate" (A) convert-channels: | $ref: "/schemas/sound/dai-params.yaml#/$defs/dai-channels" | convert-sample-format: | $ref: "/schemas/sound/dai-params.yaml#/$defs/dai-sample-format" | mclk-fs: v $ref: "simple-card.yaml#/definitions/mclk-fs" endpoint-base: ... allOf: (B) - $ref: "#/definitions/port-base" /* this doesn't include "endpoint" */ patternProperties: (B) "^endpoint(@[0-9a-f]+)?": $ref: "#/definitions/endpoint-base" /* "endpoint" is defined here */ unevaluatedProperties: false ----------------------------- --- port user ---- port: (C) $ref: audio-graph-port.yaml# ------------------ > But why do you need this? The graph.yaml schema should be sufficient Sometimes Audio Graph Card/Card2 want to use "ports" not only "port". People can use "audio-graph-card.yaml" as "port" today (C). So we want to use similar style for *normal* "ports. "ports" is defined under "definitions" (D), so there is no effect for normal "port" user, I think. --- port user ---- port: (C) $ref: audio-graph-port.yaml# ------------------ --- ports user --- ports: (D) $ref: audio-graph-port.yaml#/definitions/ports ------------------ As I mentioned on git-log, *normal* ports user can use (D) style. *custom* ports user can reuse "port-base" and "endpoint-base". see below. ---- git log --------------------------------------- If user needs standard "ports", it can use ports: $ref: audio-graph-port.yaml#/definitions/ports If user want to use custom ports, it can re-use audio-graph-port.yaml#/definitions/port-base" audio-graph-port.yaml#/definitions/endpoint-base" ---------------------------------------------------- > because you aren't adding custom properties in 'ports'. (snip) > If 'ports' schema is applied to a DT, then its 'port' node(s) cannot > have any additional properties. That defeats the point of patch 1. Renesas Sound want to have custom "port", but sometimes it want to use "ports" too. [08/10] patch customs both "ports" and "port". Thank you for your help !! Best regards --- Kuninori Morimoto