0001 # SPDX-License-Identifier: GPL-2.0
0002 config PPC_PS3
0003 bool "Sony PS3"
0004 depends on PPC64 && PPC_BOOK3S && CPU_BIG_ENDIAN
0005 select PPC_CELL
0006 select USB_OHCI_LITTLE_ENDIAN
0007 select USB_OHCI_BIG_ENDIAN_MMIO
0008 select USB_EHCI_BIG_ENDIAN_MMIO
0009 select HAVE_PCI
0010 select IRQ_DOMAIN_NOMAP
0011 help
0012 This option enables support for the Sony PS3 game console
0013 and other platforms using the PS3 hypervisor. Enabling this
0014 option will allow building otheros.bld, a kernel image suitable
0015 for programming into flash memory, and vmlinux, a kernel image
0016 suitable for loading via kexec.
0017
0018 menu "PS3 Platform Options"
0019 depends on PPC_PS3
0020
0021 config PS3_ADVANCED
0022 depends on PPC_PS3
0023 bool "PS3 Advanced configuration options"
0024 help
0025 This gives you access to some advanced options for the PS3. The
0026 defaults should be fine for most users, but these options may make
0027 it possible to better control the kernel configuration if you know
0028 what you are doing.
0029
0030 Note that the answer to this question won't directly affect the
0031 kernel: saying N will just cause the configurator to skip all
0032 the questions about these options.
0033
0034 Most users should say N to this question.
0035
0036 config PS3_HTAB_SIZE
0037 depends on PPC_PS3
0038 int "PS3 Platform pagetable size" if PS3_ADVANCED
0039 range 18 20
0040 default 20
0041 help
0042 This option is only for experts who may have the desire to fine
0043 tune the pagetable size on their system. The value here is
0044 expressed as the log2 of the page table size. Valid values are
0045 18, 19, and 20, corresponding to 256KB, 512KB and 1MB respectively.
0046
0047 If unsure, choose the default (20) with the confidence that your
0048 system will have optimal runtime performance.
0049
0050 config PS3_DYNAMIC_DMA
0051 depends on PPC_PS3
0052 bool "PS3 Platform dynamic DMA page table management"
0053 help
0054 This option will enable kernel support to take advantage of the
0055 per device dynamic DMA page table management provided by the Cell
0056 processor's IO Controller. This support incurs some runtime
0057 overhead and also slightly increases kernel memory usage. The
0058 current implementation should be considered experimental.
0059
0060 This support is mainly for Linux kernel development. If unsure,
0061 say N.
0062
0063 config PS3_VUART
0064 depends on PPC_PS3
0065 tristate
0066
0067 config PS3_PS3AV
0068 depends on PPC_PS3
0069 tristate "PS3 AV settings driver" if PS3_ADVANCED
0070 select PS3_VUART
0071 default y
0072 help
0073 Include support for the PS3 AV Settings driver.
0074
0075 This support is required for PS3 graphics and sound. In
0076 general, all users will say Y or M.
0077
0078 config PS3_SYS_MANAGER
0079 depends on PPC_PS3
0080 tristate "PS3 System Manager driver" if PS3_ADVANCED
0081 select PS3_VUART
0082 default y
0083 help
0084 Include support for the PS3 System Manager.
0085
0086 This support is required for PS3 system control. In
0087 general, all users will say Y or M.
0088
0089 config PS3_VERBOSE_RESULT
0090 bool "PS3 Verbose LV1 hypercall results" if PS3_ADVANCED
0091 depends on PPC_PS3
0092 help
0093 Enables more verbose log messages for LV1 hypercall results.
0094
0095 If in doubt, say N here and reduce the size of the kernel by a
0096 small amount.
0097
0098 config PS3_REPOSITORY_WRITE
0099 bool "PS3 Repository write support" if PS3_ADVANCED
0100 depends on PPC_PS3
0101 help
0102 Enables support for writing to the PS3 System Repository.
0103
0104 This support is intended for bootloaders that need to store data
0105 in the repository for later boot stages.
0106
0107 If in doubt, say N here and reduce the size of the kernel by a
0108 small amount.
0109
0110 config PS3_STORAGE
0111 depends on PPC_PS3
0112 tristate
0113
0114 config PS3_DISK
0115 tristate "PS3 Disk Storage Driver"
0116 depends on PPC_PS3 && BLOCK
0117 select PS3_STORAGE
0118 help
0119 Include support for the PS3 Disk Storage.
0120
0121 This support is required to access the PS3 hard disk.
0122 In general, all users will say Y or M.
0123
0124 config PS3_ROM
0125 tristate "PS3 BD/DVD/CD-ROM Storage Driver"
0126 depends on PPC_PS3 && SCSI
0127 select PS3_STORAGE
0128 help
0129 Include support for the PS3 ROM Storage.
0130
0131 This support is required to access the PS3 BD/DVD/CD-ROM drive.
0132 In general, all users will say Y or M.
0133 Also make sure to say Y or M to "SCSI CDROM support" later.
0134
0135 config PS3_FLASH
0136 tristate "PS3 FLASH ROM Storage Driver"
0137 depends on PPC_PS3
0138 select PS3_STORAGE
0139 help
0140 Include support for the PS3 FLASH ROM Storage.
0141
0142 This support is required to access the PS3 FLASH ROM, which
0143 contains the boot loader and some boot options.
0144 In general, PS3 OtherOS users will say Y or M.
0145
0146 As this driver needs a fixed buffer of 256 KiB of memory, it can
0147 be disabled on the kernel command line using "ps3flash=off", to
0148 not allocate this fixed buffer.
0149
0150 config PS3_VRAM
0151 tristate "PS3 Video RAM Storage Driver"
0152 depends on FB_PS3=y && BLOCK && m
0153 help
0154 This driver allows you to use excess PS3 video RAM as volatile
0155 storage or system swap.
0156
0157 config PS3_LPM
0158 tristate "PS3 Logical Performance Monitor support"
0159 depends on PPC_PS3
0160 help
0161 Include support for the PS3 Logical Performance Monitor.
0162
0163 This support is required to use the logical performance monitor
0164 of the PS3's LV1 hypervisor.
0165
0166 If you intend to use the advanced performance monitoring and
0167 profiling support of the Cell processor with programs like
0168 perfmon2, then say Y or M, otherwise say N.
0169
0170 config PS3GELIC_UDBG
0171 bool "PS3 udbg output via UDP broadcasts on Ethernet"
0172 depends on PPC_PS3
0173 help
0174 Enables udbg early debugging output by sending broadcast UDP
0175 via the Ethernet port (UDP port number 18194).
0176
0177 This driver uses a trivial implementation and is independent
0178 from the main PS3 gelic network driver.
0179
0180 If in doubt, say N here.
0181
0182 endmenu