forked from Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
903 B
43 lines
903 B
// SPDX-License-Identifier: GPL-2.0+ |
|
/* |
|
* Copyright (C) 2021 Álvaro Fernández Rojas <[email protected]> |
|
* Copyright (C) 2016 Jonas Gorski <[email protected]> |
|
*/ |
|
|
|
#ifndef __PINCTRL_BCM63XX_H__ |
|
#define __PINCTRL_BCM63XX_H__ |
|
|
|
#include <linux/pinctrl/pinctrl.h> |
|
|
|
#define BCM63XX_BANK_GPIOS 32 |
|
|
|
struct bcm63xx_pinctrl_soc { |
|
const struct pinctrl_ops *pctl_ops; |
|
const struct pinmux_ops *pmx_ops; |
|
|
|
const struct pinctrl_pin_desc *pins; |
|
unsigned npins; |
|
|
|
unsigned int ngpios; |
|
}; |
|
|
|
struct bcm63xx_pinctrl { |
|
struct device *dev; |
|
struct regmap *regs; |
|
|
|
struct pinctrl_desc pctl_desc; |
|
struct pinctrl_dev *pctl_dev; |
|
|
|
void *driver_data; |
|
}; |
|
|
|
static inline unsigned int bcm63xx_bank_pin(unsigned int pin) |
|
{ |
|
return pin % BCM63XX_BANK_GPIOS; |
|
} |
|
|
|
int bcm63xx_pinctrl_probe(struct platform_device *pdev, |
|
const struct bcm63xx_pinctrl_soc *soc, |
|
void *driver_data); |
|
|
|
#endif /* __PINCTRL_BCM63XX_H__ */
|
|
|