0001 # SPDX-License-Identifier: GPL-2.0-only
0002
0003 menuconfig MACINTOSH_DRIVERS
0004 bool "Macintosh device drivers"
0005 depends on PPC || MAC || X86
0006 default y if (PPC_PMAC || MAC)
0007 help
0008 Say Y here to get to see options for devices used with Macintosh
0009 computers. This option alone does not add any kernel code.
0010
0011 If you say N, all options in this submenu will be skipped and disabled.
0012
0013 if MACINTOSH_DRIVERS
0014
0015 config ADB
0016 bool "Apple Desktop Bus (ADB) support"
0017 depends on MAC || (PPC_PMAC && PPC32)
0018 help
0019 Apple Desktop Bus (ADB) support is for support of devices which
0020 are connected to an ADB port. ADB devices tend to have 4 pins.
0021 If you have an Apple Macintosh prior to the iMac, an iBook or
0022 PowerBook, or a "Blue and White G3", you probably want to say Y
0023 here. Otherwise say N.
0024
0025 config ADB_MACII
0026 bool "Include Mac II ADB driver"
0027 depends on ADB && MAC
0028 help
0029 Say Y here if want your kernel to support Macintosh systems that use
0030 the Mac II style ADB. This includes the II, IIx, IIcx, SE/30, IIci,
0031 Quadra 610, Quadra 650, Quadra 700, Quadra 800, Centris 610 and
0032 Centris 650.
0033
0034 config ADB_IOP
0035 bool "Include IOP (IIfx/Quadra 9x0) ADB driver"
0036 depends on ADB && MAC
0037 help
0038 The I/O Processor (IOP) is an Apple custom IC designed to provide
0039 intelligent support for I/O controllers. It is described at
0040 <http://www.angelfire.com/ca2/dev68k/iopdesc.html> to enable direct
0041 support for it, say 'Y' here.
0042
0043 # we want to change this to something like CONFIG_SYSCTRL_CUDA/PMU
0044 config ADB_CUDA
0045 bool "Support for Cuda/Egret based Macs and PowerMacs"
0046 depends on (ADB || PPC_PMAC) && !PPC_PMAC64
0047 select RTC_LIB
0048 help
0049 This provides support for Cuda/Egret based Macintosh and
0050 Power Macintosh systems. This includes most m68k based Macs,
0051 most Old World PowerMacs, the first generation iMacs, the
0052 Blue & White G3 and the "Yikes" G4 (PCI Graphics). All later
0053 models should use CONFIG_ADB_PMU instead. It is safe to say Y
0054 here even if your machine doesn't have a Cuda or Egret device.
0055
0056 If unsure say Y.
0057
0058 config ADB_PMU
0059 bool "Support for PMU based PowerMacs and PowerBooks"
0060 depends on PPC_PMAC || MAC
0061 select RTC_LIB
0062 help
0063 On PowerBooks, iBooks, and recent iMacs and Power Macintoshes, the
0064 PMU is an embedded microprocessor whose primary function is to
0065 control system power, and battery charging on the portable models.
0066 The PMU also controls the ADB (Apple Desktop Bus) which connects to
0067 the keyboard and mouse on some machines, as well as the non-volatile
0068 RAM and the RTC (real time clock) chip. Say Y to enable support for
0069 this device; you should do so if your machine is one of those
0070 mentioned above.
0071
0072 config ADB_PMU_EVENT
0073 def_bool y
0074 depends on ADB_PMU && INPUT=y
0075
0076 config ADB_PMU_LED
0077 bool "Support for the Power/iBook front LED"
0078 depends on PPC_PMAC && ADB_PMU
0079 select NEW_LEDS
0080 select LEDS_CLASS
0081 help
0082 Support the front LED on Power/iBooks as a generic LED that can
0083 be triggered by any of the supported triggers. To get the
0084 behaviour of the old CONFIG_BLK_DEV_IDE_PMAC_BLINK, select this
0085 and the disk LED trigger and configure appropriately through sysfs.
0086
0087 config ADB_PMU_LED_DISK
0088 bool "Use front LED as DISK LED by default"
0089 depends on ADB_PMU_LED
0090 depends on LEDS_CLASS
0091 select LEDS_TRIGGERS
0092 select LEDS_TRIGGER_DISK
0093 help
0094 This option makes the front LED default to the disk trigger
0095 so that it blinks on disk activity.
0096
0097 config PMAC_SMU
0098 bool "Support for SMU based PowerMacs"
0099 depends on PPC_PMAC64
0100 help
0101 This option adds support for the newer G5 iMacs and PowerMacs based
0102 on the "SMU" system control chip which replaces the old PMU.
0103 If you don't know, say Y.
0104
0105 config PMAC_APM_EMU
0106 tristate "APM emulation"
0107 select APM_EMULATION
0108 depends on ADB_PMU && PM && PPC32
0109
0110 config PMAC_MEDIABAY
0111 bool "Support PowerBook hotswap media bay"
0112 depends on PPC_PMAC && PPC32 && BLOCK
0113 help
0114 This option adds support for older PowerBook's hotswap media bay
0115 that can contains batteries, floppy drives, or IDE devices. PCI
0116 devices are not fully supported in the bay as I never had one to
0117 try with
0118
0119 config PMAC_BACKLIGHT
0120 bool "Backlight control for LCD screens"
0121 depends on PPC_PMAC && ADB_PMU && FB = y && (BROKEN || !PPC64)
0122 select FB_BACKLIGHT
0123 help
0124 Say Y here to enable Macintosh specific extensions of the generic
0125 backlight code. With this enabled, the brightness keys on older
0126 PowerBooks will be enabled so you can change the screen brightness.
0127 Newer models should use a userspace daemon like pbbuttonsd.
0128
0129 config PMAC_BACKLIGHT_LEGACY
0130 bool "Provide legacy ioctl's on /dev/pmu for the backlight"
0131 depends on PMAC_BACKLIGHT && (BROKEN || !PPC64)
0132 help
0133 Say Y if you want to enable legacy ioctl's on /dev/pmu. This is for
0134 programs which use this old interface. New and updated programs
0135 should use the backlight classes in sysfs.
0136
0137 config ADB_MACIO
0138 bool "Include MacIO (CHRP) ADB driver"
0139 depends on ADB && PPC_CHRP && !PPC_PMAC64
0140 help
0141 Say Y here to include direct support for the ADB controller in the
0142 Hydra chip used on PowerPC Macintoshes of the CHRP type. (The Hydra
0143 also includes a MESH II SCSI controller, DBDMA controller, VIA chip,
0144 OpenPIC controller and two RS422/Geoports.)
0145
0146 config INPUT_ADBHID
0147 bool "Support for ADB input devices (keyboard, mice, ...)"
0148 depends on ADB && INPUT=y
0149 help
0150 Say Y here if you want to have ADB (Apple Desktop Bus) HID devices
0151 such as keyboards, mice, joysticks, trackpads or graphic tablets
0152 handled by the input layer. If you say Y here, make sure to say Y to
0153 the corresponding drivers "Mouse Support" (CONFIG_INPUT_MOUSEDEV) and
0154 "Event interface support" (CONFIG_INPUT_EVDEV) as well.
0155
0156 If unsure, say Y.
0157
0158 config MAC_EMUMOUSEBTN
0159 tristate "Support for mouse button 2+3 emulation"
0160 depends on SYSCTL && INPUT
0161 help
0162 This provides generic support for emulating the 2nd and 3rd mouse
0163 button with keypresses. If you say Y here, the emulation is still
0164 disabled by default. The emulation is controlled by these sysctl
0165 entries:
0166 /proc/sys/dev/mac_hid/mouse_button_emulation
0167 /proc/sys/dev/mac_hid/mouse_button2_keycode
0168 /proc/sys/dev/mac_hid/mouse_button3_keycode
0169
0170 If you have an Apple machine with a 1-button mouse, say Y here.
0171
0172 To compile this driver as a module, choose M here: the
0173 module will be called mac_hid.
0174
0175 config THERM_WINDTUNNEL
0176 tristate "Support for thermal management on Windtunnel G4s"
0177 depends on I2C && I2C_POWERMAC && PPC_PMAC && !PPC_PMAC64
0178 help
0179 This driver provides some thermostat and fan control for the desktop
0180 G4 "Windtunnel"
0181
0182 config THERM_ADT746X
0183 tristate "Support for thermal mgmnt on laptops with ADT 746x chipset"
0184 depends on I2C && I2C_POWERMAC && PPC_PMAC && !PPC_PMAC64
0185 help
0186 This driver provides some thermostat and fan control for the
0187 iBook G4, and the ATI based aluminium PowerBooks, allowing slightly
0188 better fan behaviour by default, and some manual control.
0189
0190 config WINDFARM
0191 tristate "New PowerMac thermal control infrastructure"
0192 depends on PPC
0193
0194 config WINDFARM_PM81
0195 tristate "Support for thermal management on iMac G5"
0196 depends on WINDFARM && I2C && CPU_FREQ_PMAC64 && PMAC_SMU
0197 select I2C_POWERMAC
0198 help
0199 This driver provides thermal control for the iMacG5
0200
0201 config WINDFARM_PM72
0202 tristate "Support for thermal management on PowerMac G5 (AGP)"
0203 depends on WINDFARM && I2C && CPU_FREQ_PMAC64 && ADB_PMU
0204 select I2C_POWERMAC
0205 help
0206 This driver provides thermal control for the PowerMac G5
0207 "AGP" variants (PowerMac 7,2 and 7,3)
0208
0209 config WINDFARM_RM31
0210 tristate "Support for thermal management on Xserve G5"
0211 depends on WINDFARM && I2C && CPU_FREQ_PMAC64 && ADB_PMU
0212 select I2C_POWERMAC
0213 help
0214 This driver provides thermal control for the Xserve G5
0215 (RackMac3,1)
0216
0217 config WINDFARM_PM91
0218 tristate "Support for thermal management on PowerMac9,1"
0219 depends on WINDFARM && I2C && CPU_FREQ_PMAC64 && PMAC_SMU
0220 select I2C_POWERMAC
0221 help
0222 This driver provides thermal control for the PowerMac9,1
0223 which is the recent (SMU based) single CPU desktop G5
0224
0225 config WINDFARM_PM112
0226 tristate "Support for thermal management on PowerMac11,2"
0227 depends on WINDFARM && I2C && PMAC_SMU
0228 select I2C_POWERMAC
0229 help
0230 This driver provides thermal control for the PowerMac11,2
0231 which are the recent dual and quad G5 machines using the
0232 970MP dual-core processor.
0233
0234 config WINDFARM_PM121
0235 tristate "Support for thermal management on PowerMac12,1"
0236 depends on WINDFARM && I2C && PMAC_SMU
0237 select I2C_POWERMAC
0238 help
0239 This driver provides thermal control for the PowerMac12,1
0240 which is the iMac G5 (iSight).
0241
0242 config ANSLCD
0243 tristate "Support for ANS LCD display"
0244 depends on ADB_CUDA && PPC_PMAC
0245
0246 config PMAC_RACKMETER
0247 tristate "Support for Apple XServe front panel LEDs"
0248 depends on PPC_PMAC
0249 help
0250 This driver provides some support to control the front panel
0251 blue LEDs "vu-meter" of the XServer macs.
0252
0253 config SENSORS_AMS
0254 tristate "Apple Motion Sensor driver"
0255 depends on PPC_PMAC && !PPC64 && INPUT && ((ADB_PMU && I2C = y) || (ADB_PMU && !I2C) || I2C)
0256 help
0257 Support for the motion sensor included in PowerBooks. Includes
0258 implementations for PMU and I2C.
0259
0260 This driver can also be built as a module. If so, the module
0261 will be called ams.
0262
0263 config SENSORS_AMS_PMU
0264 bool "PMU variant"
0265 depends on SENSORS_AMS && ADB_PMU
0266 default y
0267 help
0268 PMU variant of motion sensor, found in late 2005 PowerBooks.
0269
0270 config SENSORS_AMS_I2C
0271 bool "I2C variant"
0272 depends on SENSORS_AMS && I2C
0273 default y
0274 help
0275 I2C variant of motion sensor, found in early 2005 PowerBooks and
0276 iBooks.
0277
0278 endif # MACINTOSH_DRIVERS