/* LED hw control pattern is the same for every LED */ #define QCA808X_LED_PATTERN_MASK GENMASK(15, 0) #define QCA808X_LED_SPEED2500_ON BIT(15) #define QCA808X_LED_SPEED2500_BLINK BIT(14) /* Follow blink trigger even if duplex or speed condition doesn't match */ #define QCA808X_LED_BLINK_CHECK_BYPASS BIT(13) #define QCA808X_LED_FULL_DUPLEX_ON BIT(12) #define QCA808X_LED_HALF_DUPLEX_ON BIT(11) #define QCA808X_LED_TX_BLINK BIT(10) #define QCA808X_LED_RX_BLINK BIT(9) #define QCA808X_LED_TX_ON_10MS BIT(8) #define QCA808X_LED_RX_ON_10MS BIT(7) #define QCA808X_LED_SPEED1000_ON BIT(6) #define QCA808X_LED_SPEED100_ON BIT(5) #define QCA808X_LED_SPEED10_ON BIT(4) #define QCA808X_LED_COLLISION_BLINK BIT(3) #define QCA808X_LED_SPEED1000_BLINK BIT(2) #define QCA808X_LED_SPEED100_BLINK BIT(1) #define QCA808X_LED_SPEED10_BLINK BIT(0)
/* LED force ctrl is the same for every LED * No documentation exist for this, not even internal one * with NDA as QCOM gives only info about configuring * hw control pattern rules and doesn't indicate any way * to force the LED to specific mode. * These define comes from reverse and testing and maybe * lack of some info or some info are not entirely correct. * For the basic LED control and hw control these finding * are enough to support LED control in all the required APIs. * * On doing some comparison with implementation with qca807x, * it was found that it's 1:1 equal to it and confirms all the * reverse done. It was also found further specification with the * force mode and the blink modes.
*/ #define QCA808X_LED_FORCE_EN BIT(15) #define QCA808X_LED_FORCE_MODE_MASK GENMASK(14, 13) #define QCA808X_LED_FORCE_BLINK_1 FIELD_PREP(QCA808X_LED_FORCE_MODE_MASK, 0x3) #define QCA808X_LED_FORCE_BLINK_2 FIELD_PREP(QCA808X_LED_FORCE_MODE_MASK, 0x2) #define QCA808X_LED_FORCE_ON FIELD_PREP(QCA808X_LED_FORCE_MODE_MASK, 0x1) #define QCA808X_LED_FORCE_OFF FIELD_PREP(QCA808X_LED_FORCE_MODE_MASK, 0x0)
int at803x_debug_reg_read(struct phy_device *phydev, u16 reg); int at803x_debug_reg_mask(struct phy_device *phydev, u16 reg,
u16 clear, u16 set); int at803x_debug_reg_write(struct phy_device *phydev, u16 reg, u16 data); int at803x_set_wol(struct phy_device *phydev, struct ethtool_wolinfo *wol); int at8031_set_wol(struct phy_device *phydev, struct ethtool_wolinfo *wol); void at803x_get_wol(struct phy_device *phydev, struct ethtool_wolinfo *wol); int at803x_ack_interrupt(struct phy_device *phydev); int at803x_config_intr(struct phy_device *phydev);
irqreturn_t at803x_handle_interrupt(struct phy_device *phydev); int at803x_read_specific_status(struct phy_device *phydev, struct at803x_ss_mask ss_mask); int at803x_config_mdix(struct phy_device *phydev, u8 ctrl); int at803x_prepare_config_aneg(struct phy_device *phydev); int at803x_read_status(struct phy_device *phydev); int at803x_get_tunable(struct phy_device *phydev, struct ethtool_tunable *tuna, void *data); int at803x_set_tunable(struct phy_device *phydev, struct ethtool_tunable *tuna, constvoid *data); int at803x_cdt_fault_length(int dt); int at803x_cdt_start(struct phy_device *phydev, u32 cdt_start); int at803x_cdt_wait_for_completion(struct phy_device *phydev,
u32 cdt_en); int qca808x_cable_test_get_status(struct phy_device *phydev, bool *finished); int qca808x_led_reg_hw_control_enable(struct phy_device *phydev, u16 reg); bool qca808x_led_reg_hw_control_status(struct phy_device *phydev, u16 reg); int qca808x_led_reg_brightness_set(struct phy_device *phydev,
u16 reg, enum led_brightness value); int qca808x_led_reg_blink_set(struct phy_device *phydev, u16 reg, unsignedlong *delay_on, unsignedlong *delay_off); int qcom_phy_counter_config(struct phy_device *phydev); int qcom_phy_update_stats(struct phy_device *phydev, struct qcom_phy_hw_stats *hw_stats); void qcom_phy_get_stats(struct ethtool_phy_stats *stats, struct qcom_phy_hw_stats hw_stats);
Messung V0.5 in Prozent
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.1Bemerkung:
(vorverarbeitet am 2026-06-07)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.