public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Jeremy Linton" <jeremy.linton@arm.com>
To: devel@edk2.groups.io
Cc: ard.biesheuvel@arm.com, leif@nuviainc.com, pete@akeo.ie,
	samer.el-haj-mahmoud@arm.com, awarkentin@vmware.com,
	Jeremy Linton <jeremy.linton@arm.com>
Subject: [PATCH v4 1/7] Platform/RaspberryPi: Update VPU mailbox constants
Date: Tue,  5 Jan 2021 10:34:14 -0600	[thread overview]
Message-ID: <20210105163420.1711652-2-jeremy.linton@arm.com> (raw)
In-Reply-To: <20210105163420.1711652-1-jeremy.linton@arm.com>

Lets sync our mailbox commands with the known/Linux
constants so that we have a more complete view of
what we can request from the VPU.

Signed-off-by: Jeremy Linton <jeremy.linton@arm.com>
Reviewed-by: Andrei Warkentin <awarkentin@vmware.com>
---
 .../RaspberryPi/Include/IndustryStandard/RpiMbox.h | 94 ++++++++++++++++++++--
 1 file changed, 89 insertions(+), 5 deletions(-)

diff --git a/Platform/RaspberryPi/Include/IndustryStandard/RpiMbox.h b/Platform/RaspberryPi/Include/IndustryStandard/RpiMbox.h
index 7104068998..551c2b82e5 100644
--- a/Platform/RaspberryPi/Include/IndustryStandard/RpiMbox.h
+++ b/Platform/RaspberryPi/Include/IndustryStandard/RpiMbox.h
@@ -45,6 +45,10 @@
 #define RPI_MBOX_GET_BOARD_SERIAL                             0x00010004
 #define RPI_MBOX_GET_ARM_MEMSIZE                              0x00010005
 #define RPI_MBOX_GET_VC_MEMSIZE                               0x00010006
+#define RPI_MBOX_GET_CLOCKS                                   0x00010007
+
+#define RPI_MBOX_GET_POWER_STATE                              0x00020001
+#define RPI_MBOX_GET_TIMING                                   0x00020002
 
 #define RPI_MBOX_SET_POWER_STATE                              0x00028001
 
@@ -58,28 +62,92 @@
 #define RPI_MBOX_POWER_STATE_SPI                              0x00000007
 #define RPI_MBOX_POWER_STATE_CCP2TX                           0x00000008
 
+#define RPI_MBOX_GET_CLOCK_STATE                              0x00030001
 #define RPI_MBOX_GET_CLOCK_RATE                               0x00030002
+#define RPI_MBOX_GET_VOLTAGE                                  0x00030003
 #define RPI_MBOX_GET_MAX_CLOCK_RATE                           0x00030004
+#define RPI_MBOX_GET_MAX_VOLTAGE                              0x00030005
+#define RPI_MBOX_GET_TEMPERATURE                              0x00030006
 #define RPI_MBOX_GET_MIN_CLOCK_RATE                           0x00030007
-
+#define RPI_MBOX_GET_MIN_VOLTAGE                              0x00030008
+#define RPI_MBOX_GET_TURBO                                    0x00030009
+#define RPI_MBOX_GET_MAX_TEMPERATURE                          0x0003000a
+#define RPI_MBOX_GET_STC                                      0x0003000b
+#define RPI_MBOX_ALLOCATE_MEMORY                              0x0003000c
+#define RPI_MBOX_LOCK_MEMORY                                  0x0003000d
+#define RPI_MBOX_UNLOCK_MEMORY                                0x0003000e
+#define RPI_MBOX_RELEASE_MEMORY                               0x0003000f
+#define RPI_MBOX_EXECUTE_CODE                                 0x00030010
+#define RPI_MBOX_EXECUTE_QPU                                  0x00030011
+#define RPI_MBOX_SET_ENABLE_QPU                               0x00030012
+#define RPI_MBOX_GET_DISPMANX_RESOURCE_MEM_HANDLE             0x00030014
+#define RPI_MBOX_GET_EDID_BLOCK                               0x00030020
+#define RPI_MBOX_GET_CUSTOMER_OTP                             0x00030021
+#define RPI_MBOX_GET_DOMAIN_STATE                             0x00030030
+#define RPI_MBOX_GET_GPIO_STATE                               0x00030041
+#define RPI_MBOX_GET_GPIO_CONFIG                              0x00030043
+#define RPI_MBOX_GET_PERIPH_REG                               0x00030045
+#define RPI_MBOX_GET_THROTTLED                                0x00030046
+#define RPI_MBOX_GET_CLOCK_MEASURED                           0x00030047
+#define RPI_MBOX_NOTIFY_REBOOT                                0x00030048
+#define RPI_MBOX_GET_POE_HAT_VAL                              0x00030049
+#define RPI_MBOX_SET_POE_HAT_VAL                              0x00030050
 #define RPI_MBOX_NOTIFY_XHCI_RESET                            0x00030058
 
+#define RPI_MBOX_SET_CLOCK_STATE                              0x00038001
 #define RPI_MBOX_SET_CLOCK_RATE                               0x00038002
+#define RPI_MBOX_SET_VOLTAGE                                  0x00038003
+#define RPI_MBOX_SET_TURBO                                    0x00038009
+#define RPI_MBOX_SET_CUSTOMER_OTP                             0x00038021
+#define RPI_MBOX_SET_DOMAIN_STATE                             0x00038030
 #define RPI_MBOX_SET_GPIO                                     0x00038041
+#define RPI_MBOX_SET_SDHOST_CLOCK                             0x00038042
+#define RPI_MBOX_SET_GPIO_CONFIG                              0x00038043
+#define RPI_MBOX_SET_PERIPH_REG                               0x00038045
 
+#define RPI_MBOX_ALLOC_FB                                     0x00040001
+#define RPI_MBOX_FB_BLANK                                     0x00040002
 #define RPI_MBOX_GET_FB_GEOMETRY                              0x00040003
-#define RPI_MBOX_GET_FB_LINELENGTH                            0x00040008
+#define RPI_MBOX_GET_FB_VIRTUAL_WIDTH_HEIGHT                  0x00040004
 #define RPI_MBOX_GET_FB_COLOR_DEPTH                           0x00040005
-#define RPI_MBOX_GET_FB_REGION                                0x00040001
+#define RPI_MBOX_GET_FB_PIXEL_ORDER                           0x00040006
+#define RPI_MBOX_GET_FB_ALPHA_MODE                            0x00040007
+#define RPI_MBOX_GET_FB_LINELENGTH                            0x00040008
+#define RPI_MBOX_GET_FB_VIRTUAL_OFFSET                        0x00040009
+#define RPI_MBOX_GET_FB_OVERSCAN                              0x0004000a
+#define RPI_MBOX_GET_FB_PALETTE                               0x0004000b
+#define RPI_MBOX_GET_FB_TOUCHBUF                              0x0004000f
+#define RPI_MBOX_GET_FB_GPIOVIRTBUF                           0x00040010
+
+#define RPI_MBOX_TEST_FB_PHYSICAL_WIDTH_HEIGHT                0x00044003
+#define RPI_MBOX_TEST_FB_VIRTUAL_WIDTH_HEIGHT                 0x00044004
+#define RPI_MBOX_TEST_FB_DEPTH                                0x00044005
+#define RPI_MBOX_TEST_FB_PIXEL_ORDER                          0x00044006
+#define RPI_MBOX_TEST_FB_ALPHA_MODE                           0x00044007
+#define RPI_MBOX_TEST_FB_VIRTUAL_OFFSET                       0x00044009
+#define RPI_MBOX_TEST_FB_OVERSCAN                             0x0004400a
+#define RPI_MBOX_TEST_FB_PALETTE                              0x0004400b
+#define RPI_MBOX_TEST_FB_VSYNC                                0x0004400e
 
+#define RPI_MBOX_FREE_FB                                      0x00048001
 #define RPI_MBOX_SET_FB_PGEOM                                 0x00048003
 #define RPI_MBOX_SET_FB_VGEOM                                 0x00048004
 #define RPI_MBOX_SET_FB_DEPTH                                 0x00048005
-#define RPI_MBOX_ALLOC_FB                                     0x00040001
-#define RPI_MBOX_FREE_FB                                      0x00048001
+#define RPI_MBOX_SET_FB_PIXEL_ORDER                           0x00048006
+#define RPI_MBOX_SET_FB_ALPHA_MODE                            0x00048007
+#define RPI_MBOX_SET_FB_VIRTUAL_OFFSET                        0x00048009
+#define RPI_MBOX_SET_FB_OVERSCAN                              0x0004800a
+#define RPI_MBOX_SET_FB_PALET TE                              0x0004800b
+#define RPI_MBOX_VCHIQ_INIT                                   0x00048010
+#define RPI_MBOX_SET_FB_TOUCHBUF                              0x0004801f
+#define RPI_MBOX_SET_FB_GPIOVIRTBUF                           0x00048020
+#define RPI_MBOX_SET_FB_VSYNC                                 0x0004800e
+#define RPI_MBOX_SET_FB_BACKLIGHT                             0x0004800f
 
 #define RPI_MBOX_GET_COMMAND_LINE                             0x00050001
 
+#define RPI_MBOX_GET_DMA_CHANNELS                             0x00060001
+
 #define RPI_MBOX_POWER_STATE_ENABLE                           BIT0
 #define RPI_MBOX_POWER_STATE_WAIT                             BIT1
 
@@ -93,5 +161,21 @@
 #define RPI_MBOX_CLOCK_RATE_SDRAM                             0x000000008
 #define RPI_MBOX_CLOCK_RATE_PIXEL                             0x000000009
 #define RPI_MBOX_CLOCK_RATE_PWM                               0x00000000a
+#define RPI_MBOX_CLOCK_RATE_HEVC                              0x00000000b
+#define RPI_MBOX_CLOCK_RATE_EMMC2                             0x00000000c
+#define RPI_MBOX_CLOCK_RATE_M2MC                              0x00000000d
+#define RPI_MBOX_CLOCK_RATE_PIXEL_BVB                         0x00000000d
+
+#define RPI_EXP_GPIO_DIR_IN                                   0
+#define RPI_EXP_GPIO_DIR_OUT                                  1
+
+#define RPI_EXP_GPIO_BT                                       0
+#define RPI_EXP_GPIO_WIFI                                     1
+#define RPI_EXP_GPIO_LED                                      2
+#define RPI_EXP_GPIO_RESET                                    3
+#define RPI_EXP_GPIO_SD_VOLT                                  4
+#define RPI_EXP_GPIO_CAMERA                                   5
+#define RPI_EXP_GPIO_SD_POWER                                 6
+#define RPI_EXP_GPIO_POWER_LED                                7
 
 #endif /* __RASPBERRY_PI_MAILBOX_H__ */
-- 
2.13.7


  reply	other threads:[~2021-01-05 16:34 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-05 16:34 [PATCH v4 0/7] rpi4: Enable eMMC2 controller Jeremy Linton
2021-01-05 16:34 ` Jeremy Linton [this message]
2021-01-05 16:34 ` [PATCH v4 2/7] Platform/RaspberryPi: Add further mailbox helpers Jeremy Linton
2021-01-05 16:34 ` [PATCH v4 3/7] Platform/RaspberryPi: Split MMC register definitions Jeremy Linton
2021-01-05 18:45   ` [edk2-devel] " Philippe Mathieu-Daudé
2021-01-05 16:34 ` [PATCH v4 4/7] Platform/RaspberryPi/Arasan: Add write delay and voltage/clock config Jeremy Linton
2021-01-05 16:34 ` [PATCH v4 5/7] Platform/RaspberryPi/Arasan: Select the correct base frequency Jeremy Linton
2021-01-05 16:34 ` [PATCH v4 6/7] Platform/RaspberryPi: Power up SD, and tweak GPIOs Jeremy Linton
2021-01-05 16:34 ` [PATCH v4 7/7] Platform/RaspberryPi: Correct device path removal Jeremy Linton
2021-01-06  9:11 ` [PATCH v4 0/7] rpi4: Enable eMMC2 controller Ard Biesheuvel
2021-01-06 11:23   ` Andrei Warkentin
2021-01-06 14:04   ` [edk2-devel] " Jeremy Linton

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210105163420.1711652-2-jeremy.linton@arm.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox