Thread (19 messages) flat view 19 messages, 3 authors, 2021-08-19

Re: [PATCH v10 1/2] dt-bindings: pinctrl: mt8195: add rsel define

From: zhiyong.tao <hidden>
Date: 2021-08-19 01:52:41
Also in: linux-mediatek

On Wed, 2021-08-18 at 14:25 +0800, Chen-Yu Tsai wrote:
On Wed, Aug 18, 2021 at 4:09 AM Linus Walleij <
linus.walleij@linaro.org> wrote:
quoted
On Tue, Aug 17, 2021 at 9:51 AM zhiyong.tao <
zhiyong.tao@mediatek.com> wrote:
quoted
In one chip, If GPIO is different, the MTXXXX_PULL_UP_RSEL_001
may
means different actual bias resistance setting.

For example,

KPROW IO
Paramters       Descriptions                   Min      Typ     M
ax
 UNIT
Rpd     Input pull-down
resistance      40      75      190     Kohm
Rpu     Input pull-up
resistance        40      75      190     Kohm
Rpd     Input pull-down
resistance      0.8     1.6     2       Kohm
Rpu     Input pull-up
resistance        0.8     1.6     2       Kohm
This is exactly why we should try to use SI units in the device
tree.
I assume that the software can eventually configure which
resistance
it gets?

The electronics people will say make sure it is pulled down by
around
80 kOhm, they can put that on the device tree and your code can
say, "hm 40 < 80 < 190 this is OK" and let the value pass.

We do not define these exact semantics, it is up to the driver code
to decide what to do with the Ohm value 80000 in this case, but
it makes perfect sent for me to let it pass and fail if someone
for example requests 20 kOhm, or at least print a helpful warning:

dev_warn(dev, "the requested resistance %d is out of range,
supported
range %d to %d kOhm\n",
                 val, low, high);

This is what makes the SI units really helpful for people writing
device
trees: solve real integration tasks and make it easy to do the
right thing.
I think this makes a lot of sense. The driver could select the
closest
setting. And from what Zhiyong mentioned offline, the resistor values
aren't exact as specified in the datasheet. I suppose this is
expected
with any electronics. So the hardware integration will say to pull up
or down by some value, and the driver will do its best to fulfill
that
request. That precludes DT schema checking for the values used, but I
think that is a good compromise.

Zhiyong also mentioned that some of their downstream integrators
might
not be able to deal with actual values, and would prefer symbols tied
to specific RSEL values. I think that would be doable together using
some _magic_ values, but I would prefer not to if it were avoidable.


Regards
ChenYu
Hi chenyu & Linus,

Thanks for your suggestion.

we will try to update a new version to use SI units in the device tree
in the rsel feature patch.

Thanks
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help