> On 10 Jul 2017, at 08:43, Romain Perier <romain.per...@collabora.com> wrote: > > Le 07/07/2017 à 05:58, Simon Glass a écrit : >> +Philipp >> >> Hi Romain, >> >> On 3 July 2017 at 01:13, Romain Perier <romain.per...@collabora.com> wrote: >>> Currently, selecting state simple is done by the device driver model, >>> prior probing the driver. The problem is that it's done and called on >>> the pinctrl node with "gmac" as the "periph" struct udevice *. So >>> pinctrl-rk3288 is looking for an interrupt property that is not found, >>> and then gmac_config is never called. >>> >>> This commits toggles the pinctrl on the right node from the probe >>> function of the driver. >> Is it possible to fix this while still using driver-model automatic pinctrl? > > This is what I have tried to do, without success. The purpose of this > patch is also to discuss about the possible solutions we have.
From looking at pinctrl_rk3288.c, I wonder if there’s a problem with pinctrl on the RK3288 outside of SPL: I see that the (full) set_state is also implemented outside of SPL (#ifndef CONFIG_SPL_BUILD) and not guarded by a CONFIG_IS_ENABLED(PINCTRL_FULL). So something might go down the wrong path. Could start narrowing this down by enabling DEBUG in pinctrl_rk3288 to see whether this is even the simple pinctrl that gets called? > Regards, > Romain > >> >>> Signed-off-by: Romain Perier <romain.per...@collabora.com> >>> --- >>> drivers/net/gmac_rockchip.c | 4 ++++ >>> 1 file changed, 4 insertions(+) >>> >>> diff --git a/drivers/net/gmac_rockchip.c b/drivers/net/gmac_rockchip.c >>> index 5e2ca76302..8581026b4a 100644 >>> --- a/drivers/net/gmac_rockchip.c >>> +++ b/drivers/net/gmac_rockchip.c >>> @@ -160,6 +160,10 @@ static int gmac_rockchip_probe(struct udevice *dev) >>> struct clk clk; >>> int ret; >>> >>> + ret = pinctrl_select_state(dev, "simple"); >>> + if (ret) >>> + return ret; >>> + >>> ret = clk_get_by_index(dev, 0, &clk); >>> if (ret) >>> return ret; >>> -- >>> 2.11.0 >>> >> Regards, >> Simon > _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot