lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Mon, 14 Nov 2011 19:54:36 +0530
From:	Thomas Abraham <thomas.abraham@...aro.org>
To:	Linus Walleij <linus.walleij@...aro.org>
Cc:	Linus Walleij <linus.walleij@...ricsson.com>,
	linux-kernel@...r.kernel.org, Stephen Warren <swarren@...dia.com>,
	Grant Likely <grant.likely@...retlab.ca>,
	Barry Song <21cnbao@...il.com>,
	Shawn Guo <shawn.guo@...escale.com>
Subject: Re: [PATCH v2] pinctrl: add a generic pin config interface

On 14 November 2011 15:06, Linus Walleij <linus.walleij@...aro.org> wrote:
> On Fri, Nov 11, 2011 at 12:26 PM, Thomas Abraham
> <thomas.abraham@...aro.org> wrote:
>

[...]

>> Samsung parts have a 'drive strength' config option for the pads. The
>> drive strength is represented as 1x, 2x, 4x, etc .. depending on the
>> SoC. The config param that can be used to represent drive strength in
>> this case could be PIN_CONFIG_POWER_SOURCE. Or should there be another
>> config param for representing drive strength? Otherwise, the above
>> config param options are sufficient for all existing Samsung SoC's.
>
> I strongly suspect that you want to use
> PIN_CONFIG_DRIVE_PUSH_PULL with a custom argument
> representing the drive strength as "data" passed in the call.
>
> Moste "strong" driving is done by push/pull (the others are just oddities)
> and if you want to specify a number representing drive strength, the
> data parameter is there to do exactly that. For this drive mode the
> parameter does not have defined semantics, so you can interpret it
> the way you need in your driver.

Ok.

>
> That said, 1x, 2x, 4x aren't exactly scientific - what does this really
> represent, speaking electronics?

I have not attempted to understand that yet.

>
> On some forum I found this:
> http://www.edaboard.com/thread74140.html

Thanks for the link. This was very informative.

[...]

> In practice is seems: 2x = 2 transistors in driver stage, 4x =
> 4 transistors in driver stage etc.
>
> Maybe we should simply standardize the semantics of the
> data argument to PIN_CONFIG_DRIVE_PUSH_PULL
> to mean "x times nominal load capacitance with equal
> rise/fall times"?

Ok. This should be fine for Exynos platforms. But it might not seem
intuitive to use PIN_CONFIG_DRIVE_PUSH_PULL for driver strength.
Probably, this might need additional documentation.

>
> Alternatively we could use the
> PIN_CONFIG_SLEW_RATE_RISING and
> PIN_CONFIG_SLEW_RATE_FALLING for this,
> however there I defined the semantics to be in
> nanoseconds, assuming that electronics that can control
> this have more delicate amplifiers, and in this case I
> think it is more about limiting the rise/fall time by shunting
> in resistances in the circuit.

Ok. As everybody might not understand the electronics behind the
driver strength, it would be difficult to use RATE_RISING and
RATE_FALLING config options. Maybe we should have a simpler config
option that is easy to understand and program for drive strength.

Thank you Linus.

Regards,
Thomas.

>
> Yours,
> Linus Walleij
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ