Hi! I'm looking at original Maemo N900 2.6.28 sound driver and GPIOs which controls A/V jack detection. For reference source code of that driver can be found e.g. at alsa-devel ML [1] [2] or in my linux-n900 git tree, branch v2.6.28-nokia [3]. In that sound/soc/omap/rx51.c code is function rx51_set_eci_switches() which configures 2 gpios: RX51_ECI_SWITCH_1_GPIO = gpio 178 and RX51_ECI_SWITCH_2_GPIO = gpio 182 based on "eci mode" input parameter. But in mainline kernel code [4] [5] there is no information about gpio 178 (as RX51_ECI_SWITCH_1_GPIO) and gpio 182 is called as just "eci-switch". More interesting part is that "eci-switch" gpio is not used in whole mainline code. It is just referenced in Nokia N900 DTS [4]. Looks like sound driver in mainline kernel is incomplete. Jarkko, you are listed as original author of that driver. Do you (or anybody else) remember what that rx51_set_eci_switches() function is doing? And what gpio 178 controls? I was even not able to find gpio 178 in RX-51 Schematics [6]. And do you know something about Nokia ECI headsets supports for Nokia N900. Looks like there is already some kernel code but support for ECI bus or multibuttons headset is missing. [1] - http://mailman.alsa-project.org/pipermail/alsa-devel/2009-October/022033.html [2] - http://mailman.alsa-project.org/pipermail/alsa-devel/2009-October/022039.html [3] - https://github.com/pali/linux-n900/blob/v2.6.28-nokia/sound/soc/omap/rx51.c [4] - https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/arch/arm/boot/dts/omap3-n900.dts#n128 [5] - https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/sound/soc/omap/rx51.c [6] - https://wiki.maemo.org/N900_Hardware_Schematic -- Pali Rohár pali.rohar@gmail.com