All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Yu-Chun Lin [林祐君]" <eleanor.lin@realtek.com>
To: Krzysztof Kozlowski <krzk@kernel.org>
Cc: "linusw@kernel.org" <linusw@kernel.org>,
	"robh@kernel.org" <robh@kernel.org>,
	"krzk+dt@kernel.org" <krzk+dt@kernel.org>,
	"conor+dt@kernel.org" <conor+dt@kernel.org>,
	"bartosz.golaszewski@oss.qualcomm.com"
	<bartosz.golaszewski@oss.qualcomm.com>,
	"afaerber@suse.com" <afaerber@suse.com>,
	"James Tai [戴志峰]" <james.tai@realtek.com>,
	"CY_Huang[黃鉦晏]" <cy.huang@realtek.com>,
	"Stanley Chang[昌育德]" <stanley_chang@realtek.com>,
	"TY_Chang[張子逸]" <tychang@realtek.com>,
	"linux-gpio@vger.kernel.org" <linux-gpio@vger.kernel.org>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	"linux-realtek-soc@lists.infradead.org"
	<linux-realtek-soc@lists.infradead.org>
Subject: RE: [PATCH v2 11/14] dt-bindings: pinctrl: realtek: Add RTD1625 pinctrl binding
Date: Mon, 9 Mar 2026 09:35:15 +0000	[thread overview]
Message-ID: <b112ca036212456ba80fd7bb2a035834@realtek.com> (raw)
In-Reply-To: <20260307-large-wondrous-coot-4f4ee7@quoll>

> On Fri, Mar 06, 2026 at 03:52:41PM +0800, Yu-Chun Lin wrote:
> > +      input-voltage-microvolt:
> > +        description: |
> > +          Select the input receiver voltage domain for the pin.
> > +          Valid arguments are:
> > +          - 1800000: 1.8V input logic level
> > +          - 3300000: 3.3V input logic level
> > +        enum: [1800000, 3300000]
> > +
> > +      drive-push-pull: true
> > +
> > +      power-source:
> > +        description: |
> > +          Valid arguments are described as below:
> > +          0: power supply of 1.8V
> > +          1: power supply of 3.3V
> > +        enum: [0, 1]
> 
> Isn't this duplicating input-voltage-microvolt? Where do you use it in the
> driver?
> 

No, this is not a duplication. power-source is used to configure the output voltage,
whereas input-voltage-microvolt controls the input logic thresholds.

Both are handled in rtd_pconf_parse_conf(), which is called by rtd_pin_config_set().

> > +
> > +      slew-rate:
> > +        description: |
> > +          Valid arguments are described as below:
> > +            0: ~1ns falling time
> > +            1: ~10ns falling time
> > +            2: ~20ns falling time
> > +            3: ~30ns falling time
> > +        enum: [0, 1, 2, 3]
> 
> If you have specific values, why not using 1/10/20/30?
> 

I will use specific values in v3.

> > +
> > +      realtek,drive-strength-p:
> > +        description: |
> > +          Some of pins can be driven using the P-MOS and N-MOS
> transistor to
> > +          achieve finer adjustments. The block-diagram representation is
> as
> > +          follows:
> > +                         VDD
> > +                          |
> > +                      ||--+
> > +               +-----o||     P-MOS-FET
> > +               |      ||--+
> > +          IN --+          +----- out
> > +               |      ||--+
> > +               +------||     N-MOS-FET
> > +                      ||--+
> > +                          |
> > +                         GND
> > +          The driving strength of the P-MOS/N-MOS transistors impacts
> the
> > +          waveform's rise/fall times. Greater driving strength results in
> > +          shorter rise/fall times. Each P-MOS and N-MOS transistor
> offers
> > +          8 configurable levels (0 to 7), with higher values indicating
> > +          greater driving strength, contributing to achieving the desired
> > +          speed.
> > +
> > +          The realtek,drive-strength-p is used to control the driving
> strength
> > +          of the P-MOS output.
> > +
> > +          This value is not a simple count of transistors. Instead, it
> > +          represents a weighted configuration. There is a base driving
> > +          capability (even at value 0), and each bit adds a different
> weight to
> > +          the total strength. The resulting current is non-linear and varies
> > +          significantly based on the IO voltage (1.8V vs 3.3V) and the
> specific
> > +          pad group.
> > +        $ref: /schemas/types.yaml#/definitions/uint32
> > +        minimum: 0
> > +        maximum: 7
> > +
> > +      realtek,drive-strength-n:
> > +        description: |
> > +          Similar to the realtek,drive-strength-p, the
> realtek,drive-strength-n
> > +          is used to control the driving strength of the N-MOS output.
> > +
> > +          This property uses the same weighted configuration logic
> where values
> > +          0-7 represent non-linear strength adjustments rather than a
> transistor
> > +          count.
> > +
> > +          Higher values indicate greater driving strength, resulting in
> shorter
> > +          fall times.
> > +        $ref: /schemas/types.yaml#/definitions/uint32
> > +        minimum: 0
> > +        maximum: 7
> > +
> > +      realtek,pulse-width-adjust:
> > +        description: |
> > +          An integer describing the level to adjust the output pulse width,
> it
> > +          provides a fixed nanosecond-level adjustment to the
> rising/falling
> > +          edges of an existing signal. It is used for Signal Integrity tuning
> > +          (adding/subtracting delay to fine-tune the high/low duration),
> rather
> > +          than generating a specific PWM frequency.
> > +
> > +          Valid arguments are described as below:
> > +          0: 0ns
> > +          2: + 0.25ns
> > +          3: + 0.5ns
> > +          4: -0.25ns
> > +          5: -0.5ns
> > +        $ref: /schemas/types.yaml#/definitions/uint32
> > +        enum: [0, 2, 3, 4, 5]
> > +
> > +      realtek,high-vil-microvolt:
> > +        description: |
> > +          The threshold value for the input receiver's LOW recognition
> (VIL).
> > +
> > +          This property is used to address specific HDMI I2C compatibility
> > +          issues where some sinks (TVs) have weak pull-down capabilities
> and
> > +          fail to pull the bus voltage below the standard VIL threshold
> > +          (~0.7V).
> > +
> > +          Setting this property to 1100000 (1.1V) enables a specialized
> input
> > +          receiver mode that raises the effective VIL threshold to improve
> > +          detection.
> > +        enum: [1100000]
> > +
> > +    required:
> > +      - pins
> > +
> > +    additionalProperties: false
> > +
> > +required:
> > +  - compatible
> > +  - reg
> > +
> > +additionalProperties: false
> > +
> > +examples:
> > +  - |
> > +    pinctrl@4e000 {
> > +        compatible = "realtek,rtd1625-iso-pinctrl";
> > +        reg = <0x4e000 0x130>;
> > +
> > +        emmc-hs200-pins {
> > +            pins = "emmc_clk",
> > +                   "emmc_cmd",
> > +                   "emmc_data_0",
> > +                   "emmc_data_1",
> > +                   "emmc_data_2",
> > +                   "emmc_data_3",
> > +                   "emmc_data_4",
> > +                   "emmc_data_5",
> > +                   "emmc_data_6",
> > +                   "emmc_data_7";
> > +            function = "emmc";
> > +            realtek,drive-strength-p = <0x2>;
> > +            realtek,drive-strength-n = <0x2>;
> 
> These are not hex, but simple decimals
> 

I will change them to <2>.

Best Regards,
Yu-Chun

> > +        };
> > +
> > +        i2c-0-pins {
> > +            pins = "gpio_12",
> > +                   "gpio_13";
> > +            function = "i2c0";
> > +            drive-strength = <4>;
> > +        };
> > +    };
> > --
> > 2.34.1
> >

  reply	other threads:[~2026-03-09  9:37 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-03-06  7:52 [PATCH v2 00/14] pinctrl: realtek: Core improvements and RTD1625 support Yu-Chun Lin
2026-03-06  7:52 ` [PATCH v2 01/14] pinctrl: realtek: Cleanup license string Yu-Chun Lin
2026-03-06  7:52 ` [PATCH v2 02/14] pinctrl: realtek: Fix return value and silence log for unsupported configs Yu-Chun Lin
2026-03-06  7:52 ` [PATCH v2 03/14] pinctrl: realtek: Switch to use devm functions Yu-Chun Lin
2026-03-06  7:52 ` [PATCH v2 04/14] pinctrl: realtek: Simplify error handling with dev_err_probe() Yu-Chun Lin
2026-03-06  7:52 ` [PATCH v2 05/14] pinctrl: realtek: Fix grammar in error messages Yu-Chun Lin
2026-03-06  7:52 ` [PATCH v2 06/14] pinctrl: realtek: Support system suspend and resume Yu-Chun Lin
2026-03-06  7:52 ` [PATCH v2 07/14] dt-bindings: pincfg-node: Add input-voltage-microvolt property Yu-Chun Lin
2026-03-07 12:51   ` Krzysztof Kozlowski
2026-03-09  9:12     ` Yu-Chun Lin [林祐君]
2026-03-06  7:52 ` [PATCH v2 08/14] pinctrl: pinconf-generic: Add properties 'input-voltage-microvolt' Yu-Chun Lin
2026-03-06  7:52 ` [PATCH v2 09/14] dt-bindings: pinctrl: realtek: Rename 'realtek,duty-cycle' to 'realtek,pulse-width-adjust' Yu-Chun Lin
2026-03-07 12:53   ` Krzysztof Kozlowski
2026-03-09  9:18     ` Yu-Chun Lin [林祐君]
2026-03-09 10:17       ` Krzysztof Kozlowski
2026-03-09 11:00         ` Yu-Chun Lin [林祐君]
2026-03-10  9:28           ` Linus Walleij
2026-03-06  7:52 ` [PATCH v2 10/14] " Yu-Chun Lin
2026-03-06  7:52 ` [PATCH v2 11/14] dt-bindings: pinctrl: realtek: Add RTD1625 pinctrl binding Yu-Chun Lin
2026-03-07 13:09   ` Krzysztof Kozlowski
2026-03-09  9:35     ` Yu-Chun Lin [林祐君] [this message]
2026-03-06  7:52 ` [PATCH v2 12/14] pinctrl: realtek: Add support for slew rate, input voltage and high VIL Yu-Chun Lin
2026-03-06  7:52 ` [PATCH v2 13/14] pinctrl: realtek: Add rtd1625 pinctrl driver Yu-Chun Lin
2026-03-10  9:48   ` Linus Walleij
2026-03-06  7:52 ` [PATCH v2 14/14] arm64: dts: realtek: Add pinctrl support for RTD1625 Yu-Chun Lin
2026-03-10  9:30 ` [PATCH v2 00/14] pinctrl: realtek: Core improvements and RTD1625 support Linus Walleij

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=b112ca036212456ba80fd7bb2a035834@realtek.com \
    --to=eleanor.lin@realtek.com \
    --cc=afaerber@suse.com \
    --cc=bartosz.golaszewski@oss.qualcomm.com \
    --cc=conor+dt@kernel.org \
    --cc=cy.huang@realtek.com \
    --cc=devicetree@vger.kernel.org \
    --cc=james.tai@realtek.com \
    --cc=krzk+dt@kernel.org \
    --cc=krzk@kernel.org \
    --cc=linusw@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-realtek-soc@lists.infradead.org \
    --cc=robh@kernel.org \
    --cc=stanley_chang@realtek.com \
    --cc=tychang@realtek.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.