Phases

Jump to: navigation, search
Revision as of 7 April 2020 at 16:25.
The highlighted comment was created in this revision.

I propose the following phases:

mikroBUS bus driver with gbsim[edit]

  • Build a mikroBUS bus driver to load I2C, SPI, and UART device drivers
  • Instantiate the driver on PocketBeagle+TechLab using whatever device tree entries you need to define it. Define the bus, not any of the devices.
  • Use as generic manifests as possible with gbsim. No target specific content should go in the manifest, though a mikroBUS-specific resource could be defined.
  • The bus driver should be called (init/probe?) and be able to complete the platform data structure to call the (init/probe?) on the device driver such that no device tree information is required.
  • It might be necessary to augment Greybus with some mikroBUS-specific information, like it was a bus at the same level as I2C, SPI, etc.

mikroBUS bus driver with I2C EEPROM holding manifest[edit]

  • init function fetches a Greybus manifest blob from an I2C EEPROM over the mikroBUS I2C bus.
  • I2C EEPROM would be manually programmed to contain the blob.
  • Use the Greybus code to parse the manifest, but do not require gbsim to get the data.

Flesh out the driver for the remaining mikroBUS interfaces[edit]

  • Interfaces: PWM, ADC, etc.
  • Extra configuration information for other device types: displays, etc.

Get everything working over actual Greybus[edit]

  • Start with Greybus over UART to CC1352R Launchpad with mikroBUS slots.
    21:19, 6 April 2020

    Could you please clarify if my understanding of the approach is in the right direction?

    mikroBUS bus driver with gbsim[edit]

    Modify Greybus to include Mikrobus under GB Bridged Phy similar to other PHY bus like I2C,SPI . So when a manifest under this category is loaded, then all the greybus interfaces(virtual interfaces for each perpiheral on the mikroBUS: I2C,SPI,GPIO,...) are created and then the corresponding new_device(or similar) call in the mikrobus bus driver is made with the platform data for the device fetched from the manifest to instantiate the device on the bus(greybus created mikrobus), the bus driver then completes the platform data structure for the device and call the device driver to instantiate the device on the bus(virtual greybus). gbsim takes care of the transport(greybus mikrobus<->physical mikrobus).

    mikroBUS bus driver with I2C EEPROM holding manifest[edit]

    In this case, the Mikrobus Bus Driver should fetch the manifest blob from an I2C EEPROM(similar to approach done by Bone Cape Manager) and then pass it to greybus(?), so the greybus mikrobus creation and device instantiation happens in the previous manner itself.

    Use the Greybus code to parse the manifest, but do not require gbsim to get the data.
    

    In this case who performs the transport?

      09:25, 7 April 2020