diff --git a/drivers/pinctrl/pinctrl-uclass.c b/drivers/pinctrl/pinctrl-uclass.c index d7e38ae7291c844025b6003dfa4d97accb1e9da2..c38bb212ed74bd74c0f7a3f7194fa1f7b7f24546 100644 --- a/drivers/pinctrl/pinctrl-uclass.c +++ b/drivers/pinctrl/pinctrl-uclass.c @@ -198,6 +198,12 @@ static int pinctrl_select_state_simple(struct udevice *dev) int pinctrl_select_state(struct udevice *dev, const char *statename) { + /* + * Some device which is logical like mmc.blk, do not have + * a valid ofnode. + */ + if (!ofnode_valid(dev->node)) + return 0; /* * Try full-implemented pinctrl first. * If it fails or is not implemented, try simple one.