| /* |
| * Copyright (c) 2018, 2020 The Linux Foundation. All rights reserved. |
| |
| * This program is free software; you can redistribute it and/or modify |
| * it under the terms of the GNU General Public License version 2 and |
| * only version 2 as published by the Free Software Foundation. |
| |
| * This program is distributed in the hope that it will be useful, |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| * GNU General Public License for more details. |
| */ |
| |
| #ifndef _IPQ_GEPHY_H_ |
| #define _IPQ_GEPHY_H_ |
| |
| /* PHY Registers */ |
| #define GEPHY_PHY_CONTROL 0 |
| #define GEPHY_PHY_STATUS 1 |
| #define GEPHY_PHY_SPEC_STATUS 17 |
| |
| #define GEPHY_PHY_ID1 2 |
| #define GEPHY_PHY_ID2 3 |
| #define GEPHY_AUTONEG_ADVERT 4 |
| #define GEPHY_LINK_PARTNER_ABILITY 5 |
| #define GEPHY_1000BASET_CONTROL 9 |
| #define GEPHY_1000BASET_STATUS 10 |
| #define GEPHY_MMD_CTRL_REG 13 |
| #define GEPHY_MMD_DATA_REG 14 |
| #define GEPHY_EXTENDED_STATUS 15 |
| #define GEPHY_PHY_SPEC_CONTROL 16 |
| #define GEPHY_PHY_INTR_MASK 18 |
| #define GEPHY_PHY_INTR_STATUS 19 |
| #define GEPHY_PHY_CDT_CONTROL 22 |
| #define GEPHY_DEBUG_PORT_ADDRESS 29 |
| #define GEPHY_DEBUG_PORT_DATA 30 |
| |
| #define GEPHY_STATUS_LINK_PASS 0x0400 |
| |
| #define GEPHY_STATUS_FULL_DUPLEX 0x2000 |
| |
| #define GEPHY_STATUS_SPEED_MASK 0x380 |
| #define GEPHY_STATUS_SPEED_2500MBS 0x200 |
| #define GEPHY_STATUS_SPEED_1000MBS 0x100 |
| #define GEPHY_STATUS_SPEED_100MBS 0x80 |
| #define GEPHY_STATUS_SPEED_10MBS 0x0000 |
| |
| #define QCA808X_PHY_MMD3_AZ_TRAINING_VAL 0x1c32 |
| #define QCA808X_PHY_MMD3_NUM 3 |
| #define QCA808X_PHY_MMD3_ADDR_CLD_CTRL7 0x8007 |
| #define QCA808X_PHY_MMD3_AZ_TRAINING_CTRL 0x8008 |
| #define QCA808X_PHY_8023AZ_AFE_CTRL_MASK 0x01f0 |
| #define QCA808X_PHY_8023AZ_AFE_EN 0x0090 |
| #define QCA808X_MII_ADDR_C45 (1<<30) |
| #define QCA808X_REG_C45_ADDRESS(dev_type, reg_num) (QCA808X_MII_ADDR_C45 | \ |
| ((dev_type & 0x1f) << 16) | (reg_num & 0xffff)) |
| #define QCA808X_8023AZ_ENABLE_VGA QCA808X_REG_C45_ADDRESS(QCA808X_PHY_MMD3_NUM, \ |
| QCA808X_PHY_MMD3_ADDR_CLD_CTRL7) |
| #define QCA808X_AZ_CONFIG_UNDER_1G_SPEED QCA808X_REG_C45_ADDRESS(QCA808X_PHY_MMD3_NUM, \ |
| QCA808X_PHY_MMD3_AZ_TRAINING_CTRL) |
| |
| #endif /* _GEPHY_PHY_H_ */ |