Lines Matching refs:dsc
44 int stm32_gpio_config(const struct stm32_gpio_dsc *dsc, in stm32_gpio_config() argument
51 if (CHECK_DSC(dsc)) { in stm32_gpio_config()
60 gpio_regs = (struct stm32_gpio_regs *)io_base[dsc->port]; in stm32_gpio_config()
62 i = (dsc->pin & 0x07) * 4; in stm32_gpio_config()
63 clrsetbits_le32(&gpio_regs->afr[dsc->pin >> 3], 0xF << i, ctl->af << i); in stm32_gpio_config()
65 i = dsc->pin * 2; in stm32_gpio_config()
77 int stm32_gpout_set(const struct stm32_gpio_dsc *dsc, int state) in stm32_gpout_set() argument
82 if (CHECK_DSC(dsc)) { in stm32_gpout_set()
87 gpio_regs = (struct stm32_gpio_regs *)io_base[dsc->port]; in stm32_gpout_set()
90 writel(1 << dsc->pin, &gpio_regs->bsrr); in stm32_gpout_set()
92 writel(1 << (dsc->pin + 16), &gpio_regs->bsrr); in stm32_gpout_set()
99 int stm32_gpin_get(const struct stm32_gpio_dsc *dsc) in stm32_gpin_get() argument
104 if (CHECK_DSC(dsc)) { in stm32_gpin_get()
109 gpio_regs = (struct stm32_gpio_regs *)io_base[dsc->port]; in stm32_gpin_get()
110 rv = readl(&gpio_regs->idr) & (1 << dsc->pin); in stm32_gpin_get()
129 struct stm32_gpio_dsc dsc; in gpio_direction_input() local
132 dsc.port = stm32_gpio_to_port(gpio); in gpio_direction_input()
133 dsc.pin = stm32_gpio_to_pin(gpio); in gpio_direction_input()
140 return stm32_gpio_config(&dsc, &ctl); in gpio_direction_input()
145 struct stm32_gpio_dsc dsc; in gpio_direction_output() local
149 dsc.port = stm32_gpio_to_port(gpio); in gpio_direction_output()
150 dsc.pin = stm32_gpio_to_pin(gpio); in gpio_direction_output()
156 res = stm32_gpio_config(&dsc, &ctl); in gpio_direction_output()
159 res = stm32_gpout_set(&dsc, value); in gpio_direction_output()
166 struct stm32_gpio_dsc dsc; in gpio_get_value() local
168 dsc.port = stm32_gpio_to_port(gpio); in gpio_get_value()
169 dsc.pin = stm32_gpio_to_pin(gpio); in gpio_get_value()
171 return stm32_gpin_get(&dsc); in gpio_get_value()
176 struct stm32_gpio_dsc dsc; in gpio_set_value() local
178 dsc.port = stm32_gpio_to_port(gpio); in gpio_set_value()
179 dsc.pin = stm32_gpio_to_pin(gpio); in gpio_set_value()
181 return stm32_gpout_set(&dsc, value); in gpio_set_value()