• Christian Gromm's avatar
    Staging: most: add MOST driver's core module · 57562a72
    Christian Gromm authored
    This patch adds the core module of the MOST driver to the kernel's driver
    staging area. This module is part of the MOST driver and handles the
    configuration interface in sysfs, the buffer management and the data
    routing.
    
    MOST defines the protocol, hardware and software layers necessary to allow
    for the efficient and low-cost transport of control, real-time and packet
    data using a single medium (physical layer). Media currently in use are
    fiber optics, unshielded twisted pair cables (UTP) and coax cables. MOST
    also supports various speed grades up to 150 Mbps.
    For more information on MOST, visit the MOST Cooperation website:
    www.mostcooperation.com.
    
    Cars continue to evolve into sophisticated consumer electronics platforms,
    increasing the demand for reliable and simple solutions to support audio,
    video and data communications. MOST can be used to connect multiple
    consumer devices via optical or electrical physical layers directly to one
    another or in a network configuration. As a synchronous network, MOST
    provides excellent Quality of Service and seamless connectivity for
    audio/video streaming. Therefore, the driver perfectly fits to the mission
    of Automotive Grade Linux to create open source software solutions for
    automotive applications.
    
    The driver consists basically of three layers. The hardware layer, the
    core layer and the application layer. The core layer consists of the core
    module only. This module handles the communication flow through all three
    layers, the configuration of the driver, the configuration interface
    representation in sysfs, and the buffer management.
    For each of the other two layers a selection of modules is provided. These
    modules can arbitrarily be combined to meet the needs of the desired
    system architecture. A module of the hardware layer is referred to as an
    HDM (hardware dependent module). Each module of this layer handles exactly
    one of the peripheral interfaces of a network interface controller (e.g.
    USB, MediaLB, I2C). A module of the application layer is referred to as an
    AIM (application interfacing module). The modules of this layer give access
    to MOST via one the following ways: character devices, ALSA, Networking or
    V4L2.
    
    To physically access MOST, an Intelligent Network Interface Controller
    (INIC) is needed. For more information on available controllers visit:
    www.microchip.com
    Signed-off-by: default avatarChristian Gromm <christian.gromm@microchip.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    57562a72