LGTM Reviewed-by: Andrei Warkentin ________________________________ From: devel@edk2.groups.io on behalf of Jeremy Linton via groups.io Sent: Monday, December 14, 2020 5:23 PM To: devel@edk2.groups.io Cc: ard.biesheuvel@arm.com ; leif@nuviainc.com ; pete@akeo.ie ; andrey.warkentin@gmail.com ; samer.el-haj-mahmoud@arm.com ; Jeremy Linton 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 --- .../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&data=04%7C01%7Cawarkentin%40vmware.com%7C37bbadbcdf3c4394992308d8a0875585%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C0%7C0%7C637435850412050013%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=8Z49IWiFpGqiotCQbGpVM3jW0%2F7imrrNhTal8spe9bQ%3D&reserved=0 Mute This Topic: https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgroups.io%2Fmt%2F78964889%2F4387333&data=04%7C01%7Cawarkentin%40vmware.com%7C37bbadbcdf3c4394992308d8a0875585%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C0%7C0%7C637435850412050013%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=8znoOGR4qF8%2FVyGcUf37tgagVZ%2BhQBUOaXL7JfQz4Xs%3D&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&data=04%7C01%7Cawarkentin%40vmware.com%7C37bbadbcdf3c4394992308d8a0875585%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C0%7C0%7C637435850412050013%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=Ov0gNDiq9CIooyxWSDtnYwpK0Ffh5nLPCsCDQs8ilVs%3D&reserved=0 [awarkentin@vmware.com] -=-=-=-=-=-=