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