+# SPDX-FileCopyrightText: 2021 Melissa LeBlanc-Williams for Adafruit Industries
+#
+# SPDX-License-Identifier: MIT
"""
G12A, G12B, and SM1 Common Definitions
Ref:
linux/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
"""
+from typing import Optional
+import os
import re
-from adafruit_blinka.microcontroller.generic_linux.libgpiod_pin import Pin
import gpiod
+from adafruit_blinka.microcontroller.generic_linux.libgpiod_pin import Pin
chip0 = gpiod.Chip("0")
chip1 = gpiod.Chip("1")
uartPorts = ((1, UART1_TX, UART1_RX),)
-def get_dts_alias(device: str) -> str:
+def get_dts_alias(device: str) -> Optional[str]:
"""Get the Device Tree Alias"""
uevent_path = "/sys/bus/platform/devices/" + device + "/uevent"
- with open(uevent_path, "r") 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
+ 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
# ordered as i2cId, sclId, sdaId