On 2023/8/6 5:02, Krzysztof Kozlowski wrote:
On 02/08/2023 10:42, Xingyu Wu wrote:
Add the StarFive JH7110 (TX0/TX1/RX channel) SoC support in the bindings of Designware I2S controller. The I2S controller needs two reset items''
Thank you for your patch. There is something to discuss/improve.
resets: items: - description: Optional controller resets
- description: controller reset of Sampling rate
minItems: 1
dmas: items:
@@ -51,6 +75,17 @@ properties: - const: rx minItems: 1
- starfive,syscon:
- $ref: /schemas/types.yaml#/definitions/phandle-array
- items:
- items:
- description: phandle to System Register Controller sys_syscon node.
- description: I2S-rx enabled control offset of SYS_SYSCONSAIF__SYSCFG register.
- description: I2S-rx enabled control mask
- description:
The phandle to System Register Controller syscon node and the I2S-rx(ADC)
enabled control offset and mask of SYS_SYSCONSAIF__SYSCFG register.
allOf:
- $ref: dai-common.yaml#
- if:
@@ -66,6 +101,66 @@ allOf: properties: "#sound-dai-cells": const: 0
You need to constrain clocks and resets also for all other existing variants.
- if:
properties:
compatible:
contains:
const: snps,designware-i2s
- then:
properties:
clocks:
maxItems: 1
clock-names:
maxItems: 1
resets:
maxItems: 1
- else:
properties:
resets:
minItems: 2
The resets of TX0/TX1/RX on JH7110 SoC are mentioned in 'else' here.
- if:
properties:
compatible:
contains:
const: starfive,jh7110-i2stx0
- then:
properties:
clocks:
minItems: 5
Also maxItems
Will add.
clock-names:
minItems: 5
Also maxItems
Will add.
What about resets? 1 or 2 items?
Mentioned it in the 'else'. Or do you mean I should drop the 'else' and add the resets in here? And is the same for TX1 and RX?
required:
- resets
- if:
properties:
compatible:
contains:
const: starfive,jh7110-i2stx1
- then:
properties:
clocks:
minItems: 9
clock-names:
minItems: 9
resets?>
required:
- resets
- if:
properties:
compatible:
contains:
const: starfive,jh7110-i2srx
- then:
properties:
clocks:
minItems: 9
clock-names:
minItems: 9
resets?
required:
- resets
- starfive,syscon
- else:
properties:
starfive,syscon: false
required:
- compatible
Best regards, Xingyu Wu