ramips: add Sanlinking Technologies D240 pinmux quirk
authorMathias Kresin <dev@kresin.me>
Thu, 1 Nov 2018 22:11:40 +0000 (23:11 +0100)
committerJo-Philipp Wich <jo@mein.io>
Tue, 18 Dec 2018 16:48:18 +0000 (17:48 +0100)
The sd function of the nd_sd group configures two of the groups pins as
gpios. The pins are used as PCIe reset/power.

Due to the driver load order, the pins are configured way to late if
triggered by the sd-card driver.

To not introduce another kind of driver load order dependency and
configure the pins as early as possible, means during pinmux driver
load.

Signed-off-by: Mathias Kresin <dev@kresin.me>
(backported from 71ba834cf1a1c8fcbf345b7efa75de0dcba9db20)

target/linux/ramips/dts/D240.dts

index eb8aa96a6d3b67e296654e30e1310956b6968101..a90fb781272b2310fb69c0e1613fcbc4288bc8a3 100644 (file)
 
 &sdhci {
        status = "okay";
+       /* the pins function is already set during pinmux driver load */
+       /delete-property/ pinctrl-0;
 };
 
 &ehci {
                        ralink,group = "i2c", "uartf", "wled", "spi refclk", "pa";
                        ralink,function = "gpio";
                };
+
+               /*
+                * The sd function of the nd_sd group configures two of the
+                * groups pins as gpios. The pins are used as PCIe reset/power.
+                * Due to the driver load order, the pins are configured way to
+                * late if triggered by the sd-card driver.
+                * To not introduce another kind of driver load order
+                * dependency and configure the pins as early as possible,
+                * means during pinmux driver load.
+                */
+               gpio_sd {
+                       ralink,group = "nd_sd";
+                       ralink,function = "sd";
+               };
        };
 };