On 05/03/2025 22:24, Nicolas Frattaroli wrote: > Rockchip introduced a new audio controller called the "Serial Audio > Interface", or "SAI" for short, on some of their newer SoCs. In > particular, this controller is used several times on the RK3576 SoC. > > Add a schema for it, with only an RK3576 compatible for now. Other SoCs > may follow as mainline support for them lands. > > Signed-off-by: Nicolas Frattaroli <nicolas.frattaroli@xxxxxxxxxxxxx> > --- > .../devicetree/bindings/sound/rockchip,sai.yaml | 151 +++++++++++++++++++++ Filename based on compatible. > MAINTAINERS | 6 + > 2 files changed, 157 insertions(+) > ... > + > + dma-names: > + minItems: 1 > + maxItems: 2 > + oneOf: > + - const: tx > + - const: rx > + - items: > + - const: tx > + - const: rx Why all combinations are possible? > + > + clocks: > + items: > + - description: master audio clock > + - description: AHB clock driving the interface > + > + clock-names: > + items: > + - const: mclk > + - const: hclk > + > + resets: > + minItems: 1 > + maxItems: 2 > + description: resets for the mclk domain and ahb domain List the items instead with description and minItems: 1. > + > + reset-names: > + minItems: 1 > + items: > + - const: m > + - const: h > + > + port: > + $ref: audio-graph-port.yaml# > + unevaluatedProperties: false > + > + power-domains: > + maxItems: 1 > + > + "#sound-dai-cells": > + const: 0 > + > + rockchip,sai-rx-route: > + $ref: /schemas/types.yaml#/definitions/uint32-array > + description: > + Defines the mapping of the controller's SDI ports to actual input lanes, > + as well as the number of input lanes. > + rockchip,sai-rx-route = <3> would mean sdi3 is receiving from data0, and > + that there is only one receiving lane. > + This property's absence is to be understood as only one receiving lane > + being used if the controller has capture capabilities. > + maxItems: 4 > + items: > + enum: [0, 1, 2, 3] > + > + rockchip,sai-tx-route: > + $ref: /schemas/types.yaml#/definitions/uint32-array > + description: > + Defines the mapping of the controller's SDO ports to actual output lanes, > + as well as the number of output lanes. > + rockchip,sai-tx-route = <3> would mean sdo3 is sending to data0, and I understand this is only example because = <3> would not be allowed (test it). > + that there is only one transmitting lane. > + This property's absence is to be understood as only one transmitting lane > + being used if the controller has playback capabilities. > + maxItems: 4 > + items: > + enum: [0, 1, 2, 3] > + > + rockchip,always-on: > + type: boolean > + description: > + The hardware requires this controller to remain turned on. How hardware requires this? You rather miss proper PM domain handling or some other resources. > + > + Just one blank line. > +required: > + - compatible > + - reg > + - dmas > + - dma-names > + - clocks > + - clock-names > + - "#sound-dai-cells" > + > +unevaluatedProperties: false Best regards, Krzysztof