Thread (24 messages) 24 messages, 3 authors, 2026-03-10

RE: [PATCH v2 11/14] dt-bindings: pinctrl: realtek: Add RTD1625 pinctrl binding

From: Yu-Chun Lin [林祐君] <eleanor.lin@realtek.com>
Date: 2026-03-09 09:37:42
Also in: linux-devicetree, linux-gpio, lkml

On Fri, Mar 06, 2026 at 03:52:41PM +0800, Yu-Chun Lin wrote:
quoted
+      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().
quoted
+
+      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.
quoted
+
+      realtek,drive-strength-p:
+        description: |
+          Some of pins can be driven using the P-MOS and N-MOS
transistor to
quoted
+          achieve finer adjustments. The block-diagram representation is
as
quoted
+          follows:
+                         VDD
+                          |
+                      ||--+
+               +-----o||     P-MOS-FET
+               |      ||--+
+          IN --+          +----- out
+               |      ||--+
+               +------||     N-MOS-FET
+                      ||--+
+                          |
+                         GND
+          The driving strength of the P-MOS/N-MOS transistors impacts
the
quoted
+          waveform's rise/fall times. Greater driving strength results in
+          shorter rise/fall times. Each P-MOS and N-MOS transistor
offers
quoted
+          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
quoted
+          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
quoted
+          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
quoted
+          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
quoted
+          is used to control the driving strength of the N-MOS output.
+
+          This property uses the same weighted configuration logic
where values
quoted
+          0-7 represent non-linear strength adjustments rather than a
transistor
quoted
+          count.
+
+          Higher values indicate greater driving strength, resulting in
shorter
quoted
+          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
quoted
+          provides a fixed nanosecond-level adjustment to the
rising/falling
quoted
+          edges of an existing signal. It is used for Signal Integrity tuning
+          (adding/subtracting delay to fine-tune the high/low duration),
rather
quoted
+          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).
quoted
+
+          This property is used to address specific HDMI I2C compatibility
+          issues where some sinks (TVs) have weak pull-down capabilities
and
quoted
+          fail to pull the bus voltage below the standard VIL threshold
+          (~0.7V).
+
+          Setting this property to 1100000 (1.1V) enables a specialized
input
quoted
+          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
quoted
+        };
+
+        i2c-0-pins {
+            pins = "gpio_12",
+                   "gpio_13";
+            function = "i2c0";
+            drive-strength = <4>;
+        };
+    };
--
2.34.1
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help