Message ID | 20240626-port-map-v2-4-6cc1c5608cdd@linaro.org |
---|---|
State | Superseded |
Headers | show |
Series | ASoC: codecs: wsa88xx: add support for static port mapping. | expand |
On Thu, Jun 27, 2024 at 03:44:41PM GMT, Srinivas Kandagatla wrote: > Add support to parse static master port map information from device tree. > This is required for correct port mapping between soundwire device and > master ports. > > Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> > Tested-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> > Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org> > Tested-by: Neil Armstrong <neil.armstrong@linaro.org> # on SM8650-HDK > Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> > --- > sound/soc/codecs/wsa884x.c | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/sound/soc/codecs/wsa884x.c b/sound/soc/codecs/wsa884x.c > index a9767ef0e39d..a6034547b4f3 100644 > --- a/sound/soc/codecs/wsa884x.c > +++ b/sound/soc/codecs/wsa884x.c > @@ -1887,6 +1887,14 @@ static int wsa884x_probe(struct sdw_slave *pdev, > wsa884x->sconfig.direction = SDW_DATA_DIR_RX; > wsa884x->sconfig.type = SDW_STREAM_PDM; > > + /** > + * Port map index starts with 0, however the data port for this codec > + * are from index 1 > + */ > + if (of_property_read_u32_array(dev->of_node, "qcom,port-mapping", &pdev->m_port_map[1], > + WSA884X_MAX_SWR_PORTS)) > + dev_dbg(dev, "Static Port mapping not specified\n"); > + Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
diff --git a/sound/soc/codecs/wsa884x.c b/sound/soc/codecs/wsa884x.c index a9767ef0e39d..a6034547b4f3 100644 --- a/sound/soc/codecs/wsa884x.c +++ b/sound/soc/codecs/wsa884x.c @@ -1887,6 +1887,14 @@ static int wsa884x_probe(struct sdw_slave *pdev, wsa884x->sconfig.direction = SDW_DATA_DIR_RX; wsa884x->sconfig.type = SDW_STREAM_PDM; + /** + * Port map index starts with 0, however the data port for this codec + * are from index 1 + */ + if (of_property_read_u32_array(dev->of_node, "qcom,port-mapping", &pdev->m_port_map[1], + WSA884X_MAX_SWR_PORTS)) + dev_dbg(dev, "Static Port mapping not specified\n"); + pdev->prop.sink_ports = GENMASK(WSA884X_MAX_SWR_PORTS, 0); pdev->prop.simple_clk_stop_capable = true; pdev->prop.sink_dpn_prop = wsa884x_sink_dpn_prop;