GNU Linux-libre 4.19.264-gnu1
[releases.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 PPC_PCI_CHOICE
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         default n
53         help
54           This option will enable kernel support to take advantage of the
55           per device dynamic DMA page table management provided by the Cell
56           processor's IO Controller.  This support incurs some runtime
57           overhead and also slightly increases kernel memory usage.  The
58           current implementation should be considered experimental.
59
60           This support is mainly for Linux kernel development.  If unsure,
61           say N.
62
63 config PS3_VUART
64         depends on PPC_PS3
65         tristate
66
67 config PS3_PS3AV
68         depends on PPC_PS3
69         tristate "PS3 AV settings driver" if PS3_ADVANCED
70         select PS3_VUART
71         default y
72         help
73           Include support for the PS3 AV Settings driver.
74
75           This support is required for PS3 graphics and sound. In
76           general, all users will say Y or M.
77
78 config PS3_SYS_MANAGER
79         depends on PPC_PS3
80         tristate "PS3 System Manager driver" if PS3_ADVANCED
81         select PS3_VUART
82         default y
83         help
84           Include support for the PS3 System Manager.
85
86           This support is required for PS3 system control.  In
87           general, all users will say Y or M.
88
89 config PS3_REPOSITORY_WRITE
90         bool "PS3 Repository write support" if PS3_ADVANCED
91         depends on PPC_PS3
92         default n
93         help
94           Enables support for writing to the PS3 System Repository.
95
96           This support is intended for bootloaders that need to store data
97           in the repository for later boot stages.
98
99           If in doubt, say N here and reduce the size of the kernel by a
100           small amount.
101
102 config PS3_STORAGE
103         depends on PPC_PS3
104         tristate
105
106 config PS3_DISK
107         tristate "PS3 Disk Storage Driver"
108         depends on PPC_PS3 && BLOCK
109         select PS3_STORAGE
110         help
111           Include support for the PS3 Disk Storage.
112
113           This support is required to access the PS3 hard disk.
114           In general, all users will say Y or M.
115
116 config PS3_ROM
117         tristate "PS3 BD/DVD/CD-ROM Storage Driver"
118         depends on PPC_PS3 && SCSI
119         select PS3_STORAGE
120         help
121           Include support for the PS3 ROM Storage.
122
123           This support is required to access the PS3 BD/DVD/CD-ROM drive.
124           In general, all users will say Y or M.
125           Also make sure to say Y or M to "SCSI CDROM support" later.
126
127 config PS3_FLASH
128         tristate "PS3 FLASH ROM Storage Driver"
129         depends on PPC_PS3
130         select PS3_STORAGE
131         help
132           Include support for the PS3 FLASH ROM Storage.
133
134           This support is required to access the PS3 FLASH ROM, which
135           contains the boot loader and some boot options.
136           In general, PS3 OtherOS users will say Y or M.
137
138           As this driver needs a fixed buffer of 256 KiB of memory, it can
139           be disabled on the kernel command line using "ps3flash=off", to
140           not allocate this fixed buffer.
141
142 config PS3_VRAM
143         tristate "PS3 Video RAM Storage Driver"
144         depends on FB_PS3=y && BLOCK && m
145         help
146           This driver allows you to use excess PS3 video RAM as volatile
147           storage or system swap.
148
149 config PS3_LPM
150         tristate "PS3 Logical Performance Monitor support"
151         depends on PPC_PS3
152         help
153           Include support for the PS3 Logical Performance Monitor.
154
155           This support is required to use the logical performance monitor
156           of the PS3's LV1 hypervisor.
157
158           If you intend to use the advanced performance monitoring and
159           profiling support of the Cell processor with programs like
160           oprofile and perfmon2, then say Y or M, otherwise say N.
161
162 config PS3GELIC_UDBG
163         bool "PS3 udbg output via UDP broadcasts on Ethernet"
164         depends on PPC_PS3
165         help
166           Enables udbg early debugging output by sending broadcast UDP
167           via the Ethernet port (UDP port number 18194).
168
169           This driver uses a trivial implementation and is independent
170           from the main PS3 gelic network driver.
171
172           If in doubt, say N here.
173
174 endmenu