xref: /linux/drivers/media/platform/raspberrypi/rp1-cfe/dphy.h (revision c771600c6af14749609b49565ffb4cac2959710d)
1*6edb685aSTomi Valkeinen /* SPDX-License-Identifier: GPL-2.0 */
2*6edb685aSTomi Valkeinen /*
3*6edb685aSTomi Valkeinen  * Copyright (c) 2021-2024 Raspberry Pi Ltd.
4*6edb685aSTomi Valkeinen  * Copyright (c) 2023-2024 Ideas on Board Oy
5*6edb685aSTomi Valkeinen  */
6*6edb685aSTomi Valkeinen 
7*6edb685aSTomi Valkeinen #ifndef _RP1_DPHY_
8*6edb685aSTomi Valkeinen #define _RP1_DPHY_
9*6edb685aSTomi Valkeinen 
10*6edb685aSTomi Valkeinen #include <linux/io.h>
11*6edb685aSTomi Valkeinen #include <linux/types.h>
12*6edb685aSTomi Valkeinen 
13*6edb685aSTomi Valkeinen struct dphy_data {
14*6edb685aSTomi Valkeinen 	struct device *dev;
15*6edb685aSTomi Valkeinen 
16*6edb685aSTomi Valkeinen 	void __iomem *base;
17*6edb685aSTomi Valkeinen 
18*6edb685aSTomi Valkeinen 	u32 dphy_rate;
19*6edb685aSTomi Valkeinen 	u32 max_lanes;
20*6edb685aSTomi Valkeinen 	u32 active_lanes;
21*6edb685aSTomi Valkeinen };
22*6edb685aSTomi Valkeinen 
23*6edb685aSTomi Valkeinen void dphy_probe(struct dphy_data *dphy);
24*6edb685aSTomi Valkeinen void dphy_start(struct dphy_data *dphy);
25*6edb685aSTomi Valkeinen void dphy_stop(struct dphy_data *dphy);
26*6edb685aSTomi Valkeinen 
27*6edb685aSTomi Valkeinen #endif
28