Re: [PATCH 8/9] arm64: dts: mediatek: mt8183-kukui: Fix pull-down/up-adv values
From: Julien Massot <julien.massot@collabora.com>
Date: 2025-08-19 09:13:01
Also in:
linux-clk, linux-devicetree, linux-gpio, linux-mediatek, linux-sound, lkml
Hi, On Tue, 2025-08-19 at 13:29 +0800, Chen-Yu Tsai wrote:
On Tue, Aug 19, 2025 at 1:27 PM Chen-Yu Tsai [off-list ref] wrote:quoted
On Mon, Aug 18, 2025 at 11:22 PM Linus Walleij [off-list ref] wrote:quoted
On Wed, Aug 6, 2025 at 8:38 AM Chen-Yu Tsai [off-list ref] wrote:quoted
On Fri, Aug 1, 2025 at 7:18 PM Julien Massot wrotequoted
quoted
pins-clk { pinmux = <PINMUX_GPIO124__FUNC_MSDC0_CLK>; drive-strength = <MTK_DRIVE_14mA>; - mediatek,pull-down-adv = <10>; + mediatek,pull-down-adv = <2>;bias-pull-down = <MTK_PUPD_SET_R1R0_10>; and so on. ChenYuI agree with ChenYu, the more standardized properties are the better it is. All the custom properties makes sense for an engineer working with just that one SoC (like the SoC vendor...) but for field engineers who have to use different SoCs every day this is just a big mess for the mind. The standard properties are clear, concise and tell you exactly what they are about. The argument should be in Ohms though, according to the standard bindings, but maybe the value of MTK_PUPD_SET_R1R0_10 is something like that?For reasons I can't recall clearly these are just placeholder values that the driver then maps to the R1 and R0 settings. But at least they use the standard properties. The reason was either one of the following or both: a. not every group of pins had the same resistance values for R1 & R0 b. there are no known precise values; the values depend on the process and batchI don't know for (b), but no there is a lot of different values for R1 & R0
From what I saw in the register table We can have for the pull up resistors 75K / 200K 2K / 75K 5K / 20K 50k / 10K And for the pull down ones: 75k/2k 75k/75k 10k/50k And we can have a combination of both resistors that will give odd values (e.g 1948 Ohm for 2k/75K, 545454 Ohm for 75k/200k) to express in the device tree
Also, their customers seemed more accustomed to dealing with toggling R1 & R0 vs setting some actual value. I presume that comes with the uncertainty of the actual hardware value, and they just try which combination works better. ChenYu
Regards, Julien