blob: 52d8403e336ea2d95b519626fc8cc0d897eff1c2 [file] [log] [blame]
#!/usr/bin/python
"""
This script sets muxes back to default values so that
during device parsing we are not left with an invisible
mux before the mux has been added to device tree.
If we find a better way to take care of this, we should
remove this file.
"""
import os
import json
import subprocess
CONFIGURATION_FILE = '/var/configuration/system.json'
MUX_TYPES = ['PCA9543Mux', 'PCA9545Mux']
if not os.path.isfile(CONFIGURATION_FILE):
print('No Configuration')
exit(0)
configuration = json.load(open(CONFIGURATION_FILE))
for _, entity in configuration.iteritems():
for exposed in entity.get('exposes', []):
if exposed.get('type', None) in MUX_TYPES:
bus = exposed.get('bus', False)
address = exposed.get('address', False)
if bus and address:
subprocess.call('i2cset -y -f {} {} 0'.format(bus, address),
shell=True)