Re: [PATCH v2 0/6] davinci vpbe: display driver for DM644X

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Manjunath,

Could you re-send the patch 1/6? I can't find it either at my inbox or
mailing list.

On Wed, Nov 24, 2010 at 9:08 AM, Manjunath Hadli <manjunath.hadli@xxxxxx> wrote:
> This driver is written for Texas Instruments's DM644X VPBE IP.
> This SoC supports 2 video planes and 2 OSD planes as part of its
> OSD (On Screen Display) block.
>
> At present, the patches conatin the basic support of DM644X V4L2
> driver, and subsequent patch sets would add support for external
> encoders,other DMXXX family SoC and fbdev support.
>
>               VPBE V4L2 driver design
> ======================================================================
>
> File partitioning
> -----------------
> V4L2 display device driver
>        drivers/media/video/davinci/vpbe_display.c
>        drivers/media/video/davinci/vpbe_display.h
>
> VPBE display controller
>        drivers/media/video/davinci/vpbe.c
>        drivers/media/video/davinci/vpbe.h
>
> VPBE venc sub device driver
>        drivers/media/video/davinci/vpbe_venc.c
>        drivers/media/video/davinci/vpbe_venc.h
>        drivers/media/video/davinci/vpbe_venc_regs.h
>
> VPBE osd driver
>        drivers/media/video/davinci/vpbe_osd.c
>        drivers/media/video/davinci/vpbe_osd.h
>        drivers/media/video/davinci/vpbe_osd_regs.h
>
> Functional partitioning
> -----------------------
>
> Consists of following (in the same order as the list under file
> partitioning):-
>
> 1. V4L2 display driver
>   Implements video2 and video3 device nodes and
>   provides v4l2 device interface to manage VID0 and VID1 layers.
>
> 2. Display controller
>   Loads up venc, osd and external encoders such as ths8200. It provides
>   a set of API calls to V4L2 drivers to set the output/standards
>   in the venc or external sub devices. It also provides
>   a device object to access the services from osd sub device
>   using sub device ops. The connection of external encoders to venc LCD
>   controller port is done at init time based on default output and standard
>   selection or at run time when application change the output through
>   V4L2 IOCTLs.
>
>   When connetected to an external encoder, vpbe controller is also responsible
>   for setting up the interface between venc and external encoders based on
>   board specific settings (specified in board-xxx-evm.c). This allowes
>   interfacing external encoders such as ths8200. The setup_if_config()
>   is implemented for this as well as configure_venc() (part of the next patch)
>   API to set timings in venc for a specific display resolution.As of this
>   patch series, the interconnection and enabling ans setting of the external
>   encoders is not present, and would be a part of the next patch series.
>
> 3. Venc sub device
>   Responsible for setting outputs provides through internal dacs and also
>   setting timings at LCD controller port when external encoders are connected
>   at the port or LCD panel timings required. When external encoder/LCD panel
>   is connected, the timings for a specific standard/preset is retrieved from
>   the board specific table and the values are used to set the timings in
>   venc using non-standard timing mode.
>
>   Support LCD Panel displays using the venc. For example to support a Logic
>   PD display, it requires setting up the LCD controller port with a set of
>   timings for the resolution supported and setting the dot clock. So we could
>   add the available outputs as a board specific entry ( i.e add the "LogicPD"
>   output name to board-xxx-evm.c). A table of timings for various LCDs
>   supported cab be maintained in the board specific setup file to support
>   various LCD displays.
>
> 4. osd sub device
>   Osd sub device implements all osd layer management and hardware specific
>   features. In the legacy drivers (LSPxxx), the hardware specific features
>   are configured through proprietary IOCTLs at the fb device interface. Since
>   sub devices are going to support device nodes, application will be able
>   to configure the hardware feayture directly by opening the osd sub device
>   node and by calling the related IOCTL. So these proprietary IOCTLs are
>   to be removed from the FB Device driver when doing up port of these drivers to
>   mainline kernel. The V4L2 and FB device nodes supports only IOCTLS as per
>   the associated spec. The rest of the IOCTLs are to be moved to osd and
>   venc sub devices.
>
> Current status:-
>
> A build tested version of vpbe controller is available.
>
> Following are TBDs.
>
> vpbe display controller
>   - review and modify the handling of external encoders.
>   - add support for selecting external encoder as default at probe time.
>
> vpbe venc sub device
>   - add timings for supporting ths8200
>   - add support for LogicPD LCD.
>
> v4l2 driver
>   - A version is already developed which is to be cleaned up and unit tested
>
> FB drivers
>   - Add support for fbdev drivers.- Ready and part of subsequent patches.
>
> Manjunath Hadli (6):
>  davinci vpbe: V4L2 display driver for DM644X SoC
>  davinci vpbe: VPBE display driver
>  davinci vpbe: OSD(On Screen Display) block
>  davinci vpbe: VENC( Video Encoder) implementation
>  davinci vpbe: platform specific additions
>  davinci vpbe: Build infrastructure for VPBE driver
>
>  arch/arm/mach-davinci/board-dm644x-evm.c     |   81 +-
>  arch/arm/mach-davinci/dm644x.c               |  238 +++-
>  arch/arm/mach-davinci/include/mach/dm644x.h  |    4 +
>  drivers/media/video/davinci/Kconfig          |   22 +
>  drivers/media/video/davinci/Makefile         |    2 +
>  drivers/media/video/davinci/vpbe.c           |  853 ++++++++++
>  drivers/media/video/davinci/vpbe_display.c   | 2282 ++++++++++++++++++++++++++
>  drivers/media/video/davinci/vpbe_osd.c       | 1208 ++++++++++++++
>  drivers/media/video/davinci/vpbe_osd_regs.h  |  389 +++++
>  drivers/media/video/davinci/vpbe_venc.c      |  575 +++++++
>  drivers/media/video/davinci/vpbe_venc_regs.h |  189 +++
>  include/media/davinci/vpbe.h                 |  187 +++
>  include/media/davinci/vpbe_display.h         |  144 ++
>  include/media/davinci/vpbe_osd.h             |  397 +++++
>  include/media/davinci/vpbe_types.h           |   93 ++
>  include/media/davinci/vpbe_venc.h            |   41 +
>  16 files changed, 6686 insertions(+), 19 deletions(-)
>  create mode 100644 drivers/media/video/davinci/vpbe.c
>  create mode 100644 drivers/media/video/davinci/vpbe_display.c
>  create mode 100644 drivers/media/video/davinci/vpbe_osd.c
>  create mode 100644 drivers/media/video/davinci/vpbe_osd_regs.h
>  create mode 100644 drivers/media/video/davinci/vpbe_venc.c
>  create mode 100644 drivers/media/video/davinci/vpbe_venc_regs.h
>  create mode 100644 include/media/davinci/vpbe.h
>  create mode 100644 include/media/davinci/vpbe_display.h
>  create mode 100644 include/media/davinci/vpbe_osd.h
>  create mode 100644 include/media/davinci/vpbe_types.h
>  create mode 100644 include/media/davinci/vpbe_venc.h
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-media" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>



-- 
Murali Karicheri
mkaricheri@xxxxxxxxx
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux