[PATCH] dt-bindings: usb: usb-device: Add panel-location

Ricardo Ribalda
2024-12-12T21:44:48Z

For some devices like cameras the system needs to know where they are
mounted.

ACPI has a property for this purpose, which is parsed by
acpi_get_physical_device_location():
https://uefi.org/htmlspecs/ACPI_Spec_6_4_html/06_Device_Configuration/Device_Configuration.html#pld-physical-location-of-device

In DT we have similar property for video-interface-devices called
orientation, but it is limited to the requirements of video devices:
Documentation/devicetree/bindings/media/video-interface-devices.yaml

Add a new property for usb-devices that matches the behavior of
ACPI's _PLD.

Signed-off-by: Ricardo Ribalda <ribalda@chromium.org>
---
Documentation/devicetree/bindings/usb/usb-device.yaml | 14 ++++++++++++++
1 file changed, 14 insertions(+)

diff --git a/Documentation/devicetree/bindings/usb/usb-device.yaml b/Documentation/devicetree/bindings/usb/usb-device.yaml
index da890ee60ce6..1ce79c1c3b31 100644
--- a/Documentation/devicetree/bindings/usb/usb-device.yaml
+++ b/Documentation/devicetree/bindings/usb/usb-device.yaml
@@ -42,6 +42,20 @@ properties:
port to which this device is attached. The range is 1-255.
maxItems: 1

+ panel-location:
+ description: Describes which panel surface of the system's housing the USB
+ device resides on. It has the same meaning as the `ACPI`'s `_PLD` Panel
+ object.
+ $ref: /schemas/types.yaml#/definitions/uint32
+ enum:
+ - 0 # Top.
+ - 1 # Bottom.
+ - 2 # Left.
+ - 3 # Right.
+ - 4 # Front (aka as User Facing).
+ - 5 # Back (aka as World Facing).
+ - 6 # Unknown.
+
"#address-cells":
description: should be 1 for hub nodes with device nodes,
should be 2 for device nodes with interface nodes.

---
base-commit: eefa7a9c069908412f8f5d15833901d1b46ae1b2
change-id: 20241212-usb-orientation-8e3717ebb02a

Best regards,
--
Ricardo Ribalda <ribalda@chromium.org>