xref: /freebsd-src/sys/dts/include/dt-bindings/net/qcom-qca807x.h (revision 4d846d260e2b9a3d4d0a701462568268cbfe7a5b)
1b509e538SAdrian Chadd /*-
2*4d846d26SWarner Losh  * SPDX-License-Identifier: BSD-2-Clause
3b509e538SAdrian Chadd  *
4b509e538SAdrian Chadd  * Copyright (c) 2022 Adrian Chadd <adrian@FreeBSD.org>
5b509e538SAdrian Chadd  *
6b509e538SAdrian Chadd  * Redistribution and use in source and binary forms, with or without
7b509e538SAdrian Chadd  * modification, are permitted provided that the following conditions are
8b509e538SAdrian Chadd  * met:
9b509e538SAdrian Chadd  * 1. Redistributions of source code must retain the above copyright
10b509e538SAdrian Chadd  *    notice, this list of conditions and the following disclaimer.
11b509e538SAdrian Chadd  * 2. Redistributions in binary form must reproduce the above copyright
12b509e538SAdrian Chadd  *    notice, this list of conditions and the following disclaimer in
13b509e538SAdrian Chadd  *    the documentation and/or other materials provided with the distribution.
14b509e538SAdrian Chadd  *
15b509e538SAdrian Chadd  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
16b509e538SAdrian Chadd  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17b509e538SAdrian Chadd  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18b509e538SAdrian Chadd  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
19b509e538SAdrian Chadd  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
20b509e538SAdrian Chadd  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
21b509e538SAdrian Chadd  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
22b509e538SAdrian Chadd  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23b509e538SAdrian Chadd  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24b509e538SAdrian Chadd  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
25b509e538SAdrian Chadd  * SUCH DAMAGE.
26b509e538SAdrian Chadd  */
27b509e538SAdrian Chadd 
28b509e538SAdrian Chadd /*
29b509e538SAdrian Chadd  * DT constants for the Qualcomm QCA807x PHY
30b509e538SAdrian Chadd  */
31b509e538SAdrian Chadd 
32b509e538SAdrian Chadd #ifndef	_DT_BINDINGS_NET_QCOM_QCA807X_H__
33b509e538SAdrian Chadd #define	_DT_BINDINGS_NET_QCOM_QCA807X_H__
34b509e538SAdrian Chadd 
35b509e538SAdrian Chadd /*
36b509e538SAdrian Chadd  * PSGMII driver configuration.  This controls the TX voltage
37b509e538SAdrian Chadd  * used between the SoC and the external PHY over the SERDES
38b509e538SAdrian Chadd  * interface.
39b509e538SAdrian Chadd  *
40b509e538SAdrian Chadd  * The default value is 12 (600mV)
41b509e538SAdrian Chadd  */
42b509e538SAdrian Chadd #define	PSGMII_QSGMII_TX_DRIVER_140MV	0
43b509e538SAdrian Chadd #define	PSGMII_QSGMII_TX_DRIVER_160MV	1
44b509e538SAdrian Chadd #define	PSGMII_QSGMII_TX_DRIVER_180MV	2
45b509e538SAdrian Chadd #define	PSGMII_QSGMII_TX_DRIVER_200MV	3
46b509e538SAdrian Chadd #define	PSGMII_QSGMII_TX_DRIVER_220MV	4
47b509e538SAdrian Chadd #define	PSGMII_QSGMII_TX_DRIVER_240MV	5
48b509e538SAdrian Chadd #define	PSGMII_QSGMII_TX_DRIVER_260MV	6
49b509e538SAdrian Chadd #define	PSGMII_QSGMII_TX_DRIVER_280MV	7
50b509e538SAdrian Chadd #define	PSGMII_QSGMII_TX_DRIVER_300MV	8
51b509e538SAdrian Chadd #define	PSGMII_QSGMII_TX_DRIVER_320MV	9
52b509e538SAdrian Chadd #define	PSGMII_QSGMII_TX_DRIVER_400MV	10
53b509e538SAdrian Chadd #define	PSGMII_QSGMII_TX_DRIVER_500MV	11
54b509e538SAdrian Chadd #define	PSGMII_QSGMII_TX_DRIVER_600MV	12
55b509e538SAdrian Chadd 
56b509e538SAdrian Chadd /*
57b509e538SAdrian Chadd  * These fields control the PHY power saving based on the
58b509e538SAdrian Chadd  * cable length.
59b509e538SAdrian Chadd  *
60b509e538SAdrian Chadd  * 0 - full amplitude, full bias current
61b509e538SAdrian Chadd  * 1 - amplitude follows cable length, half bias current
62b509e538SAdrian Chadd  * 2 - full amplitude, bias current follows cable length
63b509e538SAdrian Chadd  * 3 - both amplitude and bias current follow cable length
64b509e538SAdrian Chadd  * 4 - full amplitude, half bias current
65b509e538SAdrian Chadd  * 5 - amplitude follows cable length, 1/4 bias current
66b509e538SAdrian Chadd  *     when cable length < 10m else half bias current
67b509e538SAdrian Chadd  * 6 - full amplitude, bias current follows cable length,
68b509e538SAdrian Chadd  *     bias reduced further by half when cable length < 10m
69b509e538SAdrian Chadd  * 7 - amplitude follows cable length, same bias current
70b509e538SAdrian Chadd  *     setting as '6'
71b509e538SAdrian Chadd  */
72b509e538SAdrian Chadd #define	QCA807X_CONTROL_DAC_FULL_VOLT_BIAS		0
73b509e538SAdrian Chadd #define	QCA807X_CONTROL_DAC_DSP_VOLT_HALF_BIAS		1
74b509e538SAdrian Chadd #define	QCA807X_CONTROL_DAC_FULL_VOLT_DSP_BIAS		2
75b509e538SAdrian Chadd #define	QCA807X_CONTROL_DAC_DSP_VOLT_BIAS		3
76b509e538SAdrian Chadd #define	QCA807X_CONTROL_DAC_FULL_VOLT_HALF_BIAS		4
77b509e538SAdrian Chadd #define	QCA807X_CONTROL_DAC_DSP_VOLT_QUARTER_BIAS	5
78b509e538SAdrian Chadd #define	QCA807X_CONTROL_DAC_FULL_VOLT_HALF_BIAS_SHORT	6
79b509e538SAdrian Chadd #define	QCA807X_CONTROL_DAC_DSP_VOLT_HALF_BIAS_SHORT	7
80b509e538SAdrian Chadd 
81b509e538SAdrian Chadd #endif	/* __DT_BINDINGS_NET_QCOM_QCA807X_H__ */
82