diff options
author | Stephen Warren <swarren@nvidia.com> | 2015-03-24 16:36:18 -0600 |
---|---|---|
committer | Stephen Warren <swarren@nvidia.com> | 2015-03-25 12:02:51 -0600 |
commit | 39af52fc08dfa0a065add47cdc15d50e1f1ed5cc (patch) | |
tree | ee30a0f9a99100e5bb3cbe1510760e048bdb3252 /tegra_pmx_board_parser.py | |
parent | 4f47990bce794c231cfa9fb123953e496f646855 (diff) | |
download | tegra-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.py | 20 |
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(): |