PIAfication Overview and Status

From DDCIDeos
Jump to navigationJump to search

Current Status

Platform Integrator Automation (PIA) is currently being integrated into all BSPs and drivers (including network) that are on the Kismet baseline.


PIA Changes

BSP PIAfication has changed in an attempt to strip down the BSPs to the bare minimum

  • A BSPs network driver is now removed from the BSP and can added as a component
    • The network driver is still added automatically to OA when creating a platform project when include development support is checked (this is default)
    • Note: If creating a platform project without the network driver installed in the desk it will not build with development support (since the network driver is no longer automatically pulled in by the BSP as a dependency)
    • lwip.config and lwip-platform-specific.cd.xml are now moved from the BSP to the network driver
  • pice-scanner is now removed from the BSP and can be added as a component when needed
  • All interrupts and memory mapped resources that are not owned by the board are now removed from basecon-resources

Drivers are now responsible for their memory mapped resources and utilize a parent platform structure so repeated elements are kept to a minimum

  • All memory mapped resources and interrupts are now in the PIA file
  • Parent platforms are used to store files that are the same across platforms
    • Ex: layerscape is the parents platform of the ls10x8ardb, ls1042ardb, and the santan-ls1048a
    • Parent platforms are assigned in the openarbor.bangvar.options file under code/config in the BSPs
  • If a driver works across multiple BSPs only a single .cd file is utilized and the files needed are pulled by the platform name (or parent platform name)
    • The integration tool will look in the hierarchy of (etc, arm (architecture), layerscape (parent platform), ls1043ardb (platform specific)) for the correct pia and fp files


PIA Goals

Over the next 6-8 weeks the goal is to get all driver and BSPs added to the Driver_Project and get them all to an unreleased state

  • Once all BSPs and drivers are unreleased they will all go stable at the same time
    • The reason for this is because if a BSP is not PIAfied (the memory mapped resources still exist in basecon-resources) and a driver is PIAfied then there will be a duplication of memory mapped resources and it will have to be fixed manually in basecon-resources.


Known Issues

Currently there are 2 BSPs and 6 drivers that are PIAfied that have gone stable.

  • The two BSPs are
    • ls10x8arb
    • santan-ls1048a
  • The six drivers are
    • dpaa2
    • pcie-scanner
    • duart-nxp
    • spi-nxp
    • i2c-ls
    • dvms-sata-ahci
  • If one of these drivers is used with a BSP that is not currently PIAfied it will cause a duplication of memory mapped resources build error
    • This is possible for the t2080rdb, nai68ppc2, s32v234
    • For info on specific drivers for each BSP visit Driver_Project
  • If one of these BSPs is used with a driver that has not been PIAfied then it will not find any needed memory mapped resources at all
    • Both BSPs currently have all drivers PIAfied that they use so this is a non issue