From: Val Packett <val@packett.cool>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Bjorn Andersson <andersson@kernel.org>
Cc: Val Packett <val@packett.cool>,
Heikki Krogerus <heikki.krogerus@linux.intel.com>,
Neil Armstrong <neil.armstrong@linaro.org>,
Luca Weiss <luca.weiss@fairphone.com>,
~postmarketos/upstreaming@lists.sr.ht,
phone-devel@vger.kernel.org, linux-usb@vger.kernel.org,
linux-kernel@vger.kernel.org, devicetree@vger.kernel.org
Subject: [PATCH 1/2] dt-bindings: usb: fsa4480: Add an optional audio port/endpoint
Date: Sun, 18 Oct 2026 19:58:56 -0300 [thread overview]
Message-ID: <20261018225906.1265299-2-val@packett.cool> (raw)
In-Reply-To: <20261018225906.1265299-1-val@packett.cool>
To actually support analog audio output, the fsa4480 driver needs to
deliver the hotplug notifications over the Type-C graph to an audio
codec driver. Describe a second port intended for the codec. Keep it
optional to make sure existing device trees do still validate.
Signed-off-by: Val Packett <val@packett.cool>
---
.../devicetree/bindings/usb/fcs,fsa4480.yaml | 90 +++++++++++++------
1 file changed, 63 insertions(+), 27 deletions(-)
diff --git a/Documentation/devicetree/bindings/usb/fcs,fsa4480.yaml b/Documentation/devicetree/bindings/usb/fcs,fsa4480.yaml
index 89b1fb90aeeb..9dfe95b6adf3 100644
--- a/Documentation/devicetree/bindings/usb/fcs,fsa4480.yaml
+++ b/Documentation/devicetree/bindings/usb/fcs,fsa4480.yaml
@@ -9,31 +9,11 @@ title: ON Semiconductor Analog Audio Switch
maintainers:
- Bjorn Andersson <bjorn.andersson@linaro.org>
-properties:
- compatible:
- oneOf:
- - const: fcs,fsa4480
- - items:
- - enum:
- - ocs,ocp96011
- - const: fcs,fsa4480
-
- reg:
- maxItems: 1
-
- interrupts:
- maxItems: 1
-
- vcc-supply:
- description: power supply (2.7V-5.5V)
-
- mode-switch: true
- orientation-switch: true
-
- port:
+$defs:
+ controller-port:
$ref: /schemas/graph.yaml#/$defs/port-base
description:
- A port node to link the FSA4480 to a TypeC controller for the purpose of
+ A port node to link the FSA4480 to a Type-C controller for the purpose of
handling altmode muxing and orientation switching.
unevaluatedProperties: false
@@ -69,15 +49,56 @@ properties:
- AUX+ connected to SBU2
- AUX- connected to SBU1
+properties:
+ compatible:
+ oneOf:
+ - const: fcs,fsa4480
+ - items:
+ - enum:
+ - ocs,ocp96011
+ - const: fcs,fsa4480
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ maxItems: 1
+
+ vcc-supply:
+ description: power supply (2.7V-5.5V)
+
+ mode-switch: true
+ orientation-switch: true
+
+ port:
+ $ref: "#/$defs/controller-port"
+
+ ports:
+ $ref: /schemas/graph.yaml#/properties/ports
+ properties:
+ port@0:
+ $ref: "#/$defs/controller-port"
+ port@1:
+ $ref: /schemas/graph.yaml#/$defs/port-base
+ description:
+ A port node to link the FSA4480 to an audio codec in order to
+ notify it whenever an analog audio adapter is plugged/unplugged.
+ unevaluatedProperties: false
+
required:
- compatible
- reg
- - port
allOf:
- $ref: usb-switch.yaml#
- $ref: usb-switch-ports.yaml#
+oneOf:
+ - required:
+ - port
+ - required:
+ - ports
+
additionalProperties: false
examples:
@@ -98,9 +119,24 @@ examples:
mode-switch;
orientation-switch;
- port {
- fsa4480_ept: endpoint {
- remote-endpoint = <&typec_controller>;
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ fsa4480_sbu_mux: endpoint {
+ remote-endpoint = <&typec_controller>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+
+ fsa4480_audio: endpoint {
+ remote-endpoint = <&audio_codec>;
+ };
};
};
};
--
2.55.0
next prev parent reply other threads:[~2026-10-18 22:59 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-18 22:58 [PATCH 0/2] usb: typec: fsa4480: Support reporting hotplug events to a codec Val Packett
2026-10-18 22:58 ` Val Packett [this message]
2026-10-18 22:58 ` [PATCH 2/2] usb: typec: fsa4480: Report switch & mux events to codec Val Packett
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=20261018225906.1265299-2-val@packett.cool \
--to=val@packett.cool \
--cc=andersson@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=gregkh@linuxfoundation.org \
--cc=heikki.krogerus@linux.intel.com \
--cc=krzk+dt@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=luca.weiss@fairphone.com \
--cc=neil.armstrong@linaro.org \
--cc=phone-devel@vger.kernel.org \
--cc=robh@kernel.org \
--cc=~postmarketos/upstreaming@lists.sr.ht \
/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
all inboxes | Powered by JetHome®