162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ci
362306a36Sopenharmony_cimenuconfig MACINTOSH_DRIVERS
462306a36Sopenharmony_ci	bool "Macintosh device drivers"
562306a36Sopenharmony_ci	depends on PPC || MAC || X86
662306a36Sopenharmony_ci	default y if (PPC_PMAC || MAC)
762306a36Sopenharmony_ci	help
862306a36Sopenharmony_ci	  Say Y here to get to see options for devices used with Macintosh
962306a36Sopenharmony_ci	  computers. This option alone does not add any kernel code.
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_ci	  If you say N, all options in this submenu will be skipped and disabled.
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ciif MACINTOSH_DRIVERS
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ciconfig ADB
1662306a36Sopenharmony_ci	bool "Apple Desktop Bus (ADB) support"
1762306a36Sopenharmony_ci	depends on MAC || (PPC_PMAC && PPC32)
1862306a36Sopenharmony_ci	help
1962306a36Sopenharmony_ci	  Apple Desktop Bus (ADB) support is for support of devices which
2062306a36Sopenharmony_ci	  are connected to an ADB port.  ADB devices tend to have 4 pins.
2162306a36Sopenharmony_ci	  If you have an Apple Macintosh prior to the iMac, an iBook or
2262306a36Sopenharmony_ci	  PowerBook, or a "Blue and White G3", you probably want to say Y
2362306a36Sopenharmony_ci	  here.  Otherwise say N.
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ciconfig ADB_MACII
2662306a36Sopenharmony_ci	bool "Include Mac II ADB driver"
2762306a36Sopenharmony_ci	depends on ADB && MAC
2862306a36Sopenharmony_ci	help
2962306a36Sopenharmony_ci	  Say Y here if want your kernel to support Macintosh systems that use
3062306a36Sopenharmony_ci	  the Mac II style ADB.  This includes the II, IIx, IIcx, SE/30, IIci,
3162306a36Sopenharmony_ci	  Quadra 610, Quadra 650, Quadra 700, Quadra 800, Centris 610 and
3262306a36Sopenharmony_ci	  Centris 650.
3362306a36Sopenharmony_ci
3462306a36Sopenharmony_ciconfig ADB_IOP
3562306a36Sopenharmony_ci	bool "Include IOP (IIfx/Quadra 9x0) ADB driver"
3662306a36Sopenharmony_ci	depends on ADB && MAC
3762306a36Sopenharmony_ci	help
3862306a36Sopenharmony_ci	  The I/O Processor (IOP) is an Apple custom IC designed to provide
3962306a36Sopenharmony_ci	  intelligent support for I/O controllers.  It is described at
4062306a36Sopenharmony_ci	  <http://www.angelfire.com/ca2/dev68k/iopdesc.html> to enable direct
4162306a36Sopenharmony_ci	  support for it, say 'Y' here.
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_ci# we want to change this to something like CONFIG_SYSCTRL_CUDA/PMU
4462306a36Sopenharmony_ciconfig ADB_CUDA
4562306a36Sopenharmony_ci	bool "Support for Cuda/Egret based Macs and PowerMacs"
4662306a36Sopenharmony_ci	depends on (ADB || PPC_PMAC) && !PPC_PMAC64
4762306a36Sopenharmony_ci	select RTC_LIB
4862306a36Sopenharmony_ci	help
4962306a36Sopenharmony_ci	  This provides support for Cuda/Egret based Macintosh and
5062306a36Sopenharmony_ci	  Power Macintosh systems. This includes most m68k based Macs,
5162306a36Sopenharmony_ci	  most Old World PowerMacs, the first generation iMacs, the
5262306a36Sopenharmony_ci	  Blue & White G3 and the "Yikes" G4 (PCI Graphics). All later
5362306a36Sopenharmony_ci	  models should use CONFIG_ADB_PMU instead. It is safe to say Y
5462306a36Sopenharmony_ci	  here even if your machine doesn't have a Cuda or Egret device.
5562306a36Sopenharmony_ci
5662306a36Sopenharmony_ci	  If unsure say Y.
5762306a36Sopenharmony_ci
5862306a36Sopenharmony_ciconfig ADB_PMU
5962306a36Sopenharmony_ci	bool "Support for PMU based PowerMacs and PowerBooks"
6062306a36Sopenharmony_ci	depends on PPC_PMAC || MAC
6162306a36Sopenharmony_ci	select RTC_LIB
6262306a36Sopenharmony_ci	help
6362306a36Sopenharmony_ci	  On PowerBooks, iBooks, and recent iMacs and Power Macintoshes, the
6462306a36Sopenharmony_ci	  PMU is an embedded microprocessor whose primary function is to
6562306a36Sopenharmony_ci	  control system power, and battery charging on the portable models.
6662306a36Sopenharmony_ci	  The PMU also controls the ADB (Apple Desktop Bus) which connects to
6762306a36Sopenharmony_ci	  the keyboard and mouse on some machines, as well as the non-volatile
6862306a36Sopenharmony_ci	  RAM and the RTC (real time clock) chip.  Say Y to enable support for
6962306a36Sopenharmony_ci	  this device; you should do so if your machine is one of those
7062306a36Sopenharmony_ci	  mentioned above.
7162306a36Sopenharmony_ci
7262306a36Sopenharmony_ciconfig ADB_PMU_EVENT
7362306a36Sopenharmony_ci	def_bool y
7462306a36Sopenharmony_ci	depends on ADB_PMU && INPUT=y
7562306a36Sopenharmony_ci
7662306a36Sopenharmony_ciconfig ADB_PMU_LED
7762306a36Sopenharmony_ci	bool "Support for the Power/iBook front LED"
7862306a36Sopenharmony_ci	depends on PPC_PMAC && ADB_PMU
7962306a36Sopenharmony_ci	select NEW_LEDS
8062306a36Sopenharmony_ci	select LEDS_CLASS
8162306a36Sopenharmony_ci	help
8262306a36Sopenharmony_ci	  Support the front LED on Power/iBooks as a generic LED that can
8362306a36Sopenharmony_ci	  be triggered by any of the supported triggers. To get the
8462306a36Sopenharmony_ci	  behaviour of the old CONFIG_BLK_DEV_IDE_PMAC_BLINK, select this
8562306a36Sopenharmony_ci	  and the disk LED trigger and configure appropriately through sysfs.
8662306a36Sopenharmony_ci
8762306a36Sopenharmony_ciconfig ADB_PMU_LED_DISK
8862306a36Sopenharmony_ci	bool "Use front LED as DISK LED by default"
8962306a36Sopenharmony_ci	depends on ATA
9062306a36Sopenharmony_ci	depends on ADB_PMU_LED
9162306a36Sopenharmony_ci	depends on LEDS_CLASS
9262306a36Sopenharmony_ci	select LEDS_TRIGGERS
9362306a36Sopenharmony_ci	select LEDS_TRIGGER_DISK
9462306a36Sopenharmony_ci	help
9562306a36Sopenharmony_ci	  This option makes the front LED default to the disk trigger
9662306a36Sopenharmony_ci	  so that it blinks on disk activity.
9762306a36Sopenharmony_ci
9862306a36Sopenharmony_ciconfig PMAC_SMU
9962306a36Sopenharmony_ci	bool "Support for SMU  based PowerMacs"
10062306a36Sopenharmony_ci	depends on PPC_PMAC64
10162306a36Sopenharmony_ci	help
10262306a36Sopenharmony_ci	  This option adds support for the newer G5 iMacs and PowerMacs based
10362306a36Sopenharmony_ci	  on the "SMU" system control chip which replaces the old PMU.
10462306a36Sopenharmony_ci	  If you don't know, say Y.
10562306a36Sopenharmony_ci
10662306a36Sopenharmony_ciconfig PMAC_APM_EMU
10762306a36Sopenharmony_ci	tristate "APM emulation"
10862306a36Sopenharmony_ci	select APM_EMULATION
10962306a36Sopenharmony_ci	depends on ADB_PMU && PM && PPC32
11062306a36Sopenharmony_ci
11162306a36Sopenharmony_ciconfig PMAC_MEDIABAY
11262306a36Sopenharmony_ci	bool "Support PowerBook hotswap media bay"
11362306a36Sopenharmony_ci	depends on PPC_PMAC && PPC32 && BLOCK
11462306a36Sopenharmony_ci	help
11562306a36Sopenharmony_ci	  This option adds support for older PowerBook's hotswap media bay
11662306a36Sopenharmony_ci	  that can contains batteries, floppy drives, or IDE devices. PCI
11762306a36Sopenharmony_ci	  devices are not fully supported in the bay as I never had one to
11862306a36Sopenharmony_ci	  try with
11962306a36Sopenharmony_ci
12062306a36Sopenharmony_ciconfig PMAC_BACKLIGHT
12162306a36Sopenharmony_ci	bool "Backlight control for LCD screens"
12262306a36Sopenharmony_ci	depends on PPC_PMAC && ADB_PMU && FB = y && (BROKEN || !PPC64)
12362306a36Sopenharmony_ci	select FB_BACKLIGHT
12462306a36Sopenharmony_ci	help
12562306a36Sopenharmony_ci	  Say Y here to enable Macintosh specific extensions of the generic
12662306a36Sopenharmony_ci	  backlight code. With this enabled, the brightness keys on older
12762306a36Sopenharmony_ci	  PowerBooks will be enabled so you can change the screen brightness.
12862306a36Sopenharmony_ci	  Newer models should use a userspace daemon like pbbuttonsd.
12962306a36Sopenharmony_ci
13062306a36Sopenharmony_ciconfig PMAC_BACKLIGHT_LEGACY
13162306a36Sopenharmony_ci	bool "Provide legacy ioctl's on /dev/pmu for the backlight"
13262306a36Sopenharmony_ci	depends on PMAC_BACKLIGHT && (BROKEN || !PPC64)
13362306a36Sopenharmony_ci	help
13462306a36Sopenharmony_ci	  Say Y if you want to enable legacy ioctl's on /dev/pmu. This is for
13562306a36Sopenharmony_ci	  programs which use this old interface. New and updated programs
13662306a36Sopenharmony_ci	  should use the backlight classes in sysfs.
13762306a36Sopenharmony_ci
13862306a36Sopenharmony_ciconfig ADB_MACIO
13962306a36Sopenharmony_ci	bool "Include MacIO (CHRP) ADB driver"
14062306a36Sopenharmony_ci	depends on ADB && PPC_CHRP && !PPC_PMAC64
14162306a36Sopenharmony_ci	help
14262306a36Sopenharmony_ci	  Say Y here to include direct support for the ADB controller in the
14362306a36Sopenharmony_ci	  Hydra chip used on PowerPC Macintoshes of the CHRP type.  (The Hydra
14462306a36Sopenharmony_ci	  also includes a MESH II SCSI controller, DBDMA controller, VIA chip,
14562306a36Sopenharmony_ci	  OpenPIC controller and two RS422/Geoports.)
14662306a36Sopenharmony_ci
14762306a36Sopenharmony_ciconfig INPUT_ADBHID
14862306a36Sopenharmony_ci	bool "Support for ADB input devices (keyboard, mice, ...)"
14962306a36Sopenharmony_ci	depends on ADB && INPUT=y
15062306a36Sopenharmony_ci	help
15162306a36Sopenharmony_ci	  Say Y here if you want to have ADB (Apple Desktop Bus) HID devices
15262306a36Sopenharmony_ci	  such as keyboards, mice, joysticks, trackpads  or graphic tablets
15362306a36Sopenharmony_ci	  handled by the input layer.  If you say Y here, make sure to say Y to
15462306a36Sopenharmony_ci	  the corresponding drivers "Mouse Support" (CONFIG_INPUT_MOUSEDEV) and
15562306a36Sopenharmony_ci	  "Event interface support" (CONFIG_INPUT_EVDEV) as well.
15662306a36Sopenharmony_ci
15762306a36Sopenharmony_ci	  If unsure, say Y.
15862306a36Sopenharmony_ci
15962306a36Sopenharmony_ciconfig MAC_EMUMOUSEBTN
16062306a36Sopenharmony_ci	tristate "Support for mouse button 2+3 emulation"
16162306a36Sopenharmony_ci	depends on SYSCTL && INPUT
16262306a36Sopenharmony_ci	help
16362306a36Sopenharmony_ci	  This provides generic support for emulating the 2nd and 3rd mouse
16462306a36Sopenharmony_ci	  button with keypresses.  If you say Y here, the emulation is still
16562306a36Sopenharmony_ci	  disabled by default.  The emulation is controlled by these sysctl
16662306a36Sopenharmony_ci	  entries:
16762306a36Sopenharmony_ci	  /proc/sys/dev/mac_hid/mouse_button_emulation
16862306a36Sopenharmony_ci	  /proc/sys/dev/mac_hid/mouse_button2_keycode
16962306a36Sopenharmony_ci	  /proc/sys/dev/mac_hid/mouse_button3_keycode
17062306a36Sopenharmony_ci
17162306a36Sopenharmony_ci	  If you have an Apple machine with a 1-button mouse, say Y here.
17262306a36Sopenharmony_ci
17362306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
17462306a36Sopenharmony_ci	  module will be called mac_hid.
17562306a36Sopenharmony_ci
17662306a36Sopenharmony_ciconfig THERM_WINDTUNNEL
17762306a36Sopenharmony_ci	tristate "Support for thermal management on Windtunnel G4s"
17862306a36Sopenharmony_ci	depends on I2C && I2C_POWERMAC && PPC_PMAC && !PPC_PMAC64
17962306a36Sopenharmony_ci	help
18062306a36Sopenharmony_ci	  This driver provides some thermostat and fan control for the desktop
18162306a36Sopenharmony_ci	  G4 "Windtunnel"
18262306a36Sopenharmony_ci
18362306a36Sopenharmony_ciconfig THERM_ADT746X
18462306a36Sopenharmony_ci	tristate "Support for thermal mgmnt on laptops with ADT 746x chipset"
18562306a36Sopenharmony_ci	depends on I2C && I2C_POWERMAC && PPC_PMAC && !PPC_PMAC64
18662306a36Sopenharmony_ci	help
18762306a36Sopenharmony_ci	  This driver provides some thermostat and fan control for the
18862306a36Sopenharmony_ci	  iBook G4, and the ATI based aluminium PowerBooks, allowing slightly
18962306a36Sopenharmony_ci	  better fan behaviour by default, and some manual control.
19062306a36Sopenharmony_ci
19162306a36Sopenharmony_ciconfig WINDFARM
19262306a36Sopenharmony_ci	tristate "New PowerMac thermal control infrastructure"
19362306a36Sopenharmony_ci	depends on PPC
19462306a36Sopenharmony_ci
19562306a36Sopenharmony_ciconfig WINDFARM_PM81
19662306a36Sopenharmony_ci	tristate "Support for thermal management on iMac G5"
19762306a36Sopenharmony_ci	depends on WINDFARM && I2C && CPU_FREQ_PMAC64 && PMAC_SMU
19862306a36Sopenharmony_ci	select I2C_POWERMAC
19962306a36Sopenharmony_ci	help
20062306a36Sopenharmony_ci	  This driver provides thermal control for the iMacG5
20162306a36Sopenharmony_ci
20262306a36Sopenharmony_ciconfig WINDFARM_PM72
20362306a36Sopenharmony_ci	tristate "Support for thermal management on PowerMac G5 (AGP)"
20462306a36Sopenharmony_ci	depends on WINDFARM && I2C && CPU_FREQ_PMAC64 && ADB_PMU
20562306a36Sopenharmony_ci	select I2C_POWERMAC
20662306a36Sopenharmony_ci	help
20762306a36Sopenharmony_ci	  This driver provides thermal control for the PowerMac G5
20862306a36Sopenharmony_ci	  "AGP" variants (PowerMac 7,2 and 7,3)
20962306a36Sopenharmony_ci
21062306a36Sopenharmony_ciconfig WINDFARM_RM31
21162306a36Sopenharmony_ci	tristate "Support for thermal management on Xserve G5"
21262306a36Sopenharmony_ci	depends on WINDFARM && I2C && CPU_FREQ_PMAC64 && ADB_PMU
21362306a36Sopenharmony_ci	select I2C_POWERMAC
21462306a36Sopenharmony_ci	help
21562306a36Sopenharmony_ci	  This driver provides thermal control for the Xserve G5
21662306a36Sopenharmony_ci	  (RackMac3,1)
21762306a36Sopenharmony_ci
21862306a36Sopenharmony_ciconfig WINDFARM_PM91
21962306a36Sopenharmony_ci	tristate "Support for thermal management on PowerMac9,1"
22062306a36Sopenharmony_ci	depends on WINDFARM && I2C && CPU_FREQ_PMAC64 && PMAC_SMU
22162306a36Sopenharmony_ci	select I2C_POWERMAC
22262306a36Sopenharmony_ci	help
22362306a36Sopenharmony_ci	  This driver provides thermal control for the PowerMac9,1
22462306a36Sopenharmony_ci	  which is the recent (SMU based) single CPU desktop G5
22562306a36Sopenharmony_ci
22662306a36Sopenharmony_ciconfig WINDFARM_PM112
22762306a36Sopenharmony_ci	tristate "Support for thermal management on PowerMac11,2"
22862306a36Sopenharmony_ci	depends on WINDFARM && I2C && PMAC_SMU
22962306a36Sopenharmony_ci	select I2C_POWERMAC
23062306a36Sopenharmony_ci	help
23162306a36Sopenharmony_ci	  This driver provides thermal control for the PowerMac11,2
23262306a36Sopenharmony_ci	  which are the recent dual and quad G5 machines using the
23362306a36Sopenharmony_ci	  970MP dual-core processor.
23462306a36Sopenharmony_ci
23562306a36Sopenharmony_ciconfig WINDFARM_PM121
23662306a36Sopenharmony_ci	tristate "Support for thermal management on PowerMac12,1"
23762306a36Sopenharmony_ci	depends on WINDFARM && I2C && PMAC_SMU
23862306a36Sopenharmony_ci	select I2C_POWERMAC
23962306a36Sopenharmony_ci	help
24062306a36Sopenharmony_ci	  This driver provides thermal control for the PowerMac12,1
24162306a36Sopenharmony_ci	  which is the iMac G5 (iSight).
24262306a36Sopenharmony_ci
24362306a36Sopenharmony_ciconfig ANSLCD
24462306a36Sopenharmony_ci	tristate "Support for ANS LCD display"
24562306a36Sopenharmony_ci	depends on ADB_CUDA && PPC_PMAC
24662306a36Sopenharmony_ci
24762306a36Sopenharmony_ciconfig PMAC_RACKMETER
24862306a36Sopenharmony_ci	tristate "Support for Apple XServe front panel LEDs"
24962306a36Sopenharmony_ci	depends on PPC_PMAC
25062306a36Sopenharmony_ci	help
25162306a36Sopenharmony_ci	  This driver provides some support to control the front panel
25262306a36Sopenharmony_ci	  blue LEDs "vu-meter" of the XServer macs.
25362306a36Sopenharmony_ci
25462306a36Sopenharmony_ciconfig SENSORS_AMS
25562306a36Sopenharmony_ci	tristate "Apple Motion Sensor driver"
25662306a36Sopenharmony_ci	depends on PPC_PMAC && !PPC64 && INPUT && ((ADB_PMU && I2C = y) || (ADB_PMU && !I2C) || I2C)
25762306a36Sopenharmony_ci	help
25862306a36Sopenharmony_ci	  Support for the motion sensor included in PowerBooks. Includes
25962306a36Sopenharmony_ci	  implementations for PMU and I2C.
26062306a36Sopenharmony_ci
26162306a36Sopenharmony_ci	  This driver can also be built as a module. If so, the module
26262306a36Sopenharmony_ci	  will be called ams.
26362306a36Sopenharmony_ci
26462306a36Sopenharmony_ciconfig SENSORS_AMS_PMU
26562306a36Sopenharmony_ci	bool "PMU variant"
26662306a36Sopenharmony_ci	depends on SENSORS_AMS && ADB_PMU
26762306a36Sopenharmony_ci	default y
26862306a36Sopenharmony_ci	help
26962306a36Sopenharmony_ci	  PMU variant of motion sensor, found in late 2005 PowerBooks.
27062306a36Sopenharmony_ci
27162306a36Sopenharmony_ciconfig SENSORS_AMS_I2C
27262306a36Sopenharmony_ci	bool "I2C variant"
27362306a36Sopenharmony_ci	depends on SENSORS_AMS && I2C
27462306a36Sopenharmony_ci	default y
27562306a36Sopenharmony_ci	help
27662306a36Sopenharmony_ci	  I2C variant of motion sensor, found in early 2005 PowerBooks and
27762306a36Sopenharmony_ci	  iBooks.
27862306a36Sopenharmony_ci
27962306a36Sopenharmony_ciendif # MACINTOSH_DRIVERS
280