mlxsw: reg: Add Management Cable IO and Notifications register
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>
This commit is contained in:
committed by
Jakub Kicinski
parent
f10ba086f7
commit
fc53f5fb80
@@ -10402,6 +10402,39 @@ static inline void mlxsw_reg_mlcr_pack(char *payload, u8 local_port,
|
|||||||
MLXSW_REG_MLCR_DURATION_MAX : 0);
|
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
|
/* MTPPS - Management Pulse Per Second Register
|
||||||
* --------------------------------------------
|
* --------------------------------------------
|
||||||
* This register provides the device PPS capabilities, configure the PPS in and
|
* This register provides the device PPS capabilities, configure the PPS in and
|
||||||
@@ -12446,6 +12479,7 @@ static const struct mlxsw_reg_info *mlxsw_reg_infos[] = {
|
|||||||
MLXSW_REG(mgir),
|
MLXSW_REG(mgir),
|
||||||
MLXSW_REG(mrsr),
|
MLXSW_REG(mrsr),
|
||||||
MLXSW_REG(mlcr),
|
MLXSW_REG(mlcr),
|
||||||
|
MLXSW_REG(mcion),
|
||||||
MLXSW_REG(mtpps),
|
MLXSW_REG(mtpps),
|
||||||
MLXSW_REG(mtutc),
|
MLXSW_REG(mtutc),
|
||||||
MLXSW_REG(mpsc),
|
MLXSW_REG(mpsc),
|
||||||
|
Reference in New Issue
Block a user