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