Skip to content

Commit

Permalink
mlxsw: reg: Add Management Cable IO and Notifications register
Browse files Browse the repository at this point in the history
Add the Management Cable IO and Notifications register. It will be used
to retrieve the power mode status of a module in subsequent patches and
whether a module is present in a cage or not.

Signed-off-by: Ido Schimmel <idosch@nvidia.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  • Loading branch information
idosch authored and kuba-moo committed Oct 7, 2021
1 parent f10ba08 commit fc53f5f
Showing 1 changed file with 34 additions and 0 deletions.
34 changes: 34 additions & 0 deletions drivers/net/ethernet/mellanox/mlxsw/reg.h
Original file line number Diff line number Diff line change
Expand Up @@ -10402,6 +10402,39 @@ static inline void mlxsw_reg_mlcr_pack(char *payload, u8 local_port,
MLXSW_REG_MLCR_DURATION_MAX : 0);
}

/* MCION - Management Cable IO and Notifications Register
* ------------------------------------------------------
* The MCION register is used to query transceiver modules' IO pins and other
* notifications.
*/
#define MLXSW_REG_MCION_ID 0x9052
#define MLXSW_REG_MCION_LEN 0x18

MLXSW_REG_DEFINE(mcion, MLXSW_REG_MCION_ID, MLXSW_REG_MCION_LEN);

/* reg_mcion_module
* Module number.
* Access: Index
*/
MLXSW_ITEM32(reg, mcion, module, 0x00, 16, 8);

enum {
MLXSW_REG_MCION_MODULE_STATUS_BITS_PRESENT_MASK = BIT(0),
MLXSW_REG_MCION_MODULE_STATUS_BITS_LOW_POWER_MASK = BIT(8),
};

/* reg_mcion_module_status_bits
* Module IO status as defined by SFF.
* Access: RO
*/
MLXSW_ITEM32(reg, mcion, module_status_bits, 0x04, 0, 16);

static inline void mlxsw_reg_mcion_pack(char *payload, u8 module)
{
MLXSW_REG_ZERO(mcion, payload);
mlxsw_reg_mcion_module_set(payload, module);
}

/* MTPPS - Management Pulse Per Second Register
* --------------------------------------------
* This register provides the device PPS capabilities, configure the PPS in and
Expand Down Expand Up @@ -12446,6 +12479,7 @@ static const struct mlxsw_reg_info *mlxsw_reg_infos[] = {
MLXSW_REG(mgir),
MLXSW_REG(mrsr),
MLXSW_REG(mlcr),
MLXSW_REG(mcion),
MLXSW_REG(mtpps),
MLXSW_REG(mtutc),
MLXSW_REG(mpsc),
Expand Down

0 comments on commit fc53f5f

Please sign in to comment.