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