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