The programming documentation states that the reset magic value is
"0x00000001 (Big Endian)", and the current code matches this by using
the value 0x01000000 for the implicitly little-endian writel().
Inspection of the FlexBoot source code reveals an exciting variety of
reset values, some suggestive of confusion around endianness.
Experimentation suggests that the value 0x01000001 works reliably
across a wide range of hardware.
Debugged-by: Christian Iversen <ci@iversenit.dk>
Signed-off-by: Michael Brown <mcb30@ipxe.org>
/* Device reset */
#define HERMON_RESET_OFFSET 0x0f0010
-#define HERMON_RESET_MAGIC 0x01000000UL
+#define HERMON_RESET_MAGIC 0x01000001UL
#define HERMON_RESET_WAIT_TIME_MS 1000
/* Work queue entry and completion queue entry opcodes */