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 9ddee9f..f0475b9 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);