soc: qcom: geni-se: add support for I2C Master Hub wrapper variant
authorNeil Armstrong <neil.armstrong@linaro.org>
Tue, 29 Nov 2022 14:47:04 +0000 (15:47 +0100)
committerWolfram Sang <wsa@kernel.org>
Mon, 5 Dec 2022 08:30:13 +0000 (09:30 +0100)
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 clock list for the I2C Master Hub variant to a new desc struct
then pass it through the I2C Master Hub compatible 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>
drivers/soc/qcom/qcom-geni-se.c

index 9ddee9fd11ba72fe720c0e79a2d384bc51539822..f0475b93ca730624a3fb0a383f3ee58c366bbb5f 100644 (file)
@@ -942,8 +942,18 @@ static const struct geni_se_desc qup_desc = {
        .num_clks = ARRAY_SIZE(qup_clks),
 };
 
+static const char * const i2c_master_hub_clks[] = {
+       "s-ahb",
+};
+
+static const struct geni_se_desc i2c_master_hub_desc = {
+       .clks = i2c_master_hub_clks,
+       .num_clks = ARRAY_SIZE(i2c_master_hub_clks),
+};
+
 static const struct of_device_id geni_se_dt_match[] = {
        { .compatible = "qcom,geni-se-qup", .data = &qup_desc },
+       { .compatible = "qcom,geni-se-i2c-master-hub", .data = &i2c_master_hub_desc },
        {}
 };
 MODULE_DEVICE_TABLE(of, geni_se_dt_match);