
Le 07/07/2017 à 05:58, Simon Glass a écrit :
+Philipp
Hi Romain,
On 3 July 2017 at 01:13, Romain Perier romain.perier@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.
Regards, Romain
Signed-off-by: Romain Perier romain.perier@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