dt-bindings: usb: add Rohm BM92TXX Type-C controller

Add the device-tree binding documentation for the Rohm BM92TXX family
of USB Type-C and Power Delivery controllers. The device is controlled
over I2C and signals state changes through a dedicated interrupt line.

Document the rohm,* properties consumed by the driver: the optional
VCONN-enable GPIO, the DisplayPort alternate-mode toggles
(rohm,dp-disable, rohm,dp-alerts-enable, rohm,dp-signal-toggle-on-resume,
rohm,dp-lanes), the suspend/dock tunables (rohm,led-static-on-suspend,
rohm,dock-power-limit-disable) and the four
rohm,pd-{5,9,12,15}v-current-limit-ma per-PDO charging current limits.
A graph port is required to link the controller to a USB role switch
consumer.

Signed-off-by: Alexandre Hamamdjian <azkali.limited@gmail.com>
This commit is contained in:
Alexandre Hamamdjian authored and Thomas Makin committed 2026-08-12 14:56:41 -05:00
1 parent c4930f0ce3
commit c524148d9a
2 files changed
+129

No files matched your search

@@ -0,0 +1,128 @@
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/usb/rohm,bm92t.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Rohm BM92TXX USB Type-C and Power Delivery controller
maintainers:
- CTCaer <ctcaer@gmail.com>
- Alexandre Hamamdjian <azkali.limited@gmail.com>
description:
The Rohm BM92TXX is a family of USB Type-C and Power Delivery
controllers with an integrated MCU. The host communicates with the
device over I2C and is notified of state changes through a dedicated
interrupt line.
properties:
compatible:
const: rohm,bm92t
reg:
maxItems: 1
interrupts:
maxItems: 1
vbus-supply:
description: VBUS sink regulator.
vbus-source-supply:
description: VBUS source (provider) regulator.
pd_bat_chg-supply:
description: Battery charger regulator gated by Power Delivery state.
rohm,vconn-en-gpio:
maxItems: 1
description: GPIO controlling the external VCONN switch.
rohm,dp-disable:
type: boolean
description: Disable DisplayPort alternate-mode handling.
rohm,dp-alerts-enable:
type: boolean
description: Enable DisplayPort status alerts.
rohm,dp-signal-toggle-on-resume:
type: boolean
description:
Toggle the DisplayPort signal on resume to work around sinks that
do not re-train after system resume.
rohm,dp-lanes:
$ref: /schemas/types.yaml#/definitions/uint32
enum: [2, 4]
default: 2
description: Number of DisplayPort lanes to negotiate.
rohm,led-static-on-suspend:
type: boolean
description:
Keep the charge LED in a static state during system suspend
instead of letting the controller animate it.
rohm,dock-power-limit-disable:
type: boolean
description:
Disable the lower power limit applied when a dock is detected.
rohm,pd-5v-current-limit-ma:
description: Charging current limit in mA when 5V PD contract is active.
rohm,pd-9v-current-limit-ma:
description: Charging current limit in mA when 9V PD contract is active.
rohm,pd-12v-current-limit-ma:
description: Charging current limit in mA when 12V PD contract is active.
rohm,pd-15v-current-limit-ma:
description: Charging current limit in mA when 15V PD contract is active.
port:
$ref: /schemas/graph.yaml#/properties/port
description:
Output port linking to a USB role switch consumer endpoint.
required:
- compatible
- reg
- interrupts
- port
additionalProperties: false
examples:
- |
#include <dt-bindings/interrupt-controller/irq.h>
i2c {
#address-cells = <1>;
#size-cells = <0>;
typec@18 {
compatible = "rohm,bm92t";
reg = <0x18>;
interrupt-parent = <&gpio>;
interrupts = <42 IRQ_TYPE_LEVEL_LOW>;
vbus-supply = <&vbus_reg>;
vbus-source-supply = <&vbus_src_reg>;
pd_bat_chg-supply = <&pd_bat_chg_reg>;
rohm,dp-lanes = <4>;
rohm,pd-5v-current-limit-ma = <2000>;
rohm,pd-9v-current-limit-ma = <2000>;
rohm,pd-12v-current-limit-ma = <1500>;
rohm,pd-15v-current-limit-ma = <1200>;
port {
bm92t_ep: endpoint {
remote-endpoint = <&usb_role_sw>;
};
};
};
};
+1
View File
@@ -20104,6 +20104,7 @@ M: CTCaer <ctcaer@gmail.com>
M: Alexandre Hamamdjian <azkali.limited@gmail.com>
L: linux-usb@vger.kernel.org
S: Maintained
F: Documentation/devicetree/bindings/usb/rohm,bm92t.yaml
F: drivers/usb/typec/bm92txx.c
ROHM BU270xx LIGHT SENSOR DRIVERs