Lines Matching full:bank
21 * Danger Will Robinson! Bank 0 (GPIOs 0-31) seems to be fairly stable. Most
23 * absurdly complex and constantly changing. We'll provide Bank 1 and Bank 2,
57 static int _ich6_gpio_set_value(struct ich6_bank_priv *bank, unsigned offset, in _ich6_gpio_set_value() argument
62 if (bank->use_lvl_write_cache) in _ich6_gpio_set_value()
63 val = bank->lvl_write_cache; in _ich6_gpio_set_value()
65 val = inl(bank->lvl); in _ich6_gpio_set_value()
71 outl(val, bank->lvl); in _ich6_gpio_set_value()
72 if (bank->use_lvl_write_cache) in _ich6_gpio_set_value()
73 bank->lvl_write_cache = val; in _ich6_gpio_set_value()
114 "bank-name", NULL); in gpio_ich6_ofdata_to_platdata()
123 struct ich6_bank_priv *bank = dev_get_priv(dev); in ich6_gpio_probe() local
128 bank->use_sel = plat->base_addr; in ich6_gpio_probe()
129 bank->io_sel = plat->base_addr + 4; in ich6_gpio_probe()
130 bank->lvl = plat->base_addr + 8; in ich6_gpio_probe()
135 bank->use_lvl_write_cache = true; in ich6_gpio_probe()
137 bank->use_lvl_write_cache = false; in ich6_gpio_probe()
138 bank->lvl_write_cache = 0; in ich6_gpio_probe()
146 struct ich6_bank_priv *bank = dev_get_priv(dev); in ich6_gpio_request() local
154 tmplong = inl(bank->use_sel); in ich6_gpio_request()
166 struct ich6_bank_priv *bank = dev_get_priv(dev); in ich6_gpio_direction_input() local
168 return _ich6_gpio_set_direction(bank->io_sel, offset, 0); in ich6_gpio_direction_input()
175 struct ich6_bank_priv *bank = dev_get_priv(dev); in ich6_gpio_direction_output() local
177 ret = _ich6_gpio_set_direction(bank->io_sel, offset, 1); in ich6_gpio_direction_output()
181 return _ich6_gpio_set_value(bank, offset, value); in ich6_gpio_direction_output()
186 struct ich6_bank_priv *bank = dev_get_priv(dev); in ich6_gpio_get_value() local
190 tmplong = inl(bank->lvl); in ich6_gpio_get_value()
191 if (bank->use_lvl_write_cache) in ich6_gpio_get_value()
192 tmplong |= bank->lvl_write_cache; in ich6_gpio_get_value()
200 struct ich6_bank_priv *bank = dev_get_priv(dev); in ich6_gpio_set_value() local
201 return _ich6_gpio_set_value(bank, offset, value); in ich6_gpio_set_value()
206 struct ich6_bank_priv *bank = dev_get_priv(dev); in ich6_gpio_get_function() local
209 if (!(inl(bank->use_sel) & mask)) in ich6_gpio_get_function()
211 if (inl(bank->io_sel) & mask) in ich6_gpio_get_function()