summaryrefslogtreecommitdiff
path: root/tegra_pmx_board_parser.py
diff options
context:
space:
mode:
authorStephen Warren <swarren@nvidia.com>2015-03-24 16:36:18 -0600
committerStephen Warren <swarren@nvidia.com>2015-03-25 12:02:51 -0600
commit39af52fc08dfa0a065add47cdc15d50e1f1ed5cc (patch)
treeee30a0f9a99100e5bb3cbe1510760e048bdb3252 /tegra_pmx_board_parser.py
parent4f47990bce794c231cfa9fb123953e496f646855 (diff)
downloadtegra-pinmux-scripts-39af52fc08dfa0a065add47cdc15d50e1f1ed5cc.tar.gz
Support for MIPI pad ctrl groups in *.board
Update csv-to-board.py to extract, and board-to-*.py to emit, configuration for MIPI pad ctrl groups. Signed-off-by: Stephen Warren <swarren@nvidia.com>
Diffstat (limited to 'tegra_pmx_board_parser.py')
-rw-r--r--tegra_pmx_board_parser.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/tegra_pmx_board_parser.py b/tegra_pmx_board_parser.py
index b72bc8b..f47947d 100644
--- a/tegra_pmx_board_parser.py
+++ b/tegra_pmx_board_parser.py
@@ -37,6 +37,13 @@ class PinConfig(ReprDictObj):
self.__setattr__(field, data[i])
self.gpio_pin = soc.gpio_or_pin_by_fullname(self.fullname)
+class MipiPadCtrlConfig(ReprDictObj):
+ def __init__(self, soc, data):
+ fields = ('name', 'mux')
+ for i, field in enumerate(fields):
+ self.__setattr__(field, data[i])
+ self.mipi_pad_ctrl_group = soc.mipi_pad_ctrl_group_by_name(self.name)
+
class Board(TopLevelParsedObj):
def __init__(self, name, data):
TopLevelParsedObj.__init__(self, name, (), data)
@@ -54,10 +61,17 @@ class Board(TopLevelParsedObj):
# FIXME: fill this in...
self.drvcfg = []
+ self._mipipadctrlcfgs = []
+ if 'mipi_pad_ctrl_groups' in data:
+ for num, pindata in enumerate(data['mipi_pad_ctrl_groups']):
+ mipipadctrlcfg = MipiPadCtrlConfig(self.soc, pindata)
+ self._mipipadctrlcfgs.append(mipipadctrlcfg)
+
self._generate_derived_data()
def _generate_derived_data(self):
self._pincfgs_by_num = sorted(self._pincfgs, key=lambda pincfg: pincfg.gpio_pin.sort_by_num_key())
+ self._mipipadctrlcfgs_by_num = sorted(self._mipipadctrlcfgs, key=lambda cfg: cfg.mipi_pad_ctrl_group.reg)
def pincfgs_by_conf_order(self):
return self._pincfgs
@@ -65,6 +79,12 @@ class Board(TopLevelParsedObj):
def pincfgs_by_num(self):
return self._pincfgs_by_num
+ def mipipadctrlcfgs_by_conf_order(self):
+ return self._mipipadctrlcfgs
+
+ def mipipadctrlcfgs_by_num(self):
+ return self._mipipadctrlcfgs_by_num
+
def warn_about_unconfigured_pins(self):
unconfigured_gpio_pins = [gpio_pin.fullname for gpio_pin in self.soc.gpios_pins_by_num() if gpio_pin.reg]
for gpio_pin in self.pincfgs_by_num():