• Home
  • Raw
  • Download

Lines Matching refs:offset

82 static void __cs5535_gpio_set(struct cs5535_gpio_chip *chip, unsigned offset,  in __cs5535_gpio_set()  argument
85 if (offset < 16) in __cs5535_gpio_set()
87 outl(1 << offset, chip->base + reg); in __cs5535_gpio_set()
90 errata_outl(chip, 1 << (offset - 16), reg); in __cs5535_gpio_set()
93 void cs5535_gpio_set(unsigned offset, unsigned int reg) in cs5535_gpio_set() argument
99 __cs5535_gpio_set(chip, offset, reg); in cs5535_gpio_set()
104 static void __cs5535_gpio_clear(struct cs5535_gpio_chip *chip, unsigned offset, in __cs5535_gpio_clear() argument
107 if (offset < 16) in __cs5535_gpio_clear()
109 outl(1 << (offset + 16), chip->base + reg); in __cs5535_gpio_clear()
112 errata_outl(chip, 1 << offset, reg); in __cs5535_gpio_clear()
115 void cs5535_gpio_clear(unsigned offset, unsigned int reg) in cs5535_gpio_clear() argument
121 __cs5535_gpio_clear(chip, offset, reg); in cs5535_gpio_clear()
126 int cs5535_gpio_isset(unsigned offset, unsigned int reg) in cs5535_gpio_isset() argument
133 if (offset < 16) in cs5535_gpio_isset()
139 offset -= 16; in cs5535_gpio_isset()
143 return (val & (1 << offset)) ? 1 : 0; in cs5535_gpio_isset()
164 void cs5535_gpio_setup_event(unsigned offset, int pair, int pme) in cs5535_gpio_setup_event() argument
167 uint32_t shift = (offset % 8) * 4; in cs5535_gpio_setup_event()
171 if (offset >= 24) in cs5535_gpio_setup_event()
172 offset = GPIO_MAP_W; in cs5535_gpio_setup_event()
173 else if (offset >= 16) in cs5535_gpio_setup_event()
174 offset = GPIO_MAP_Z; in cs5535_gpio_setup_event()
175 else if (offset >= 8) in cs5535_gpio_setup_event()
176 offset = GPIO_MAP_Y; in cs5535_gpio_setup_event()
178 offset = GPIO_MAP_X; in cs5535_gpio_setup_event()
181 val = inl(chip->base + offset); in cs5535_gpio_setup_event()
193 outl(val, chip->base + offset); in cs5535_gpio_setup_event()
202 static int chip_gpio_request(struct gpio_chip *c, unsigned offset) in chip_gpio_request() argument
210 if ((mask & (1 << offset)) == 0) { in chip_gpio_request()
212 "pin %u is not available (check mask)\n", offset); in chip_gpio_request()
218 __cs5535_gpio_clear(chip, offset, GPIO_OUTPUT_AUX1); in chip_gpio_request()
219 __cs5535_gpio_clear(chip, offset, GPIO_OUTPUT_AUX2); in chip_gpio_request()
222 __cs5535_gpio_clear(chip, offset, GPIO_INPUT_AUX1); in chip_gpio_request()
229 static int chip_gpio_get(struct gpio_chip *chip, unsigned offset) in chip_gpio_get() argument
231 return cs5535_gpio_isset(offset, GPIO_READ_BACK); in chip_gpio_get()
234 static void chip_gpio_set(struct gpio_chip *chip, unsigned offset, int val) in chip_gpio_set() argument
237 cs5535_gpio_set(offset, GPIO_OUTPUT_VAL); in chip_gpio_set()
239 cs5535_gpio_clear(offset, GPIO_OUTPUT_VAL); in chip_gpio_set()
242 static int chip_direction_input(struct gpio_chip *c, unsigned offset) in chip_direction_input() argument
248 __cs5535_gpio_set(chip, offset, GPIO_INPUT_ENABLE); in chip_direction_input()
249 __cs5535_gpio_clear(chip, offset, GPIO_OUTPUT_ENABLE); in chip_direction_input()
255 static int chip_direction_output(struct gpio_chip *c, unsigned offset, int val) in chip_direction_output() argument
262 __cs5535_gpio_set(chip, offset, GPIO_INPUT_ENABLE); in chip_direction_output()
263 __cs5535_gpio_set(chip, offset, GPIO_OUTPUT_ENABLE); in chip_direction_output()
265 __cs5535_gpio_set(chip, offset, GPIO_OUTPUT_VAL); in chip_direction_output()
267 __cs5535_gpio_clear(chip, offset, GPIO_OUTPUT_VAL); in chip_direction_output()