i2c: sun6i_p2wi: Only do non-DM pin setup for non-DM I2C
authorSamuel Holland <samuel@sholland.org>
Thu, 21 Oct 2021 04:01:29 +0000 (23:01 -0500)
committerAndre Przywara <andre.przywara@arm.com>
Mon, 4 Apr 2022 22:24:16 +0000 (23:24 +0100)
When the DM_I2C driver is loaded, the pin setup is done automatically
from the device tree by the pinctrl driver.

Signed-off-by: Samuel Holland <samuel@sholland.org>
Reviewed-by: Andre Przywara <andre.przywara@arm.com>
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
drivers/i2c/sun6i_p2wi.c

index c9e1b3f..73b808b 100644 (file)
@@ -102,12 +102,6 @@ static int sun6i_p2wi_change_to_p2wi_mode(struct sunxi_p2wi_reg *base,
 
 static void sun6i_p2wi_init(struct sunxi_p2wi_reg *base)
 {
-       /* Enable p2wi and PIO clk, and de-assert their resets */
-       prcm_apb0_enable(PRCM_APB0_GATE_PIO | PRCM_APB0_GATE_P2WI);
-
-       sunxi_gpio_set_cfgpin(SUNXI_GPL(0), SUN6I_GPL0_R_P2WI_SCK);
-       sunxi_gpio_set_cfgpin(SUNXI_GPL(1), SUN6I_GPL1_R_P2WI_SDA);
-
        /* Reset p2wi controller and set clock to CLKIN(12)/8 = 1.5 MHz */
        writel(P2WI_CTRL_RESET, &base->ctrl);
        sdelay(0x100);
@@ -142,6 +136,12 @@ void p2wi_init(void)
 {
        struct sunxi_p2wi_reg *base = (struct sunxi_p2wi_reg *)SUN6I_P2WI_BASE;
 
+       /* Enable p2wi and PIO clk, and de-assert their resets */
+       prcm_apb0_enable(PRCM_APB0_GATE_PIO | PRCM_APB0_GATE_P2WI);
+
+       sunxi_gpio_set_cfgpin(SUNXI_GPL(0), SUN6I_GPL0_R_P2WI_SCK);
+       sunxi_gpio_set_cfgpin(SUNXI_GPL(1), SUN6I_GPL1_R_P2WI_SDA);
+
        sun6i_p2wi_init(base);
 }
 #endif