Arm Community
Arm Community
  • Site
  • User
  • Site
  • Search
  • User
  • Groups
    • Arm Research
    • DesignStart
    • Education Hub
    • Innovation
    • Open Source Software and Platforms
  • Forums
    • AI and ML forum
    • Architectures and Processors forum
    • Arm Development Platforms forum
    • Arm Development Studio forum
    • Arm Virtual Hardware forum
    • Automotive forum
    • Compilers and Libraries forum
    • Graphics, Gaming, and VR forum
    • High Performance Computing (HPC) forum
    • Infrastructure Solutions forum
    • Internet of Things (IoT) forum
    • Keil forum
    • Morello Forum
    • Operating Systems forum
    • SoC Design and Simulation forum
    • 中文社区论区
  • Blogs
    • AI and ML blog
    • Announcements
    • Architectures and Processors blog
    • Automotive blog
    • Graphics, Gaming, and VR blog
    • High Performance Computing (HPC) blog
    • Infrastructure Solutions blog
    • Innovation blog
    • Internet of Things (IoT) blog
    • Mobile blog
    • Operating Systems blog
    • Research Articles
    • SoC Design and Simulation blog
    • Smart Homes
    • Tools, Software and IDEs blog
    • Works on Arm blog
    • 中文社区博客
  • Support
    • Open a support case
    • Documentation
    • Downloads
    • Training
    • Arm Approved program
    • Arm Design Reviews
  • Community Help
  • More
  • Cancel
Open Source Software and Platforms
Open Source Software and Platforms
Wiki Juno board revisions
  • Help
  • Jump...
  • Cancel
  • About this wiki
  • Supported platforms
  • Obtaining support
  • +Arm Reference Platforms deliverables
  • -A-class platforms
    • -Juno
      • Run the Arm Platforms deliverables on Juno
      • Juno board revisions
      • +Troubleshooting your Juno
      • Bare metal development on Juno
      • Change which CPUs are released from reset on Juno
      • Install Debian on Juno
      • Energy monitoring on Juno
      • Ethernet on Juno
      • PCIe on Juno
      • Trusted Applications on Juno
      • Build Android from source for Juno
      • Build OpenEmbedded from source for Juno
      • Documentation error: Mali OpenGL in OpenEmbedded on Juno
    • +FVPs
    • +System Guidance for Infrastructure (SGI)
    • +System Guidance for Mobile (SGM)
    • Corstone-500
    • Cortex-A5 DesignStart
    • +Neoverse N1 SDP
    • Neoverse Reference Designs
    • +Legacy platforms
  • +M-class platforms
  • +R-class platforms
  • +FPGA prototyping boards
  • +Open source software

Juno board revisions

There are a number of key differences between each revision of the Juno platform, including hardware limitations. Some of these are documented on the official Juno product page, namely:

  • Juno r1 onwards supports PCIe
  • Juno r1's Cortex-A53 cores have a pinned operating frequency (fixed in r2)
  • Newer revisions of Juno incorporate newer revisions of constituent IP (processors, CCI, NIC, etc)
    • For example Juno r2 replaces the Cortex-A57 cluster with a Cortex-A72 cluster
  • Juno R2 has 2 variants: VarA & VarB
    • Juno R2 VarB boards have different DDR memory fitted compared to VarA and the previous board revisions. This is because the DDR memory previously used is no longer available.   The change of memory requires the SCP firmware to use different DDR controller settings to configure the memory correctly. The SCP firmware knows when to use the different DDR settings by looking at the variant information in the motherboard EEPROM. 

We strongly recommend that users always use the latest deliverables on their board.  This is especially true for users of Juno R2, as you may have variant B which is not supported by older firmware.

There are three ways to reliably determine which revision of the Juno you have:

  1. Look at the main SoC
    • Juno r0 has: Cortex-A57 MP2 r0p0, Cortex-A53 MP4 r0p0
    • Juno r1 has: Cortex-A57 MP2 r1p1, Cortex-A53 MP4 r0p2
    • Juno r2 has: Cortex-A72 MP2 r0p0, Cortex-A53 MP4 r0p3

     

  2. Remove the fan on the back-plate and inspect the motherboard where it sat
    • Juno r0 has: HPI0262B
    • Juno r1 has: HPI0262C
    • Juno r2 has: HPI0262D

     

  3. Use software to query the V2M APB `SYS_ID' register
    • The register is at address 0x1C010000
    • Bits [31:28] hold the `Rev' field
      • Juno r0 has `Rev' == 0x1
      • Juno r1 has `Rev' == 0x2
      • Juno r2 has `Rev' == 0x3

NOTE: The board prints out the version and variant from the MCC on powerup.  

  • Juno Arm Development Platform
  • Share
  • History
  • More
  • Cancel
Related
Recommended