Unverified Commit e1bc5c32 authored by Srinivas Kandagatla's avatar Srinivas Kandagatla Committed by Mark Brown
Browse files

ASoC: codecs: wsa884x: parse port-mapping information



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: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Tested-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: default avatarNeil Armstrong <neil.armstrong@linaro.org>
Tested-by: Neil Armstrong <neil.armstrong@linaro.org> # on SM8650-HDK
Signed-off-by: default avatarSrinivas Kandagatla <srinivas.kandagatla@linaro.org>
Reviewed-by: default avatarDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Link: https://patch.msgid.link/20240626-port-map-v2-4-6cc1c5608cdd@linaro.org


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent d47abee9
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -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;