xref: /openbmc/linux/drivers/gpu/drm/msm/dp/dp_aux.h (revision c943b494)
1c943b494SChandan Uddaraju /* SPDX-License-Identifier: GPL-2.0-only */
2c943b494SChandan Uddaraju /*
3c943b494SChandan Uddaraju  * Copyright (c) 2012-2020, The Linux Foundation. All rights reserved.
4c943b494SChandan Uddaraju  */
5c943b494SChandan Uddaraju 
6c943b494SChandan Uddaraju #ifndef _DP_AUX_H_
7c943b494SChandan Uddaraju #define _DP_AUX_H_
8c943b494SChandan Uddaraju 
9c943b494SChandan Uddaraju #include "dp_catalog.h"
10c943b494SChandan Uddaraju #include <drm/drm_dp_helper.h>
11c943b494SChandan Uddaraju 
12c943b494SChandan Uddaraju #define DP_AUX_ERR_NONE		0
13c943b494SChandan Uddaraju #define DP_AUX_ERR_ADDR		-1
14c943b494SChandan Uddaraju #define DP_AUX_ERR_TOUT		-2
15c943b494SChandan Uddaraju #define DP_AUX_ERR_NACK		-3
16c943b494SChandan Uddaraju #define DP_AUX_ERR_DEFER	-4
17c943b494SChandan Uddaraju #define DP_AUX_ERR_NACK_DEFER	-5
18c943b494SChandan Uddaraju #define DP_AUX_ERR_PHY		-6
19c943b494SChandan Uddaraju 
20c943b494SChandan Uddaraju int dp_aux_register(struct drm_dp_aux *dp_aux);
21c943b494SChandan Uddaraju void dp_aux_unregister(struct drm_dp_aux *dp_aux);
22c943b494SChandan Uddaraju void dp_aux_isr(struct drm_dp_aux *dp_aux);
23c943b494SChandan Uddaraju void dp_aux_init(struct drm_dp_aux *dp_aux);
24c943b494SChandan Uddaraju void dp_aux_deinit(struct drm_dp_aux *dp_aux);
25c943b494SChandan Uddaraju void dp_aux_reconfig(struct drm_dp_aux *dp_aux);
26c943b494SChandan Uddaraju 
27c943b494SChandan Uddaraju struct drm_dp_aux *dp_aux_get(struct device *dev, struct dp_catalog *catalog);
28c943b494SChandan Uddaraju void dp_aux_put(struct drm_dp_aux *aux);
29c943b494SChandan Uddaraju 
30c943b494SChandan Uddaraju #endif /*__DP_AUX_H_*/
31