diff --git a/cbuildbot/constants.py b/cbuildbot/constants.py
index 13b5e5d..0a64af3 100644
--- a/cbuildbot/constants.py
+++ b/cbuildbot/constants.py
@@ -760,7 +760,12 @@
 IMAGE_TYPE_RECOVERY = 'recovery'
 IMAGE_TYPE_FACTORY = 'factory'
 IMAGE_TYPE_FIRMWARE = 'firmware'
+# NVidia Tegra SoC resume firmware blob.
 IMAGE_TYPE_NV_LP0_FIRMWARE = 'nv_lp0_firmware'
+# USB PD accessory microcontroller firmware (e.g. power brick, display dongle).
+IMAGE_TYPE_ACCESSORY_USBPD = 'accessory_usbpd'
+# Standalone accessory microcontroller firmware (e.g. wireless keyboard).
+IMAGE_TYPE_ACCESSORY_RWSIG = 'accessory_rwsig'
 
 IMAGE_TYPE_TO_NAME = {
     IMAGE_TYPE_BASE: BASE_IMAGE_BIN,
diff --git a/scripts/pushimage.py b/scripts/pushimage.py
index 58c0ca2..7c56e34 100644
--- a/scripts/pushimage.py
+++ b/scripts/pushimage.py
@@ -49,6 +49,8 @@
     constants.IMAGE_TYPE_FACTORY,
     constants.IMAGE_TYPE_FIRMWARE,
     constants.IMAGE_TYPE_NV_LP0_FIRMWARE,
+    constants.IMAGE_TYPE_ACCESSORY_USBPD,
+    constants.IMAGE_TYPE_ACCESSORY_RWSIG,
     constants.IMAGE_TYPE_BASE,
 )
 
@@ -303,6 +305,8 @@
     firmware_basename = _ImageNameBase(constants.IMAGE_TYPE_FIRMWARE)
     nv_lp0_firmware_basename = _ImageNameBase(
         constants.IMAGE_TYPE_NV_LP0_FIRMWARE)
+    acc_usbpd_basename = _ImageNameBase(constants.IMAGE_TYPE_ACCESSORY_USBPD)
+    acc_rwsig_basename = _ImageNameBase(constants.IMAGE_TYPE_ACCESSORY_RWSIG)
     test_basename = _ImageNameBase(constants.IMAGE_TYPE_TEST)
     base_basename = _ImageNameBase(constants.IMAGE_TYPE_BASE)
     hwqual_tarball = 'chromeos-hwqual-%s-%s.tar.bz2' % (board, versionrev)
@@ -335,6 +339,12 @@
 
         ('firmware_from_source.tar.bz2', nv_lp0_firmware_basename, 'tar.bz2',
          constants.IMAGE_TYPE_NV_LP0_FIRMWARE),
+
+        ('firmware_from_source.tar.bz2', acc_usbpd_basename, 'tar.bz2',
+         constants.IMAGE_TYPE_ACCESSORY_USBPD),
+
+        ('firmware_from_source.tar.bz2', acc_rwsig_basename, 'tar.bz2',
+         constants.IMAGE_TYPE_ACCESSORY_RWSIG),
     )
 
     # The following build artifacts are copied and marked for signing, if
diff --git a/scripts/pushimage_unittest.py b/scripts/pushimage_unittest.py
index ae6f6c8..9f5dcf1 100644
--- a/scripts/pushimage_unittest.py
+++ b/scripts/pushimage_unittest.py
@@ -233,7 +233,7 @@
     with mock.patch.object(gs.GSContext, 'Exists', return_value=True):
       urls = pushimage.PushImage('/src', 'test.board', 'R34-5126.0.0',
                                  sign_types=['recovery'])
-    self.assertEqual(self.gs_mock.call_count, 22)
+    self.assertEqual(self.gs_mock.call_count, 26)
     self.assertTrue(self.mark_mock.called)
     self.assertEqual(urls, EXPECTED)
 
@@ -251,7 +251,7 @@
     with mock.patch.object(gs.GSContext, 'Exists', return_value=True):
       urls = pushimage.PushImage('/src', 'test.board', 'R34-5126.0.0',
                                  sign_types=['base'])
-    self.assertEqual(self.gs_mock.call_count, 24)
+    self.assertEqual(self.gs_mock.call_count, 28)
     self.assertTrue(self.mark_mock.called)
     self.assertEqual(urls, EXPECTED)
 
@@ -259,7 +259,7 @@
     """Verify nothing is signed when we request an unavailable type"""
     urls = pushimage.PushImage('/src', 'test.board', 'R34-5126.0.0',
                                sign_types=['nononononono'])
-    self.assertEqual(self.gs_mock.call_count, 20)
+    self.assertEqual(self.gs_mock.call_count, 24)
     self.assertFalse(self.mark_mock.called)
     self.assertEqual(urls, {})
 
