Prepare v2023.10
[platform/kernel/u-boot.git] / arch / arm / mach-bcm283x / include / mach / msg.h
1 /* SPDX-License-Identifier: GPL-2.0+ */
2 /*
3  * (C) Copyright 2012,2015 Stephen Warren
4  */
5
6 #ifndef _BCM2835_MSG_H
7 #define _BCM2835_MSG_H
8
9 /**
10  * bcm2835_power_on_module() - power on an SoC module
11  *
12  * @module: ID of module to power on (BCM2835_MBOX_POWER_DEVID_...)
13  * Return: 0 if OK, -EIO on error
14  */
15 int bcm2835_power_on_module(u32 module);
16
17 /**
18  * bcm2835_get_mmc_clock() - get the frequency of the MMC clock
19  *
20  * @clock_id: ID of clock to get frequency for
21  * Return: clock frequency, or -ve on error
22  */
23 int bcm2835_get_mmc_clock(u32 clock_id);
24
25 /**
26  * bcm2835_set_sdhost_clock() - determine if firmware controls sdhost cdiv
27  *
28  * @rate_hz: Input clock frequency
29  * @rate_1: Returns a clock frequency
30  * @rate_2: Returns a clock frequency
31  * @return 0 of OK, -EIO on error
32  */
33 int bcm2835_set_sdhost_clock(u32 rate_hz, u32 *rate_1, u32 *rate_2);
34
35 /**
36  * bcm2835_get_video_size() - get the current display size
37  *
38  * @widthp: Returns the width in pixels
39  * @heightp: Returns the height in pixels
40  * Return: 0 if OK, -ve on error
41  */
42 int bcm2835_get_video_size(int *widthp, int *heightp);
43
44 /**
45  * bcm2835_set_video_params() - set the video parameters
46  *
47  * @widthp: Video width to request (returns the actual width selected)
48  * @heightp: Video height to request (returns the actual height selected)
49  * @depth_bpp: Requested bit depth
50  * @pixel_order: Pixel order to use (BCM2835_MBOX_PIXEL_ORDER_...)
51  * @alpha_mode: Alpha transparency mode to use (BCM2835_MBOX_ALPHA_MODE_...)
52  * @fb_basep: Returns base address of frame buffer
53  * @fb_sizep: Returns size of frame buffer
54  * @pitchp: Returns number of bytes in each frame buffer line
55  * Return: 0 if OK, -ve on error
56  */
57 int bcm2835_set_video_params(int *widthp, int *heightp, int depth_bpp,
58                              int pixel_order, int alpha_mode, ulong *fb_basep,
59                              ulong *fb_sizep, int *pitchp);
60
61 /**
62  * bcm2711_load_vl805_firmware() - get vl805's firmware loaded
63  *
64  * Return: 0 if OK, -EIO on error
65  */
66 int bcm2711_notify_vl805_reset(void);
67
68 #endif