Lines Matching defs:spp_gchip
38 static inline u32 sppctl_first_readl(struct sppctl_gpio_chip *spp_gchip, u32 off)
40 return readl(spp_gchip->first_base + SPPCTL_GPIO_OFF_FIRST + off);
43 static inline void sppctl_first_writel(struct sppctl_gpio_chip *spp_gchip, u32 val, u32 off)
45 writel(val, spp_gchip->first_base + SPPCTL_GPIO_OFF_FIRST + off);
48 static inline u32 sppctl_gpio_master_readl(struct sppctl_gpio_chip *spp_gchip, u32 off)
50 return readl(spp_gchip->gpioxt_base + SPPCTL_GPIO_OFF_MASTER + off);
53 static inline void sppctl_gpio_master_writel(struct sppctl_gpio_chip *spp_gchip, u32 val,
56 writel(val, spp_gchip->gpioxt_base + SPPCTL_GPIO_OFF_MASTER + off);
59 static inline u32 sppctl_gpio_oe_readl(struct sppctl_gpio_chip *spp_gchip, u32 off)
61 return readl(spp_gchip->gpioxt_base + SPPCTL_GPIO_OFF_OE + off);
64 static inline void sppctl_gpio_oe_writel(struct sppctl_gpio_chip *spp_gchip, u32 val, u32 off)
66 writel(val, spp_gchip->gpioxt_base + SPPCTL_GPIO_OFF_OE + off);
69 static inline void sppctl_gpio_out_writel(struct sppctl_gpio_chip *spp_gchip, u32 val, u32 off)
71 writel(val, spp_gchip->gpioxt_base + SPPCTL_GPIO_OFF_OUT + off);
74 static inline u32 sppctl_gpio_in_readl(struct sppctl_gpio_chip *spp_gchip, u32 off)
76 return readl(spp_gchip->gpioxt_base + SPPCTL_GPIO_OFF_IN + off);
79 static inline u32 sppctl_gpio_iinv_readl(struct sppctl_gpio_chip *spp_gchip, u32 off)
81 return readl(spp_gchip->gpioxt_base + SPPCTL_GPIO_OFF_IINV + off);
84 static inline void sppctl_gpio_iinv_writel(struct sppctl_gpio_chip *spp_gchip, u32 val,
87 writel(val, spp_gchip->gpioxt_base + SPPCTL_GPIO_OFF_IINV + off);
90 static inline u32 sppctl_gpio_oinv_readl(struct sppctl_gpio_chip *spp_gchip, u32 off)
92 return readl(spp_gchip->gpioxt_base + SPPCTL_GPIO_OFF_OINV + off);
95 static inline void sppctl_gpio_oinv_writel(struct sppctl_gpio_chip *spp_gchip, u32 val,
98 writel(val, spp_gchip->gpioxt_base + SPPCTL_GPIO_OFF_OINV + off);
101 static inline u32 sppctl_gpio_od_readl(struct sppctl_gpio_chip *spp_gchip, u32 off)
103 return readl(spp_gchip->gpioxt_base + SPPCTL_GPIO_OFF_OD + off);
106 static inline void sppctl_gpio_od_writel(struct sppctl_gpio_chip *spp_gchip, u32 val, u32 off)
108 writel(val, spp_gchip->gpioxt_base + SPPCTL_GPIO_OFF_OD + off);
262 struct sppctl_gpio_chip *spp_gchip = gpiochip_get_data(chip);
266 reg = sppctl_first_readl(spp_gchip, reg_off);
297 struct sppctl_gpio_chip *spp_gchip = gpiochip_get_data(chip);
301 reg = sppctl_gpio_master_readl(spp_gchip, reg_off);
308 struct sppctl_gpio_chip *spp_gchip = gpiochip_get_data(chip);
315 reg = sppctl_first_readl(spp_gchip, reg_off);
322 sppctl_first_writel(spp_gchip, reg, reg_off);
327 sppctl_first_writel(spp_gchip, reg, reg_off);
338 sppctl_gpio_master_writel(spp_gchip, reg, reg_off);
344 struct sppctl_gpio_chip *spp_gchip = gpiochip_get_data(chip);
348 sppctl_gpio_iinv_writel(spp_gchip, reg, reg_off);
353 struct sppctl_gpio_chip *spp_gchip = gpiochip_get_data(chip);
357 sppctl_gpio_oinv_writel(spp_gchip, reg, reg_off);
362 struct sppctl_gpio_chip *spp_gchip = gpiochip_get_data(chip);
366 reg = sppctl_gpio_od_readl(spp_gchip, reg_off);
374 struct sppctl_gpio_chip *spp_gchip = gpiochip_get_data(chip);
378 sppctl_gpio_od_writel(spp_gchip, reg, reg_off);
383 struct sppctl_gpio_chip *spp_gchip = gpiochip_get_data(chip);
387 reg = sppctl_gpio_oe_readl(spp_gchip, reg_off);
394 struct sppctl_gpio_chip *spp_gchip = gpiochip_get_data(chip);
400 spin_lock_irqsave(&spp_gchip->lock, flags);
403 reg = sppctl_gpio_iinv_readl(spp_gchip, reg_off);
405 reg = sppctl_gpio_oinv_readl(spp_gchip, reg_off);
407 spin_unlock_irqrestore(&spp_gchip->lock, flags);
414 struct sppctl_gpio_chip *spp_gchip = gpiochip_get_data(chip);
420 spin_lock_irqsave(&spp_gchip->lock, flags);
422 sppctl_gpio_oe_writel(spp_gchip, reg, reg_off);
424 spin_unlock_irqrestore(&spp_gchip->lock, flags);
430 struct sppctl_gpio_chip *spp_gchip = gpiochip_get_data(chip);
436 spin_lock_irqsave(&spp_gchip->lock, flags);
438 sppctl_gpio_oe_writel(spp_gchip, reg, reg_off);
441 spin_unlock_irqrestore(&spp_gchip->lock, flags);
446 sppctl_gpio_out_writel(spp_gchip, reg, reg_off);
448 spin_unlock_irqrestore(&spp_gchip->lock, flags);
454 struct sppctl_gpio_chip *spp_gchip = gpiochip_get_data(chip);
458 reg = sppctl_gpio_in_readl(spp_gchip, reg_off);
465 struct sppctl_gpio_chip *spp_gchip = gpiochip_get_data(chip);
469 sppctl_gpio_out_writel(spp_gchip, reg, reg_off);
476 struct sppctl_gpio_chip *spp_gchip = gpiochip_get_data(chip);
482 sppctl_gpio_od_writel(spp_gchip, reg, reg_off);
525 struct sppctl_gpio_chip *spp_gchip;
529 spp_gchip = devm_kzalloc(&pdev->dev, sizeof(*spp_gchip), GFP_KERNEL);
530 if (!spp_gchip)
532 pctl->spp_gchip = spp_gchip;
534 spp_gchip->gpioxt_base = pctl->gpioxt_base;
535 spp_gchip->first_base = pctl->first_base;
536 spin_lock_init(&spp_gchip->lock);
538 gchip = &spp_gchip->chip;
560 err = devm_gpiochip_add_data(&pdev->dev, gchip, spp_gchip);
576 if (!sppctl_gpio_output_od_get(&pctl->spp_gchip->chip, pin))
582 if (!sppctl_first_get(&pctl->spp_gchip->chip, pin))
584 if (!sppctl_master_get(&pctl->spp_gchip->chip, pin))
586 if (sppctl_gpio_get_direction(&pctl->spp_gchip->chip, pin))
588 arg = sppctl_gpio_get(&pctl->spp_gchip->chip, pin);
607 sppctl_first_master_set(&pctl->spp_gchip->chip, pin, mux_f_gpio, mux_m_iop);
613 sppctl_gpio_direction_output(&pctl->spp_gchip->chip, pin, 0);
615 sppctl_gpio_direction_output(&pctl->spp_gchip->chip, pin, 1);
617 sppctl_gpio_input_inv_set(&pctl->spp_gchip->chip, pin);
619 sppctl_gpio_output_inv_set(&pctl->spp_gchip->chip, pin);
621 sppctl_gpio_output_od_set(&pctl->spp_gchip->chip, pin, 1);
708 sppctl_first_master_set(&pctl->spp_gchip->chip, group_selector,
715 sppctl_first_master_set(&pctl->spp_gchip->chip,
736 g_f = sppctl_first_get(&pctl->spp_gchip->chip, offset);
737 g_m = sppctl_master_get(&pctl->spp_gchip->chip, offset);
741 sppctl_first_master_set(&pctl->spp_gchip->chip, offset, mux_f_gpio, mux_m_gpio);
806 first = sppctl_first_get(&pctl->spp_gchip->chip, offset);
807 master = sppctl_master_get(&pctl->spp_gchip->chip, offset);