This README file contains information on the contents of the {layername} layer.

Please see the corresponding sections below for details.

Dependencies
============

  URI: <first dependency>
  branch: <branch name>

  URI: <second dependency>
  branch: <branch name>

  .
  .
  .

Patches
=======

Please submit any patches against the {layername} layer to the xxxx mailing list (xxxx@zzzz.org)
and cc: the maintainer:

Maintainer: XXX YYYYYY <xxx.yyyyyy@zzzzz.com>

Table of Contents
=================

  I. Adding the {layername} layer to your build
 II. Misc


I. Adding the {layername} layer to your build
=================================================

Run 'bitbake-layers add-layer {layername}'

II. Misc
========

--- replace with specific information about the {layername} layer ---
