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 	select IRQ_DOMAIN_NOMAP
11 	help
12 	  This option enables support for the Sony PS3 game console
13 	  and other platforms using the PS3 hypervisor.  Enabling this
14 	  option will allow building otheros.bld, a kernel image suitable
15 	  for programming into flash memory, and vmlinux, a kernel image
16 	  suitable for loading via kexec.
17 
18 menu "PS3 Platform Options"
19 	depends on PPC_PS3
20 
21 config PS3_ADVANCED
22 	depends on PPC_PS3
23 	bool "PS3 Advanced configuration options"
24 	help
25 	  This gives you access to some advanced options for the PS3. The
26 	  defaults should be fine for most users, but these options may make
27 	  it possible to better control the kernel configuration if you know
28 	  what you are doing.
29 
30 	  Note that the answer to this question won't directly affect the
31 	  kernel: saying N will just cause the configurator to skip all
32 	  the questions about these options.
33 
34 	  Most users should say N to this question.
35 
36 config PS3_HTAB_SIZE
37 	depends on PPC_PS3
38 	int "PS3 Platform pagetable size" if PS3_ADVANCED
39 	range 18 20
40 	default 20
41 	help
42 	  This option is only for experts who may have the desire to fine
43 	  tune the pagetable size on their system.  The value here is
44 	  expressed as the log2 of the page table size.  Valid values are
45 	  18, 19, and 20, corresponding to 256KB, 512KB and 1MB respectively.
46 
47 	  If unsure, choose the default (20) with the confidence that your
48 	  system will have optimal runtime performance.
49 
50 config PS3_DYNAMIC_DMA
51 	depends on PPC_PS3
52 	bool "PS3 Platform dynamic DMA page table management"
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_VERBOSE_RESULT
90 	bool "PS3 Verbose LV1 hypercall results" if PS3_ADVANCED
91 	depends on PPC_PS3
92 	help
93 	  Enables more verbose log mesages for LV1 hypercall results.
94 
95 	  If in doubt, say N here and reduce the size of the kernel by a
96 	  small amount.
97 
98 config PS3_REPOSITORY_WRITE
99 	bool "PS3 Repository write support" if PS3_ADVANCED
100 	depends on PPC_PS3
101 	help
102 	  Enables support for writing to the PS3 System Repository.
103 
104 	  This support is intended for bootloaders that need to store data
105 	  in the repository for later boot stages.
106 
107 	  If in doubt, say N here and reduce the size of the kernel by a
108 	  small amount.
109 
110 config PS3_STORAGE
111 	depends on PPC_PS3
112 	tristate
113 
114 config PS3_DISK
115 	tristate "PS3 Disk Storage Driver"
116 	depends on PPC_PS3 && BLOCK
117 	select PS3_STORAGE
118 	help
119 	  Include support for the PS3 Disk Storage.
120 
121 	  This support is required to access the PS3 hard disk.
122 	  In general, all users will say Y or M.
123 
124 config PS3_ROM
125 	tristate "PS3 BD/DVD/CD-ROM Storage Driver"
126 	depends on PPC_PS3 && SCSI
127 	select PS3_STORAGE
128 	help
129 	  Include support for the PS3 ROM Storage.
130 
131 	  This support is required to access the PS3 BD/DVD/CD-ROM drive.
132 	  In general, all users will say Y or M.
133 	  Also make sure to say Y or M to "SCSI CDROM support" later.
134 
135 config PS3_FLASH
136 	tristate "PS3 FLASH ROM Storage Driver"
137 	depends on PPC_PS3
138 	select PS3_STORAGE
139 	help
140 	  Include support for the PS3 FLASH ROM Storage.
141 
142 	  This support is required to access the PS3 FLASH ROM, which
143 	  contains the boot loader and some boot options.
144 	  In general, PS3 OtherOS users will say Y or M.
145 
146 	  As this driver needs a fixed buffer of 256 KiB of memory, it can
147 	  be disabled on the kernel command line using "ps3flash=off", to
148 	  not allocate this fixed buffer.
149 
150 config PS3_VRAM
151 	tristate "PS3 Video RAM Storage Driver"
152 	depends on FB_PS3=y && BLOCK && m
153 	help
154 	  This driver allows you to use excess PS3 video RAM as volatile
155 	  storage or system swap.
156 
157 config PS3_LPM
158 	tristate "PS3 Logical Performance Monitor support"
159 	depends on PPC_PS3
160 	help
161 	  Include support for the PS3 Logical Performance Monitor.
162 
163 	  This support is required to use the logical performance monitor
164 	  of the PS3's LV1 hypervisor.
165 
166 	  If you intend to use the advanced performance monitoring and
167 	  profiling support of the Cell processor with programs like
168 	  oprofile and perfmon2, then say Y or M, otherwise say N.
169 
170 config PS3GELIC_UDBG
171 	bool "PS3 udbg output via UDP broadcasts on Ethernet"
172 	depends on PPC_PS3
173 	help
174 	  Enables udbg early debugging output by sending broadcast UDP
175 	  via the Ethernet port (UDP port number 18194).
176 
177 	  This driver uses a trivial implementation and is independent
178 	  from the main PS3 gelic network driver.
179 
180 	  If in doubt, say N here.
181 
182 endmenu
183