| /* SPDX-License-Identifier: GPL-2.0+ */ |
| /* SC16IS7xx SPI/I2C tty serial driver */ |
| |
| #ifndef _SC16IS7XX_H_ |
| #define _SC16IS7XX_H_ |
| |
| #include <linux/mod_devicetable.h> |
| #include <linux/regmap.h> |
| #include <linux/types.h> |
| |
| #define SC16IS7XX_NAME "sc16is7xx" |
| #define SC16IS7XX_MAX_PORTS 2 /* Maximum number of UART ports per IC. */ |
| |
| struct device; |
| |
| struct sc16is7xx_devtype { |
| char name[10]; |
| int nr_gpio; |
| int nr_uart; |
| }; |
| |
| extern const struct regmap_config sc16is7xx_regcfg; |
| |
| extern const struct of_device_id sc16is7xx_dt_ids[]; |
| |
| extern const struct sc16is7xx_devtype sc16is74x_devtype; |
| extern const struct sc16is7xx_devtype sc16is750_devtype; |
| extern const struct sc16is7xx_devtype sc16is752_devtype; |
| extern const struct sc16is7xx_devtype sc16is760_devtype; |
| extern const struct sc16is7xx_devtype sc16is762_devtype; |
| |
| const char *sc16is7xx_regmap_name(u8 port_id); |
| |
| unsigned int sc16is7xx_regmap_port_mask(unsigned int port_id); |
| |
| int sc16is7xx_probe(struct device *dev, const struct sc16is7xx_devtype *devtype, |
| struct regmap *regmaps[], int irq); |
| |
| void sc16is7xx_remove(struct device *dev); |
| |
| #endif /* _SC16IS7XX_H_ */ |