def wedge_board_rev(soc_gpio_table, board_gpio_rev_table): # Setup to read revision setup_board_gpio(soc_gpio_table, board_gpio_rev_table) # Read the gpio values v0 = openbmc_gpio.gpio_get('BOARD_REV_ID0') v1 = openbmc_gpio.gpio_get('BOARD_REV_ID1') v2 = openbmc_gpio.gpio_get('BOARD_REV_ID2') return ((v2 << 2) | (v1 << 1) | v0)
def setup_board_tolerance_gpio(board_tolerance_gpio_table, board_gpioOffsetDic, validate=True): gpio_configured = [] regs = [] for gpio in board_tolerance_gpio_table: if not (gpio.gpio).startswith('GPIO'): continue gpio_val = openbmc_gpio.gpio_name2value(gpio.gpio) offset = int(gpio_val / 32) phy_addr = board_gpioOffsetDic[str(offset)] bit = gpio_val % 32 # config the devmem and write through to the hw reg = soc_get_tolerance_reg(phy_addr) reg.set_bit(bit) regs.append(reg) for reg in regs: reg.write() # export gpio for gpio in board_tolerance_gpio_table: openbmc_gpio.gpio_export(gpio.gpio, gpio.shadow) def_val = openbmc_gpio.gpio_get(gpio.gpio, change_direction=False) if def_val == 1: openbmc_gpio.gpio_set(gpio.gpio, 1) else: openbmc_gpio.gpio_set(gpio.gpio, 0)
def get_func(args): val = openbmc_gpio.gpio_get(args.gpio, change_direction=False if args.keep else True) print('%d' % val)
def get_func(args): val = openbmc_gpio.gpio_get( args.gpio, change_direction=False if args.keep else True) print('%d' % val)