soc: qcom: Make the Qualcomm UFS/SDCC ICE a dedicated driver
authorAbel Vesa <abel.vesa@linaro.org>
Fri, 7 Apr 2023 10:50:26 +0000 (13:50 +0300)
committerBjorn Andersson <andersson@kernel.org>
Fri, 7 Apr 2023 19:08:39 +0000 (12:08 -0700)
commit2afbf43a4aec6e31dac7835e65d52c867f2be400
tree4d1738e7011895108a571d23603a52cd95a8919c
parentfe15c26ee26efa11741a7b632e9f23b01aca4cc6
soc: qcom: Make the Qualcomm UFS/SDCC ICE a dedicated driver

This takes the already existing duplicated support in both ufs-qcom
and sdhci-msm drivers and makes it a dedicated driver that can be used
by both mentioned drivers.

The reason for this is because, staring with SM8550, the ICE IP block
is shared between UFS and SDCC, which means we need to probe a dedicated
device and share it between those two consumers.

So let's add the ICE dedicated driver as a soc driver.

Platforms that already have ICE supported, will use it as a library
as the of_qcom_ice_get will return an ICE instance created for the
consumer device. This allows the backwards compatibility with old-style
devicetree approach.

Also, add support to HW version 4.x since it works out-of-the-box with
the current driver. The 4.x HW version is found on SM8550 platform.

Signed-off-by: Abel Vesa <abel.vesa@linaro.org>
Reviewed-by: Bjorn Andersson <andersson@kernel.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230407105029.2274111-4-abel.vesa@linaro.org
drivers/soc/qcom/Kconfig
drivers/soc/qcom/Makefile
drivers/soc/qcom/ice.c [new file with mode: 0644]
include/soc/qcom/ice.h [new file with mode: 0644]