serAddr = 0x18
desAlias0 = 0x58
# 941AS - 988 BC GPIO Mapping script

board.WriteI2C(serAddr,0x3,0x9a) #Enable I2C Passthrough - Comment this out if the intent is to communicate locally with the DES

board.WriteI2C(desAlias0,0x12,0xff)
board.WriteI2C(desAlias0,0x13,0xff)

board.WriteI2C(desAlias0,0x40,0x04) # select indirect page 1 Secondary data 
board.WriteI2C(desAlias0,0x41,0x20) # GPIO_GEN_CONFIG_P0
board.WriteI2C(desAlias0,0x42,0x00) # BC_GPIO_NUMBER=4

board.WriteI2C(desAlias0,0x41,0x10) # BC_GPIO_CTL0_P0
board.WriteI2C(desAlias0,0x42,0x0) # send GPIO0 data

board.WriteI2C(desAlias0,0x41,0x11) # BC_GPIO_CTL1_P0
board.WriteI2C(desAlias0,0x42,0x1) # send GPIO1 data

board.WriteI2C(desAlias0,0x41,0x12) # BC_GPIO_CTL2_P0
board.WriteI2C(desAlias0,0x42,0x2) # send GPIO2 data

board.WriteI2C(desAlias0,0x41,0x13) # BC_GPIO_CTL3_P0
board.WriteI2C(desAlias0,0x42,0x3) # send GPIO3 data

board.WriteI2C(serAddr,0x1e,0x01) # select port 0
board.WriteI2C(serAddr,0x0d,0x5) # GPIO0_MODE: output
board.WriteI2C(serAddr,0x0e,0x55) # GPIO1_MODE GPIO2_MODE:output 
board.WriteI2C(serAddr,0x0f,0x05) # GPIO3_MODE:output
