Linux-libre 5.3.12-gnu
[librecmc/linux-libre.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_REPOSITORY_WRITE
89         bool "PS3 Repository write support" if PS3_ADVANCED
90         depends on PPC_PS3
91         help
92           Enables support for writing to the PS3 System Repository.
93
94           This support is intended for bootloaders that need to store data
95           in the repository for later boot stages.
96
97           If in doubt, say N here and reduce the size of the kernel by a
98           small amount.
99
100 config PS3_STORAGE
101         depends on PPC_PS3
102         tristate
103
104 config PS3_DISK
105         tristate "PS3 Disk Storage Driver"
106         depends on PPC_PS3 && BLOCK
107         select PS3_STORAGE
108         help
109           Include support for the PS3 Disk Storage.
110
111           This support is required to access the PS3 hard disk.
112           In general, all users will say Y or M.
113
114 config PS3_ROM
115         tristate "PS3 BD/DVD/CD-ROM Storage Driver"
116         depends on PPC_PS3 && SCSI
117         select PS3_STORAGE
118         help
119           Include support for the PS3 ROM Storage.
120
121           This support is required to access the PS3 BD/DVD/CD-ROM drive.
122           In general, all users will say Y or M.
123           Also make sure to say Y or M to "SCSI CDROM support" later.
124
125 config PS3_FLASH
126         tristate "PS3 FLASH ROM Storage Driver"
127         depends on PPC_PS3
128         select PS3_STORAGE
129         help
130           Include support for the PS3 FLASH ROM Storage.
131
132           This support is required to access the PS3 FLASH ROM, which
133           contains the boot loader and some boot options.
134           In general, PS3 OtherOS users will say Y or M.
135
136           As this driver needs a fixed buffer of 256 KiB of memory, it can
137           be disabled on the kernel command line using "ps3flash=off", to
138           not allocate this fixed buffer.
139
140 config PS3_VRAM
141         tristate "PS3 Video RAM Storage Driver"
142         depends on FB_PS3=y && BLOCK && m
143         help
144           This driver allows you to use excess PS3 video RAM as volatile
145           storage or system swap.
146
147 config PS3_LPM
148         tristate "PS3 Logical Performance Monitor support"
149         depends on PPC_PS3
150         help
151           Include support for the PS3 Logical Performance Monitor.
152
153           This support is required to use the logical performance monitor
154           of the PS3's LV1 hypervisor.
155
156           If you intend to use the advanced performance monitoring and
157           profiling support of the Cell processor with programs like
158           oprofile and perfmon2, then say Y or M, otherwise say N.
159
160 config PS3GELIC_UDBG
161         bool "PS3 udbg output via UDP broadcasts on Ethernet"
162         depends on PPC_PS3
163         help
164           Enables udbg early debugging output by sending broadcast UDP
165           via the Ethernet port (UDP port number 18194).
166
167           This driver uses a trivial implementation and is independent
168           from the main PS3 gelic network driver.
169
170           If in doubt, say N here.
171
172 endmenu