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