Commit 5a967fb3 authored by Oded Gabbay's avatar Oded Gabbay
Browse files

habanalabs/gaudi: update to latest f/w specs



Update the firmware interface files to their latest version.

Signed-off-by: default avatarOded Gabbay <ogabbay@kernel.org>
parent 5bc691d8
Loading
Loading
Loading
Loading
+26 −10
Original line number Diff line number Diff line
@@ -333,18 +333,35 @@ struct cpu_dyn_regs {
#define HL_COMMS_DESC_VER	1

/* HCMv - Habana Communications Message + header version */
#define HL_COMMS_MSG_MAGIC_VER(ver)	(0x48434D00 | ((ver) & 0xff))
#define HL_COMMS_MSG_MAGIC_VALUE	0x48434D00
#define HL_COMMS_MSG_MAGIC_MASK		0xFFFFFF00
#define HL_COMMS_MSG_MAGIC_VER_MASK	0xFF

#define HL_COMMS_MSG_MAGIC_VER(ver)	(HL_COMMS_MSG_MAGIC_VALUE |	\
					((ver) & HL_COMMS_MSG_MAGIC_VER_MASK))
#define HL_COMMS_MSG_MAGIC_V0		HL_COMMS_DESC_MAGIC
#define HL_COMMS_MSG_MAGIC_V1		HL_COMMS_MSG_MAGIC_VER(1)

#define HL_COMMS_MSG_MAGIC		HL_COMMS_MSG_MAGIC_V1

#define HL_COMMS_MSG_MAGIC_VALIDATE_MAGIC(magic)			\
		(((magic) & HL_COMMS_MSG_MAGIC_MASK) ==			\
		HL_COMMS_MSG_MAGIC_VALUE)

#define HL_COMMS_MSG_MAGIC_VALIDATE_VERSION(magic, ver)			\
		(((magic) & HL_COMMS_MSG_MAGIC_VER_MASK) >=		\
		((ver) & HL_COMMS_MSG_MAGIC_VER_MASK))

#define HL_COMMS_MSG_MAGIC_VALIDATE(magic, ver)				\
		(HL_COMMS_MSG_MAGIC_VALIDATE_MAGIC((magic)) &&		\
		HL_COMMS_MSG_MAGIC_VALIDATE_VERSION((magic), (ver)))

enum comms_msg_type {
	HL_COMMS_DESC_TYPE = 0,
	HL_COMMS_RESET_CAUSE_TYPE = 1,
};

/* TODO: remove this struct after the code is updated to use comms_msg_header */
/* TODO: remove this struct after the code is updated to use message */
/* this is the comms descriptor header - meta data */
struct comms_desc_header {
	__le32 magic;		/* magic for validation */
@@ -372,8 +389,7 @@ struct lkd_fw_comms_desc {
	char cur_fw_ver[VERSION_MAX_LEN];
	/* can be used for 1 more version w/o ABI change */
	char reserved0[VERSION_MAX_LEN];
	/* address for next FW component load */
	__le64 img_addr;
	__le64 img_addr;	/* address for next FW component load */
};

enum comms_reset_cause {
@@ -382,10 +398,11 @@ enum comms_reset_cause {
	HL_RESET_CAUSE_TDR = 2,
};

#define RESET_CAUSE_PADDING	7
/* TODO: remove define after struct name is aligned on all projects */
#define lkd_msg_comms lkd_fw_comms_msg

/* this is the comms message descriptor */
struct lkd_msg_comms {
struct lkd_fw_comms_msg {
	struct comms_msg_header header;
	/* union for future expantions of new messages */
	union {
@@ -400,7 +417,6 @@ struct lkd_msg_comms {
		};
		struct {
			__u8 reset_cause;
			__u8 reserved[RESET_CAUSE_PADDING]; /* 64 bit pad */
		};
	};
};
+7 −0
Original line number Diff line number Diff line
@@ -20,6 +20,9 @@
#define UBOOT_FW_OFFSET			0x100000	/* 1MB in SRAM */
#define LINUX_FW_OFFSET			0x800000	/* 8MB in HBM */

/* HBM thermal delta in [Deg] added to composite (CTemp) */
#define HBM_TEMP_ADJUST_COEFF		6

enum gaudi_nic_axi_error {
	RXB,
	RXE,
@@ -56,6 +59,8 @@ struct eq_nic_sei_event {
 * @pcs_link: has PCS link.
 * @phy_ready: is PHY ready.
 * @auto_neg: is Autoneg enabled.
 * @timeout_retransmission_cnt: timeout retransmission events
 * @high_ber_cnt: high ber events
 */
struct gaudi_nic_status {
	__u32 port;
@@ -69,6 +74,8 @@ struct gaudi_nic_status {
	__u8 pcs_link;
	__u8 phy_ready;
	__u8 auto_neg;
	__u32 timeout_retransmission_cnt;
	__u32 high_ber_cnt;
};

struct gaudi_flops_2_data {