From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f48.google.com (mail-wm1-f48.google.com [209.85.128.48]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 61FF32EA47E for ; Thu, 9 Oct 2025 14:25:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.48 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760019946; cv=none; b=Npgq4/Vf4mmQpGqLMnCp6TPi6iJojPYHuxEZoB8FWErrkKTNqWqDJBdXDxzXu64Rv4JNp2uoO4tKV5fXyZ9UrZ1Wsh020x9YGE0N+LprrppjHZZv+xGl/1SFDzvMwLaGt4mpkPBAwHBpmnsA+uzoRsd69z8RSzxIewnmwyNavWM= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760019946; c=relaxed/simple; bh=MaJRnAFy1ncA6eMZY/T15zYs/ef0zF2VYEmtaIsfSTI=; h=Message-ID:Date:MIME-Version:From:Subject:To:Cc:References: In-Reply-To:Content-Type; b=Y5X5JTHfcLxUq3ztS8CSrfcF4jgtv8DPZjfWH2Jv0MKRMrWPh/A1q2RIwYGW1QgdusPmEZhLyIZHaghzBi4I5mhK3ar1MBXUlykauviatZgh7cozWEx400rRd6mJAVAnMt1td32i6YmhzLOYOlzhWt9o7/zk1ZW83a45HUM0fA4= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=GgjLfA4D; arc=none smtp.client-ip=209.85.128.48 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="GgjLfA4D" Received: by mail-wm1-f48.google.com with SMTP id 5b1f17b1804b1-46e6a6a5e42so5352835e9.0 for ; Thu, 09 Oct 2025 07:25:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1760019942; x=1760624742; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:organization:autocrypt :content-language:references:cc:to:subject:reply-to:from:user-agent :mime-version:date:message-id:from:to:cc:subject:date:message-id :reply-to; bh=BptzwX/G3rtzdz+N5BUaxQeG70a/ubuAx0pM4UJNvLE=; b=GgjLfA4DTJcOiaPRzMY4NMJzrZHXlyjwTKzjLZKVPCSn1MbBYrGOBhezjbvWfZmufC 9ahBkr5f9ZI7S856hPDg18dNvreTvAy8oNV8t5sJDzzI4Qad4BAu5KljcjyXrbRo9EoR oTKT5p5t4KJ5ky0WjCUCYT4jGeM0KdYkTJj9dcIQSz6BL0/Nk8MoeGkScVJ+XkofhGsp 7yVCusmYnxSkyG5O7t78jhf2cDAjG5aoilRb1uU7V4UgYFEbCyS2Gth1M57O9ypr4xyo 7B9JswRbc0OcexR6YREZO2QoYF2t7sREWGEvLA7M7FXD4/ynI4KAT3b7ylxM/9zYcZlK WswQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760019942; x=1760624742; h=content-transfer-encoding:in-reply-to:organization:autocrypt :content-language:references:cc:to:subject:reply-to:from:user-agent :mime-version:date:message-id:x-gm-message-state:from:to:cc:subject :date:message-id:reply-to; bh=BptzwX/G3rtzdz+N5BUaxQeG70a/ubuAx0pM4UJNvLE=; b=Pp6l7JYARdMj42CS5Bqq9Kf9ZEyqPLihUqjjnZxsQYau5PNMwpMUuMZjM9ZH+CNX+0 bL+Zi4wKu6j1qjAG3CCaJx45prKWSM9pbwfy3rIUcVoLogGldbP174NZMhKv1rOrlZah GYl6bRXtCHTnaP0RopH1MNaZfEE1BqlXG6Pci7DuzJ8Wayk4ZLhwOQCPamZQxqhXoHDQ 4EQ5yJwzQ2s2u2nAot7AyUur06Y7QIw+2R9r76n0WyEp7e+xQlU4KXFSGgMSCRZ6ZVlR qXte4oY/BR0bWQkyPkw21J0zQeKFqrA0ic9KcP3C0r3uUI9Bh76wZl9pRE0MvJXt5a8X oZGw== X-Forwarded-Encrypted: i=1; AJvYcCX/T2v0fH1pRqxHMHv8jAj1x7cGCnlkYH4oUAL2IfeiWxlEOaTDAlQm5SYgjtgJxH9M7nqdKY4ECuYx@vger.kernel.org X-Gm-Message-State: AOJu0YzwIgalwg9cDWapj3c3KmC/iDubg18y8AdgaHc9ZSIqaEPK8tOc 1M6hajKdRuxX/eYfDxJsj+pynwWBqX4OcJddFbmL9r4PW6hs47Loeu4m8PKsjCLnLZc= X-Gm-Gg: ASbGnctMFuz0u1iLI9xfBSF/zKdIsj/wCvtDmFAO/nylX13rIezU1FXsjRphXN6WoFC 3VokMzrXvye9j67L3cPXVc09mxBLjFQNGZSNrvTv28rWpt5R0UWyCnuEso8zORFp+TPv56ATkiM 7wGw0UBVN6xGyemsCY1aDnzo5HdLc6u3mTr49cX5WLbCD0eCddowFnHFST6CA6aU/NJP5TBLX6X 3zHQZ6MLtZp3om6T/b/Xf2w+WWfy96mWh1NFDUKjSZLkjU+zTSLlQdxF9whnCXNZ1F88/0qCZZp FevhpYaS7x6+NvPIDBVrhGwXq4f06Ox2AecFQflUNgw07/GiCKIpAUqsX+dNTV2EHJZQ6y6kqMt cQyJg0a7RGtUtJ3y5b2QS8r9BUaTefWxopwYnfBFo7s5TN+hSRUrJ0Is5j/C/54sUBZbMPWQ4db MlnguONM87Uk3ehUiPmxcwwOQwMdA= X-Google-Smtp-Source: AGHT+IHe2JLlSfRzylV1UfRS2+ycvrdB9o6cDd1va7S0HyvWnvfu5gmTNjUam6/53yZOjArw3J9gNw== X-Received: by 2002:a05:600c:8b41:b0:45d:d88b:cca with SMTP id 5b1f17b1804b1-46fa9a87fc6mr56814495e9.1.1760019941505; Thu, 09 Oct 2025 07:25:41 -0700 (PDT) Received: from ?IPV6:2a01:e0a:3d9:2080:7a0c:da2f:6591:67ee? ([2a01:e0a:3d9:2080:7a0c:da2f:6591:67ee]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4255d8f01a0sm34774628f8f.48.2025.10.09.07.25.40 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 09 Oct 2025 07:25:41 -0700 (PDT) Message-ID: Date: Thu, 9 Oct 2025 16:25:40 +0200 Precedence: bulk X-Mailing-List: devicetree@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird From: Neil Armstrong Reply-To: Neil Armstrong Subject: Re: [PATCH RFC v2 2/6] ASoC: dt-bindings: qcom,sm8250: Add clocks properties for I2S To: Srinivas Kandagatla , Liam Girdwood , Mark Brown , Jaroslav Kysela , Takashi Iwai , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Konrad Dybcio Cc: linux-sound@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org References: <20251008-topic-sm8x50-next-hdk-i2s-v2-0-6b7d38d4ad5e@linaro.org> <20251008-topic-sm8x50-next-hdk-i2s-v2-2-6b7d38d4ad5e@linaro.org> <44606de8-3446-472f-aa6b-25ff8b76e0ec@kernel.org> <3620feb6-12bf-48c1-b47a-ccb486e5b5de@linaro.org> Content-Language: en-US, fr Autocrypt: addr=neil.armstrong@linaro.org; keydata= xsBNBE1ZBs8BCAD78xVLsXPwV/2qQx2FaO/7mhWL0Qodw8UcQJnkrWmgTFRobtTWxuRx8WWP GTjuhvbleoQ5Cxjr+v+1ARGCH46MxFP5DwauzPekwJUD5QKZlaw/bURTLmS2id5wWi3lqVH4 BVF2WzvGyyeV1o4RTCYDnZ9VLLylJ9bneEaIs/7cjCEbipGGFlfIML3sfqnIvMAxIMZrvcl9 qPV2k+KQ7q+aXavU5W+yLNn7QtXUB530Zlk/d2ETgzQ5FLYYnUDAaRl+8JUTjc0CNOTpCeik 80TZcE6f8M76Xa6yU8VcNko94Ck7iB4vj70q76P/J7kt98hklrr85/3NU3oti3nrIHmHABEB AAHNKk5laWwgQXJtc3Ryb25nIDxuZWlsLmFybXN0cm9uZ0BsaW5hcm8ub3JnPsLAkQQTAQoA OwIbIwULCQgHAwUVCgkICwUWAgMBAAIeAQIXgBYhBInsPQWERiF0UPIoSBaat7Gkz/iuBQJk Q5wSAhkBAAoJEBaat7Gkz/iuyhMIANiD94qDtUTJRfEW6GwXmtKWwl/mvqQtaTtZID2dos04 YqBbshiJbejgVJjy+HODcNUIKBB3PSLaln4ltdsV73SBcwUNdzebfKspAQunCM22Mn6FBIxQ GizsMLcP/0FX4en9NaKGfK6ZdKK6kN1GR9YffMJd2P08EO8mHowmSRe/ExAODhAs9W7XXExw UNCY4pVJyRPpEhv373vvff60bHxc1k/FF9WaPscMt7hlkbFLUs85kHtQAmr8pV5Hy9ezsSRa GzJmiVclkPc2BY592IGBXRDQ38urXeM4nfhhvqA50b/nAEXc6FzqgXqDkEIwR66/Gbp0t3+r yQzpKRyQif3OwE0ETVkGzwEIALyKDN/OGURaHBVzwjgYq+ZtifvekdrSNl8TIDH8g1xicBYp QTbPn6bbSZbdvfeQPNCcD4/EhXZuhQXMcoJsQQQnO4vwVULmPGgtGf8PVc7dxKOeta+qUh6+ SRh3vIcAUFHDT3f/Zdspz+e2E0hPV2hiSvICLk11qO6cyJE13zeNFoeY3ggrKY+IzbFomIZY 4yG6xI99NIPEVE9lNBXBKIlewIyVlkOaYvJWSV+p5gdJXOvScNN1epm5YHmf9aE2ZjnqZGoM Mtsyw18YoX9BqMFInxqYQQ3j/HpVgTSvmo5ea5qQDDUaCsaTf8UeDcwYOtgI8iL4oHcsGtUX oUk33HEAEQEAAcLAXwQYAQIACQUCTVkGzwIbDAAKCRAWmrexpM/4rrXiB/sGbkQ6itMrAIfn M7IbRuiSZS1unlySUVYu3SD6YBYnNi3G5EpbwfBNuT3H8//rVvtOFK4OD8cRYkxXRQmTvqa3 3eDIHu/zr1HMKErm+2SD6PO9umRef8V82o2oaCLvf4WeIssFjwB0b6a12opuRP7yo3E3gTCS KmbUuLv1CtxKQF+fUV1cVaTPMyT25Od+RC1K+iOR0F54oUJvJeq7fUzbn/KdlhA8XPGzwGRy 4zcsPWvwnXgfe5tk680fEKZVwOZKIEuJC3v+/yZpQzDvGYJvbyix0lHnrCzq43WefRHI5XTT QbM0WUIBIcGmq38+OgUsMYu4NzLu7uZFAcmp6h8g Organization: Linaro In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 10/9/25 16:06, Srinivas Kandagatla wrote: > > > On 10/9/25 3:03 PM, Neil Armstrong wrote: >> On 10/9/25 15:36, Srinivas Kandagatla wrote: >>> >>> >>> On 10/8/25 7:56 PM, Neil Armstrong wrote: >>>> In order to describe the block and master clock of each I2S bus, add >>>> the first 5 I2S busses clock entries. >>>> >>>> The names (primary, secondary, tertiarty, quaternary, quinary, senary) >>>> uses the LPASS clock naming which were used for a long time on Qualcomm >>>> LPASS firmware interfaces. >>>> >>>> Signed-off-by: Neil Armstrong >>>> --- >>>>   .../devicetree/bindings/sound/qcom,sm8250.yaml      | 21 ++++++++++ >>>> +++++++++++ >>>>   1 file changed, 21 insertions(+) >>>> >>>> diff --git a/Documentation/devicetree/bindings/sound/qcom,sm8250.yaml >>>> b/Documentation/devicetree/bindings/sound/qcom,sm8250.yaml >>>> index >>>> 8ac91625dce5ccba5c5f31748c36296b12fac1a6..d1420d138b7ed8152aa53769c4d495e1674275e6 100644 >>>> --- a/Documentation/devicetree/bindings/sound/qcom,sm8250.yaml >>>> +++ b/Documentation/devicetree/bindings/sound/qcom,sm8250.yaml >>>> @@ -64,6 +64,27 @@ properties: >>>>       $ref: /schemas/types.yaml#/definitions/string >>>>       description: User visible long sound card name >>>>   +  clocks: >>>> +    minItems: 2 >>>> +    maxItems: 12 >>>> + >>>> +  clock-names: >>>> +    minItems: 2 >>>> +    items: >>>> +      # mclk is the I2S Master Clock, mi2s the I2S Bit Clock >>>> +      - const: primary-mi2s >>>> +      - const: primary-mclk >>>> +      - const: secondary-mi2s >>>> +      - const: secondary-mclk >>>> +      - const: tertiary-mi2s >>>> +      - const: tertiary-mclk >>>> +      - const: quaternary-mi2s >>>> +      - const: quaternary-mclk >>>> +      - const: quinary-mi2s >>>> +      - const: quinary-mclk >>>> +      - const: senary-mi2s >>>> +      - const: senary-mclk >>>> + >>> >>> I don't this is correct way to handling bitclk and mclks for I2S, these >>> are normally handled as part of snd_soc_dai_set_sysclk() transparently >>> without need of any device tree description. >>> >>> Also doing this way is an issue as this is going to break existing Elite >>> based platforms, and the device description should not change across >>> these both audio firmwares. >> >> This is only for AudioReach platforms, on those platforms the >> clocks are registered in DT and are not accessible by the card. >> > Clocks will be acessable via snd_soc_dai_set_sysclk -> > q6prm_set_lpass_clock once set_sysclk support is added to q6apm-lpass > i2s dai ops. > > >> Device description is obviously different for the AudioReach platforms. > > Why should it be different, its same device. > We have platforms that use both Elite and Audioreach. I'm perfectly aware of that, it's the case for sc7280/qcm6490. And I agree the card bindings is the same, but it doesn't mean the DSP elements are the same and uses in the same manner. So let's forget the bindings and forget those clocks entries, and imagine I'll implement those _sys_sysclk calls like for the Elite platforms. This means I'll bypass the clock framework by directly setting the PRM clocks, this is clearly a layer violation. Neil > > --srini >> >> Neil >> >>> >>> thanks, >>> Srini >>> >>>>   patternProperties: >>>>     ".*-dai-link$": >>>>       description: >>>> >>> >> >