From 39af52fc08dfa0a065add47cdc15d50e1f1ed5cc Mon Sep 17 00:00:00 2001 From: Stephen Warren Date: Tue, 24 Mar 2015 16:36:18 -0600 Subject: 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 --- tegra_pmx_board_parser.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'tegra_pmx_board_parser.py') 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(): -- cgit v1.2.1