Add Broadcom / Netgear changes from RAXE 1.0.0.48
[project/bcm63xx/u-boot.git] / drivers / net / bcmbca / lport / ag / bcm6858_lport_led_ag.h
1 // SPDX-License-Identifier: GPL-2.0+
2 /*
3 Copyright (c) 2015 Broadcom Corporation
4 All Rights Reserved
5
6
7 */
8
9 #ifndef _BCM6858_LPORT_LED_AG_H_
10 #define _BCM6858_LPORT_LED_AG_H_
11
12 #include "access_macros.h"
13 #include "bcmtypes.h"
14 typedef struct
15 {
16 uint8_t lnk_ovrd_en;
17 uint8_t spd_ovrd_en;
18 uint8_t lnk_status_ovrd;
19 uint8_t led_spd_ovrd;
20 uint8_t act_led_pol_sel;
21 uint8_t spdlnk_led2_act_pol_sel;
22 uint8_t spdlnk_led1_act_pol_sel;
23 uint8_t spdlnk_led0_act_pol_sel;
24 uint8_t act_led_act_sel;
25 uint8_t spdlnk_led2_act_sel;
26 uint8_t spdlnk_led1_act_sel;
27 uint8_t spdlnk_led0_act_sel;
28 uint8_t tx_act_en;
29 uint8_t rx_act_en;
30 } lport_led_cntrl;
31
32 typedef struct
33 {
34 uint8_t rsvd_sel_spd_encode_2;
35 uint8_t rsvd_sel_spd_encode_1;
36 uint8_t sel_10g_encode;
37 uint8_t sel_2500m_encode;
38 uint8_t sel_1000m_encode;
39 uint8_t sel_100m_encode;
40 uint8_t sel_10m_encode;
41 uint8_t sel_no_link_encode;
42 } lport_led_link_and_speed_encoding_sel;
43
44 typedef struct
45 {
46 uint8_t rsvd_spd_encode_2;
47 uint8_t rsvd_spd_encode_1;
48 uint8_t m10g_encode;
49 uint8_t m2500_encode;
50 uint8_t m1000_encode;
51 uint8_t m100_encode;
52 uint8_t m10_encode;
53 uint8_t no_link_encode;
54 } lport_led_link_and_speed_encoding;
55
56 int ag_drv_lport_led_cntrl_set(uint8_t led_id, const lport_led_cntrl *cntrl);
57 int ag_drv_lport_led_cntrl_get(uint8_t led_id, lport_led_cntrl *cntrl);
58 int ag_drv_lport_led_link_and_speed_encoding_sel_set(uint8_t led_id, const lport_led_link_and_speed_encoding_sel *link_and_speed_encoding_sel);
59 int ag_drv_lport_led_link_and_speed_encoding_sel_get(uint8_t led_id, lport_led_link_and_speed_encoding_sel *link_and_speed_encoding_sel);
60 int ag_drv_lport_led_link_and_speed_encoding_set(uint8_t led_id, const lport_led_link_and_speed_encoding *link_and_speed_encoding);
61 int ag_drv_lport_led_link_and_speed_encoding_get(uint8_t led_id, lport_led_link_and_speed_encoding *link_and_speed_encoding);
62 int ag_drv_lport_led_aggregate_led_cntrl_set(uint8_t led_id, uint8_t lnk_pol_sel, uint8_t act_pol_sel, uint8_t act_sel, uint16_t port_en);
63 int ag_drv_lport_led_aggregate_led_cntrl_get(uint8_t led_id, uint8_t *lnk_pol_sel, uint8_t *act_pol_sel, uint8_t *act_sel, uint16_t *port_en);
64 int ag_drv_lport_led_aggregate_led_blink_rate_cntrl_set(uint8_t led_id, uint16_t led_on_time, uint16_t led_off_time);
65 int ag_drv_lport_led_aggregate_led_blink_rate_cntrl_get(uint8_t led_id, uint16_t *led_on_time, uint16_t *led_off_time);
66
67 #ifdef USE_BDMF_SHELL
68 bdmfmon_handle_t ag_drv_lport_led_cli_init(bdmfmon_handle_t driver_dir);
69 #endif
70
71
72 #endif
73