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