Thread (23 messages) 23 messages, 4 authors, 2015-09-09

[PATCH-v2 4/7] mmc: sdhci-pxav3: Add pinctl setting according to bus clock

From: Linus Walleij <hidden>
Date: 2015-09-08 14:42:43
Also in: linux-devicetree, linux-mmc, lkml

On Mon, Sep 7, 2015 at 1:18 PM, Vaibhav Hiremath
[off-list ref] wrote:
Different bus clock may need different pin setting.
For example, fast bus clock like 208Mhz need pin drive fast
while slow bus clock prefer pin drive slow to guarantee
signal quality.

So this patch creates two states,
  - Default (slow/normal) pin state
  - And fast pin state for higher freq bus speed.

And selection of pin state is done based on timing mode.

Signed-off-by: Vaibhav Hiremath <redacted>
Signed-off-by: Kevin Liu <redacted>
(...)
+       pxa->pinctrl = devm_pinctrl_get(dev);
+       if (!IS_ERR(pxa->pinctrl)) {
+               pxa->pins_default = pinctrl_lookup_state(pxa->pinctrl, "default");
+               if (IS_ERR(pxa->pins_default))
+                       dev_err(dev, "could not get default pinstate\n");
+               pxa->pins_fast = pinctrl_lookup_state(pxa->pinctrl, "fast");
+               if (IS_ERR(pxa->pins_fast))
+                       dev_info(dev, "could not get fast pinstate\n");
+       }
This is exactly how I think it should be used from a pin control
point of view.

If you depended on CONFIG_PM you could use
pinctrl_pm_select_default_state() but for this simple scenario
this is fine.

Reviewed-by: Linus Walleij <redacted>
From a pinctrl point of view.
Yours,
Linus Walleij
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help