Re: [PATCH v10 1/2] dt-bindings: pinctrl: mt8195: add rsel define
From: zhiyong.tao <hidden>
Date: 2021-08-17 07:57:00
Also in:
linux-mediatek
On Tue, 2021-08-17 at 13:44 +0800, Chen-Yu Tsai wrote:
On Tue, Aug 17, 2021 at 10:21 AM zhiyong.tao < zhiyong.tao@mediatek.com> wrote:quoted
On Tue, 2021-08-17 at 01:00 +0200, Linus Walleij wrote:quoted
On Mon, Aug 16, 2021 at 5:38 PM Chen-Yu Tsai [off-list ref] wrote:quoted
On Mon, Aug 16, 2021 at 6:48 PM zhiyong.tao < zhiyong.tao@mediatek.com> wrote:quoted
quoted
I'll take that as "use SI units whenever possible and reasonable".==> so It doesn't need to change the define, is it right? we will keep the common define.Actually I think it would be possible and reasonable to use SI units in this case, since you are the vendor and have the resistor values to implement the support. Having different sets of values for different chips is nothing out of the ordinary. We already have to account for different number of pins and different pin functions. That is what compatible strings are for.I fully agree with Chen-Yu's analysis here. Zhiyong can you make an attempt to use SI units (Ohms) and see what it will look like? I think it will look better for users and it will be less risk to make mistakes. Yours, Linus WalleijHi Linus & chen-yu, The rsel actual bias resistance of each setting is different in different IC. For example, in mt8195, the rsel actual bias resistance setting like as: MTK_PULL_SET_RSEL_000:75K in PU, 75k in PD; MTK_PULL_SET _RSEL_001:10k in PU, 5k in PD; MTK_PULL_SET_RSEL_010:5k in PU, 75k in PD; MTK_PULL_SET_RSEL_011:4k in PU, 5K in PD; MTK_PULL_SET_RSEL_100:3k in PU, 75k in PD; MTK_PULL_SET_RSEL_101:2k in PU, 5K in PD; MTK_PULL_SET_RSE L_110:1.5k in PU, 75k in PD; MTK_PULL_SET_RSEL_111:1k in PU, 5k in PD. but in mt8192, the rsel actual bias resistance setting like as: MTK_PULL_SET_RSEL_000:75K in PU, 75k in PD; MTK_PULL_SET_RSEL_001:3k in PU, 5k in PD; MTK_PULL_SET_RSEL_010:10k in PU, 75k in PD; MTK_PULL_SET_RSEL_011:1k in PU, 5K in PD; Can you help me to provide a suggestion common define for the all different IC? It seems that we should add a new define, if we upstream a new IC pinctrl driver in the future.I assume you mean the macros used in the device tree? The point of using SI units is to get rid of the macros. Instead of: bias-pull-up = <MTK_PULL_SET_RSEL_000>; and bias-pull-down = <MTK_PULL_SET_RSEL_011>; We want: bias-pull-up = <75000>; and bias-pull-down = <5000>; And the pinctrl driver then converts the real values in the device tree into register values using some lookup table. The DT schema could then enumerate all the valid resistor values, and get proper validity checking. Now if you really wanted to keep some symbols for mapping hardware register values to resistor values, you could have #define MT8192_PULL_UP_RSEL_001 75000 #define MT8192_PULL_DOWN_RSEL_001 5000 or have them all named MTK_PULL_{UP,DOWN}_RSEL_NNN, but split into different header files, one per SoC. Personally I think having the macros is a bad idea if proper values are available. It just adds another layer of indirection, and another area where errors can creep in. Regards ChenYu
Hi Chenyu,
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 Max
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
KPCOL IO
Paramters Descriptions Min Typ Max
UNIT
Rpd Input pull-down resistance 40 75 190 Kohm
Rpu Input pull-up resistance 40 75 190 Kohm
Rpd Input pull-down resistance 200 260 400 Kohm
Rpu Input pull-up resistance 200 260 400 Kohm
MSDC1 IO
Paramters Descriptions Min Typ Max
UNIT
Rpd Input pull-down resistance 5 7.5 10 Kohm
Rpu Input pull-up resistance 5 7.5 10 Kohm
Rpd Input pull-down resistance 10 50 100 Kohm
Rpu Input pull-up resistance 10 50 100 Kohm
we think that we can't define like this.
Thanks.
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel