hc
2023-12-11 6778948f9de86c3cfaf36725a7c87dcff9ba247f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
/* SPDX-License-Identifier: GPL-2.0 */
/*
 * Copyright (c) 2022 Rockchip Electronics Co. Ltd.
 *
 */
 
#ifndef SERDES_COMBPHY_H
#define SERDES_COMBPHY_H
 
int serdes_combphy_write(struct rk_serdes *serdes, u8 remote_id, u32 reg, u32 val);
int serdes_combphy_read(struct rk_serdes *serdes, u8 remote_id, u32 reg, u32 *val);
int serdes_combphy_update_bits(struct rk_serdes *serdes, u8 remote_id,
                  u32 reg, u32 mask, u32 val);
void serdes_combphy_get_default_config(u64 hs_clk_rate,
                      struct configure_opts_combphy *cfg);
 
void rkx110_combrxphy_set_mode(struct rk_serdes *ser, enum combrx_phy_mode mode);
void rkx110_combrxphy_set_rate(struct rk_serdes *ser, u64 rate);
void rkx110_combrxphy_power_on(struct rk_serdes *ser, enum comb_phy_id id);
void rkx110_combrxphy_power_off(struct rk_serdes *ser, enum comb_phy_id id);
 
void rkx120_combtxphy_set_mode(struct rk_serdes *des, enum combtx_phy_mode mode);
void rkx120_combtxphy_set_rate(struct rk_serdes *des, u64 rate);
u64 rkx120_combtxphy_get_rate(struct rk_serdes *des);
void rkx120_combtxphy_power_on(struct rk_serdes *des, u8 remote_id, u8 phy_id);
void rkx120_combtxphy_power_off(struct rk_serdes *des, u8 remote_id);
#endif