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