diff options
Diffstat (limited to 'firmware')
-rw-r--r-- | firmware/2lib/2nvstorage.c | 7 | ||||
-rw-r--r-- | firmware/2lib/include/2nvstorage.h | 2 | ||||
-rw-r--r-- | firmware/2lib/include/2nvstorage_fields.h | 3 | ||||
-rw-r--r-- | firmware/2lib/include/2struct.h | 3 | ||||
-rw-r--r-- | firmware/include/gbb_header.h | 2 |
5 files changed, 16 insertions, 1 deletions
diff --git a/firmware/2lib/2nvstorage.c b/firmware/2lib/2nvstorage.c index 1e24d2d7..9090608d 100644 --- a/firmware/2lib/2nvstorage.c +++ b/firmware/2lib/2nvstorage.c @@ -167,6 +167,9 @@ uint32_t vb2_nv_get(struct vb2_context *ctx, enum vb2_nv_param param) return (p[VB2_NV_OFFS_DEV] & VB2_NV_DEV_FLAG_DEFAULT_BOOT) >> VB2_NV_DEV_DEFAULT_BOOT_SHIFT; + case VB2_NV_DEV_ENABLE_UDC: + return GETBIT(VB2_NV_OFFS_DEV, VB2_NV_DEV_FLAG_UDC); + case VB2_NV_DISABLE_DEV_REQUEST: return GETBIT(VB2_NV_OFFS_BOOT, VB2_NV_BOOT_DISABLE_DEV); @@ -351,6 +354,10 @@ void vb2_nv_set(struct vb2_context *ctx, (uint8_t)(value << VB2_NV_DEV_DEFAULT_BOOT_SHIFT); break; + case VB2_NV_DEV_ENABLE_UDC: + SETBIT(VB2_NV_OFFS_DEV, VB2_NV_DEV_FLAG_UDC); + break; + case VB2_NV_DISABLE_DEV_REQUEST: SETBIT(VB2_NV_OFFS_BOOT, VB2_NV_BOOT_DISABLE_DEV); break; diff --git a/firmware/2lib/include/2nvstorage.h b/firmware/2lib/include/2nvstorage.h index 654bcab1..f4f3e04c 100644 --- a/firmware/2lib/include/2nvstorage.h +++ b/firmware/2lib/include/2nvstorage.h @@ -59,6 +59,8 @@ enum vb2_nv_param { VB2_NV_DEV_BOOT_FASTBOOT_FULL_CAP, /* Set default boot mode (see vb2_dev_default_boot) */ VB2_NV_DEV_DEFAULT_BOOT, + /* Enable USB Device Controller */ + VB2_NV_DEV_ENABLE_UDC, /* * Set by userspace to request that RO firmware disable dev-mode on the * next boot. This is likely only possible if the dev-switch is diff --git a/firmware/2lib/include/2nvstorage_fields.h b/firmware/2lib/include/2nvstorage_fields.h index d67ad5d4..16626b8d 100644 --- a/firmware/2lib/include/2nvstorage_fields.h +++ b/firmware/2lib/include/2nvstorage_fields.h @@ -87,13 +87,14 @@ enum vb2_nv_offset { #define VB2_NV_BOOT2_PREV_RESULT_SHIFT 4 /* Number of bits to shift result */ #define VB2_NV_BOOT2_PREV_TRIED 0x40 -/* Fields in VB2_NV_OFFS_DEV (unused = 0xc0) */ +/* Fields in VB2_NV_OFFS_DEV (unused = 0x80) */ #define VB2_NV_DEV_FLAG_USB 0x01 #define VB2_NV_DEV_FLAG_SIGNED_ONLY 0x02 #define VB2_NV_DEV_FLAG_LEGACY 0x04 #define VB2_NV_DEV_FLAG_FASTBOOT_FULL_CAP 0x08 #define VB2_NV_DEV_FLAG_DEFAULT_BOOT 0x30 #define VB2_NV_DEV_DEFAULT_BOOT_SHIFT 4 /* Number of bits to shift */ +#define VB2_NV_DEV_FLAG_UDC 0x40 /* Fields in VB2_NV_OFFS_TPM (unused = 0xf8) */ #define VB2_NV_TPM_CLEAR_OWNER_REQUEST 0x01 diff --git a/firmware/2lib/include/2struct.h b/firmware/2lib/include/2struct.h index d1185593..1d5b353f 100644 --- a/firmware/2lib/include/2struct.h +++ b/firmware/2lib/include/2struct.h @@ -301,6 +301,9 @@ enum vb2_gbb_flag { /* Disable FWMP */ VB2_GBB_FLAG_DISABLE_FWMP = (1 << 15), + + /* Enable USB Device Controller */ + VB2_GBB_FLAG_ENABLE_UDC = (1 << 16), }; struct vb2_gbb_header { diff --git a/firmware/include/gbb_header.h b/firmware/include/gbb_header.h index 11586e92..b880468d 100644 --- a/firmware/include/gbb_header.h +++ b/firmware/include/gbb_header.h @@ -76,6 +76,8 @@ #define GBB_FLAG_FORCE_MANUAL_RECOVERY 0x00004000 /* Disable using FWMP */ #define GBB_FLAG_DISABLE_FWMP 0x00008000 +/* Enable USB Device Controller */ +#define GBB_FLAG_ENABLE_UDC 0x00010000 #ifdef __cplusplus |