Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

boards/e180-zg120b-tb: add support #15487

Merged
merged 6 commits into from
Nov 23, 2020
Merged

Conversation

basilfx
Copy link
Member

@basilfx basilfx commented Nov 21, 2020

Contribution description

This PR adds support for the Ebyte E180-ZG120B-TB. It's a cheap board that houses a EFM32MG1B SoC with radio.

The board is very similar to the IKEA TRADFRI modules and the SLTB001A. It uses the EFM32 drivers. Mapped peripherals is limited to UART only, since the board does not 'expose' any I2C and/or SPI pins. This board features are limited, but the Radio makes it interested (but depends on #8569).

I have noticed that the board datasheet and SoC datasheet are wrong. Some of the LEDs on the board aren't even connected, and they certainly don't line up with the actual EFM32 chip. I verified this by de-lidding the SoC and probe with a multimeter.

The board has a serial-to-usb converter. It does not have a programming interface, but I just used JLink to connect it (these pins are correct on the board's silk screen).

Testing procedure

Run CI tests on the board.

image

Issues/PRs references

None

@basilfx basilfx requested review from benpicco and bergzand November 21, 2020 00:03
@basilfx basilfx added Area: boards Area: Board ports CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR Type: new feature The issue requests / The PR implemements a new feature for RIOT labels Nov 21, 2020
@basilfx basilfx force-pushed the feature/ebyte_e180 branch 3 times, most recently from ee73005 to ddeb15b Compare November 21, 2020 22:48
Copy link
Contributor

@benpicco benpicco left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you, works like a charm!
I can now confirm that it's the shoddy socket of my debug adapter that makes flashing those boards a pain (had similar issues as with the nRF52 boards from ebyte), but once I managed to flash it (wiggling the cables in the socket helped) I could flash riotboot with #15493 and flashing via riotboot works well too.

I hope we can use this to push forward the radio driver.

boards/e180-zg120b-tb/Makefile.include Outdated Show resolved Hide resolved
boards/e180-zg120b-tb/doc.txt Outdated Show resolved Hide resolved
boards/e180-zg120b-tb/doc.txt Outdated Show resolved Hide resolved
boards/e180-zg120b-tb/doc.txt Show resolved Hide resolved
select HAS_PERIPH_RTT
select HAS_PERIPH_TIMER
select HAS_PERIPH_UART
select HAS_PERIPH_UART_MODECFG
Copy link
Contributor

@benpicco benpicco Nov 22, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

HAS_PERIPH_UART_MODECFG should be a CPU feature
(hm but this is the same for all efm32 boards, can also be moved in a separate cleanup PR)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If added to the CPU features, doesn't that automatically add a dependency on the UART peripheral?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, it just means that the CPU implements this feature.
This way we can extend the API without having to implement it for all platforms at once.

@benpicco
Copy link
Contributor

Unrelated to this board, but is it normal that the RTC resets on reboot on efm32?

@basilfx
Copy link
Member Author

basilfx commented Nov 22, 2020

Unrelated to this board, but is it normal that the RTC resets on reboot on efm32?

Never thought about that, but yes: https://www.silabs.com/documents/public/application-notes/AN0005-EFM32-RTC.pdf

@benpicco
Copy link
Contributor

Please squash.

@benpicco benpicco merged commit e89d886 into RIOT-OS:master Nov 23, 2020
@basilfx basilfx deleted the feature/ebyte_e180 branch November 23, 2020 07:43
@basilfx
Copy link
Member Author

basilfx commented Nov 23, 2020

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: boards Area: Board ports CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR Type: new feature The issue requests / The PR implemements a new feature for RIOT
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants