On Thu, May 26, 2022 at 08:49:39AM +0200, Krzysztof Kozlowski wrote:
On 09/05/2022 22:58, Nícolas F. R. A. Prado wrote:
The Mediatek AFE PCM controller for MT8192 allows two I2S interfaces to share the same clock and act as a single interface with both input and output. Add patterns for these properties in the dt-binding. The property is split into two patterns in order to allow all valid interface pairings.
Signed-off-by: Nícolas F. R. A. Prado nfraprado@collabora.com
The series from v1 of this patch was merged although some changes were still needed in this patch, so the v1 of this patch was reverted [1] and this standalone commit addresses the feedback from v1 and readds the property.
[1] https://lore.kernel.org/all/20220509185625.580811-1-nfraprado@collabora.com
v1: https://lore.kernel.org/all/20220429203039.2207848-2-nfraprado@collabora.com...
Changes in v2:
- Added "mediatek," prefix to property
- Rewrote and added more information to property description
- Split into two patterns to validate that output-input pairings are done
.../bindings/sound/mt8192-afe-pcm.yaml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+)
diff --git a/Documentation/devicetree/bindings/sound/mt8192-afe-pcm.yaml b/Documentation/devicetree/bindings/sound/mt8192-afe-pcm.yaml index 7a25bc9b8060..2abf43c6c2c3 100644 --- a/Documentation/devicetree/bindings/sound/mt8192-afe-pcm.yaml +++ b/Documentation/devicetree/bindings/sound/mt8192-afe-pcm.yaml @@ -54,6 +54,22 @@ properties: - const: aud_infra_clk - const: aud_infra_26m_clk
+patternProperties:
- "^mediatek,i2s[13579]-share$":
- description:
Each I2S interface has a single data line, input if its index is even or
output if the index is odd. An input and an output I2S interface can be
used together as if they were a single I2S interface with both input and
output data lines by sharing the same clock. This property represents this
pairing. The value should be the name of the interface whose clock is
used, and the property name the other interface that depends on this
clock.
- pattern: "^I2S[0268]$"
- "^mediatek,i2s[0268]-share$":
- description: Same as above.
- pattern: "^I2S[13579]$"
Rob's question is still valid - why these are not phandles?
So, instead of having
i2s9-share = "I2S8";
on the DT, you want us to have something like this:
afe_i2s8: mediatek,i2s8 { };
mediatek,i2s9 { mediatek,share-clock = <&afe_i2s8>; };
Or do you mean something else?
It seems like a lot more syntax to express the same thing (and the empty node seems awkward), but if that's the DT way, I can change it no problem.
In any case you miss $ref.
Indeed, sorry, I'll add it in next version.
Thanks, Nícolas