]> Repositories - Adafruit_Blinka-hackapet.git/blobdiff - src/adafruit_blinka/microcontroller/alias.py
microcontroller/alias: Add new script for link aliased devices.
[Adafruit_Blinka-hackapet.git] / src / adafruit_blinka / microcontroller / alias.py
diff --git a/src/adafruit_blinka/microcontroller/alias.py b/src/adafruit_blinka/microcontroller/alias.py
new file mode 100644 (file)
index 0000000..7347242
--- /dev/null
@@ -0,0 +1,20 @@
+# SPDX-FileCopyrightText: 2023 Steve Jeong for Hardkernel
+#
+# SPDX-License-Identifier: MIT
+
+from typing import Optional
+import os
+import re
+
+def get_dts_alias(device: str) -> Optional[str]:
+    """Get the Device Tree Alias"""
+    uevent_path = "/sys/bus/platform/devices/" + device + "/uevent"
+    if os.path.exists(uevent_path):
+        with open(uevent_path, "r", encoding="utf-8") as fd:
+            pattern = r"^OF_ALIAS_0=(.*)$"
+            uevent = fd.read().split("\n")
+            for line in uevent:
+                match = re.search(pattern, line)
+                if match:
+                    return match.group(1).upper()
+    return None