This patch series is to add v1.6.0 compatible name for qcom soundwire
driver and corresponding dt bindings.
Changes Since V4:
-- Dropped audio cgcr control patch due to dependency on clock patches.
-- Update dt-bindings as per new reset control properties.
Changes Since V3:
-- Add v1.6.0 compatible name and soundwire data structure.
-- Change macro define name properly.
-- Update bindings for new property.
-- Change commit message description.
-- Change signedoff by sequence.
Changes since v2:
-- Update error check after ioremap.
Changes since v1:
-- Add const name to mask value.
Srinivasa Rao Mandadapu (2):
soundwire: qcom: Add compatible name for v1.6.0
dt-bindings: soundwire: qcom: Add bindings for audio CSR reset control
property
Documentation/devicetree/bindings/soundwire/qcom,sdw.txt | 12 ++++++++++++
drivers/soundwire/qcom.c | 6 ++++++
2 files changed, 18 insertions(+)
--
2.7.4
Update compatible string and master data information in soundwire driver
to support v1.6.0 in lpass sc7280 based platform.
Signed-off-by: Srinivasa Rao Mandadapu <[email protected]>
Co-developed-by: Venkata Prasad Potturu <[email protected]>
Signed-off-by: Venkata Prasad Potturu <[email protected]>
---
drivers/soundwire/qcom.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/drivers/soundwire/qcom.c b/drivers/soundwire/qcom.c
index 9eb31ba..fb183bd 100644
--- a/drivers/soundwire/qcom.c
+++ b/drivers/soundwire/qcom.c
@@ -175,6 +175,11 @@ static struct qcom_swrm_data swrm_v1_5_data = {
.default_cols = 16,
};
+static struct qcom_swrm_data swrm_v1_6_data = {
+ .default_rows = 50,
+ .default_cols = 16,
+};
+
#define to_qcom_sdw(b) container_of(b, struct qcom_swrm_ctrl, bus)
static int qcom_swrm_ahb_reg_read(struct qcom_swrm_ctrl *ctrl, int reg,
@@ -1343,6 +1348,7 @@ static int qcom_swrm_remove(struct platform_device *pdev)
static const struct of_device_id qcom_swrm_of_match[] = {
{ .compatible = "qcom,soundwire-v1.3.0", .data = &swrm_v1_3_data },
{ .compatible = "qcom,soundwire-v1.5.1", .data = &swrm_v1_5_data },
+ { .compatible = "qcom,soundwire-v1.6.0", .data = &swrm_v1_6_data },
{/* sentinel */},
};
--
2.7.4
Update description for audio CSR reset control property, which is
required for latest chipsets to allow software enabling in CGCR HCLK register.
Signed-off-by: Srinivasa Rao Mandadapu <[email protected]>
Co-developed-by: Venkata Prasad Potturu <[email protected]>
Signed-off-by: Venkata Prasad Potturu <[email protected]>
---
Documentation/devicetree/bindings/soundwire/qcom,sdw.txt | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/Documentation/devicetree/bindings/soundwire/qcom,sdw.txt b/Documentation/devicetree/bindings/soundwire/qcom,sdw.txt
index b93a2b3..84c8f54 100644
--- a/Documentation/devicetree/bindings/soundwire/qcom,sdw.txt
+++ b/Documentation/devicetree/bindings/soundwire/qcom,sdw.txt
@@ -150,6 +150,18 @@ board specific bus parameters.
or applicable for the respective data port.
More info in MIPI Alliance SoundWire 1.0 Specifications.
+- reset:
+ Usage: optional
+ Value type: <prop-encoded-array>
+ Definition: Should specify the SoundWire audio CSR reset controller interface,
+ which is required for SoundWire version 1.6.0 and above.
+
+- reset-names:
+ Usage: optional
+ Value type: <stringlist>
+ Definition: should be "swr_audio_cgcr" for SoundWire audio CSR reset
+ controller interface.
+
Note:
More Information on detail of encoding of these fields can be
found in MIPI Alliance SoundWire 1.0 Specifications.
--
2.7.4
Quoting Srinivasa Rao Mandadapu (2022-02-27 22:39:36)
> Update compatible string and master data information in soundwire driver
> to support v1.6.0 in lpass sc7280 based platform.
>
> Signed-off-by: Srinivasa Rao Mandadapu <[email protected]>
> Co-developed-by: Venkata Prasad Potturu <[email protected]>
> Signed-off-by: Venkata Prasad Potturu <[email protected]>
> ---
> drivers/soundwire/qcom.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/drivers/soundwire/qcom.c b/drivers/soundwire/qcom.c
> index 9eb31ba..fb183bd 100644
> --- a/drivers/soundwire/qcom.c
> +++ b/drivers/soundwire/qcom.c
> @@ -175,6 +175,11 @@ static struct qcom_swrm_data swrm_v1_5_data = {
> .default_cols = 16,
> };
>
> +static struct qcom_swrm_data swrm_v1_6_data = {
Why not const?
> + .default_rows = 50,
> + .default_cols = 16,
This is the same as swrm_v1_5_data so just use that struct again?
> +};
> +
> #define to_qcom_sdw(b) container_of(b, struct qcom_swrm_ctrl, bus)
>
> static int qcom_swrm_ahb_reg_read(struct qcom_swrm_ctrl *ctrl, int reg,
> @@ -1343,6 +1348,7 @@ static int qcom_swrm_remove(struct platform_device *pdev)
> static const struct of_device_id qcom_swrm_of_match[] = {
> { .compatible = "qcom,soundwire-v1.3.0", .data = &swrm_v1_3_data },
> { .compatible = "qcom,soundwire-v1.5.1", .data = &swrm_v1_5_data },
These other structs for v1.5 and v1.3 could also be const.
> + { .compatible = "qcom,soundwire-v1.6.0", .data = &swrm_v1_6_data },
> {/* sentinel */},
Quoting Srinivasa Rao Mandadapu (2022-02-27 22:39:37)
> Update description for audio CSR reset control property, which is
> required for latest chipsets to allow software enabling in CGCR HCLK register.
>
> Signed-off-by: Srinivasa Rao Mandadapu <[email protected]>
> Co-developed-by: Venkata Prasad Potturu <[email protected]>
> Signed-off-by: Venkata Prasad Potturu <[email protected]>
> ---
> Documentation/devicetree/bindings/soundwire/qcom,sdw.txt | 12 ++++++++++++
Any reason this can't be yamlified?
> 1 file changed, 12 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/soundwire/qcom,sdw.txt b/Documentation/devicetree/bindings/soundwire/qcom,sdw.txt
> index b93a2b3..84c8f54 100644
> --- a/Documentation/devicetree/bindings/soundwire/qcom,sdw.txt
> +++ b/Documentation/devicetree/bindings/soundwire/qcom,sdw.txt
> @@ -150,6 +150,18 @@ board specific bus parameters.
> or applicable for the respective data port.
> More info in MIPI Alliance SoundWire 1.0 Specifications.
>
> +- reset:
> + Usage: optional
> + Value type: <prop-encoded-array>
> + Definition: Should specify the SoundWire audio CSR reset controller interface,
> + which is required for SoundWire version 1.6.0 and above.
> +
> +- reset-names:
> + Usage: optional
> + Value type: <stringlist>
> + Definition: should be "swr_audio_cgcr" for SoundWire audio CSR reset
> + controller interface.
> +
> Note:
> More Information on detail of encoding of these fields can be
> found in MIPI Alliance SoundWire 1.0 Specifications.
> --
> 2.7.4
>
On 3/1/2022 2:33 AM, Stephen Boyd wrote:
Thanks for your time Stephen!!!
> Quoting Srinivasa Rao Mandadapu (2022-02-27 22:39:37)
>> Update description for audio CSR reset control property, which is
>> required for latest chipsets to allow software enabling in CGCR HCLK register.
>>
>> Signed-off-by: Srinivasa Rao Mandadapu <[email protected]>
>> Co-developed-by: Venkata Prasad Potturu <[email protected]>
>> Signed-off-by: Venkata Prasad Potturu <[email protected]>
>> ---
>> Documentation/devicetree/bindings/soundwire/qcom,sdw.txt | 12 ++++++++++++
> Any reason this can't be yamlified?
As such nothing is blocking to yamlify. We Shall do after all Herobrine
audio patches upstream completed.
Will add in my To Do list and pick this activity ASAP.
>
>> 1 file changed, 12 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/soundwire/qcom,sdw.txt b/Documentation/devicetree/bindings/soundwire/qcom,sdw.txt
>> index b93a2b3..84c8f54 100644
>> --- a/Documentation/devicetree/bindings/soundwire/qcom,sdw.txt
>> +++ b/Documentation/devicetree/bindings/soundwire/qcom,sdw.txt
>> @@ -150,6 +150,18 @@ board specific bus parameters.
>> or applicable for the respective data port.
>> More info in MIPI Alliance SoundWire 1.0 Specifications.
>>
>> +- reset:
>> + Usage: optional
>> + Value type: <prop-encoded-array>
>> + Definition: Should specify the SoundWire audio CSR reset controller interface,
>> + which is required for SoundWire version 1.6.0 and above.
>> +
>> +- reset-names:
>> + Usage: optional
>> + Value type: <stringlist>
>> + Definition: should be "swr_audio_cgcr" for SoundWire audio CSR reset
>> + controller interface.
>> +
>> Note:
>> More Information on detail of encoding of these fields can be
>> found in MIPI Alliance SoundWire 1.0 Specifications.
>> --
>> 2.7.4
>>
On 3/1/2022 2:32 AM, Stephen Boyd wrote:
> Quoting Srinivasa Rao Mandadapu (2022-02-27 22:39:36)
>> Update compatible string and master data information in soundwire driver
>> to support v1.6.0 in lpass sc7280 based platform.
>>
>> Signed-off-by: Srinivasa Rao Mandadapu <[email protected]>
>> Co-developed-by: Venkata Prasad Potturu <[email protected]>
>> Signed-off-by: Venkata Prasad Potturu <[email protected]>
>> ---
>> drivers/soundwire/qcom.c | 6 ++++++
>> 1 file changed, 6 insertions(+)
>>
>> diff --git a/drivers/soundwire/qcom.c b/drivers/soundwire/qcom.c
>> index 9eb31ba..fb183bd 100644
>> --- a/drivers/soundwire/qcom.c
>> +++ b/drivers/soundwire/qcom.c
>> @@ -175,6 +175,11 @@ static struct qcom_swrm_data swrm_v1_5_data = {
>> .default_cols = 16,
>> };
>>
>> +static struct qcom_swrm_data swrm_v1_6_data = {
> Why not const?
Okay.
>
>> + .default_rows = 50,
>> + .default_cols = 16,
> This is the same as swrm_v1_5_data so just use that struct again?
Okay. Will useĀ swrm_v1_5_data.
>
>> +};
>> +
>> #define to_qcom_sdw(b) container_of(b, struct qcom_swrm_ctrl, bus)
>>
>> static int qcom_swrm_ahb_reg_read(struct qcom_swrm_ctrl *ctrl, int reg,
>> @@ -1343,6 +1348,7 @@ static int qcom_swrm_remove(struct platform_device *pdev)
>> static const struct of_device_id qcom_swrm_of_match[] = {
>> { .compatible = "qcom,soundwire-v1.3.0", .data = &swrm_v1_3_data },
>> { .compatible = "qcom,soundwire-v1.5.1", .data = &swrm_v1_5_data },
> These other structs for v1.5 and v1.3 could also be const.
Okay. Will add const and re post.
>
>> + { .compatible = "qcom,soundwire-v1.6.0", .data = &swrm_v1_6_data },
>> {/* sentinel */},