Message ID | 20220216113131.13145-3-tinghan.shen@mediatek.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Add basic SoC support for mediatek mt8195 | expand |
Il 16/02/22 12:31, Tinghan Shen ha scritto: > Extend driving support for I2C pins on SoC mt8195. > This property is already documented in mediatek,mt8183-pinctrl.yaml. > > Signed-off-by: Tinghan Shen <tinghan.shen@mediatek.com> > Reviewed-by: Rob Herring <robh@kernel.org> Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> > --- > .../bindings/pinctrl/pinctrl-mt8195.yaml | 35 +++++++++++++++++++ > 1 file changed, 35 insertions(+) > > diff --git a/Documentation/devicetree/bindings/pinctrl/pinctrl-mt8195.yaml b/Documentation/devicetree/bindings/pinctrl/pinctrl-mt8195.yaml > index 8299662c2c09..c5b755514c46 100644 > --- a/Documentation/devicetree/bindings/pinctrl/pinctrl-mt8195.yaml > +++ b/Documentation/devicetree/bindings/pinctrl/pinctrl-mt8195.yaml > @@ -98,6 +98,32 @@ patternProperties: > drive-strength: > enum: [2, 4, 6, 8, 10, 12, 14, 16] > > + mediatek,drive-strength-adv: > + description: | > + Describe the specific driving setup property. > + For I2C pins, the existing generic driving setup can only support > + 2/4/6/8/10/12/14/16mA driving. But in specific driving setup, they > + can support 0.125/0.25/0.5/1mA adjustment. If we enable specific > + driving setup, the existing generic setup will be disabled. > + The specific driving setup is controlled by E1E0EN. > + When E1=0/E0=0, the strength is 0.125mA. > + When E1=0/E0=1, the strength is 0.25mA. > + When E1=1/E0=0, the strength is 0.5mA. > + When E1=1/E0=1, the strength is 1mA. > + EN is used to enable or disable the specific driving setup. > + Valid arguments are described as below: > + 0: (E1, E0, EN) = (0, 0, 0) > + 1: (E1, E0, EN) = (0, 0, 1) > + 2: (E1, E0, EN) = (0, 1, 0) > + 3: (E1, E0, EN) = (0, 1, 1) > + 4: (E1, E0, EN) = (1, 0, 0) > + 5: (E1, E0, EN) = (1, 0, 1) > + 6: (E1, E0, EN) = (1, 1, 0) > + 7: (E1, E0, EN) = (1, 1, 1) > + So the valid arguments are from 0 to 7. > + $ref: /schemas/types.yaml#/definitions/uint32 > + enum: [0, 1, 2, 3, 4, 5, 6, 7] > + > bias-pull-down: > oneOf: > - type: boolean > @@ -270,4 +296,13 @@ examples: > bias-pull-down; > }; > }; > + > + i2c0-pins { > + pins { > + pinmux = <PINMUX_GPIO8__FUNC_SDA0>, > + <PINMUX_GPIO9__FUNC_SCL0>; > + bias-disable; > + mediatek,drive-strength-adv = <7>; > + }; > + }; > };
Hi Linus, On 16/02/2022 12:31, Tinghan Shen wrote: > Extend driving support for I2C pins on SoC mt8195. > This property is already documented in mediatek,mt8183-pinctrl.yaml. > > Signed-off-by: Tinghan Shen <tinghan.shen@mediatek.com> > Reviewed-by: Rob Herring <robh@kernel.org> Will you take this one through your tree or shall I take it. In the latter case I'd need an Acked-by from you. Regards, Matthias > --- > .../bindings/pinctrl/pinctrl-mt8195.yaml | 35 +++++++++++++++++++ > 1 file changed, 35 insertions(+) > > diff --git a/Documentation/devicetree/bindings/pinctrl/pinctrl-mt8195.yaml b/Documentation/devicetree/bindings/pinctrl/pinctrl-mt8195.yaml > index 8299662c2c09..c5b755514c46 100644 > --- a/Documentation/devicetree/bindings/pinctrl/pinctrl-mt8195.yaml > +++ b/Documentation/devicetree/bindings/pinctrl/pinctrl-mt8195.yaml > @@ -98,6 +98,32 @@ patternProperties: > drive-strength: > enum: [2, 4, 6, 8, 10, 12, 14, 16] > > + mediatek,drive-strength-adv: > + description: | > + Describe the specific driving setup property. > + For I2C pins, the existing generic driving setup can only support > + 2/4/6/8/10/12/14/16mA driving. But in specific driving setup, they > + can support 0.125/0.25/0.5/1mA adjustment. If we enable specific > + driving setup, the existing generic setup will be disabled. > + The specific driving setup is controlled by E1E0EN. > + When E1=0/E0=0, the strength is 0.125mA. > + When E1=0/E0=1, the strength is 0.25mA. > + When E1=1/E0=0, the strength is 0.5mA. > + When E1=1/E0=1, the strength is 1mA. > + EN is used to enable or disable the specific driving setup. > + Valid arguments are described as below: > + 0: (E1, E0, EN) = (0, 0, 0) > + 1: (E1, E0, EN) = (0, 0, 1) > + 2: (E1, E0, EN) = (0, 1, 0) > + 3: (E1, E0, EN) = (0, 1, 1) > + 4: (E1, E0, EN) = (1, 0, 0) > + 5: (E1, E0, EN) = (1, 0, 1) > + 6: (E1, E0, EN) = (1, 1, 0) > + 7: (E1, E0, EN) = (1, 1, 1) > + So the valid arguments are from 0 to 7. > + $ref: /schemas/types.yaml#/definitions/uint32 > + enum: [0, 1, 2, 3, 4, 5, 6, 7] > + > bias-pull-down: > oneOf: > - type: boolean > @@ -270,4 +296,13 @@ examples: > bias-pull-down; > }; > }; > + > + i2c0-pins { > + pins { > + pinmux = <PINMUX_GPIO8__FUNC_SDA0>, > + <PINMUX_GPIO9__FUNC_SCL0>; > + bias-disable; > + mediatek,drive-strength-adv = <7>; > + }; > + }; > };
On Wed, Feb 16, 2022 at 12:31 PM Tinghan Shen <tinghan.shen@mediatek.com> wrote: > Extend driving support for I2C pins on SoC mt8195. > This property is already documented in mediatek,mt8183-pinctrl.yaml. > > Signed-off-by: Tinghan Shen <tinghan.shen@mediatek.com> > Reviewed-by: Rob Herring <robh@kernel.org> This patch applied to the pinctrl tree for v5.18! Yours, Linus Walleij
On Mon, Feb 28, 2022 at 11:13 AM Matthias Brugger <matthias.bgg@gmail.com> wrote: > Hi Linus, > > On 16/02/2022 12:31, Tinghan Shen wrote: > > Extend driving support for I2C pins on SoC mt8195. > > This property is already documented in mediatek,mt8183-pinctrl.yaml. > > > > Signed-off-by: Tinghan Shen <tinghan.shen@mediatek.com> > > Reviewed-by: Rob Herring <robh@kernel.org> > > Will you take this one through your tree or shall I take it. In the latter case > I'd need an Acked-by from you. I applied it sorry for being slow. As it is a DT binding I don't mind if its applied elsewhere as long as it has Rob's or Mark's ACK. Yours, Linus Walleij
diff --git a/Documentation/devicetree/bindings/pinctrl/pinctrl-mt8195.yaml b/Documentation/devicetree/bindings/pinctrl/pinctrl-mt8195.yaml index 8299662c2c09..c5b755514c46 100644 --- a/Documentation/devicetree/bindings/pinctrl/pinctrl-mt8195.yaml +++ b/Documentation/devicetree/bindings/pinctrl/pinctrl-mt8195.yaml @@ -98,6 +98,32 @@ patternProperties: drive-strength: enum: [2, 4, 6, 8, 10, 12, 14, 16] + mediatek,drive-strength-adv: + description: | + Describe the specific driving setup property. + For I2C pins, the existing generic driving setup can only support + 2/4/6/8/10/12/14/16mA driving. But in specific driving setup, they + can support 0.125/0.25/0.5/1mA adjustment. If we enable specific + driving setup, the existing generic setup will be disabled. + The specific driving setup is controlled by E1E0EN. + When E1=0/E0=0, the strength is 0.125mA. + When E1=0/E0=1, the strength is 0.25mA. + When E1=1/E0=0, the strength is 0.5mA. + When E1=1/E0=1, the strength is 1mA. + EN is used to enable or disable the specific driving setup. + Valid arguments are described as below: + 0: (E1, E0, EN) = (0, 0, 0) + 1: (E1, E0, EN) = (0, 0, 1) + 2: (E1, E0, EN) = (0, 1, 0) + 3: (E1, E0, EN) = (0, 1, 1) + 4: (E1, E0, EN) = (1, 0, 0) + 5: (E1, E0, EN) = (1, 0, 1) + 6: (E1, E0, EN) = (1, 1, 0) + 7: (E1, E0, EN) = (1, 1, 1) + So the valid arguments are from 0 to 7. + $ref: /schemas/types.yaml#/definitions/uint32 + enum: [0, 1, 2, 3, 4, 5, 6, 7] + bias-pull-down: oneOf: - type: boolean @@ -270,4 +296,13 @@ examples: bias-pull-down; }; }; + + i2c0-pins { + pins { + pinmux = <PINMUX_GPIO8__FUNC_SDA0>, + <PINMUX_GPIO9__FUNC_SCL0>; + bias-disable; + mediatek,drive-strength-adv = <7>; + }; + }; };