source: trunk/hal/tsar_mips32/drivers/soclib_fbf.h @ 682

Last change on this file since 682 was 654, checked in by alain, 5 years ago

euh...

File size: 2.8 KB
Line 
1/*
2 * soclib_fbf.h - soclib frame-buffer driver definition (used in TSAR_IOB architecture).
3 *
4 * Author Alain greiner (2016,2017,2018,2019)
5 *
6 * Copyright (c) UPMC Sorbonne Universites
7 *
8 * This file is part of ALMOS-MKH.
9 *
10 * ALMOS-MKH is free software; you can redistribute it and/or modify it
11 * under the terms of the GNU General Public License as published by
12 * the Free Software Foundation; version 2.0 of the License.
13 *
14 * ALMOS-MKH is distributed in the hope that it will be useful, but
15 * WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
17 * General Public License for more details.
18 *
19 * You should have received a copy of the GNU General Public License
20 * along with ALMOS-MKH; if not, write to the Free Software Foundation,
21 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
22 */
23
24#ifndef _SOCLIB_FBF_H_
25#define _SOCLIB_FBF_H_
26
27#include <chdev.h>
28#include <hal_kernel_types.h>
29
30/****************************************************************************************
31 * This driver supports the vci_fbf_tsar component.
32 *
33 * This hardware component supports both a frame buffer, and a set of addressable
34 * configuration/status registers.
35 ***************************************************************************************/
36
37/****************************************************************************************
38 *                    SOCLIB_FBF registers offsets
39 * The three addressables registers are on top  of the 4 Mbytes containing
40 * the frame buffer itself.
41 ***************************************************************************************/
42
43enum SoclibFrameBufferRegisters
44{
45    FBF_WIDTH_REG        = 0x100000,
46    FBF_HEIGHT_REG       = 0x100001,
47    FBF_SUBSAMPLING_REG  = 0x100002,
48};
49
50/****************************************************************************************
51 * This function access the SOCLIB_FBF hardware registers, to get the frame buffer
52 * size and type, and update the FBF device extension.
53 ****************************************************************************************
54 * @ chdev     : pointer on the FBF chdev descriptor.
55 ***************************************************************************************/
56void soclib_fbf_init( chdev_t * chdev );
57
58/****************************************************************************************
59 * This function implements the FBF_READ and FBF_WRITE commands registered in the client
60 * thread descriptor identified by the <thread_xp> argument.
61 * It is called directly by the client thread.
62 * **************************************************************************************
63 * @ thread_xp : extended pointer on client thread descriptor.
64 ***************************************************************************************/
65extern void soclib_fbf_cmd( xptr_t thread_xp );
66
67#endif
Note: See TracBrowser for help on using the repository browser.