Merge git://git.denx.de/u-boot-fsl-qoriq
[oweals/u-boot.git] / drivers / pinctrl / pinctrl_stm32.c
index 6183103b5bd1f7ba5ea39bf4cb4d78ccf152450f..51fdfb3851cac3c9ca6b15ce5596823a9122151d 100644 (file)
@@ -133,6 +133,12 @@ static int stm32_pinctrl_config(int offset)
        return 0;
 }
 
+#if CONFIG_IS_ENABLED(PINCTRL_FULL)
+static int stm32_pinctrl_set_state(struct udevice *dev, struct udevice *config)
+{
+       return stm32_pinctrl_config(dev_of_offset(config));
+}
+#else /* PINCTRL_FULL */
 static int stm32_pinctrl_set_state_simple(struct udevice *dev,
                                          struct udevice *periph)
 {
@@ -154,7 +160,7 @@ static int stm32_pinctrl_set_state_simple(struct udevice *dev,
 
                config_node = fdt_node_offset_by_phandle(fdt, phandle);
                if (config_node < 0) {
-                       error("prop pinctrl-0 index %d invalid phandle\n", i);
+                       pr_err("prop pinctrl-0 index %d invalid phandle\n", i);
                        return -EINVAL;
                }
 
@@ -165,13 +171,19 @@ static int stm32_pinctrl_set_state_simple(struct udevice *dev,
 
        return 0;
 }
+#endif /* PINCTRL_FULL */
 
 static struct pinctrl_ops stm32_pinctrl_ops = {
+#if CONFIG_IS_ENABLED(PINCTRL_FULL)
+       .set_state              = stm32_pinctrl_set_state,
+#else /* PINCTRL_FULL */
        .set_state_simple       = stm32_pinctrl_set_state_simple,
+#endif /* PINCTRL_FULL */
 };
 
 static const struct udevice_id stm32_pinctrl_ids[] = {
        { .compatible = "st,stm32f746-pinctrl" },
+       { .compatible = "st,stm32h743-pinctrl" },
        { }
 };