Blame view
Documentation/arm/ixp4xx.rst
6.34 KB
dc7a12bdf docs: arm: conver... |
1 |
=========================================================== |
1da177e4c Linux-2.6.12-rc2 |
2 |
Release Notes for Linux on Intel's IXP4xx Network Processor |
dc7a12bdf docs: arm: conver... |
3 |
=========================================================== |
1da177e4c Linux-2.6.12-rc2 |
4 5 6 7 8 9 10 |
Maintained by Deepak Saxena <dsaxena@plexity.net> ------------------------------------------------------------------------- 1. Overview Intel's IXP4xx network processor is a highly integrated SOC that |
dc7a12bdf docs: arm: conver... |
11 |
is targeted for network applications, though it has become popular |
1da177e4c Linux-2.6.12-rc2 |
12 13 14 15 16 17 18 19 20 21 |
in industrial control and other areas due to low cost and power consumption. The IXP4xx family currently consists of several processors that support different network offload functions such as encryption, routing, firewalling, etc. The IXP46x family is an updated version which supports faster speeds, new memory and flash configurations, and more integration such as an on-chip I2C controller. For more information on the various versions of the CPU, see: http://developer.intel.com/design/network/products/npfamily/ixp4xx.htm |
dc7a12bdf docs: arm: conver... |
22 |
Intel also made the IXCP1100 CPU for sometime which is an IXP4xx |
1da177e4c Linux-2.6.12-rc2 |
23 24 25 26 27 28 29 30 31 32 |
stripped of much of the network intelligence. 2. Linux Support Linux currently supports the following features on the IXP4xx chips: - Dual serial ports - PCI interface - Flash access (MTD/JFFS) - I2C through GPIO on IXP42x |
dc7a12bdf docs: arm: conver... |
33 |
- GPIO for input/output/interrupts |
a09e64fbc [ARM] Move includ... |
34 |
See arch/arm/mach-ixp4xx/include/mach/platform.h for access functions. |
1da177e4c Linux-2.6.12-rc2 |
35 36 37 |
- Timers (watchdog, OS) The following components of the chips are not supported by Linux and |
6d1ee2cef Documentation/arm... |
38 |
require the use of Intel's proprietary CSR software: |
1da177e4c Linux-2.6.12-rc2 |
39 40 41 42 43 44 45 |
- USB device interface - Network interfaces (HSS, Utopia, NPEs, etc) - Network offload functionality If you need to use any of the above, you need to download Intel's software from: |
dc7a12bdf docs: arm: conver... |
46 |
http://developer.intel.com/design/network/products/npfamily/ixp425.htm |
1da177e4c Linux-2.6.12-rc2 |
47 |
|
25985edce Fix common misspe... |
48 |
DO NOT POST QUESTIONS TO THE LINUX MAILING LISTS REGARDING THE PROPRIETARY |
1da177e4c Linux-2.6.12-rc2 |
49 50 51 52 |
SOFTWARE. There are several websites that provide directions/pointers on using Intel's software: |
dc7a12bdf docs: arm: conver... |
53 54 |
- http://sourceforge.net/projects/ixp4xx-osdg/ Open Source Developer's Guide for using uClinux and the Intel libraries |
1da177e4c Linux-2.6.12-rc2 |
55 |
|
dc7a12bdf docs: arm: conver... |
56 57 |
- http://gatewaymaker.sourceforge.net/ Simple one page summary of building a gateway using an IXP425 and Linux |
1da177e4c Linux-2.6.12-rc2 |
58 |
|
dc7a12bdf docs: arm: conver... |
59 60 |
- http://ixp425.sourceforge.net/ ATM device driver for IXP425 that relies on Intel's libraries |
1da177e4c Linux-2.6.12-rc2 |
61 62 63 64 65 66 67 68 69 |
3. Known Issues/Limitations 3a. Limited inbound PCI window The IXP4xx family allows for up to 256MB of memory but the PCI interface can only expose 64MB of that memory to the PCI bus. This means that if you are running with > 64MB, all PCI buffers outside of the accessible range will be bounced using the routines in arch/arm/common/dmabounce.c. |
dc7a12bdf docs: arm: conver... |
70 |
|
1da177e4c Linux-2.6.12-rc2 |
71 72 73 74 75 76 77 78 |
3b. Limited outbound PCI window IXP4xx provides two methods of accessing PCI memory space: 1) A direct mapped window from 0x48000000 to 0x4bffffff (64MB). To access PCI via this space, we simply ioremap() the BAR into the kernel and we can use the standard read[bwl]/write[bwl] macros. This is the preffered method due to speed but it |
dc7a12bdf docs: arm: conver... |
79 |
limits the system to just 64MB of PCI memory. This can be |
1da177e4c Linux-2.6.12-rc2 |
80 |
problamatic if using video cards and other memory-heavy devices. |
dc7a12bdf docs: arm: conver... |
81 82 83 84 85 86 87 |
2) If > 64MB of memory space is required, the IXP4xx can be configured to use indirect registers to access PCI This allows for up to 128MB (0x48000000 to 0x4fffffff) of memory on the bus. The disadvantage of this is that every PCI access requires three local register accesses plus a spinlock, but in some cases the performance hit is acceptable. In addition, you cannot |
1da177e4c Linux-2.6.12-rc2 |
88 89 90 91 92 93 94 |
mmap() PCI devices in this case due to the indirect nature of the PCI window. By default, the direct method is used for performance reasons. If you need more PCI memory, enable the IXP4XX_INDIRECT_PCI config option. 3c. GPIO as Interrupts |
dc7a12bdf docs: arm: conver... |
95 |
Currently the code only handles level-sensitive GPIO interrupts |
1da177e4c Linux-2.6.12-rc2 |
96 97 98 99 100 |
4. Supported platforms ADI Engineering Coyote Gateway Reference Platform http://www.adiengineering.com/productsCoyote.html |
dc7a12bdf docs: arm: conver... |
101 |
The ADI Coyote platform is reference design for those building |
1da177e4c Linux-2.6.12-rc2 |
102 103 104 105 106 107 108 109 |
small residential/office gateways. One NPE is connected to a 10/100 interface, one to 4-port 10/100 switch, and the third to and ADSL interface. In addition, it also supports to POTs interfaces connected via SLICs. Note that those are not supported by Linux ATM. Finally, the platform has two mini-PCI slots used for 802.11[bga] cards. Finally, there is an IDE port hanging off the expansion bus. Gateworks Avila Network Platform |
0ea6e6112 Documentation: up... |
110 |
http://www.gateworks.com/support/overview.php |
1da177e4c Linux-2.6.12-rc2 |
111 112 113 114 115 116 |
The Avila platform is basically and IXDP425 with the 4 PCI slots replaced with mini-PCI slots and a CF IDE interface hanging off the expansion bus. Intel IXDP425 Development Platform |
dc7a12bdf docs: arm: conver... |
117 |
http://www.intel.com/design/network/products/npfamily/ixdpg425.htm |
1da177e4c Linux-2.6.12-rc2 |
118 |
|
dc7a12bdf docs: arm: conver... |
119 |
This is Intel's standard reference platform for the IXDP425 and is |
1da177e4c Linux-2.6.12-rc2 |
120 121 122 123 |
also known as the Richfield board. It contains 4 PCI slots, 16MB of flash, two 10/100 ports and one ADSL port. Intel IXDP465 Development Platform |
0ea6e6112 Documentation: up... |
124 |
http://www.intel.com/design/network/products/npfamily/ixdp465.htm |
1da177e4c Linux-2.6.12-rc2 |
125 126 127 128 129 130 131 132 133 134 135 136 137 138 |
This is basically an IXDP425 with an IXP465 and 32M of flash instead of just 16. Intel IXDPG425 Development Platform This is basically and ADI Coyote board with a NEC EHCI controller added. One issue with this board is that the mini-PCI slots only have the 3.3v line connected, so you can't use a PCI to mini-PCI adapter with an E100 card. So to NFS root you need to use either the CSR or a WiFi card and a ramdisk that BOOTPs and then does a pivot_root to NFS. Motorola PrPMC1100 Processor Mezanine Card |
0ea6e6112 Documentation: up... |
139 |
http://www.fountainsys.com |
1da177e4c Linux-2.6.12-rc2 |
140 141 142 143 144 145 |
The PrPMC1100 is based on the IXCP1100 and is meant to plug into and IXP2400/2800 system to act as the system controller. It simply contains a CPU and 16MB of flash on the board and needs to be plugged into a carrier board to function. Currently Linux only supports the Motorola PrPMC carrier board for this platform. |
1da177e4c Linux-2.6.12-rc2 |
146 147 148 149 150 151 152 153 154 155 156 157 |
5. TODO LIST - Add support for Coyote IDE - Add support for edge-based GPIO interrupts - Add support for CF IDE on expansion bus 6. Thanks The IXP4xx work has been funded by Intel Corp. and MontaVista Software, Inc. The following people have contributed patches/comments/etc: |
dc7a12bdf docs: arm: conver... |
158 159 160 161 162 163 |
- Lennerty Buytenhek - Lutz Jaenicke - Justin Mayfield - Robert E. Ranslam [I know I've forgotten others, please email me to be added] |
1da177e4c Linux-2.6.12-rc2 |
164 165 166 167 |
------------------------------------------------------------------------- Last Update: 01/04/2005 |