blob: 478b1f1c50170ca394b496e7958b63910d7cbcd5 [file] [log] [blame]
Simon Glass70997d82017-04-05 16:23:36 -06001/*
2 * (C) Copyright 2012,2015 Stephen Warren
3 *
4 * SPDX-License-Identifier: GPL-2.0+
5 */
6
7#ifndef _BCM2835_MSG_H
8#define _BCM2835_MSG_H
9
10/**
11 * bcm2835_power_on_module() - power on an SoC module
12 *
13 * @module: ID of module to power on (BCM2835_MBOX_POWER_DEVID_...)
14 * @return 0 if OK, -EIO on error
15 */
16int bcm2835_power_on_module(u32 module);
17
Simon Glassc6606512017-04-05 16:23:37 -060018/**
19 * bcm2835_get_mmc_clock() - get the frequency of the MMC clock
20 *
21 * @return clock frequency, or -ve on error
22 */
23int bcm2835_get_mmc_clock(void);
24
Simon Glass2e4170b2017-04-05 16:23:40 -060025/**
26 * bcm2835_get_video_size() - get the current display size
27 *
28 * @widthp: Returns the width in pixels
29 * @heightp: Returns the height in pixels
30 * @return 0 if OK, -ve on error
31 */
32int bcm2835_get_video_size(int *widthp, int *heightp);
33
Simon Glass7cac2fc2017-04-05 16:23:41 -060034/**
35 * bcm2835_set_video_params() - set the video parameters
36 *
37 * @widthp: Video width to request (returns the actual width selected)
38 * @heightp: Video height to request (returns the actual height selected)
39 * @depth_bpp: Requested bit depth
40 * @pixel_order: Pixel order to use (BCM2835_MBOX_PIXEL_ORDER_...)
41 * @alpha_mode: Alpha transparency mode to use (BCM2835_MBOX_ALPHA_MODE_...)
42 * @fb_basep: Returns base address of frame buffer
43 * @fb_sizep: Returns size of frame buffer
44 * @pitchp: Returns number of bytes in each frame buffer line
45 * @return 0 if OK, -ve on error
46 */
47int bcm2835_set_video_params(int *widthp, int *heightp, int depth_bpp,
48 int pixel_order, int alpha_mode, ulong *fb_basep,
49 ulong *fb_sizep, int *pitchp);
50
Simon Glass70997d82017-04-05 16:23:36 -060051#endif