ASoC: qcom: soundwire: Enable soundwire bus clock for version 1.6
Subsystems (3)
PATCH v2 1/1 ASoC: qcom: soundwire: Enable soundwire bus clock for version 1.6
Add support for soundwire 1.6 version to gate RX/TX bus clock.
Signed-off-by Venkata Prasad Potturu <[email protected]>
Signed-off-by Srinivasa Rao Mandadapu <[email protected]>
---
Changes since v1:
-- Add const name to mask value.
drivers/soundwire/qcom.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-)
drivers/soundwire/qcom.c +12 -1
@@ -109,6 +109,7 @@#define SWR_MAX_CMD_ID 14#define MAX_FIFO_RD_RETRY 3#define SWR_OVERFLOW_RETRY_COUNT 30 +#define SWRM_HCTL_REG_MASK 0xFFFFFFFDstruct qcom_swrm_port_config {u8 si;
@@ -127,6 +128,7 @@ struct qcom_swrm_ctrl {struct device *dev;struct regmap *regmap;void __iomem *mmio; +char __iomem *swrm_hctl_reg;struct completion broadcast;struct completion enumeration;struct work_struct slave_work;
@@ -610,6 +612,12 @@ static int qcom_swrm_init(struct qcom_swrm_ctrl *ctrl) val =FIELD_PREP (SWRM_MCP_FRAME_CTRL_BANK_ROW_CTRL_BMSK , ctrl->rows_index); val |=FIELD_PREP (SWRM_MCP_FRAME_CTRL_BANK_COL_CTRL_BMSK , ctrl->cols_index); +if (ctrl->swrm_hctl_reg) { + val =ioread32 (ctrl->swrm_hctl_reg); + val &=SWRM_HCTL_REG_MASK ; +iowrite32 (val, ctrl->swrm_hctl_reg); + } + ctrl->reg_write (ctrl,SWRM_MCP_FRAME_CTRL_BANK_ADDR (0 ), val);/* Enable Auto enumeration */
@@ -1200,7 +1208,7 @@ static int qcom_swrm_probe(struct platform_device *pdev)struct qcom_swrm_ctrl *ctrl;const struct qcom_swrm_data *data;int ret; -u32 val; +int val, swrm_hctl_reg =0 ; ctrl =devm_kzalloc (dev,sizeof (*ctrl),GFP_KERNEL );if (!ctrl)
@@ -1251,6 +1259,9 @@ static int qcom_swrm_probe(struct platform_device *pdev) ctrl->bus.port_ops = &qcom_swrm_port_ops; ctrl->bus.compute_params = &qcom_swrm_compute_params; +if (!of_property_read_u32 (dev->of_node,"qcom,swrm-hctl-reg" , &swrm_hctl_reg)) + ctrl->swrm_hctl_reg =devm_ioremap (&pdev->dev, swrm_hctl_reg,0x4 ); + ret =qcom_swrm_get_port_config (ctrl);if (ret) goto err_clk;
Signature · 2 lines
Qualcomm India Private Limited, on behalf of Qualcomm Innovation Center, Inc., is a member of Code Aurora Forum, a Linux Foundation Collaborative Project.
drivers/soundwire/qcom.c static int qcom_swrm_probe(struct platform_device *pdev) · line 1263
Quoted 2 lines · Srinivasa Rao Mandadapu
drivers/soundwire/qcom.c +2
-0+if (!of_property_read_u32 (dev->of_node,"qcom,swrm-hctl-reg" , &swrm_hctl_reg)) + ctrl->swrm_hctl_reg =devm_ioremap (&pdev->dev, swrm_hctl_reg,0x4 );
This is a new DT property so needs an update to the bindings.
On 10/8/2021 7:00 PM, Mark Brown wrote:
Thanks for Your time Brown!!!
Quoted 5 lines · Srinivasa Rao Mandadapu
drivers/soundwire/qcom.c static int qcom_swrm_probe(struct platform_device *pdev) · line 1263
Quoted 3 lines
drivers/soundwire/qcom.c +2
-0+if (!of_property_read_u32 (dev->of_node,"qcom,swrm-hctl-reg" , &swrm_hctl_reg)) + ctrl->swrm_hctl_reg =devm_ioremap (&pdev->dev, swrm_hctl_reg,0x4 );This is a new DT property so needs an update to the bindings.
Okay. Will update the bindings and re-post it.
Signature · 2 lines
Qualcomm India Private Limited, on behalf of Qualcomm Innovation Center, Inc., is a member of Code Aurora Forum, a Linux Foundation Collaborative Project.