static void mxs_gpio_set(struct gpio_chip *chip, unsigned offset, int value)
{
    struct mxs_gpio_port *port =
        container_of(chip, struct mxs_gpio_port, chip);
    void __iomem *pin_addr = port->base + PINCTRL_DOUT(port->id);

    if (value)
        __mxs_setl(1 << offset, pin_addr);
    else
        __mxs_clrl(1 << offset, pin_addr);
}
Пример #2
0
void gpio_set_value(int gp, int value)
{
	uint32_t bank = PAD_BANK(gp);
	uint32_t offset = PINCTRL_DOUT(bank);
	struct mx28_register *reg =
		(struct mx28_register *)(MXS_PINCTRL_BASE + offset);

	if (value)
		writel(1 << PAD_PIN(gp), &reg->reg_set);
	else
		writel(1 << PAD_PIN(gp), &reg->reg_clr);
}
Пример #3
0
void gpio_set_value(unsigned gpio, int value)
{
	uint32_t bank = PAD_BANK(gpio);
	uint32_t offset = PINCTRL_DOUT(bank);
	struct mxs_register_32 *reg =
		(struct mxs_register_32 *)(MXS_PINCTRL_BASE + offset);

	if (value)
		writel(1 << PAD_PIN(gpio), &reg->reg_set);
	else
		writel(1 << PAD_PIN(gpio), &reg->reg_clr);
}