Prepare a Linux System-on-Chips (SoC) on the Digilent Arty board, focusing on automating the build process for the target and build root images. The initial setup should include VexRiscv-SMP and NaxRiscv CPUs in 32-bit mode, emphasizing crucial peripherals while excluding non-essential ones to streamline development.
Requirements:
CPU Configuration: Ensure the SoC is configured with VexRiscv-SMP and NaxRiscv CPUs in 32-bit mode.
Peripheral Integration: Include Essential Peripherals: Integrate and validate the following essential peripherals: DRAM, UART, Ethernet, SDCard, GPIOs and USB Host.
Exclude Non-Essential Peripherals: Exclude or deprioritize peripherals like MMCM, PWM, AES, as they are not crucial for the initial setup. They can be removed if they complicate the build or integration process.
Automate Build Process: Develop scripts or utilize CI tools to automate the building of target and build root images, ensuring a smooth and reproducible build process.
Use Upstream Repositories: Utilize upstream repositories for LiteX, LiteX-Boards, and other required components.
For OpenSBI and Linux, use the repositories in LiteX-Hub and progressively work on upstreaming modifications or enhancements.
Documentation and Configuration: Ensure proper documentation is in place for the setup and build process.
Prepare and maintain .dts (Device Tree Source) files, ensuring they are accurate and up-to-date, reflecting the SoC configuration.
Future Expansion: Once the initial setup with 32-bit CPUs is stable and fully integrated, plan to extend the support to include:
Rocket 64-bit CPU and NaxRiscv 64-bit CPU configurations. Integration of additional peripherals and ensuring the .dts generation is comprehensive, allowing for reuse in Linux-on-LiteX-Rocket projects.
Deliverables:
A fully automated build system for the Linux SoC on Digilent Arty, with clear documentation and configuration files.
A stable initial setup with essential peripherals functioning correctly.
A roadmap or issues for future expansions, including 64-bit CPU support and additional peripheral integration.
Note: This task is foundational for ensuring a robust and flexible CI environment for Linux SoC development on the Digilent Arty platform. Attention to detail, thorough testing, and clear documentation are crucial for the success of this task and for facilitating future expansions.
Objective:
Prepare a Linux System-on-Chips (SoC) on the Digilent Arty board, focusing on automating the build process for the target and build root images. The initial setup should include VexRiscv-SMP and NaxRiscv CPUs in 32-bit mode, emphasizing crucial peripherals while excluding non-essential ones to streamline development.
Requirements:
CPU Configuration: Ensure the SoC is configured with VexRiscv-SMP and NaxRiscv CPUs in 32-bit mode.
Peripheral Integration: Include Essential Peripherals: Integrate and validate the following essential peripherals: DRAM, UART, Ethernet, SDCard, GPIOs and USB Host.
Exclude Non-Essential Peripherals: Exclude or deprioritize peripherals like MMCM, PWM, AES, as they are not crucial for the initial setup. They can be removed if they complicate the build or integration process.
Automate Build Process: Develop scripts or utilize CI tools to automate the building of target and build root images, ensuring a smooth and reproducible build process.
Use Upstream Repositories: Utilize upstream repositories for LiteX, LiteX-Boards, and other required components. For OpenSBI and Linux, use the repositories in LiteX-Hub and progressively work on upstreaming modifications or enhancements.
Documentation and Configuration: Ensure proper documentation is in place for the setup and build process. Prepare and maintain .dts (Device Tree Source) files, ensuring they are accurate and up-to-date, reflecting the SoC configuration.
Future Expansion: Once the initial setup with 32-bit CPUs is stable and fully integrated, plan to extend the support to include: Rocket 64-bit CPU and NaxRiscv 64-bit CPU configurations. Integration of additional peripherals and ensuring the .dts generation is comprehensive, allowing for reuse in Linux-on-LiteX-Rocket projects.
Deliverables:
A fully automated build system for the Linux SoC on Digilent Arty, with clear documentation and configuration files.
A stable initial setup with essential peripherals functioning correctly.
A roadmap or issues for future expansions, including 64-bit CPU support and additional peripheral integration.
Note: This task is foundational for ensuring a robust and flexible CI environment for Linux SoC development on the Digilent Arty platform. Attention to detail, thorough testing, and clear documentation are crucial for the success of this task and for facilitating future expansions.