dm: pinctrl: Prevent (re-)configuring pins when already done before relocation

This commit prevents from re-configuring pins if those were configured
before relocation.

Some pins - like UART or DDR must be setup before relocation
(as they have 'u-boot,dm-pre-reloc' property set in DTS). Without this
change, those pins are re-configured after relocation (pre_reloc_only = 0,
so we do not "continue").
Such behavior may be a problem for DDR PAD configuration, as they might
be already leveled/tuned with original setup).

Signed-off-by: Lukasz Majewski <lukma@denx.de>
This commit is contained in:
Lukasz Majewski 2018-12-18 12:30:50 +01:00 committed by Tom Rini
parent a1702746df
commit a7f4b4b344

View file

@ -117,9 +117,9 @@ static int pinconfig_post_bind(struct udevice *dev)
int ret;
dev_for_each_subnode(node, dev) {
if (pre_reloc_only &&
!ofnode_pre_reloc(node))
if (pre_reloc_only ^ ofnode_pre_reloc(node))
continue;
/*
* If this node has "compatible" property, this is not
* a pin configuration node, but a normal device. skip.