Re: [PATCH] 2.6.14-rc3 ixp4xx_copy_from little endian/alignment

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



John Bowler wrote:
+/* On a little-endian IXP4XX system (tested on NSLU2) contrary to the
+ * Intel documentation LDRH/STRH appears to XOR the address with 10b.
I don't think this is correct. i.e., I think the Intel docmentation is 
correct.
The Application Note on IXP4xx endianess operation[1] says that (by 
default) the XScale core operates in address coherency mode (i.e., it 
flips address bits).  I suspect you need to set BYTE_SWAP_EN in 
EXP_CNFG1 and use the P bit in the MMU to get data coherency mode for 
various peripherals (probably all expansion bus periperals and possibly 
all the APB peripherals).
Also, I've noticed that the PCI_CSR is mis-configured when the XScale 
core is in little-endian mode.  ABE (AHB is big-endian) /must/ always be 
set -- remember that the NPEs are always big-endian devices.
Since I'd never run an IXP4xx in little-endian mode I've not looked at 
this issue in any great depth so I could be wrong here.  Regardless, the 
proposed hack to the flash map driver is wrong since all expansion bus 
peripherals are affected not just flash (i.e., the solution needs to be 
more generic rather than flash driver specific).
David Vrabel

[1] http://www.intel.com/design/network/applnots/25423701.pdf
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux