xref: /openbmc/linux/drivers/macintosh/Kconfig (revision 1ac731c529cd4d6adbce134754b51ff7d822b145)
1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only
21da177e4SLinus Torvalds
30f21712dSJan Engelhardtmenuconfig MACINTOSH_DRIVERS
40f21712dSJan Engelhardt	bool "Macintosh device drivers"
545941d04SSoeren Sonnenburg	depends on PPC || MAC || X86
6e2f1f192SOlaf Hering	default y if (PPC_PMAC || MAC)
7a7f7f624SMasahiro Yamada	help
806bfb7ebSJan Engelhardt	  Say Y here to get to see options for devices used with Macintosh
906bfb7ebSJan Engelhardt	  computers. This option alone does not add any kernel code.
1006bfb7ebSJan Engelhardt
1106bfb7ebSJan Engelhardt	  If you say N, all options in this submenu will be skipped and disabled.
120f21712dSJan Engelhardt
130f21712dSJan Engelhardtif MACINTOSH_DRIVERS
141da177e4SLinus Torvalds
151da177e4SLinus Torvaldsconfig ADB
161da177e4SLinus Torvalds	bool "Apple Desktop Bus (ADB) support"
1764c74de7SOlaf Hering	depends on MAC || (PPC_PMAC && PPC32)
181da177e4SLinus Torvalds	help
191da177e4SLinus Torvalds	  Apple Desktop Bus (ADB) support is for support of devices which
201da177e4SLinus Torvalds	  are connected to an ADB port.  ADB devices tend to have 4 pins.
211da177e4SLinus Torvalds	  If you have an Apple Macintosh prior to the iMac, an iBook or
221da177e4SLinus Torvalds	  PowerBook, or a "Blue and White G3", you probably want to say Y
231da177e4SLinus Torvalds	  here.  Otherwise say N.
241da177e4SLinus Torvalds
251da177e4SLinus Torvaldsconfig ADB_MACII
261da177e4SLinus Torvalds	bool "Include Mac II ADB driver"
271da177e4SLinus Torvalds	depends on ADB && MAC
281da177e4SLinus Torvalds	help
291da177e4SLinus Torvalds	  Say Y here if want your kernel to support Macintosh systems that use
301da177e4SLinus Torvalds	  the Mac II style ADB.  This includes the II, IIx, IIcx, SE/30, IIci,
311da177e4SLinus Torvalds	  Quadra 610, Quadra 650, Quadra 700, Quadra 800, Centris 610 and
321da177e4SLinus Torvalds	  Centris 650.
331da177e4SLinus Torvalds
341da177e4SLinus Torvaldsconfig ADB_IOP
351da177e4SLinus Torvalds	bool "Include IOP (IIfx/Quadra 9x0) ADB driver"
361da177e4SLinus Torvalds	depends on ADB && MAC
371da177e4SLinus Torvalds	help
381da177e4SLinus Torvalds	  The I/O Processor (IOP) is an Apple custom IC designed to provide
391da177e4SLinus Torvalds	  intelligent support for I/O controllers.  It is described at
401da177e4SLinus Torvalds	  <http://www.angelfire.com/ca2/dev68k/iopdesc.html> to enable direct
411da177e4SLinus Torvalds	  support for it, say 'Y' here.
421da177e4SLinus Torvalds
431da177e4SLinus Torvalds# we want to change this to something like CONFIG_SYSCTRL_CUDA/PMU
441da177e4SLinus Torvaldsconfig ADB_CUDA
45f74faec6SFinn Thain	bool "Support for Cuda/Egret based Macs and PowerMacs"
461da177e4SLinus Torvalds	depends on (ADB || PPC_PMAC) && !PPC_PMAC64
479a9c5ff5SRandy Dunlap	select RTC_LIB
481da177e4SLinus Torvalds	help
49f74faec6SFinn Thain	  This provides support for Cuda/Egret based Macintosh and
50f74faec6SFinn Thain	  Power Macintosh systems. This includes most m68k based Macs,
51f74faec6SFinn Thain	  most Old World PowerMacs, the first generation iMacs, the
52f74faec6SFinn Thain	  Blue & White G3 and the "Yikes" G4 (PCI Graphics). All later
53f74faec6SFinn Thain	  models should use CONFIG_ADB_PMU instead. It is safe to say Y
54f74faec6SFinn Thain	  here even if your machine doesn't have a Cuda or Egret device.
551da177e4SLinus Torvalds
561da177e4SLinus Torvalds	  If unsure say Y.
571da177e4SLinus Torvalds
581da177e4SLinus Torvaldsconfig ADB_PMU
59c16a85a5SFinn Thain	bool "Support for PMU based PowerMacs and PowerBooks"
60ebd72227SFinn Thain	depends on PPC_PMAC || MAC
619a9c5ff5SRandy Dunlap	select RTC_LIB
621da177e4SLinus Torvalds	help
631da177e4SLinus Torvalds	  On PowerBooks, iBooks, and recent iMacs and Power Macintoshes, the
641da177e4SLinus Torvalds	  PMU is an embedded microprocessor whose primary function is to
651da177e4SLinus Torvalds	  control system power, and battery charging on the portable models.
661da177e4SLinus Torvalds	  The PMU also controls the ADB (Apple Desktop Bus) which connects to
671da177e4SLinus Torvalds	  the keyboard and mouse on some machines, as well as the non-volatile
681da177e4SLinus Torvalds	  RAM and the RTC (real time clock) chip.  Say Y to enable support for
691da177e4SLinus Torvalds	  this device; you should do so if your machine is one of those
701da177e4SLinus Torvalds	  mentioned above.
711da177e4SLinus Torvalds
7286ce436eSFinn Thainconfig ADB_PMU_EVENT
7386ce436eSFinn Thain	def_bool y
7486ce436eSFinn Thain	depends on ADB_PMU && INPUT=y
7586ce436eSFinn Thain
7670c3967dSJohannes Bergconfig ADB_PMU_LED
7770c3967dSJohannes Berg	bool "Support for the Power/iBook front LED"
78c2f028b6SFinn Thain	depends on PPC_PMAC && ADB_PMU
79649e8579SPaul Mackerras	select NEW_LEDS
8070c3967dSJohannes Berg	select LEDS_CLASS
8170c3967dSJohannes Berg	help
8270c3967dSJohannes Berg	  Support the front LED on Power/iBooks as a generic LED that can
8370c3967dSJohannes Berg	  be triggered by any of the supported triggers. To get the
8470c3967dSJohannes Berg	  behaviour of the old CONFIG_BLK_DEV_IDE_PMAC_BLINK, select this
8583e2c70eSStephan Linz	  and the disk LED trigger and configure appropriately through sysfs.
8670c3967dSJohannes Berg
8783e2c70eSStephan Linzconfig ADB_PMU_LED_DISK
8883e2c70eSStephan Linz	bool "Use front LED as DISK LED by default"
89*05dce4baSRandy Dunlap	depends on ATA
90d1a8df91SJohannes Berg	depends on ADB_PMU_LED
910bae35e1SJohannes Berg	depends on LEDS_CLASS
92d1a8df91SJohannes Berg	select LEDS_TRIGGERS
9383e2c70eSStephan Linz	select LEDS_TRIGGER_DISK
94d1a8df91SJohannes Berg	help
9583e2c70eSStephan Linz	  This option makes the front LED default to the disk trigger
9683e2c70eSStephan Linz	  so that it blinks on disk activity.
97d1a8df91SJohannes Berg
981da177e4SLinus Torvaldsconfig PMAC_SMU
991da177e4SLinus Torvalds	bool "Support for SMU  based PowerMacs"
1001da177e4SLinus Torvalds	depends on PPC_PMAC64
1011da177e4SLinus Torvalds	help
1021da177e4SLinus Torvalds	  This option adds support for the newer G5 iMacs and PowerMacs based
1031da177e4SLinus Torvalds	  on the "SMU" system control chip which replaces the old PMU.
1041da177e4SLinus Torvalds	  If you don't know, say Y.
1051da177e4SLinus Torvalds
1061da177e4SLinus Torvaldsconfig PMAC_APM_EMU
1071da177e4SLinus Torvalds	tristate "APM emulation"
108b3028878SJohannes Berg	select APM_EMULATION
109e358ae4dSJohannes Berg	depends on ADB_PMU && PM && PPC32
1108c870933SBenjamin Herrenschmidt
1118c870933SBenjamin Herrenschmidtconfig PMAC_MEDIABAY
1128c870933SBenjamin Herrenschmidt	bool "Support PowerBook hotswap media bay"
113bcd71fe6SAlexander Beregalov	depends on PPC_PMAC && PPC32 && BLOCK
1148c870933SBenjamin Herrenschmidt	help
1158c870933SBenjamin Herrenschmidt	  This option adds support for older PowerBook's hotswap media bay
1168c870933SBenjamin Herrenschmidt	  that can contains batteries, floppy drives, or IDE devices. PCI
1178c870933SBenjamin Herrenschmidt	  devices are not fully supported in the bay as I never had one to
1188c870933SBenjamin Herrenschmidt	  try with
1191da177e4SLinus Torvalds
1201da177e4SLinus Torvaldsconfig PMAC_BACKLIGHT
1211da177e4SLinus Torvalds	bool "Backlight control for LCD screens"
122c2f028b6SFinn Thain	depends on PPC_PMAC && ADB_PMU && FB = y && (BROKEN || !PPC64)
123e01af038SMichael Hanselmann	select FB_BACKLIGHT
1241da177e4SLinus Torvalds	help
1255474c120SMichael Hanselmann	  Say Y here to enable Macintosh specific extensions of the generic
1265474c120SMichael Hanselmann	  backlight code. With this enabled, the brightness keys on older
1275474c120SMichael Hanselmann	  PowerBooks will be enabled so you can change the screen brightness.
1280211a9c8SFrederik Schwarzer	  Newer models should use a userspace daemon like pbbuttonsd.
1295474c120SMichael Hanselmann
1305474c120SMichael Hanselmannconfig PMAC_BACKLIGHT_LEGACY
1315474c120SMichael Hanselmann	bool "Provide legacy ioctl's on /dev/pmu for the backlight"
1325474c120SMichael Hanselmann	depends on PMAC_BACKLIGHT && (BROKEN || !PPC64)
1335474c120SMichael Hanselmann	help
1345474c120SMichael Hanselmann	  Say Y if you want to enable legacy ioctl's on /dev/pmu. This is for
1355474c120SMichael Hanselmann	  programs which use this old interface. New and updated programs
1365474c120SMichael Hanselmann	  should use the backlight classes in sysfs.
1371da177e4SLinus Torvalds
1381da177e4SLinus Torvaldsconfig ADB_MACIO
1391da177e4SLinus Torvalds	bool "Include MacIO (CHRP) ADB driver"
1401da177e4SLinus Torvalds	depends on ADB && PPC_CHRP && !PPC_PMAC64
1411da177e4SLinus Torvalds	help
1421da177e4SLinus Torvalds	  Say Y here to include direct support for the ADB controller in the
1431da177e4SLinus Torvalds	  Hydra chip used on PowerPC Macintoshes of the CHRP type.  (The Hydra
1441da177e4SLinus Torvalds	  also includes a MESH II SCSI controller, DBDMA controller, VIA chip,
1451da177e4SLinus Torvalds	  OpenPIC controller and two RS422/Geoports.)
1461da177e4SLinus Torvalds
1471da177e4SLinus Torvaldsconfig INPUT_ADBHID
1481da177e4SLinus Torvalds	bool "Support for ADB input devices (keyboard, mice, ...)"
1491da177e4SLinus Torvalds	depends on ADB && INPUT=y
1501da177e4SLinus Torvalds	help
1511da177e4SLinus Torvalds	  Say Y here if you want to have ADB (Apple Desktop Bus) HID devices
1521da177e4SLinus Torvalds	  such as keyboards, mice, joysticks, trackpads  or graphic tablets
1531da177e4SLinus Torvalds	  handled by the input layer.  If you say Y here, make sure to say Y to
154f27b86dcSAaro Koskinen	  the corresponding drivers "Mouse Support" (CONFIG_INPUT_MOUSEDEV) and
155f27b86dcSAaro Koskinen	  "Event interface support" (CONFIG_INPUT_EVDEV) as well.
1561da177e4SLinus Torvalds
1571da177e4SLinus Torvalds	  If unsure, say Y.
1581da177e4SLinus Torvalds
1591da177e4SLinus Torvaldsconfig MAC_EMUMOUSEBTN
160429722e1SDmitry Torokhov	tristate "Support for mouse button 2+3 emulation"
161429722e1SDmitry Torokhov	depends on SYSCTL && INPUT
1621da177e4SLinus Torvalds	help
1631da177e4SLinus Torvalds	  This provides generic support for emulating the 2nd and 3rd mouse
1641da177e4SLinus Torvalds	  button with keypresses.  If you say Y here, the emulation is still
1651da177e4SLinus Torvalds	  disabled by default.  The emulation is controlled by these sysctl
1661da177e4SLinus Torvalds	  entries:
1671da177e4SLinus Torvalds	  /proc/sys/dev/mac_hid/mouse_button_emulation
1681da177e4SLinus Torvalds	  /proc/sys/dev/mac_hid/mouse_button2_keycode
1691da177e4SLinus Torvalds	  /proc/sys/dev/mac_hid/mouse_button3_keycode
1701da177e4SLinus Torvalds
1711da177e4SLinus Torvalds	  If you have an Apple machine with a 1-button mouse, say Y here.
1721da177e4SLinus Torvalds
173429722e1SDmitry Torokhov	  To compile this driver as a module, choose M here: the
174429722e1SDmitry Torokhov	  module will be called mac_hid.
175429722e1SDmitry Torokhov
1761da177e4SLinus Torvaldsconfig THERM_WINDTUNNEL
1771da177e4SLinus Torvalds	tristate "Support for thermal management on Windtunnel G4s"
178a28d3af2SBenjamin Herrenschmidt	depends on I2C && I2C_POWERMAC && PPC_PMAC && !PPC_PMAC64
1791da177e4SLinus Torvalds	help
1801da177e4SLinus Torvalds	  This driver provides some thermostat and fan control for the desktop
1811da177e4SLinus Torvalds	  G4 "Windtunnel"
1821da177e4SLinus Torvalds
1831da177e4SLinus Torvaldsconfig THERM_ADT746X
1841da177e4SLinus Torvalds	tristate "Support for thermal mgmnt on laptops with ADT 746x chipset"
185a28d3af2SBenjamin Herrenschmidt	depends on I2C && I2C_POWERMAC && PPC_PMAC && !PPC_PMAC64
1861da177e4SLinus Torvalds	help
1871da177e4SLinus Torvalds	  This driver provides some thermostat and fan control for the
18809509603SMatt LaPlante	  iBook G4, and the ATI based aluminium PowerBooks, allowing slightly
1891da177e4SLinus Torvalds	  better fan behaviour by default, and some manual control.
1901da177e4SLinus Torvalds
19175722d39SBenjamin Herrenschmidtconfig WINDFARM
19275722d39SBenjamin Herrenschmidt	tristate "New PowerMac thermal control infrastructure"
1936f36d17aSAl Viro	depends on PPC
19475722d39SBenjamin Herrenschmidt
19575722d39SBenjamin Herrenschmidtconfig WINDFARM_PM81
19675722d39SBenjamin Herrenschmidt	tristate "Support for thermal management on iMac G5"
19775722d39SBenjamin Herrenschmidt	depends on WINDFARM && I2C && CPU_FREQ_PMAC64 && PMAC_SMU
198a28d3af2SBenjamin Herrenschmidt	select I2C_POWERMAC
19975722d39SBenjamin Herrenschmidt	help
20075722d39SBenjamin Herrenschmidt	  This driver provides thermal control for the iMacG5
20175722d39SBenjamin Herrenschmidt
2026cd32099SBenjamin Herrenschmidtconfig WINDFARM_PM72
2036cd32099SBenjamin Herrenschmidt	tristate "Support for thermal management on PowerMac G5 (AGP)"
2046cd32099SBenjamin Herrenschmidt	depends on WINDFARM && I2C && CPU_FREQ_PMAC64 && ADB_PMU
2056cd32099SBenjamin Herrenschmidt	select I2C_POWERMAC
2066cd32099SBenjamin Herrenschmidt	help
2076cd32099SBenjamin Herrenschmidt	  This driver provides thermal control for the PowerMac G5
2086cd32099SBenjamin Herrenschmidt	  "AGP" variants (PowerMac 7,2 and 7,3)
2096cd32099SBenjamin Herrenschmidt
2106cd32099SBenjamin Herrenschmidtconfig WINDFARM_RM31
2116cd32099SBenjamin Herrenschmidt	tristate "Support for thermal management on Xserve G5"
2126cd32099SBenjamin Herrenschmidt	depends on WINDFARM && I2C && CPU_FREQ_PMAC64 && ADB_PMU
2136cd32099SBenjamin Herrenschmidt	select I2C_POWERMAC
2146cd32099SBenjamin Herrenschmidt	help
2156cd32099SBenjamin Herrenschmidt	  This driver provides thermal control for the Xserve G5
2166cd32099SBenjamin Herrenschmidt	  (RackMac3,1)
2176cd32099SBenjamin Herrenschmidt
21875722d39SBenjamin Herrenschmidtconfig WINDFARM_PM91
21975722d39SBenjamin Herrenschmidt	tristate "Support for thermal management on PowerMac9,1"
22075722d39SBenjamin Herrenschmidt	depends on WINDFARM && I2C && CPU_FREQ_PMAC64 && PMAC_SMU
221a28d3af2SBenjamin Herrenschmidt	select I2C_POWERMAC
22275722d39SBenjamin Herrenschmidt	help
22375722d39SBenjamin Herrenschmidt	  This driver provides thermal control for the PowerMac9,1
22475722d39SBenjamin Herrenschmidt	  which is the recent (SMU based) single CPU desktop G5
22575722d39SBenjamin Herrenschmidt
226ac171c46SBenjamin Herrenschmidtconfig WINDFARM_PM112
227ac171c46SBenjamin Herrenschmidt	tristate "Support for thermal management on PowerMac11,2"
228ac171c46SBenjamin Herrenschmidt	depends on WINDFARM && I2C && PMAC_SMU
229e5ea0a9fSLinus Torvalds	select I2C_POWERMAC
230ac171c46SBenjamin Herrenschmidt	help
231ac171c46SBenjamin Herrenschmidt	  This driver provides thermal control for the PowerMac11,2
232ac171c46SBenjamin Herrenschmidt	  which are the recent dual and quad G5 machines using the
233ac171c46SBenjamin Herrenschmidt	  970MP dual-core processor.
23475722d39SBenjamin Herrenschmidt
23580ff974dSÉtienne Bersacconfig WINDFARM_PM121
23680ff974dSÉtienne Bersac	tristate "Support for thermal management on PowerMac12,1"
23780ff974dSÉtienne Bersac	depends on WINDFARM && I2C && PMAC_SMU
23880ff974dSÉtienne Bersac	select I2C_POWERMAC
23980ff974dSÉtienne Bersac	help
24080ff974dSÉtienne Bersac	  This driver provides thermal control for the PowerMac12,1
24180ff974dSÉtienne Bersac	  which is the iMac G5 (iSight).
24280ff974dSÉtienne Bersac
2431da177e4SLinus Torvaldsconfig ANSLCD
2441da177e4SLinus Torvalds	tristate "Support for ANS LCD display"
2451da177e4SLinus Torvalds	depends on ADB_CUDA && PPC_PMAC
2461da177e4SLinus Torvalds
2473e00a5aeSBenjamin Herrenschmidtconfig PMAC_RACKMETER
2483e00a5aeSBenjamin Herrenschmidt	tristate "Support for Apple XServe front panel LEDs"
2493e00a5aeSBenjamin Herrenschmidt	depends on PPC_PMAC
2503e00a5aeSBenjamin Herrenschmidt	help
2513dde6ad8SDavid Sterba	  This driver provides some support to control the front panel
2523e00a5aeSBenjamin Herrenschmidt	  blue LEDs "vu-meter" of the XServer macs.
2533e00a5aeSBenjamin Herrenschmidt
254bd5f47ecSJean Delvareconfig SENSORS_AMS
255bd5f47ecSJean Delvare	tristate "Apple Motion Sensor driver"
25680ec2135SKees Cook	depends on PPC_PMAC && !PPC64 && INPUT && ((ADB_PMU && I2C = y) || (ADB_PMU && !I2C) || I2C)
257bd5f47ecSJean Delvare	help
258bd5f47ecSJean Delvare	  Support for the motion sensor included in PowerBooks. Includes
259bd5f47ecSJean Delvare	  implementations for PMU and I2C.
260bd5f47ecSJean Delvare
261bd5f47ecSJean Delvare	  This driver can also be built as a module. If so, the module
262bd5f47ecSJean Delvare	  will be called ams.
263bd5f47ecSJean Delvare
264bd5f47ecSJean Delvareconfig SENSORS_AMS_PMU
265bd5f47ecSJean Delvare	bool "PMU variant"
266bd5f47ecSJean Delvare	depends on SENSORS_AMS && ADB_PMU
267bd5f47ecSJean Delvare	default y
268bd5f47ecSJean Delvare	help
269bd5f47ecSJean Delvare	  PMU variant of motion sensor, found in late 2005 PowerBooks.
270bd5f47ecSJean Delvare
271bd5f47ecSJean Delvareconfig SENSORS_AMS_I2C
272bd5f47ecSJean Delvare	bool "I2C variant"
273bd5f47ecSJean Delvare	depends on SENSORS_AMS && I2C
274bd5f47ecSJean Delvare	default y
275bd5f47ecSJean Delvare	help
276bd5f47ecSJean Delvare	  I2C variant of motion sensor, found in early 2005 PowerBooks and
277bd5f47ecSJean Delvare	  iBooks.
278bd5f47ecSJean Delvare
2790f21712dSJan Engelhardtendif # MACINTOSH_DRIVERS
280