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
> >
next prev parent 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox