lshw parses /proc/device-tree to read system properties on device-tree-based platforms. But, on little endian systems like armhf and arm64, it doesn't properly convert the data, which should always be big endian. This can cause incorrect data to be reported. For instance, a 1GHz cpu might be reported as 13MHz because lshw reads a frequency of 0xca9a3b (13MHz) instead of 0x3b9aca00 (1GHz).
lshw parses /proc/device-tree to read system properties on device-tree-based platforms. But, on little endian systems like armhf and arm64, it doesn't properly convert the data, which should always be big endian. This can cause incorrect data to be reported. For instance, a 1GHz cpu might be reported as 13MHz because lshw reads a frequency of 0xca9a3b (13MHz) instead of 0x3b9aca00 (1GHz).