ebaz4205 support #116

Merged
sb10q merged 10 commits from newell/zynq-rs:ebaz4205 into master 2024-09-30 14:08:58 +08:00
Contributor

Add support for EBAZ4205 board.

Add support for EBAZ4205 board.
newell added 6 commits 2024-09-24 04:42:40 +08:00
newell added 1 commit 2024-09-24 10:46:29 +08:00
mwojcik reviewed 2024-09-25 10:05:18 +08:00
@ -156,4 +165,0 @@
#[cfg(any(feature = "target_coraz7", feature = "target_kasli_soc"))]
let data1_config = slcr::DdriobConfig::zeroed()
.pullup_en(true);
#[cfg(feature = "target_redpitaya")]
Owner

Why was this removed and Red Pitaya dumped together even though it had a different configuration?

Why was this removed and Red Pitaya dumped together even though it had a different configuration?
Owner

Nevermind, I see it's an oversight and duplicated code. 👍

Nevermind, I see it's an oversight and duplicated code. 👍
mwojcik reviewed 2024-09-25 14:02:42 +08:00
@ -15,0 +13,4 @@
ArmPll = 0b010,
DdrPll = 0b011,
// Ethernet controller 0 EMIO clock
EMIO = 0b100,
Owner

Emio rather than EMIO for consistent style.

``Emio`` rather than ``EMIO`` for consistent style.
newell added 1 commit 2024-09-25 14:16:00 +08:00
newell force-pushed ebaz4205 from 18b569d9aa to f2eebf44e9 2024-09-25 14:25:19 +08:00 Compare
Owner

Did you manage to get experiments or szl running on it?

Did you manage to get ``experiments`` or ``szl`` running on it?
Author
Contributor

Did you manage to get experiments or szl running on it?

Yes, szl builds and runs fine. The main thing to be aware of is that to use Ethernet you need to load the gateware since it is via EMIO. I have rust-ebaz4205 where I built a simple blinky led firmware and also tested the Ethernet.

For experiments it works up to the point that it tries to use Ethernet and panics since you need to load the gateware to be able to communicate with the PHY.

> Did you manage to get ``experiments`` or ``szl`` running on it? Yes, ``szl`` builds and runs fine. The main thing to be aware of is that to use Ethernet you need to load the gateware since it is via EMIO. I have [rust-ebaz4205](https://github.com/newell/rust-ebaz4205) where I built a simple blinky led firmware and also tested the Ethernet. For ``experiments`` it works up to the point that it tries to use Ethernet and panics since you need to load the gateware to be able to communicate with the PHY.
sb10q reviewed 2024-09-26 07:51:07 +08:00
flake.nix Outdated
@ -7,7 +7,7 @@
outputs = { self, nixpkgs, mozilla-overlay }:
let
pkgs = import nixpkgs { system = "x86_64-linux"; overlays = [ (import mozilla-overlay) crosspkgs-overlay ]; };
Owner

Could you clean up the diff and remove all these whitespace changes?

Could you clean up the diff and remove all these whitespace changes?
Author
Contributor

That one must have been by accident.

Are you also wanting the trailing whitespace changes to be reverted? The trailing ones were from my VS Code extension (rust-analyzer) formatting. In the event you don't mind those changes I could do that in a follow up PR to partition the diff better.

That one must have been by accident. Are you also wanting the trailing whitespace changes to be reverted? The trailing ones were from my VS Code extension (rust-analyzer) formatting. In the event you don't mind those changes I could do that in a follow up PR to partition the diff better.
Owner

Ideally we should just run nixfmt/rustfmt and get rid of all of them in one go, should be in separate PR and individual unrelated diffs should be clean though.

Ideally we should just run nixfmt/rustfmt and get rid of all of them in one go, should be in separate PR and individual unrelated diffs should be clean though.
Owner

Including trailing whitespaces.

Including trailing whitespaces.
Owner

Since one of the main uses of szl is netboot, the Ethernet behavior is rather annoying. Maybe load minimal gateware (could hopefully be built with the open tools like openxc7)? Hopefully with bitstream "compression" it won't overflow the OCM. This is somewhat complicated and best addressed later, though.

Since one of the main uses of szl is netboot, the Ethernet behavior is rather annoying. Maybe load minimal gateware (could hopefully be built with the open tools like openxc7)? Hopefully with bitstream "compression" it won't overflow the OCM. This is somewhat complicated and best addressed later, though.
Author
Contributor

Since one of the main uses of szl is netboot, the Ethernet behavior is rather annoying. Maybe load minimal gateware (could hopefully be built with the open tools like openxc7)? Hopefully with bitstream "compression" it won't overflow the OCM. This is somewhat complicated and best addressed later, though.

Yeah, this one of the pains I had because I wasn't able to use artiq_netboot (etc.) to netboot and was having to swap my SD card back and forth (I could have probably used openocd for all the steps and will investigate that more later).

> Since one of the main uses of szl is netboot, the Ethernet behavior is rather annoying. Maybe load minimal gateware (could hopefully be built with the open tools like openxc7)? Hopefully with bitstream "compression" it won't overflow the OCM. This is somewhat complicated and best addressed later, though. Yeah, this one of the pains I had because I wasn't able to use artiq_netboot (etc.) to netboot and was having to swap my SD card back and forth (I could have probably used openocd for all the steps and will investigate that more later).
newell changed title from ebaz4205 support to WIP: ebaz4205 support 2024-09-26 08:20:17 +08:00
newell added 1 commit 2024-09-26 10:29:21 +08:00
newell changed title from WIP: ebaz4205 support to ebaz4205 support 2024-09-26 10:30:41 +08:00
Owner

I could have probably used openocd for all the steps and will investigate that more later

Does it mean that the openocd/JTAG has some issues, or have you not tried it yet?

> I could have probably used openocd for all the steps and will investigate that more later Does it mean that the openocd/JTAG has some issues, or have you not tried it yet?
Author
Contributor

I could have probably used openocd for all the steps and will investigate that more later

Does it mean that the openocd/JTAG has some issues, or have you not tried it yet?

No, I was able to use openocd via JTAG without issue (tested with szl). What I was referring to is that when I was testing my firmware I was using my SD card via mkbootimage but it would have probably been easier if I had just loaded szl, bitstream, and the firmware all via openocd rather than doing it via my SD card each time. I just hadn't taken the time to write a script to do all three.

> > I could have probably used openocd for all the steps and will investigate that more later > > Does it mean that the openocd/JTAG has some issues, or have you not tried it yet? No, I was able to use openocd via JTAG without issue (tested with szl). What I was referring to is that when I was testing my firmware I was using my SD card via mkbootimage but it would have probably been easier if I had just loaded szl, bitstream, and the firmware all via openocd rather than doing it via my SD card each time. I just hadn't taken the time to write a script to do all three.
newell changed title from ebaz4205 support to WIP: ebaz4205 support 2024-09-28 09:50:36 +08:00
newell added 1 commit 2024-09-28 09:56:04 +08:00
newell changed title from WIP: ebaz4205 support to ebaz4205 support 2024-09-30 09:10:07 +08:00
sb10q merged commit 6a45a0dfd0 into master 2024-09-30 14:08:58 +08:00
Sign in to join this conversation.
No reviewers
No Label
No Milestone
No Assignees
3 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: M-Labs/zynq-rs#116
No description provided.