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