Merge branch 'fixes' into next
[linux-2.6-block.git] / arch / powerpc / platforms / ps3 / Kconfig
1 # SPDX-License-Identifier: GPL-2.0
2 config PPC_PS3
3         bool "Sony PS3"
4         depends on PPC64 && PPC_BOOK3S && CPU_BIG_ENDIAN
5         select PPC_CELL
6         select USB_OHCI_LITTLE_ENDIAN
7         select USB_OHCI_BIG_ENDIAN_MMIO
8         select USB_EHCI_BIG_ENDIAN_MMIO
9         select HAVE_PCI
10         help
11           This option enables support for the Sony PS3 game console
12           and other platforms using the PS3 hypervisor.  Enabling this
13           option will allow building otheros.bld, a kernel image suitable
14           for programming into flash memory, and vmlinux, a kernel image
15           suitable for loading via kexec.
16
17 menu "PS3 Platform Options"
18         depends on PPC_PS3
19
20 config PS3_ADVANCED
21         depends on PPC_PS3
22         bool "PS3 Advanced configuration options"
23         help
24           This gives you access to some advanced options for the PS3. The
25           defaults should be fine for most users, but these options may make
26           it possible to better control the kernel configuration if you know
27           what you are doing.
28
29           Note that the answer to this question won't directly affect the
30           kernel: saying N will just cause the configurator to skip all
31           the questions about these options.
32
33           Most users should say N to this question.
34
35 config PS3_HTAB_SIZE
36         depends on PPC_PS3
37         int "PS3 Platform pagetable size" if PS3_ADVANCED
38         range 18 20
39         default 20
40         help
41           This option is only for experts who may have the desire to fine
42           tune the pagetable size on their system.  The value here is
43           expressed as the log2 of the page table size.  Valid values are
44           18, 19, and 20, corresponding to 256KB, 512KB and 1MB respectively.
45
46           If unsure, choose the default (20) with the confidence that your
47           system will have optimal runtime performance.
48
49 config PS3_DYNAMIC_DMA
50         depends on PPC_PS3
51         bool "PS3 Platform dynamic DMA page table management"
52         help
53           This option will enable kernel support to take advantage of the
54           per device dynamic DMA page table management provided by the Cell
55           processor's IO Controller.  This support incurs some runtime
56           overhead and also slightly increases kernel memory usage.  The
57           current implementation should be considered experimental.
58
59           This support is mainly for Linux kernel development.  If unsure,
60           say N.
61
62 config PS3_VUART
63         depends on PPC_PS3
64         tristate
65
66 config PS3_PS3AV
67         depends on PPC_PS3
68         tristate "PS3 AV settings driver" if PS3_ADVANCED
69         select PS3_VUART
70         default y
71         help
72           Include support for the PS3 AV Settings driver.
73
74           This support is required for PS3 graphics and sound. In
75           general, all users will say Y or M.
76
77 config PS3_SYS_MANAGER
78         depends on PPC_PS3
79         tristate "PS3 System Manager driver" if PS3_ADVANCED
80         select PS3_VUART
81         default y
82         help
83           Include support for the PS3 System Manager.
84
85           This support is required for PS3 system control.  In
86           general, all users will say Y or M.
87
88 config PS3_VERBOSE_RESULT
89         bool "PS3 Verbose LV1 hypercall results" if PS3_ADVANCED
90         depends on PPC_PS3
91         help
92           Enables more verbose log mesages for LV1 hypercall results.
93
94           If in doubt, say N here and reduce the size of the kernel by a
95           small amount.
96
97 config PS3_REPOSITORY_WRITE
98         bool "PS3 Repository write support" if PS3_ADVANCED
99         depends on PPC_PS3
100         help
101           Enables support for writing to the PS3 System Repository.
102
103           This support is intended for bootloaders that need to store data
104           in the repository for later boot stages.
105
106           If in doubt, say N here and reduce the size of the kernel by a
107           small amount.
108
109 config PS3_STORAGE
110         depends on PPC_PS3
111         tristate
112
113 config PS3_DISK
114         tristate "PS3 Disk Storage Driver"
115         depends on PPC_PS3 && BLOCK
116         select PS3_STORAGE
117         help
118           Include support for the PS3 Disk Storage.
119
120           This support is required to access the PS3 hard disk.
121           In general, all users will say Y or M.
122
123 config PS3_ROM
124         tristate "PS3 BD/DVD/CD-ROM Storage Driver"
125         depends on PPC_PS3 && SCSI
126         select PS3_STORAGE
127         help
128           Include support for the PS3 ROM Storage.
129
130           This support is required to access the PS3 BD/DVD/CD-ROM drive.
131           In general, all users will say Y or M.
132           Also make sure to say Y or M to "SCSI CDROM support" later.
133
134 config PS3_FLASH
135         tristate "PS3 FLASH ROM Storage Driver"
136         depends on PPC_PS3
137         select PS3_STORAGE
138         help
139           Include support for the PS3 FLASH ROM Storage.
140
141           This support is required to access the PS3 FLASH ROM, which
142           contains the boot loader and some boot options.
143           In general, PS3 OtherOS users will say Y or M.
144
145           As this driver needs a fixed buffer of 256 KiB of memory, it can
146           be disabled on the kernel command line using "ps3flash=off", to
147           not allocate this fixed buffer.
148
149 config PS3_VRAM
150         tristate "PS3 Video RAM Storage Driver"
151         depends on FB_PS3=y && BLOCK && m
152         help
153           This driver allows you to use excess PS3 video RAM as volatile
154           storage or system swap.
155
156 config PS3_LPM
157         tristate "PS3 Logical Performance Monitor support"
158         depends on PPC_PS3
159         help
160           Include support for the PS3 Logical Performance Monitor.
161
162           This support is required to use the logical performance monitor
163           of the PS3's LV1 hypervisor.
164
165           If you intend to use the advanced performance monitoring and
166           profiling support of the Cell processor with programs like
167           oprofile and perfmon2, then say Y or M, otherwise say N.
168
169 config PS3GELIC_UDBG
170         bool "PS3 udbg output via UDP broadcasts on Ethernet"
171         depends on PPC_PS3
172         help
173           Enables udbg early debugging output by sending broadcast UDP
174           via the Ethernet port (UDP port number 18194).
175
176           This driver uses a trivial implementation and is independent
177           from the main PS3 gelic network driver.
178
179           If in doubt, say N here.
180
181 endmenu