MIPS: Octeon: Move cvmx_fuse_read_byte()
[cascardo/linux.git] / arch / mips / cavium-octeon / executive / octeon-model.c
index f4c1b36..e187872 100644 (file)
 
 #include <asm/octeon/octeon.h>
 
+/**
+ * Read a byte of fuse data
+ * @byte_addr:  address to read
+ *
+ * Returns fuse value: 0 or 1
+ */
+uint8_t cvmx_fuse_read_byte(int byte_addr)
+{
+       union cvmx_mio_fus_rcmd read_cmd;
+
+       read_cmd.u64 = 0;
+       read_cmd.s.addr = byte_addr;
+       read_cmd.s.pend = 1;
+       cvmx_write_csr(CVMX_MIO_FUS_RCMD, read_cmd.u64);
+       while ((read_cmd.u64 = cvmx_read_csr(CVMX_MIO_FUS_RCMD))
+              && read_cmd.s.pend)
+               ;
+       return read_cmd.s.dat;
+}
+
 /**
  * Given the chip processor ID from COP0, this function returns a
  * string representing the chip model number. The string is of the