[Gta04-owner] Goldelico Replicant 4.2 Update (suspend + accel)

Dr. H. Nikolaus Schaller hns at goldelico.com
Tue May 20 14:52:49 CEST 2014


Hi,
I have worked in the kernel part of your patch into the tree:

http://git.goldelico.com/?p=gta04-kernel.git;a=shortlog;h=refs/heads/work/hns/3.15-rc3-lis302

And I have added a device tree file for the GTA04A3 boards, but not tested anything (except that it compiles).

In the mean time I have found out that the GTA04A3 have mixed installation
of LIS302 and BMA180, i.e. some boards have both and some have either one.

So maybe with the next 3.15 kernel we have standard support for LIS302 on the GTA04A3 boards as well.

BR,
Nikolaus


Am 17.05.2014 um 13:45 schrieb Alexandre Roumiantsev:

> Hello
> 
> Follow Lukas and Nicolaus idea I get subj with LIS302 accel working. At
> least same as Lukas announcement:
> 
>> * Sensors: basic support for acceleration sensor (other sensors might
>>  crash if used)
>>  --> Good test cases are the "Free Fall" game and "Sensor Readout" app,
>>      as found in F-Droid.
> 
> I can see acceleroment info with  "Sensor Readout" and play at "Free
> Fall" game.
> Find in attachment the patch.
> 
> Alexandre.  
>> 
>> ______________________________________________________________________
>> Hello
>> 
>> Thank Lukas. I have seen it.
>> Moreover before I seen it I prepare my own one and try to publish it,
>> but something happens with goldelico's server at Ester period. I repeat
>> it below, it looks that you have not get it:
>> 
>>> Hello,
>>> 
>>> 1) Please, any help. After some experiments with LIS302 I find a way:
>>> 
>>> --- ../replicant-4.2/kernel/goldelico/gta04/arch/arm/configs/gta04_defconfig    2014-04-08 18:06:18.613605675 +0400
>>> +++
>>> kernel/goldelico/gta04/arch/arm/configs/gta04_defconfig     2014-04-20
>>> 20:50:31.286762778 +0400
>>> @@ -1198,7 +1200,7 @@
>>> #
>>> # Misc devices
>>> #
>>> -# CONFIG_SENSORS_LIS3LV02D is not set
>>> +CONFIG_SENSORS_LIS3LV02D=y
>>> # CONFIG_AD525X_DPOT is not set
>>> # CONFIG_ATMEL_PWM is not set
>>> # CONFIG_DUMMY_IRQ is not set
>>> @@ -1238,7 +1240,7 @@
>>> #
>>> # CONFIG_TI_ST is not set
>>> # CONFIG_SENSORS_LIS3_SPI is not set
>>> -# CONFIG_SENSORS_LIS3_I2C is not set
>>> +CONFIG_SENSORS_LIS3_I2C=y 
>>> 
>>> #
>>> # Altera FPGA firmware download module
>>> --- ../replicant-4.2/kernel/goldelico/gta04/arch/arm/mach-omap2/board-omap3gta04.c      2014-04-18 19:37:43.203259000 +0400
>>> +++ kernel/goldelico/gta04/arch/arm/mach-omap2/board-omap3gta04.c
>>> 2014-04-20 20:51:57.047194067 +0400
>>> @@ -638,6 +638,8 @@
>>> static struct regulator_consumer_supply gta04_vaux2_supply[] = {
>>>        REGULATOR_SUPPLY("vaux2", "2-0068"),
>>>        REGULATOR_SUPPLY("vaux2", "2-001e"),
>>> +       REGULATOR_SUPPLY("Vdd_IO", "2-001d"),
>>> };
>>> 
>>> static struct regulator_init_data gta04_vaux2 = {
>>> @@ -1157,7 +1159,12 @@
>>> #endif
>>> #if defined(CONFIG_INPUT_BMA150) ||
>>> defined(CONFIG_INPUT_BMA150_MODULE)
>>> {
>>> -       I2C_BOARD_INFO("bma150", 0x41), /* supports our bma180 */
>>> +       I2C_BOARD_INFO("bma150", 0x41),  /*supports our bma180 */
>>> +},
>>> +#endif
>>> +#if defined(CONFIG_SENSORS_LIS3_I2C)
>>> +{
>>> +       I2C_BOARD_INFO("lis3lv02d", 0x1d),      /* supports our lis302
>>> */
>>> },
>>> #endif
>>> #if defined(CONFIG_SENSORS_HMC5843) ||
>>> defined(CONFIG_SENSORS_HMC5843_MODULE)
>>> 
>>> which allow to me get input node in /sys/class/input/input*
>>> However next step still unsuccessful. In case that I am not sure in
>>> above, Please any help, especially with  REGULATOR_SUPPLY("Vdd_IO",
>>> "2-001d"). Is it correct place? I else get error message about "Vdd"
>>> regulator - what it meens?
>>> 
>>>> Hi,
>>>> 
>>>> as Nikolaus said, you proably have to edit the GTA04 boardfile
>>>> (arch/arm/mach-omap2/board-omap3gta04.c), to correctly initialize
>>> the
>>>> LIS302 driver.
>>>> See how the BMA180 (bma150 driver) is initialized as a reference:
>>>> https://github.com/OpenPhoenux/gta04-kernel/blob/3.12-replicant4/arch/arm/mach-omap2/board-omap3gta04.c#L1158
>>>> 
>>>> Also I will try to figure out why the system doesn't boot if a
>>> sensor
>>>> is not found and try to fix it, so you could at least boot your
>>> system
>>>> with my patches applied.
>>> 
>>> 2) In case that I get same behavior with patch above and Lukas
>>> patches, 
>>> I investigate a reason and found that simple check was missed and
>>> patch below
>>> solve the problem:
>>> --- ../replicant-4.2/device/goldelico/gta04/libsensors/gta04_sensors.c  2014-04-03 19:16:24.112305002 +0400
>>> +++ device/goldelico/gta04/libsensors/gta04_sensors.c   2014-04-20
>>> 20:53:55.927193884 +0400
>>> @@ -218,7 +218,6 @@
>>> 
>>>        if (module == NULL || device == NULL)
>>>                return -EINVAL;
>>>        gta04_sensors_device = (struct gta04_sensors_device *)
>>>                calloc(1, sizeof(struct gta04_sensors_device));
>>>        gta04_sensors_device->device.common.tag = HARDWARE_DEVICE_TAG;
>>> @@ -246,11 +245,14 @@
>>>                }
>>>        }
>>> 
>>> -       gta04_sensors_device->poll_fds_count = p;
>>> +       if (p > 0) {
>>> +               gta04_sensors_device->poll_fds_count = p;
>>> 
>>> -       *device = &(gta04_sensors_device->device.common);
>>> +               *device = &(gta04_sensors_device->device.common);
>>> 
>>> -       return 0;
>>> +               return 0;
>>> +       }
>>> +       return -EINVAL;
>>> }
>>> 
>>> int gta04_sensors_get_sensors_list(struct sensors_module_t* module,
>>> 
>>> I have test this patch only at my device, which has LIS302 chip.
>>> Please, test it with 
>>> ordinary devices.
>>> 
>>> Best regards, Alexandre
>>> 
>>> 
>> 
>> On Fri, 2014-04-25 at 08:57 +0200, Lukas Maerdian wrote:
>>> Hi Alexandre,
>>> 
>>> FYI: I've introduced a small patch, which fixes the problem with your
>>> device non-booting, because of the missing BMA180 sensor:
>>> http://git.goldelico.com/?p=gta04-replicant-device.git;a=commit;h=64fc50c97676050ce5dea75dc5c045675fc993e0
>>> 
>>> BR,
>>>  Lukas
>>> 
>>> 2014-04-07 17:59 GMT+02:00 Lukas Maerdian <lukas at goldelico.com>:
>>>> Try to configure a LIS302 driver into your kernel.
>>>> E.g. that one: http://lxr.free-electrons.com/source/drivers/misc/lis3lv02d/
>>>> (CONFIG_SENSORS_LIS3_I2C)
>>>> 
>>>> Then check again in /sys/class/input/*/name for a lis3lv02d or
>>>> similar. Set the correct permissions (via init.gta04.rc) for
>>>> /dev/input/event* - corresponding to the input device where you found
>>>> the correct name. Afterwards you have to update the libsensors (in
>>>> devices/goldelico/gta04/libsensors/bma180.c) to check also for the
>>>> name you found in /sys/class/input/*/name instead of just for
>>>> "bma150".
>>>> 
>>>> The rest of the HAL _should_ be pretty similar, as the LIS302 as well
>>>> as the BMA180 both provide ABS_X/Y/Z data. But my devices don't have a
>>>> LIS302, so I can't check. But please feel free to ask if you need
>>>> further help!
>>>> 
>>>> BR,
>>>>  Lukas
>>>> 
>>>> 2014-04-07 14:09 GMT+02:00 Alexandre Roumiantsev <ran at mail.wplus.net>:
>>>>> Hello, Lukas
>>>>> 
>>>>> I am sure in same kernal defconfig. But you really right - my device
>>>>> is A3 model and I am looking now info about LIS302. Do have any?
>>>>> 
>>>>> Best regards, Alexandre.
>>>>> 
>>>>> 
>>>>> 
>>>>> 2014-04-07 14:46 GMT+04:00, Lukas Maerdian <lukas at goldelico.com>:
>>>>>> 2014-04-06 6:42 GMT+02:00 Alexandre Roumiantsev <ran at mail.wplus.net>:
>>>>>>> Hello
>>>>>>> 
>>>>>>>> Also make sure, that /sys/class/input/input1/name is "bma150".
>>>>>>>> Otherwise you need to set the correct permissions on another
>>>>>>>> node.
>>>>>>> 
>>>>>>> I have look at /sys/class/input/input1/name and find that it is
>>>>>>> twl4030_pwrbutton
>>>>>>> At my device I have next list of /sys/class/input/input?:
>>>>>>> 
>>>>>>> /sys/class/input/input0
>>>>>>> tsc2007
>>>>>>> /sys/class/input/input1
>>>>>>> twl4030_pwrbutton
>>>>>>> /sys/class/input/input2
>>>>>>> twl4030:vibrator
>>>>>>> /sys/class/input/input3
>>>>>>> gta04 Headset Jack
>>>>>>> /sys/class/input/input4
>>>>>>> Phone button
>>>>>>> /sys/class/input/input5
>>>>>>> 3G Wakeup
>>>>>> 
>>>>>> Hi Alexandre,
>>>>>> 
>>>>>> it looks like your BMA180 is not properly configured. Do you have the
>>>>>> kernel driver loaded or compiled in? Are you using the same defconfig
>>>>>> as in the 3.12-replicant4 branch? Are you using a GTA04A4 - I think as
>>>>>> of this revision all devices should have the BMA180, some A3 models
>>>>>> were also deployed with a LIS302.
>>>>>> 
>>>>>> BR,
>>>>>>  Lukas
>>>>>> 
> <patch>_______________________________________________
> Gta04-owner mailing list
> Gta04-owner at goldelico.com
> http://lists.goldelico.com/mailman/listinfo.cgi/gta04-owner



More information about the Gta04-owner mailing list