1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0-only 2*4882a593Smuzhiyun 3*4882a593Smuzhiyunmenuconfig MACINTOSH_DRIVERS 4*4882a593Smuzhiyun bool "Macintosh device drivers" 5*4882a593Smuzhiyun depends on PPC || MAC || X86 6*4882a593Smuzhiyun default y if (PPC_PMAC || MAC) 7*4882a593Smuzhiyun help 8*4882a593Smuzhiyun Say Y here to get to see options for devices used with Macintosh 9*4882a593Smuzhiyun computers. This option alone does not add any kernel code. 10*4882a593Smuzhiyun 11*4882a593Smuzhiyun If you say N, all options in this submenu will be skipped and disabled. 12*4882a593Smuzhiyun 13*4882a593Smuzhiyunif MACINTOSH_DRIVERS 14*4882a593Smuzhiyun 15*4882a593Smuzhiyunconfig ADB 16*4882a593Smuzhiyun bool "Apple Desktop Bus (ADB) support" 17*4882a593Smuzhiyun depends on MAC || (PPC_PMAC && PPC32) 18*4882a593Smuzhiyun help 19*4882a593Smuzhiyun Apple Desktop Bus (ADB) support is for support of devices which 20*4882a593Smuzhiyun are connected to an ADB port. ADB devices tend to have 4 pins. 21*4882a593Smuzhiyun If you have an Apple Macintosh prior to the iMac, an iBook or 22*4882a593Smuzhiyun PowerBook, or a "Blue and White G3", you probably want to say Y 23*4882a593Smuzhiyun here. Otherwise say N. 24*4882a593Smuzhiyun 25*4882a593Smuzhiyunconfig ADB_MACII 26*4882a593Smuzhiyun bool "Include Mac II ADB driver" 27*4882a593Smuzhiyun depends on ADB && MAC 28*4882a593Smuzhiyun help 29*4882a593Smuzhiyun Say Y here if want your kernel to support Macintosh systems that use 30*4882a593Smuzhiyun the Mac II style ADB. This includes the II, IIx, IIcx, SE/30, IIci, 31*4882a593Smuzhiyun Quadra 610, Quadra 650, Quadra 700, Quadra 800, Centris 610 and 32*4882a593Smuzhiyun Centris 650. 33*4882a593Smuzhiyun 34*4882a593Smuzhiyunconfig ADB_IOP 35*4882a593Smuzhiyun bool "Include IOP (IIfx/Quadra 9x0) ADB driver" 36*4882a593Smuzhiyun depends on ADB && MAC 37*4882a593Smuzhiyun help 38*4882a593Smuzhiyun The I/O Processor (IOP) is an Apple custom IC designed to provide 39*4882a593Smuzhiyun intelligent support for I/O controllers. It is described at 40*4882a593Smuzhiyun <http://www.angelfire.com/ca2/dev68k/iopdesc.html> to enable direct 41*4882a593Smuzhiyun support for it, say 'Y' here. 42*4882a593Smuzhiyun 43*4882a593Smuzhiyun# we want to change this to something like CONFIG_SYSCTRL_CUDA/PMU 44*4882a593Smuzhiyunconfig ADB_CUDA 45*4882a593Smuzhiyun bool "Support for Cuda/Egret based Macs and PowerMacs" 46*4882a593Smuzhiyun depends on (ADB || PPC_PMAC) && !PPC_PMAC64 47*4882a593Smuzhiyun select RTC_LIB 48*4882a593Smuzhiyun help 49*4882a593Smuzhiyun This provides support for Cuda/Egret based Macintosh and 50*4882a593Smuzhiyun Power Macintosh systems. This includes most m68k based Macs, 51*4882a593Smuzhiyun most Old World PowerMacs, the first generation iMacs, the 52*4882a593Smuzhiyun Blue & White G3 and the "Yikes" G4 (PCI Graphics). All later 53*4882a593Smuzhiyun models should use CONFIG_ADB_PMU instead. It is safe to say Y 54*4882a593Smuzhiyun here even if your machine doesn't have a Cuda or Egret device. 55*4882a593Smuzhiyun 56*4882a593Smuzhiyun If unsure say Y. 57*4882a593Smuzhiyun 58*4882a593Smuzhiyunconfig ADB_PMU 59*4882a593Smuzhiyun bool "Support for PMU based PowerMacs and PowerBooks" 60*4882a593Smuzhiyun depends on PPC_PMAC || MAC 61*4882a593Smuzhiyun select RTC_LIB 62*4882a593Smuzhiyun help 63*4882a593Smuzhiyun On PowerBooks, iBooks, and recent iMacs and Power Macintoshes, the 64*4882a593Smuzhiyun PMU is an embedded microprocessor whose primary function is to 65*4882a593Smuzhiyun control system power, and battery charging on the portable models. 66*4882a593Smuzhiyun The PMU also controls the ADB (Apple Desktop Bus) which connects to 67*4882a593Smuzhiyun the keyboard and mouse on some machines, as well as the non-volatile 68*4882a593Smuzhiyun RAM and the RTC (real time clock) chip. Say Y to enable support for 69*4882a593Smuzhiyun this device; you should do so if your machine is one of those 70*4882a593Smuzhiyun mentioned above. 71*4882a593Smuzhiyun 72*4882a593Smuzhiyunconfig ADB_PMU_EVENT 73*4882a593Smuzhiyun def_bool y 74*4882a593Smuzhiyun depends on ADB_PMU && INPUT=y 75*4882a593Smuzhiyun 76*4882a593Smuzhiyunconfig ADB_PMU_LED 77*4882a593Smuzhiyun bool "Support for the Power/iBook front LED" 78*4882a593Smuzhiyun depends on PPC_PMAC && ADB_PMU 79*4882a593Smuzhiyun select NEW_LEDS 80*4882a593Smuzhiyun select LEDS_CLASS 81*4882a593Smuzhiyun help 82*4882a593Smuzhiyun Support the front LED on Power/iBooks as a generic LED that can 83*4882a593Smuzhiyun be triggered by any of the supported triggers. To get the 84*4882a593Smuzhiyun behaviour of the old CONFIG_BLK_DEV_IDE_PMAC_BLINK, select this 85*4882a593Smuzhiyun and the disk LED trigger and configure appropriately through sysfs. 86*4882a593Smuzhiyun 87*4882a593Smuzhiyunconfig ADB_PMU_LED_DISK 88*4882a593Smuzhiyun bool "Use front LED as DISK LED by default" 89*4882a593Smuzhiyun depends on ADB_PMU_LED 90*4882a593Smuzhiyun depends on LEDS_CLASS 91*4882a593Smuzhiyun select LEDS_TRIGGERS 92*4882a593Smuzhiyun select LEDS_TRIGGER_DISK 93*4882a593Smuzhiyun help 94*4882a593Smuzhiyun This option makes the front LED default to the disk trigger 95*4882a593Smuzhiyun so that it blinks on disk activity. 96*4882a593Smuzhiyun 97*4882a593Smuzhiyunconfig PMAC_SMU 98*4882a593Smuzhiyun bool "Support for SMU based PowerMacs" 99*4882a593Smuzhiyun depends on PPC_PMAC64 100*4882a593Smuzhiyun help 101*4882a593Smuzhiyun This option adds support for the newer G5 iMacs and PowerMacs based 102*4882a593Smuzhiyun on the "SMU" system control chip which replaces the old PMU. 103*4882a593Smuzhiyun If you don't know, say Y. 104*4882a593Smuzhiyun 105*4882a593Smuzhiyunconfig PMAC_APM_EMU 106*4882a593Smuzhiyun tristate "APM emulation" 107*4882a593Smuzhiyun select APM_EMULATION 108*4882a593Smuzhiyun depends on ADB_PMU && PM && PPC32 109*4882a593Smuzhiyun 110*4882a593Smuzhiyunconfig PMAC_MEDIABAY 111*4882a593Smuzhiyun bool "Support PowerBook hotswap media bay" 112*4882a593Smuzhiyun depends on PPC_PMAC && PPC32 && BLOCK 113*4882a593Smuzhiyun help 114*4882a593Smuzhiyun This option adds support for older PowerBook's hotswap media bay 115*4882a593Smuzhiyun that can contains batteries, floppy drives, or IDE devices. PCI 116*4882a593Smuzhiyun devices are not fully supported in the bay as I never had one to 117*4882a593Smuzhiyun try with 118*4882a593Smuzhiyun 119*4882a593Smuzhiyunconfig PMAC_BACKLIGHT 120*4882a593Smuzhiyun bool "Backlight control for LCD screens" 121*4882a593Smuzhiyun depends on PPC_PMAC && ADB_PMU && FB = y && (BROKEN || !PPC64) 122*4882a593Smuzhiyun select FB_BACKLIGHT 123*4882a593Smuzhiyun help 124*4882a593Smuzhiyun Say Y here to enable Macintosh specific extensions of the generic 125*4882a593Smuzhiyun backlight code. With this enabled, the brightness keys on older 126*4882a593Smuzhiyun PowerBooks will be enabled so you can change the screen brightness. 127*4882a593Smuzhiyun Newer models should use a userspace daemon like pbbuttonsd. 128*4882a593Smuzhiyun 129*4882a593Smuzhiyunconfig PMAC_BACKLIGHT_LEGACY 130*4882a593Smuzhiyun bool "Provide legacy ioctl's on /dev/pmu for the backlight" 131*4882a593Smuzhiyun depends on PMAC_BACKLIGHT && (BROKEN || !PPC64) 132*4882a593Smuzhiyun help 133*4882a593Smuzhiyun Say Y if you want to enable legacy ioctl's on /dev/pmu. This is for 134*4882a593Smuzhiyun programs which use this old interface. New and updated programs 135*4882a593Smuzhiyun should use the backlight classes in sysfs. 136*4882a593Smuzhiyun 137*4882a593Smuzhiyunconfig ADB_MACIO 138*4882a593Smuzhiyun bool "Include MacIO (CHRP) ADB driver" 139*4882a593Smuzhiyun depends on ADB && PPC_CHRP && !PPC_PMAC64 140*4882a593Smuzhiyun help 141*4882a593Smuzhiyun Say Y here to include direct support for the ADB controller in the 142*4882a593Smuzhiyun Hydra chip used on PowerPC Macintoshes of the CHRP type. (The Hydra 143*4882a593Smuzhiyun also includes a MESH II SCSI controller, DBDMA controller, VIA chip, 144*4882a593Smuzhiyun OpenPIC controller and two RS422/Geoports.) 145*4882a593Smuzhiyun 146*4882a593Smuzhiyunconfig INPUT_ADBHID 147*4882a593Smuzhiyun bool "Support for ADB input devices (keyboard, mice, ...)" 148*4882a593Smuzhiyun depends on ADB && INPUT=y 149*4882a593Smuzhiyun help 150*4882a593Smuzhiyun Say Y here if you want to have ADB (Apple Desktop Bus) HID devices 151*4882a593Smuzhiyun such as keyboards, mice, joysticks, trackpads or graphic tablets 152*4882a593Smuzhiyun handled by the input layer. If you say Y here, make sure to say Y to 153*4882a593Smuzhiyun the corresponding drivers "Mouse Support" (CONFIG_INPUT_MOUSEDEV) and 154*4882a593Smuzhiyun "Event interface support" (CONFIG_INPUT_EVDEV) as well. 155*4882a593Smuzhiyun 156*4882a593Smuzhiyun If unsure, say Y. 157*4882a593Smuzhiyun 158*4882a593Smuzhiyunconfig MAC_EMUMOUSEBTN 159*4882a593Smuzhiyun tristate "Support for mouse button 2+3 emulation" 160*4882a593Smuzhiyun depends on SYSCTL && INPUT 161*4882a593Smuzhiyun help 162*4882a593Smuzhiyun This provides generic support for emulating the 2nd and 3rd mouse 163*4882a593Smuzhiyun button with keypresses. If you say Y here, the emulation is still 164*4882a593Smuzhiyun disabled by default. The emulation is controlled by these sysctl 165*4882a593Smuzhiyun entries: 166*4882a593Smuzhiyun /proc/sys/dev/mac_hid/mouse_button_emulation 167*4882a593Smuzhiyun /proc/sys/dev/mac_hid/mouse_button2_keycode 168*4882a593Smuzhiyun /proc/sys/dev/mac_hid/mouse_button3_keycode 169*4882a593Smuzhiyun 170*4882a593Smuzhiyun If you have an Apple machine with a 1-button mouse, say Y here. 171*4882a593Smuzhiyun 172*4882a593Smuzhiyun To compile this driver as a module, choose M here: the 173*4882a593Smuzhiyun module will be called mac_hid. 174*4882a593Smuzhiyun 175*4882a593Smuzhiyunconfig THERM_WINDTUNNEL 176*4882a593Smuzhiyun tristate "Support for thermal management on Windtunnel G4s" 177*4882a593Smuzhiyun depends on I2C && I2C_POWERMAC && PPC_PMAC && !PPC_PMAC64 178*4882a593Smuzhiyun help 179*4882a593Smuzhiyun This driver provides some thermostat and fan control for the desktop 180*4882a593Smuzhiyun G4 "Windtunnel" 181*4882a593Smuzhiyun 182*4882a593Smuzhiyunconfig THERM_ADT746X 183*4882a593Smuzhiyun tristate "Support for thermal mgmnt on laptops with ADT 746x chipset" 184*4882a593Smuzhiyun depends on I2C && I2C_POWERMAC && PPC_PMAC && !PPC_PMAC64 185*4882a593Smuzhiyun help 186*4882a593Smuzhiyun This driver provides some thermostat and fan control for the 187*4882a593Smuzhiyun iBook G4, and the ATI based aluminium PowerBooks, allowing slightly 188*4882a593Smuzhiyun better fan behaviour by default, and some manual control. 189*4882a593Smuzhiyun 190*4882a593Smuzhiyunconfig WINDFARM 191*4882a593Smuzhiyun tristate "New PowerMac thermal control infrastructure" 192*4882a593Smuzhiyun depends on PPC 193*4882a593Smuzhiyun 194*4882a593Smuzhiyunconfig WINDFARM_PM81 195*4882a593Smuzhiyun tristate "Support for thermal management on iMac G5" 196*4882a593Smuzhiyun depends on WINDFARM && I2C && CPU_FREQ_PMAC64 && PMAC_SMU 197*4882a593Smuzhiyun select I2C_POWERMAC 198*4882a593Smuzhiyun help 199*4882a593Smuzhiyun This driver provides thermal control for the iMacG5 200*4882a593Smuzhiyun 201*4882a593Smuzhiyunconfig WINDFARM_PM72 202*4882a593Smuzhiyun tristate "Support for thermal management on PowerMac G5 (AGP)" 203*4882a593Smuzhiyun depends on WINDFARM && I2C && CPU_FREQ_PMAC64 && ADB_PMU 204*4882a593Smuzhiyun select I2C_POWERMAC 205*4882a593Smuzhiyun help 206*4882a593Smuzhiyun This driver provides thermal control for the PowerMac G5 207*4882a593Smuzhiyun "AGP" variants (PowerMac 7,2 and 7,3) 208*4882a593Smuzhiyun 209*4882a593Smuzhiyunconfig WINDFARM_RM31 210*4882a593Smuzhiyun tristate "Support for thermal management on Xserve G5" 211*4882a593Smuzhiyun depends on WINDFARM && I2C && CPU_FREQ_PMAC64 && ADB_PMU 212*4882a593Smuzhiyun select I2C_POWERMAC 213*4882a593Smuzhiyun help 214*4882a593Smuzhiyun This driver provides thermal control for the Xserve G5 215*4882a593Smuzhiyun (RackMac3,1) 216*4882a593Smuzhiyun 217*4882a593Smuzhiyunconfig WINDFARM_PM91 218*4882a593Smuzhiyun tristate "Support for thermal management on PowerMac9,1" 219*4882a593Smuzhiyun depends on WINDFARM && I2C && CPU_FREQ_PMAC64 && PMAC_SMU 220*4882a593Smuzhiyun select I2C_POWERMAC 221*4882a593Smuzhiyun help 222*4882a593Smuzhiyun This driver provides thermal control for the PowerMac9,1 223*4882a593Smuzhiyun which is the recent (SMU based) single CPU desktop G5 224*4882a593Smuzhiyun 225*4882a593Smuzhiyunconfig WINDFARM_PM112 226*4882a593Smuzhiyun tristate "Support for thermal management on PowerMac11,2" 227*4882a593Smuzhiyun depends on WINDFARM && I2C && PMAC_SMU 228*4882a593Smuzhiyun select I2C_POWERMAC 229*4882a593Smuzhiyun help 230*4882a593Smuzhiyun This driver provides thermal control for the PowerMac11,2 231*4882a593Smuzhiyun which are the recent dual and quad G5 machines using the 232*4882a593Smuzhiyun 970MP dual-core processor. 233*4882a593Smuzhiyun 234*4882a593Smuzhiyunconfig WINDFARM_PM121 235*4882a593Smuzhiyun tristate "Support for thermal management on PowerMac12,1" 236*4882a593Smuzhiyun depends on WINDFARM && I2C && PMAC_SMU 237*4882a593Smuzhiyun select I2C_POWERMAC 238*4882a593Smuzhiyun help 239*4882a593Smuzhiyun This driver provides thermal control for the PowerMac12,1 240*4882a593Smuzhiyun which is the iMac G5 (iSight). 241*4882a593Smuzhiyun 242*4882a593Smuzhiyunconfig ANSLCD 243*4882a593Smuzhiyun tristate "Support for ANS LCD display" 244*4882a593Smuzhiyun depends on ADB_CUDA && PPC_PMAC 245*4882a593Smuzhiyun 246*4882a593Smuzhiyunconfig PMAC_RACKMETER 247*4882a593Smuzhiyun tristate "Support for Apple XServe front panel LEDs" 248*4882a593Smuzhiyun depends on PPC_PMAC 249*4882a593Smuzhiyun help 250*4882a593Smuzhiyun This driver provides some support to control the front panel 251*4882a593Smuzhiyun blue LEDs "vu-meter" of the XServer macs. 252*4882a593Smuzhiyun 253*4882a593Smuzhiyunconfig SENSORS_AMS 254*4882a593Smuzhiyun tristate "Apple Motion Sensor driver" 255*4882a593Smuzhiyun depends on PPC_PMAC && !PPC64 && INPUT && ((ADB_PMU && I2C = y) || (ADB_PMU && !I2C) || I2C) 256*4882a593Smuzhiyun help 257*4882a593Smuzhiyun Support for the motion sensor included in PowerBooks. Includes 258*4882a593Smuzhiyun implementations for PMU and I2C. 259*4882a593Smuzhiyun 260*4882a593Smuzhiyun This driver can also be built as a module. If so, the module 261*4882a593Smuzhiyun will be called ams. 262*4882a593Smuzhiyun 263*4882a593Smuzhiyunconfig SENSORS_AMS_PMU 264*4882a593Smuzhiyun bool "PMU variant" 265*4882a593Smuzhiyun depends on SENSORS_AMS && ADB_PMU 266*4882a593Smuzhiyun default y 267*4882a593Smuzhiyun help 268*4882a593Smuzhiyun PMU variant of motion sensor, found in late 2005 PowerBooks. 269*4882a593Smuzhiyun 270*4882a593Smuzhiyunconfig SENSORS_AMS_I2C 271*4882a593Smuzhiyun bool "I2C variant" 272*4882a593Smuzhiyun depends on SENSORS_AMS && I2C 273*4882a593Smuzhiyun default y 274*4882a593Smuzhiyun help 275*4882a593Smuzhiyun I2C variant of motion sensor, found in early 2005 PowerBooks and 276*4882a593Smuzhiyun iBooks. 277*4882a593Smuzhiyun 278*4882a593Smuzhiyunendif # MACINTOSH_DRIVERS 279