SiLabs Gecko

Hello, I tried it on the SLWSTK6220a with the EZR32LG. While I was able to get riot-os working on it, the ipv6 address does not get assigned.

How does the interface get enabled ? I did not enable any tap on the host.

Thanks,

Hi Akshay, I fear you have to be a bit more specific than that. What application are you using e.g., which network stack? Also, I might be mistaking but it seems like there is no RF support for the EZR32LG in master yet. Maybe that is the problem?

Cheers, Martine

Thanks Martine, It is possible that there is no RF support (I thought so but was not sure.). I can look at porting it if there can be pointers.

The example used was gnrc_networking on the latest git clone.

One confession, :-|, is that the EZR32WG is supported and I worked on the basic examples only modifying the WG to LG which changes it from Cortex-M4 to Cortex-M3.

I have located the track. Now the license question –

Is it ok to use bits of code from the Silicon Labs driver here (https://siliconlabs.github.io/Gecko_SDK_Doc/ezr32lg/html/ezradio__comm_8c_source.html) as per RIOT-OS licensing norms ?

Hi Akshay,

if I understand it correctly, you use the ezr32lg? So I would suggest you start by porting that CPU first:

  • create the ezr32lg cpu
  • create a ezr32_common folder
  • move everything from the ezr32wg to the common folder that can be re-used (I would suppose this includes all periph drivers + most of the arch code)

Next than you can implement the radio driver, as a rough guideline have a look at the (early) device driver implementation guideline [1].

Cheers, Hauke

[1]

Hi again,

In general yes, but it depends which license SiLabs has put on the code, so as long as it is compatible to LGPL you could use it. But if that is the most elegant solution is something of personal taste… :slight_smile: Cheers, Hauke

Hi Akshay,

Somewhat related, but I have been working on EFM32 support for RIOT-OS in the past year. You can find my work (in progress) at [1]. A PR for one specific board (Thunderboard Sense) is at [2].

Chances are that [3] relies on the use of ‘emlib’. In that case, I would strongly suggest to look at my work to not reinvent the wheel. I have implemented most peripherals (on top of emlib) for all EFM32 MCU’s available (>400).

Hello Bas, I checked against EFM2RIOT. EZR32LG works with it also like a charm. Also the siliconlabs driver rely on peripherals which you do seem to have covered.

the efm32_common covers the peripherals.

thanks,

Hi Akshay It seems that SiLabs uses the terms of a zlib license [1] for its code (see [2]). If this is correct indeed, zlib is recognized by FSF and compatible with LGPL, so no issues there, I guess. Cheers Emmanuel

[1] https://en.wikipedia.org/wiki/Zlib_License

[2] https://siliconlabs.github.io/Gecko_SDK_Doc/ezr32lg/html/ezradio__comm_8c.html