18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
28c2ecf20Sopenharmony_ciconfig PPC_PS3
38c2ecf20Sopenharmony_ci	bool "Sony PS3"
48c2ecf20Sopenharmony_ci	depends on PPC64 && PPC_BOOK3S && CPU_BIG_ENDIAN
58c2ecf20Sopenharmony_ci	select PPC_CELL
68c2ecf20Sopenharmony_ci	select USB_OHCI_LITTLE_ENDIAN
78c2ecf20Sopenharmony_ci	select USB_OHCI_BIG_ENDIAN_MMIO
88c2ecf20Sopenharmony_ci	select USB_EHCI_BIG_ENDIAN_MMIO
98c2ecf20Sopenharmony_ci	select HAVE_PCI
108c2ecf20Sopenharmony_ci	help
118c2ecf20Sopenharmony_ci	  This option enables support for the Sony PS3 game console
128c2ecf20Sopenharmony_ci	  and other platforms using the PS3 hypervisor.  Enabling this
138c2ecf20Sopenharmony_ci	  option will allow building otheros.bld, a kernel image suitable
148c2ecf20Sopenharmony_ci	  for programming into flash memory, and vmlinux, a kernel image
158c2ecf20Sopenharmony_ci	  suitable for loading via kexec.
168c2ecf20Sopenharmony_ci
178c2ecf20Sopenharmony_cimenu "PS3 Platform Options"
188c2ecf20Sopenharmony_ci	depends on PPC_PS3
198c2ecf20Sopenharmony_ci
208c2ecf20Sopenharmony_ciconfig PS3_ADVANCED
218c2ecf20Sopenharmony_ci	depends on PPC_PS3
228c2ecf20Sopenharmony_ci	bool "PS3 Advanced configuration options"
238c2ecf20Sopenharmony_ci	help
248c2ecf20Sopenharmony_ci	  This gives you access to some advanced options for the PS3. The
258c2ecf20Sopenharmony_ci	  defaults should be fine for most users, but these options may make
268c2ecf20Sopenharmony_ci	  it possible to better control the kernel configuration if you know
278c2ecf20Sopenharmony_ci	  what you are doing.
288c2ecf20Sopenharmony_ci
298c2ecf20Sopenharmony_ci	  Note that the answer to this question won't directly affect the
308c2ecf20Sopenharmony_ci	  kernel: saying N will just cause the configurator to skip all
318c2ecf20Sopenharmony_ci	  the questions about these options.
328c2ecf20Sopenharmony_ci
338c2ecf20Sopenharmony_ci	  Most users should say N to this question.
348c2ecf20Sopenharmony_ci
358c2ecf20Sopenharmony_ciconfig PS3_HTAB_SIZE
368c2ecf20Sopenharmony_ci	depends on PPC_PS3
378c2ecf20Sopenharmony_ci	int "PS3 Platform pagetable size" if PS3_ADVANCED
388c2ecf20Sopenharmony_ci	range 18 20
398c2ecf20Sopenharmony_ci	default 20
408c2ecf20Sopenharmony_ci	help
418c2ecf20Sopenharmony_ci	  This option is only for experts who may have the desire to fine
428c2ecf20Sopenharmony_ci	  tune the pagetable size on their system.  The value here is
438c2ecf20Sopenharmony_ci	  expressed as the log2 of the page table size.  Valid values are
448c2ecf20Sopenharmony_ci	  18, 19, and 20, corresponding to 256KB, 512KB and 1MB respectively.
458c2ecf20Sopenharmony_ci
468c2ecf20Sopenharmony_ci	  If unsure, choose the default (20) with the confidence that your
478c2ecf20Sopenharmony_ci	  system will have optimal runtime performance.
488c2ecf20Sopenharmony_ci
498c2ecf20Sopenharmony_ciconfig PS3_DYNAMIC_DMA
508c2ecf20Sopenharmony_ci	depends on PPC_PS3
518c2ecf20Sopenharmony_ci	bool "PS3 Platform dynamic DMA page table management"
528c2ecf20Sopenharmony_ci	help
538c2ecf20Sopenharmony_ci	  This option will enable kernel support to take advantage of the
548c2ecf20Sopenharmony_ci	  per device dynamic DMA page table management provided by the Cell
558c2ecf20Sopenharmony_ci	  processor's IO Controller.  This support incurs some runtime
568c2ecf20Sopenharmony_ci	  overhead and also slightly increases kernel memory usage.  The
578c2ecf20Sopenharmony_ci	  current implementation should be considered experimental.
588c2ecf20Sopenharmony_ci
598c2ecf20Sopenharmony_ci	  This support is mainly for Linux kernel development.  If unsure,
608c2ecf20Sopenharmony_ci	  say N.
618c2ecf20Sopenharmony_ci
628c2ecf20Sopenharmony_ciconfig PS3_VUART
638c2ecf20Sopenharmony_ci	depends on PPC_PS3
648c2ecf20Sopenharmony_ci	tristate
658c2ecf20Sopenharmony_ci
668c2ecf20Sopenharmony_ciconfig PS3_PS3AV
678c2ecf20Sopenharmony_ci	depends on PPC_PS3
688c2ecf20Sopenharmony_ci	tristate "PS3 AV settings driver" if PS3_ADVANCED
698c2ecf20Sopenharmony_ci	select PS3_VUART
708c2ecf20Sopenharmony_ci	default y
718c2ecf20Sopenharmony_ci	help
728c2ecf20Sopenharmony_ci	  Include support for the PS3 AV Settings driver.
738c2ecf20Sopenharmony_ci
748c2ecf20Sopenharmony_ci	  This support is required for PS3 graphics and sound. In
758c2ecf20Sopenharmony_ci	  general, all users will say Y or M.
768c2ecf20Sopenharmony_ci
778c2ecf20Sopenharmony_ciconfig PS3_SYS_MANAGER
788c2ecf20Sopenharmony_ci	depends on PPC_PS3
798c2ecf20Sopenharmony_ci	tristate "PS3 System Manager driver" if PS3_ADVANCED
808c2ecf20Sopenharmony_ci	select PS3_VUART
818c2ecf20Sopenharmony_ci	default y
828c2ecf20Sopenharmony_ci	help
838c2ecf20Sopenharmony_ci	  Include support for the PS3 System Manager.
848c2ecf20Sopenharmony_ci
858c2ecf20Sopenharmony_ci	  This support is required for PS3 system control.  In
868c2ecf20Sopenharmony_ci	  general, all users will say Y or M.
878c2ecf20Sopenharmony_ci
888c2ecf20Sopenharmony_ciconfig PS3_REPOSITORY_WRITE
898c2ecf20Sopenharmony_ci	bool "PS3 Repository write support" if PS3_ADVANCED
908c2ecf20Sopenharmony_ci	depends on PPC_PS3
918c2ecf20Sopenharmony_ci	help
928c2ecf20Sopenharmony_ci	  Enables support for writing to the PS3 System Repository.
938c2ecf20Sopenharmony_ci
948c2ecf20Sopenharmony_ci	  This support is intended for bootloaders that need to store data
958c2ecf20Sopenharmony_ci	  in the repository for later boot stages.
968c2ecf20Sopenharmony_ci
978c2ecf20Sopenharmony_ci	  If in doubt, say N here and reduce the size of the kernel by a
988c2ecf20Sopenharmony_ci	  small amount.
998c2ecf20Sopenharmony_ci
1008c2ecf20Sopenharmony_ciconfig PS3_STORAGE
1018c2ecf20Sopenharmony_ci	depends on PPC_PS3
1028c2ecf20Sopenharmony_ci	tristate
1038c2ecf20Sopenharmony_ci
1048c2ecf20Sopenharmony_ciconfig PS3_DISK
1058c2ecf20Sopenharmony_ci	tristate "PS3 Disk Storage Driver"
1068c2ecf20Sopenharmony_ci	depends on PPC_PS3 && BLOCK
1078c2ecf20Sopenharmony_ci	select PS3_STORAGE
1088c2ecf20Sopenharmony_ci	help
1098c2ecf20Sopenharmony_ci	  Include support for the PS3 Disk Storage.
1108c2ecf20Sopenharmony_ci
1118c2ecf20Sopenharmony_ci	  This support is required to access the PS3 hard disk.
1128c2ecf20Sopenharmony_ci	  In general, all users will say Y or M.
1138c2ecf20Sopenharmony_ci
1148c2ecf20Sopenharmony_ciconfig PS3_ROM
1158c2ecf20Sopenharmony_ci	tristate "PS3 BD/DVD/CD-ROM Storage Driver"
1168c2ecf20Sopenharmony_ci	depends on PPC_PS3 && SCSI
1178c2ecf20Sopenharmony_ci	select PS3_STORAGE
1188c2ecf20Sopenharmony_ci	help
1198c2ecf20Sopenharmony_ci	  Include support for the PS3 ROM Storage.
1208c2ecf20Sopenharmony_ci
1218c2ecf20Sopenharmony_ci	  This support is required to access the PS3 BD/DVD/CD-ROM drive.
1228c2ecf20Sopenharmony_ci	  In general, all users will say Y or M.
1238c2ecf20Sopenharmony_ci	  Also make sure to say Y or M to "SCSI CDROM support" later.
1248c2ecf20Sopenharmony_ci
1258c2ecf20Sopenharmony_ciconfig PS3_FLASH
1268c2ecf20Sopenharmony_ci	tristate "PS3 FLASH ROM Storage Driver"
1278c2ecf20Sopenharmony_ci	depends on PPC_PS3
1288c2ecf20Sopenharmony_ci	select PS3_STORAGE
1298c2ecf20Sopenharmony_ci	help
1308c2ecf20Sopenharmony_ci	  Include support for the PS3 FLASH ROM Storage.
1318c2ecf20Sopenharmony_ci
1328c2ecf20Sopenharmony_ci	  This support is required to access the PS3 FLASH ROM, which
1338c2ecf20Sopenharmony_ci	  contains the boot loader and some boot options.
1348c2ecf20Sopenharmony_ci	  In general, PS3 OtherOS users will say Y or M.
1358c2ecf20Sopenharmony_ci
1368c2ecf20Sopenharmony_ci	  As this driver needs a fixed buffer of 256 KiB of memory, it can
1378c2ecf20Sopenharmony_ci	  be disabled on the kernel command line using "ps3flash=off", to
1388c2ecf20Sopenharmony_ci	  not allocate this fixed buffer.
1398c2ecf20Sopenharmony_ci
1408c2ecf20Sopenharmony_ciconfig PS3_VRAM
1418c2ecf20Sopenharmony_ci	tristate "PS3 Video RAM Storage Driver"
1428c2ecf20Sopenharmony_ci	depends on FB_PS3=y && BLOCK && m
1438c2ecf20Sopenharmony_ci	help
1448c2ecf20Sopenharmony_ci	  This driver allows you to use excess PS3 video RAM as volatile
1458c2ecf20Sopenharmony_ci	  storage or system swap.
1468c2ecf20Sopenharmony_ci
1478c2ecf20Sopenharmony_ciconfig PS3_LPM
1488c2ecf20Sopenharmony_ci	tristate "PS3 Logical Performance Monitor support"
1498c2ecf20Sopenharmony_ci	depends on PPC_PS3
1508c2ecf20Sopenharmony_ci	help
1518c2ecf20Sopenharmony_ci	  Include support for the PS3 Logical Performance Monitor.
1528c2ecf20Sopenharmony_ci
1538c2ecf20Sopenharmony_ci	  This support is required to use the logical performance monitor
1548c2ecf20Sopenharmony_ci	  of the PS3's LV1 hypervisor.
1558c2ecf20Sopenharmony_ci
1568c2ecf20Sopenharmony_ci	  If you intend to use the advanced performance monitoring and
1578c2ecf20Sopenharmony_ci	  profiling support of the Cell processor with programs like
1588c2ecf20Sopenharmony_ci	  oprofile and perfmon2, then say Y or M, otherwise say N.
1598c2ecf20Sopenharmony_ci
1608c2ecf20Sopenharmony_ciconfig PS3GELIC_UDBG
1618c2ecf20Sopenharmony_ci	bool "PS3 udbg output via UDP broadcasts on Ethernet"
1628c2ecf20Sopenharmony_ci	depends on PPC_PS3
1638c2ecf20Sopenharmony_ci	help
1648c2ecf20Sopenharmony_ci	  Enables udbg early debugging output by sending broadcast UDP
1658c2ecf20Sopenharmony_ci	  via the Ethernet port (UDP port number 18194).
1668c2ecf20Sopenharmony_ci
1678c2ecf20Sopenharmony_ci	  This driver uses a trivial implementation and is independent
1688c2ecf20Sopenharmony_ci	  from the main PS3 gelic network driver.
1698c2ecf20Sopenharmony_ci
1708c2ecf20Sopenharmony_ci	  If in doubt, say N here.
1718c2ecf20Sopenharmony_ci
1728c2ecf20Sopenharmony_ciendmenu
173