On Fri, Sep 24, 2021 at 04:06:29PM +0800, Zhiyong Tao wrote: > For supporting SI units in "bias-pull-down" & "bias-pull-up", > change pull up/down description > and add "mediatek,rsel_resistance_in_si_unit" description. > > Signed-off-by: Zhiyong Tao <zhiyong.tao@xxxxxxxxxxxx> > --- > .../bindings/pinctrl/pinctrl-mt8195.yaml | 86 ++++++++++++++++++- > 1 file changed, 84 insertions(+), 2 deletions(-) > > diff --git a/Documentation/devicetree/bindings/pinctrl/pinctrl-mt8195.yaml b/Documentation/devicetree/bindings/pinctrl/pinctrl-mt8195.yaml > index 2f12ec59eee5..5f642bef72af 100644 > --- a/Documentation/devicetree/bindings/pinctrl/pinctrl-mt8195.yaml > +++ b/Documentation/devicetree/bindings/pinctrl/pinctrl-mt8195.yaml > @@ -49,6 +49,12 @@ properties: > description: The interrupt outputs to sysirq. > maxItems: 1 > > + mediatek,rsel_resistance_in_si_unit: s/_/-/ > + type: boolean > + description: | > + Identifying i2c pins pull up/down type which is RSEL. It can support > + RSEL define or si unit value(ohm) to set different resistance. Aren't the RSEL and ohms disjoint values? 0-207 for RSEL and >1000 for ohms. Why is this property even needed. > + > #PIN CONFIGURATION NODES > patternProperties: > '-pins$': > @@ -85,9 +91,85 @@ patternProperties: > 2/4/6/8/10/12/14/16mA in mt8195. > enum: [0, 1, 2, 3, 4, 5, 6, 7] > > - bias-pull-down: true > + bias-pull-down: > + description: | > + For pull down type is normal, it don't need add RSEL & R1R0 define > + and resistance value. > + For pull down type is PUPD/R0/R1 type, it can add R1R0 define to > + set different resistance. It can support "MTK_PUPD_SET_R1R0_00" & > + "MTK_PUPD_SET_R1R0_01" & "MTK_PUPD_SET_R1R0_10" & "MTK_PUPD_SET_R1R0_11" > + define in mt8195. > + For pull down type is RSEL, it can add RSEL define & resistance value(ohm) > + to set different resistance by identifying property "mediatek,rsel_resistance_in_si_unit". > + It can support "MTK_PULL_SET_RSEL_000" & "MTK_PULL_SET_RSEL_001" > + & "MTK_PULL_SET_RSEL_010" & "MTK_PULL_SET_RSEL_011" & "MTK_PULL_SET_RSEL_100" > + & "MTK_PULL_SET_RSEL_101" & "MTK_PULL_SET_RSEL_110" & "MTK_PULL_SET_RSEL_111" > + define in mt8195. It can also support resistance value(ohm) "75000" & "5000" in mt8195. > + oneOf: Because of the indentation, this is all just part of 'description'. > + - enum: [100, 101, 102, 103] > + - description: mt8195 pull down PUPD/R0/R1 type define value. This entry is always true. > + - enum: [200, 201, 202, 203, 204, 205, 206, 207] Are these supposed to be hex? > + - description: mt8195 pull down RSEL type define value. And so is this one. That makes 'oneOf' always false. > + - enum: [75000, 5000] > + - description: mt8195 pull down RSEL type si unit value(ohm). > + > + An example of using RSEL define: > + pincontroller { > + i2c0_pin { > + pinmux = <PINMUX_GPIO8__FUNC_SDA0>; > + bias-pull-down = <MTK_PULL_SET_RSEL_001>; > + }; > + }; > + An example of using si unit resistance value(ohm): > + &pio { > + mediatek,rsel_resistance_in_si_unit; > + } > + pincontroller { > + i2c0_pin { > + pinmux = <PINMUX_GPIO8__FUNC_SDA0>; > + bias-pull-down = <75000>; > + }; > + }; > > - bias-pull-up: true > + bias-pull-up: > + description: | > + For pull up type is normal, it don't need add RSEL & R1R0 define > + and resistance value. > + For pull up type is PUPD/R0/R1 type, it can add R1R0 define to > + set different resistance. It can support "MTK_PUPD_SET_R1R0_00" & > + "MTK_PUPD_SET_R1R0_01" & "MTK_PUPD_SET_R1R0_10" & "MTK_PUPD_SET_R1R0_11" > + define in mt8195. > + For pull up type is RSEL, it can add RSEL define & resistance value(ohm) > + to set different resistance by identifying property "mediatek,rsel_resistance_in_si_unit". > + It can support "MTK_PULL_SET_RSEL_000" & "MTK_PULL_SET_RSEL_001" > + & "MTK_PULL_SET_RSEL_010" & "MTK_PULL_SET_RSEL_011" & "MTK_PULL_SET_RSEL_100" > + & "MTK_PULL_SET_RSEL_101" & "MTK_PULL_SET_RSEL_110" & "MTK_PULL_SET_RSEL_111" > + define in mt8195. It can also support resistance value(ohm) > + "1000" & "1500" & "2000" & "3000" & "4000" & "5000" & "10000" & "75000" in mt8195. > + oneOf: > + - enum: [100, 101, 102, 103] > + - description: mt8195 pull up PUPD/R0/R1 type define value. > + - enum: [200, 201, 202, 203, 204, 205, 206, 207] > + - description: mt8195 pull up RSEL type define value. > + - enum: [1000, 1500, 2000, 3000, 4000, 5000, 10000, 75000] > + - description: mt8195 pull up RSEL type si unit value(ohm). Same issues here. > + An example of using RSEL define: > + pincontroller { > + i2c0_pin { > + pinmux = <PINMUX_GPIO8__FUNC_SDA0>; > + bias-pull-up = <MTK_PULL_SET_RSEL_001>; > + }; > + }; > + An example of using si unit resistance value(ohm): > + &pio { > + mediatek,rsel_resistance_in_si_unit; > + } > + pincontroller { > + i2c0_pin { > + pinmux = <PINMUX_GPIO8__FUNC_SDA0>; > + bias-pull-up = <1000>; > + }; > + }; > > bias-disable: true > > -- > 2.25.1 > >