]>
Commit | Line | Data |
---|---|---|
ec8f24b7 | 1 | # SPDX-License-Identifier: GPL-2.0-only |
1da177e4 LT |
2 | if ARCH_IXP4XX |
3 | ||
1da177e4 LT |
4 | menu "Intel IXP4xx Implementation Options" |
5 | ||
6 | comment "IXP4xx Platforms" | |
7 | ||
9540724c LW |
8 | config MACH_IXP4XX_OF |
9 | bool | |
0da518da | 10 | prompt "Device Tree IXP4xx boards" |
9540724c LW |
11 | default y |
12 | select ARM_APPENDED_DTB # Old Redboot bootloaders deployed | |
13 | select I2C | |
14 | select I2C_IOP3XX | |
15 | select PCI | |
9540724c LW |
16 | select USE_OF |
17 | help | |
18 | Say 'Y' here to support Device Tree-based IXP4xx platforms. | |
19 | ||
46918bd1 IK |
20 | config MACH_GATEWAY7001 |
21 | bool "Gateway 7001" | |
d5d9f7ac | 22 | depends on IXP4XX_PCI_LEGACY |
46918bd1 IK |
23 | help |
24 | Say 'Y' here if you want your kernel to support Gateway's | |
25 | 7001 Access Point. For more information on this platform, | |
26 | see http://openwrt.org | |
27 | ||
11c79740 KH |
28 | config MACH_GORAMO_MLR |
29 | bool "GORAMO Multi Link Router" | |
796a8c85 | 30 | depends on IXP4XX_PCI_LEGACY |
11c79740 KH |
31 | help |
32 | Say 'Y' here if you want your kernel to support GORAMO | |
33 | MultiLink router. | |
34 | ||
1da177e4 LT |
35 | config ARCH_PRPMC1100 |
36 | bool "PrPMC1100" | |
37 | help | |
38 | Say 'Y' here if you want your kernel to support the Motorola | |
39 | PrPCM1100 Processor Mezanine Module. For more information on | |
dc7a12bd | 40 | this platform, see <file:Documentation/arm/ixp4xx.rst>. |
1da177e4 | 41 | |
1da177e4 LT |
42 | # |
43 | # Certain registers and IRQs are only enabled if supporting IXP465 CPUs | |
44 | # | |
45 | config CPU_IXP46X | |
46 | bool | |
47 | depends on MACH_IXDP465 | |
48 | default y | |
49 | ||
45fba084 RS |
50 | config CPU_IXP43X |
51 | bool | |
52 | depends on MACH_KIXRP435 | |
53 | default y | |
54 | ||
1da177e4 LT |
55 | comment "IXP4xx Options" |
56 | ||
d5d9f7ac LW |
57 | config IXP4XX_PCI_LEGACY |
58 | bool "IXP4xx legacy PCI driver support" | |
59 | depends on PCI | |
60 | help | |
61 | Selects legacy PCI driver. | |
62 | Not recommended for new development. | |
63 | ||
1da177e4 LT |
64 | config IXP4XX_INDIRECT_PCI |
65 | bool "Use indirect PCI memory access" | |
d5d9f7ac | 66 | depends on IXP4XX_PCI_LEGACY |
1da177e4 LT |
67 | help |
68 | IXP4xx provides two methods of accessing PCI memory space: | |
69 | ||
ed5b9fa0 | 70 | 1) A direct mapped window from 0x48000000 to 0x4BFFFFFF (64MB). |
1da177e4 LT |
71 | To access PCI via this space, we simply ioremap() the BAR |
72 | into the kernel and we can use the standard read[bwl]/write[bwl] | |
73 | macros. This is the preferred method due to speed but it | |
ed5b9fa0 | 74 | limits the system to just 64MB of PCI memory. This can be |
3cb2fccc | 75 | problematic if using video cards and other memory-heavy devices. |
ed5b9fa0 KH |
76 | |
77 | 2) If > 64MB of memory space is required, the IXP4xx can be | |
78 | configured to use indirect registers to access the whole PCI | |
79 | memory space. This currently allows for up to 1 GB (0x10000000 | |
80 | to 0x4FFFFFFF) of memory on the bus. The disadvantage of this | |
81 | is that every PCI access requires three local register accesses | |
82 | plus a spinlock, but in some cases the performance hit is | |
83 | acceptable. In addition, you cannot mmap() PCI devices in this | |
84 | case due to the indirect nature of the PCI window. | |
1da177e4 LT |
85 | |
86 | By default, the direct method is used. Choose this option if you | |
87 | need to use the indirect method instead. If you don't know | |
88 | what you need, leave this option unselected. | |
89 | ||
90 | endmenu | |
91 | ||
92 | endif |