Replies: 5 comments 4 replies
-
Hi @Dermiste, thanks for asking. Unfortunately, the driver in question does not support EUSART, as it relies on the USART API that Emlib exposes, so the only option that there is in Zephyr right now for using SPI with this SoC is to reconfigure the USART node to act as a SPI controller. This of course also means that UART would be disabled and not available for the user, and that’s why it wasn’t added/configured that way in the SoC devicetree file. I’m not sure why you’re getting the error that you’ve listed in your post. I haven’t investigated this problem in depth, but it looks like perhaps something changed in the HAL (maybe we had a custom fixup for this error that got lost in one of the GSDK bumps?). The snippet below seems to fix the issue for me:
Also, please note that the |
Beta Was this translation helpful? Give feedback.
-
HI @fkokosinski, Thanks for your answer, that explains why I couldn't get the driver to work. Since I found in the HAL a Here is my DTS overlay:
Lastly, I found this sample in
Do you reckon it's enough to get SPI working on EUSART0 ? Correct me if I'm wrong but this should also work straight up from a main.c right? those are just calls to a HAL that should be operationnal by itself without any zephyr wrapping. Clock wise, are those three lines above enough to configure the clock for that component? Any tips or bits of code much appreciated :) Thanks in advance |
Beta Was this translation helpful? Give feedback.
-
Update, it turns out that using The current More to come, maybe someone will be interested in a pull request after a starting has been properly initiated. |
Beta Was this translation helpful? Give feedback.
-
Update, the SPI delay between words is no issue but it turned out that the sensor is not properly powered. There is this component in the DTS which is meant to enable the sensor: I thought it was working but I managed to get an answer from the slave only when I directly enabled the pin inside the driver using: The no power state can also be seen on other sensor at startup where I2C device cannot read their slave address. @fkokosinski any idea if that way of powering up the sensors was working fine at some point? In any case fixing it is definitely of interest for anyone who wants to test communication with all sensors. |
Beta Was this translation helpful? Give feedback.
-
Hello, Side note as you wrote "Update, it turns out that using EUSART0 does not work but using EUSART1 does". Based on the reference manual link. You have defined initially:
But the address range for the eusart0 is 0x4B010000 - 0x4B013FFF (See ref manual p. 46). So you are missing a zero. It should be Also your interrupts:
It should be Peripheral-id should be set to 0 (match with eusart0). There may be other ones but that's what I've spotted so far. Regards, |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Hi all,
I am working on the efr32xg24_dk2601b, I am trying to get the ICM-20689 to work. To achieve that, I edited an overlay and linked the provided driver
zephyr\drivers\spi\spi_gecko.c
.Here is the overlay which I got from searching the code base, the provided values are probably not right BUT I assume I can at least get a proper compile:
But can't get that to compile, I get an error during instanciation which leads to:
.
And the beginning of the stack call:

Problem is, on this board there is only 1 USART and 2 EUSART, so any refering to USART1 does not exist ...
@fkokosinski & @lpawelcz, it seems you worked on that file, do you have any idea what might cause that?
Thanks for any tips ! Or any overlay lying around you could send over :)
Beta Was this translation helpful? Give feedback.
All reactions