/* Use 64-bit addressing. */
        ehci_ctl.s.ehci_64b_addr_en = 1;
        ehci_ctl.s.l2c_addr_msb = 0;
+#ifdef __BIG_ENDIAN
        ehci_ctl.s.l2c_buff_emod = 1; /* Byte swapped. */
        ehci_ctl.s.l2c_desc_emod = 1; /* Byte swapped. */
+#else
+       ehci_ctl.s.l2c_buff_emod = 0; /* not swapped. */
+       ehci_ctl.s.l2c_desc_emod = 0; /* not swapped. */
+       ehci_ctl.s.inv_reg_a2 = 1;
+#endif
        cvmx_write_csr(CVMX_UCTLX_EHCI_CTL(0), ehci_ctl.u64);
 
        octeon2_usb_clocks_stop();
 
        ohci_ctl.u64 = cvmx_read_csr(CVMX_UCTLX_OHCI_CTL(0));
        ohci_ctl.s.l2c_addr_msb = 0;
+#ifdef __BIG_ENDIAN
        ohci_ctl.s.l2c_buff_emod = 1; /* Byte swapped. */
        ohci_ctl.s.l2c_desc_emod = 1; /* Byte swapped. */
+#else
+       ohci_ctl.s.l2c_buff_emod = 0; /* not swapped. */
+       ohci_ctl.s.l2c_desc_emod = 0; /* not swapped. */
+       ohci_ctl.s.inv_reg_a2 = 1;
+#endif
        cvmx_write_csr(CVMX_UCTLX_OHCI_CTL(0), ohci_ctl.u64);
 
        octeon2_usb_clocks_stop();