summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeil Armstrong <neil.armstrong@linaro.org>2022-11-29 15:47:06 +0100
committerWolfram Sang <wsa@kernel.org>2022-12-05 09:30:25 +0100
commitcacd9643eca7a1f4635479aff4ec33aaade45e64 (patch)
tree1fbff976af8ec08877e728c51f0ccf620e874049
parenti2c: qcom-geni: add desc struct to prepare support for I2C Master Hub variant (diff)
downloadlinux-cacd9643eca7a1f4635479aff4ec33aaade45e64.tar.xz
linux-cacd9643eca7a1f4635479aff4ec33aaade45e64.zip
i2c: qcom-geni: add support for I2C Master Hub variant
The I2C Master Hub is a stripped down version of the GENI Serial Engine QUP Wrapper Controller but only supporting I2C serial engines without DMA support. Add the I2C Master Hub serial engine compatible along the specific requirements in a new desc struct passed through the device match data. Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org> Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org> Signed-off-by: Wolfram Sang <wsa@kernel.org>
-rw-r--r--drivers/i2c/busses/i2c-qcom-geni.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/i2c/busses/i2c-qcom-geni.c b/drivers/i2c/busses/i2c-qcom-geni.c
index 75dd0718c5a1..bfe75038bc14 100644
--- a/drivers/i2c/busses/i2c-qcom-geni.c
+++ b/drivers/i2c/busses/i2c-qcom-geni.c
@@ -1026,8 +1026,16 @@ static const struct dev_pm_ops geni_i2c_pm_ops = {
NULL)
};
+const struct geni_i2c_desc i2c_master_hub = {
+ .has_core_clk = true,
+ .icc_ddr = NULL,
+ .no_dma_support = true,
+ .tx_fifo_depth = 16,
+};
+
static const struct of_device_id geni_i2c_dt_match[] = {
{ .compatible = "qcom,geni-i2c" },
+ { .compatible = "qcom,geni-i2c-master-hub", .data = &i2c_master_hub },
{}
};
MODULE_DEVICE_TABLE(of, geni_i2c_dt_match);