Messages in this thread | ![/](/images/icornerl.gif) | | From | Emil Renner Berthing <> | Date | Thu, 21 Dec 2023 04:28:46 -0800 | Subject | Re: [PATCH v1 1/8] dt-bindings: pinctrl: Add thead,th1520-pinctrl bindings |
| |
Linus Walleij wrote: > On Sat, Dec 16, 2023 at 2:57 PM Emil Renner Berthing > <emil.renner.berthing@canonical.com> wrote: > > > > > + thead,strong-pull-up: > > > > + oneOf: > > > > + - type: boolean > > > > + - $ref: /schemas/types.yaml#/definitions/uint32 > > > > + enum: [ 0, 2100 ] > > > > + description: Enable or disable strong 2.1kOhm pull-up. > > > > > > bias-pull-up can already specify the strength in Ohms. > > > > The strong pull up is a separate bit that can be enabled independently from the > > regular pull-up/down, so in theory you could enable both the regular pull-up > > and the strong pull-up at the same time, or even the regular poll-down and the > > strong pull-up which is probably not advised. > > bias-pull-up; <- Just regular pulling up the ordinary > bias-pull-up = <100>; <- Same thing if the ordinary is 100 Ohm (figure out what > resistance it actually is....) > bias-pull-up = <21000000>; <- strong pull up > bias-pull-up = <21000100>; <- both at the same time
Hmm.. the two pull-ups combined would be a stronger pull-up, eg. lower resistance, right? So you'd need to calculate it using https://en.wikipedia.org/wiki/Series_and_parallel_circuits#Resistance_units_2
The problem is that the documentation doesn't actually mention what will happen if you combine the strong pull-up with the regular bias. My best guess for what happens if you enable the strong pull-up and the regular pull-down is that you create a sort of voltage divider. But how do you represent that as an Ohm value?
We would kind of have to, otherwise the pinconf_get callbacks have states that it can't represent.
> > So the idea here was just to make sure that you can do eg. > > > > thead,strong-pull-up = <0>; > > > > to make sure the bit is cleared. > > No use bias-disable; for this. > > Yours, > Linus Walleij > > _______________________________________________ > linux-riscv mailing list > linux-riscv@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-riscv
| ![\](/images/icornerr.gif) |