X-Git-Url: https://git.ayoreis.com/hackapet/Adafruit_Blinka.git/blobdiff_plain/2152c18a1e8ec87e45ca2a273819fbde777d4415..2092c8bddf8d8a89f4325df1c268138f22cac53f:/src/adafruit_blinka/microcontroller/allwinner/h618/pin.py diff --git a/src/adafruit_blinka/microcontroller/allwinner/h618/pin.py b/src/adafruit_blinka/microcontroller/allwinner/h618/pin.py index 7eabaa2..fdbdcc6 100644 --- a/src/adafruit_blinka/microcontroller/allwinner/h618/pin.py +++ b/src/adafruit_blinka/microcontroller/allwinner/h618/pin.py @@ -3,13 +3,30 @@ # SPDX-License-Identifier: MIT """Allwinner H618 Pin Names""" from adafruit_blinka.microcontroller.generic_linux.libgpiod_pin import Pin +import re -# gpiochip select -__chip_num = 0 -with open("/sys/class/gpio/gpiochip0/label", "r") as f: - label = f.read().strip() - if label == "300b000.pinctrl": - __chip_num = 1 +def find_gpiochip_number(target_label): + try: + with open('/sys/kernel/debug/gpio', 'r') as f: + lines = f.readlines() + except FileNotFoundError: + print("The file /sys/kernel/debug/gpio does not exist.") + return None + + gpiochip_number = None + for line in lines: + if target_label in line: + match = re.search(r'gpiochip(\d+)', line) + if match: + gpiochip_number = match.group(1) + break + + return gpiochip_number + +if find_gpiochip_number("300b000.pinctrl"): + __chip_num = 1 +else: + __chip_num = 0 PC0 = Pin((__chip_num, 64)) SPI0_SCLK = PC0