Re: Pulls and drive strengths in the pinctrl world

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Tomasz / Stephen,

On Wed, May 15, 2013 at 5:55 PM, Doug Anderson <dianders@xxxxxxxxxx> wrote:
>> Also after reading Stephen's reply, I'm wondering if hogging wouldn't
>> solve the problem indeed. (It might have to be fixed on pinctrl-samsung
>> first, as last time I tried to use it, it caused some errors from pinctrl
>> core, but haven't time to track them down, as it wasn't anything important
>> at that time).
>
> I will give it a shot tomorrow morning and see how it looks.  I'll
> also evaluate Stephen's suggestions then once I've see how it looks
> with the current bindings...

I wrote this out and it had some nice properties (it was a little more
concise), but had the downside that there's no reference from the GPIO
usage back to the pinmux.  I'd rather have the reference there in the
hopes that it will help others get things right when they make changes
to the dts file (they'll notice the reference and know that they need
to change that too).

...so I think the summary is: I'm OK with keeping what we have.  It
may be a little awkward in some ways but it's definitely worth it to
get all of the benefits of the pinmux / GPIO separation.  :)

For the curious of what my prototype looked like (feel free to
ignore--I'm not planning on keeping this and I didn't actually try
testing it), I've included it below.  This is just the bit from
"cros5250-common" (the common file shared among several similar
boards), so I'd need something similar in "exynos5250-snow").

pinctrl@11400000 {
  /* Default states for hogs follow */
  nopull_inputs_cros5250_a: nopull-inputs-cros5250-a {
    samsung,pins =
      "gpx1-2", /* trackpad */
      "gpx1-3", /* gpio-keys - power */
      "gpx3-2"; /* max77686 */
    samsung,pin-function = <0>;
    samsung,pin-pud = <0>;
    samsung,pin-drv = <0>;
  };

  pulldown_inputs_cros5250-a: pulldown-inputs-cros5250_a {
    samsung,pins = "gpx3-7"; /* hdmi */
    samsung,pin-function = <0>;
    samsung,pin-pud = <1>;
    samsung,pin-drv = <0>;
  };

  simple_outputs_cros5250-a: simple-outputs-cros5250_a {
    samsung,pins =
      "gpx0-1", /* wifi-en */
      "gpx0-2", /* wifi-rst */
      "gpx1-7"; /* max98095-en */
    samsung,pin-function = <1>;
    samsung,pin-pud = <0>;
    samsung,pin-drv = <0>;
  }

  pinctrl-names = "default";
  pinctrl-0 = <&nopull_inputs_cros5250_a
               &pulldown_inputs_cros5250_a
               &simple_outputs_cros5250_a>;
};

pinctrl@13400000 {
  simple_outputs_cros5250-b: simple-outputs-cros5250_b {
    samsung,pins = "gpe1-0" /* hsic reset */;
    samsung,pin-function = <1>;
    samsung,pin-pud = <0>;
    samsung,pin-drv = <0>;

  };
  pinctrl-names = "default";
  pinctrl-0 = <&simple_outputs_cros5250_b>;
};

-Doug
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux SoC Development]     [Linux Rockchip Development]     [Linux USB Development]     [Video for Linux]     [Linux Audio Users]     [Linux SCSI]     [Yosemite News]

  Powered by Linux