X-Git-Url: https://git.ayoreis.com/Adafruit_Blinka-hackapet.git/blobdiff_plain/15891fa3df5ef5bc97c020fc72c34dc43348b253..3f5c764d453b12a5524cd5a7b6183441e98eaee0:/src/adafruit_blinka/microcontroller/amlogic/meson_g12_common/pin.py diff --git a/src/adafruit_blinka/microcontroller/amlogic/meson_g12_common/pin.py b/src/adafruit_blinka/microcontroller/amlogic/meson_g12_common/pin.py index 82fa6ea..41cf8f2 100644 --- a/src/adafruit_blinka/microcontroller/amlogic/meson_g12_common/pin.py +++ b/src/adafruit_blinka/microcontroller/amlogic/meson_g12_common/pin.py @@ -1,3 +1,6 @@ +# SPDX-FileCopyrightText: 2021 Melissa LeBlanc-Williams for Adafruit Industries +# +# SPDX-License-Identifier: MIT """ G12A, G12B, and SM1 Common Definitions Ref: @@ -8,6 +11,8 @@ Linux kernel 5.4.y (mainline) linux/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi """ +from typing import Optional +import os import re import gpiod from adafruit_blinka.microcontroller.generic_linux.libgpiod_pin import Pin @@ -107,18 +112,18 @@ UART1_RX = GPIOX_13 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