From: Alexander Graf <agraf@suse.de>
Date: Thu, 25 Jan 2018 11:05:56 +0000 (+0100)
Subject: bcm2835_pinctrl: Probe pre-reloc
X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=9821636b641cbbeed1b6c89641d0649d386650db;p=project%2Fbcm63xx%2Fu-boot.git

bcm2835_pinctrl: Probe pre-reloc

The serial drivers now depend on the pinctrl driver to determine whether
they are enabled. That means if a serial device wants to be used pre-reloc,
we also need the pinctrl device pre-reloc.

Adapt the pinctrl driver as well as dts overlay accordingly.

Signed-off-by: Alexander Graf <agraf@suse.de>
---

diff --git a/arch/arm/dts/bcm283x-uboot.dtsi b/arch/arm/dts/bcm283x-uboot.dtsi
index 8e4231ae6c..21d038aebb 100644
--- a/arch/arm/dts/bcm283x-uboot.dtsi
+++ b/arch/arm/dts/bcm283x-uboot.dtsi
@@ -20,3 +20,7 @@
 	skip-init;
 	u-boot,dm-pre-reloc;
 };
+
+&gpio {
+	u-boot,dm-pre-reloc;
+};
diff --git a/drivers/pinctrl/broadcom/pinctrl-bcm283x.c b/drivers/pinctrl/broadcom/pinctrl-bcm283x.c
index 83dde2302e..6fbd6efbd2 100644
--- a/drivers/pinctrl/broadcom/pinctrl-bcm283x.c
+++ b/drivers/pinctrl/broadcom/pinctrl-bcm283x.c
@@ -148,5 +148,6 @@ U_BOOT_DRIVER(pinctrl_bcm283x) = {
 	.of_match	= of_match_ptr(bcm2835_pinctrl_id),
 	.priv_auto_alloc_size = sizeof(struct bcm283x_pinctrl_priv),
 	.ops		= &bcm283x_pinctrl_ops,
-	.probe		= bcm283x_pinctl_probe
+	.probe		= bcm283x_pinctl_probe,
+	.flags		= DM_FLAG_PRE_RELOC,
 };