Lines Matching refs:spp_gchip

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