1/* SPDX-License-Identifier: GPL-2.0 */
2/*
3 * TSA management
4 *
5 * Copyright 2022 CS GROUP France
6 *
7 * Author: Herve Codina <herve.codina@bootlin.com>
8 */
9#ifndef __SOC_FSL_TSA_H__
10#define __SOC_FSL_TSA_H__
11
12#include <linux/types.h>
13
14struct device_node;
15struct device;
16struct tsa_serial;
17
18struct tsa_serial *tsa_serial_get_byphandle(struct device_node *np,
19 const char *phandle_name);
20void tsa_serial_put(struct tsa_serial *tsa_serial);
21struct tsa_serial *devm_tsa_serial_get_byphandle(struct device *dev,
22 struct device_node *np,
23 const char *phandle_name);
24
25/* Connect and disconnect the TSA serial */
26int tsa_serial_connect(struct tsa_serial *tsa_serial);
27int tsa_serial_disconnect(struct tsa_serial *tsa_serial);
28
29/* Cell information */
30struct tsa_serial_info {
31 unsigned long rx_fs_rate;
32 unsigned long rx_bit_rate;
33 u8 nb_rx_ts;
34 unsigned long tx_fs_rate;
35 unsigned long tx_bit_rate;
36 u8 nb_tx_ts;
37};
38
39/* Get information */
40int tsa_serial_get_info(struct tsa_serial *tsa_serial, struct tsa_serial_info *info);
41
42#endif /* __SOC_FSL_TSA_H__ */
43

source code of linux/drivers/soc/fsl/qe/tsa.h