LGTM

Reviewed-by: Andrei Warkentin <awarkentin@vmware.com>

From: devel@edk2.groups.io <devel@edk2.groups.io> on behalf of Jeremy Linton via groups.io <jeremy.linton=arm.com@groups.io>
Sent: Monday, December 14, 2020 5:23 PM
To: devel@edk2.groups.io <devel@edk2.groups.io>
Cc: ard.biesheuvel@arm.com <ard.biesheuvel@arm.com>; leif@nuviainc.com <leif@nuviainc.com>; pete@akeo.ie <pete@akeo.ie>; andrey.warkentin@gmail.com <andrey.warkentin@gmail.com>; samer.el-haj-mahmoud@arm.com <samer.el-haj-mahmoud@arm.com>; Jeremy Linton <jeremy.linton@arm.com>
Subject: [edk2-devel] [PATCH 1/7] Platform/RaspberryPi: Update VPU mailbox constants
 
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>
---
 .../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



-=-=-=-=-=-=
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#68813): https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fedk2.groups.io%2Fg%2Fdevel%2Fmessage%2F68813&amp;data=04%7C01%7Cawarkentin%40vmware.com%7C37bbadbcdf3c4394992308d8a0875585%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C0%7C0%7C637435850412050013%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=8Z49IWiFpGqiotCQbGpVM3jW0%2F7imrrNhTal8spe9bQ%3D&amp;reserved=0
Mute This Topic: https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgroups.io%2Fmt%2F78964889%2F4387333&amp;data=04%7C01%7Cawarkentin%40vmware.com%7C37bbadbcdf3c4394992308d8a0875585%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C0%7C0%7C637435850412050013%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=8znoOGR4qF8%2FVyGcUf37tgagVZ%2BhQBUOaXL7JfQz4Xs%3D&amp;reserved=0
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fedk2.groups.io%2Fg%2Fdevel%2Funsub&amp;data=04%7C01%7Cawarkentin%40vmware.com%7C37bbadbcdf3c4394992308d8a0875585%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C0%7C0%7C637435850412050013%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=Ov0gNDiq9CIooyxWSDtnYwpK0Ffh5nLPCsCDQs8ilVs%3D&amp;reserved=0 [awarkentin@vmware.com]
-=-=-=-=-=-=