1 # SPDX-License-Identifier: GPL-2.0-only
2 
3 menuconfig 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 
13 if MACINTOSH_DRIVERS
14 
15 config 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 
25 config 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 
34 config 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
44 config 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 
58 config 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 
72 config ADB_PMU_EVENT
73 	def_bool y
74 	depends on ADB_PMU && INPUT=y
75 
76 config 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 
87 config 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 
98 config 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 
106 config PMAC_APM_EMU
107 	tristate "APM emulation"
108 	select APM_EMULATION
109 	depends on ADB_PMU && PM && PPC32
110 
111 config 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 
120 config 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 
130 config 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 
138 config 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 
147 config 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 
159 config 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 
176 config 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 
183 config 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 
191 config WINDFARM
192 	tristate "New PowerMac thermal control infrastructure"
193 	depends on PPC
194 
195 config 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 
202 config 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 
210 config 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 
218 config 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 
226 config 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 
235 config 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 
243 config ANSLCD
244 	tristate "Support for ANS LCD display"
245 	depends on ADB_CUDA && PPC_PMAC
246 
247 config 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 
254 config 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 
264 config SENSORS_AMS_PMU
265 	bool "PMU variant" if SENSORS_AMS_I2C
266 	depends on SENSORS_AMS && ADB_PMU
267 	default y
268 	help
269 	  PMU variant of motion sensor, found in late 2005 PowerBooks.
270 
271 config 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 
279 endif # MACINTOSH_DRIVERS
280