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