Re: Does the EFR32_slwstk6061a port work?

Kumar Gala

On Oct 29, 2018, at 5:00 PM, Jake Baldwin <jake.a.baldwin@...> wrote:

The EFR32_SLWSTK6061A board is very similar to the EFR32_SLWSTK6000B. The microcontroller uart0, led, and button pins are exactly the same. Even though the microcontrollers are different they share the same flash and RAM starting location the same peripheral memory addresses. So I figured I would try to build the example project for the 6061A and load it onto the 6000B. But it didn't work.

I followed the device tree source all the way down to zephyr/dts/arm/silabs/efr32fg1p.dtsi and found that the starting register for the gpio block is listed at 0x4000A400 not 0x4000A000 like it's supposed to be. Here's the excerpt:

gpio@4000a400 {
compatible = "silabs,efr32xg1-gpio";
reg = <0x4000a400 0xc00>;
interrupts = <9 2 17 2>;
interrupt-names = "GPIO_EVEN", "GPIO_ODD";
label = "GPIO";

#address-cells = <1>;
#size-cells = <1>;

gpioa: gpio@4000a000 {
compatible = "silabs,efr32xg1-gpio-port";
reg = <0x4000a000 0x30>;
label = "GPIO_A";
#gpio-cells = <2>;

gpioa is correctly listed at 0x4000a000 but the higher level group starts at 0x4000A400 which is believe is incorrect.

Two questions: Does this look like an error? Has anyone loaded this onto a 6061A and seen the hello world message print in a console?
Hopefully Christian can chime in if the latest code is working for him or not.

So the 0x4000a400 is correct since its the common registers (GPIO_EXTIPSELL..GPIO_LOCK) to all port’s. There isn’t any code today that utilizes any of those registers in Zephyr so it shouldn’t be an issue.

One thing I’d suggest is maybe trying an older version of Zephyr to see if “hello world” works. Maybe we’ve broken something since the initial commit of the EFR32_SLWSTK6061A board code.

- k

Join to automatically receive all group messages.