Create SOC IP block information database


 * Summary: Create SOC IP block information database


 * Proposer: Tim Bird (for EL summit attendees)

Description
SOC products consists of general-purpose CPUs along with a variety of additional blocks of functionality. During the chip design phases, these additional blocks of functionality are called "IP blocks", and the source code to create them is often licensed or bought from external suppliers. Some examples include the ethernet PHYs (circuit definitions to define ethernet hardware functionality), serial ports, audio components, generic digital signal processors, codec processors, and graphics processing units.

Often, these IP blocks are reused from one SOC product to another. Also, these IP blocks are sometimes modified by the supplier or SOC vendor, over time.

When writing Linux kernel driver software for a new SOC, it can be helpful to know the specific IP block (and it's heritage) used in a chip, in order to reuse software from other projects.

This project would consist of creating and maintaining an SOC IP Block information database. It is proposed to keep the information on the elinux wiki, to be a publicly available resource for those working on driver support for SOCs.

Related work
Chip vendors sometimes supply spec sheets for their parts. However, while these sheets may list technical details about the functionality of a chip, they often omit the source of an IP block source or it's heritage, which is useful for writing a driver for the block.

Scope
I'm going to guess that a first-order database of the top 50 IP blocks used in current SOCs would take about 2 months to assemble and document.

Contractor Candidates
None - someone with a hankering for misery.