Source code for pihat.eeprom.constants
"""Pi Hat EEPROM constants"""
from enum import IntEnum, IntFlag
__all__ = [
'EepromSignature',
'EepromVersion',
'EepromAtomType',
'EepromGpioDrive',
'EepromGpioSlew',
'EepromGpioHysteresis',
'EepromGpioBackPower',
'EepromGpioFunction',
'EepromGpioPull',
]
[docs]class EepromSignature(IntFlag):
"""Magic signature"""
RPI = 0x69502d52
[docs]class EepromVersion(IntFlag):
"""Structure version"""
V1 = 1
[docs]class EepromAtomType(IntFlag):
"""Atom type"""
INFO = 1
GPIO = 2
DTBO = 3
CUSTOM = 4
[docs]class EepromGpioDrive(IntEnum):
"""GPIO bank drive"""
DEFAULT = 0
MA_2 = 1
MA_4 = 2
MA_6 = 3
MA_8 = 4
MA_10 = 5
MA_12 = 6
MA_14 = 7
MA_16 = 8
RESERVED_9 = 9
RESERVED_10 = 10
RESERVED_11 = 11
RESERVED_12 = 12
RESERVED_13 = 13
RESERVED_14 = 14
RESERVED_15 = 15
[docs]class EepromGpioSlew(IntEnum):
"""GPIO bank slew"""
DEFAULT = 0
LIMITED = 1
UNLIMITED = 2
RESERVED = 3
[docs]class EepromGpioHysteresis(IntEnum):
"""GPIO bank hysteresis"""
DEFAULT = 0
DISABLED = 1
ENABLED = 2
RESERVED = 3
[docs]class EepromGpioBackPower(IntEnum):
"""Board back powering"""
NONE = 0
MA_1300 = 1
MA_2000 = 2
RESERVED = 3
[docs]class EepromGpioFunction(IntEnum):
"""GPIO pin function"""
INPUT = 0
OUTPUT = 1
ALT0 = 4
ALT1 = 5
ALT2 = 6
ALT3 = 7
ALT4 = 3
ALT5 = 2
[docs]class EepromGpioPull(IntEnum):
"""GPIO pull direction"""
DEFAULT = 0
UP = 1
DOWN = 2
NONE = 3