Re: Nokia N900 sound driver and ECI GPIOs

From: Peter Ujfalusi
Date: Mon Jan 02 2017 - 03:35:07 EST




On 01/02/2017 12:36 AM, Pavel Machek wrote:
> 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.
>
> What does "ECI" mean?

ECI = Enhancement Control Interface

apart from buttons (play/pause/skip forward/reverse, etc) the
accessories can contain memory to store parameters, like audio tuning
data, etc.

>
> I'd like to get detection of headset button presses to work in recent
> kernels, but could not figure it out :-(.
>
> Are there multi-button headsets compatible with N900?

Not sure if n900 is capable of handling ECI communication, n9 was. In n9
the PMIC/Audio chip had an ECI core integrated afaik


> Best regards,
> Pavel
>
>

--
Péter