diff --git a/boot/zephyr/Kconfig b/boot/zephyr/Kconfig
index da008ba..5f899fe 100644
--- a/boot/zephyr/Kconfig
+++ b/boot/zephyr/Kconfig
@@ -490,155 +490,7 @@
 	  bootloader-led0 alias must be set in the device's .dts
 	  definitions for this to work.
 
-menuconfig MCUBOOT_SERIAL
-	bool "MCUboot serial recovery"
-	default n
-	select REBOOT
-	select GPIO
-	select SERIAL
-	select UART_INTERRUPT_DRIVEN
-	select BASE64
-	help
-	  If y, enables a serial-port based update mode. This allows
-	  MCUboot itself to load update images into flash over a UART.
-	  If unsure, leave at the default value.
-
-if MCUBOOT_SERIAL
-
-choice BOOT_SERIAL_DEVICE
-	prompt "Serial device"
-	default BOOT_SERIAL_UART if !BOARD_NRF52840DONGLE_NRF52840
-	default BOOT_SERIAL_CDC_ACM if BOARD_NRF52840DONGLE_NRF52840
-
-config BOOT_SERIAL_UART
-	bool "UART"
-	# SERIAL and UART_INTERRUPT_DRIVEN already selected
-
-config BOOT_SERIAL_CDC_ACM
-	bool "CDC ACM"
-	select USB_DEVICE_STACK
-
-endchoice
-
-config MCUBOOT_SERIAL_DIRECT_IMAGE_UPLOAD
-	bool "Allow to select image number for DFU"
-	help
-	  With the option enabled, the mcuboot serial recovery will
-	  respect the "image" field in mcumgr image update frame
-	  header.
-	  The mapping of image number to partition is as follows:
-	    0 -> default behaviour, same as 1;
-	    1 -> image-0 (primary slot of the first image);
-	    2 -> image-1 (secondary slot of the first image);
-	    3 -> image-2;
-	    4 -> image-3.
-	  Note that 0 is default upload target when no explicit
-	  selection is done.
-
-config BOOT_MAX_LINE_INPUT_LEN
-	int "Maximum command line length"
-	default 512
-	help
-	  Maximum length of commands transported over the serial port.
-
-config BOOT_SERIAL_DETECT_PORT
-	string "GPIO device to trigger serial recovery mode"
-	default GPIO_0 if SOC_FAMILY_NRF
-	help
-	  Zephyr GPIO device that contains the pin used to trigger
-	  serial recovery mode.
-
-config BOOT_SERIAL_DETECT_PIN
-	int "Pin to trigger serial recovery mode"
-	default 6 if BOARD_NRF9160DK_NRF9160
-	default 11 if BOARD_NRF52840DK_NRF52840
-	default 13 if BOARD_NRF52DK_NRF52832 || BOARD_NRF52833DK_NRF52833
-	default 23 if BOARD_NRF5340PDK_NRF5340_CPUAPP || BOARD_NRF5340PDK_NRF5340_CPUAPP_NS || \
-		BOARD_NRF5340DK_NRF5340_CPUAPP || BOARD_NRF5340DK_NRF5340_CPUAPP_NS
-	help
-	  Pin on the serial detect port that triggers serial recovery mode.
-
-config BOOT_SERIAL_DETECT_PIN_VAL
-	int "Serial detect pin trigger value"
-	default 0
-	range 0 1
-	help
-	  Logic value of the detect pin that triggers serial recovery
-	  mode.
-
-config BOOT_SERIAL_DETECT_DELAY
-	int "Serial detect pin detection delay time [ms]"
-	default 0
-	help
-	  Used to prevent the bootloader from loading on button press.
-	  Useful for powering on when using the same button as
-	  the one used to place the device in bootloader mode.
-
-config BOOT_ERASE_PROGRESSIVELY
-	bool "Erase flash progressively when receiving new firmware"
-	default y if SOC_FAMILY_NRF
-	help
-	 If enabled, flash is erased as necessary when receiving new firmware,
-	 instead of erasing the whole image slot at once. This is necessary
-	 on some hardware that has long erase times, to prevent long wait
-	 times at the beginning of the DFU process.
-
-config BOOT_MGMT_ECHO
-	bool "Enable echo command"
-	help
-	  if enabled, support for the mcumgr echo command is being added.
-
-menuconfig ENABLE_MGMT_PERUSER
-	bool "Enable system specific mcumgr commands"
-	help
-	  The option enables processing of system specific mcumgr commands;
-	  system specific commands are within group MGMT_GROUP_ID_PERUSER (64)
-	  and above, as defined within mcumgr library.
-	  These are system specific command and system specific implementation
-	  function is required to process these commands.
-
-if ENABLE_MGMT_PERUSER
-config BOOT_MGMT_CUSTOM_STORAGE_ERASE
-	bool "Enable storage erase command"
-	help
-	  The option enables mcumgr command that allows to erase storage
-	  partition.
-	  Note that the storage partition needs to be defined, in DTS, otherwise
-	  enabling the option will cause a compilation to fail.
-
-config BOOT_MGMT_CUSTOM_IMG_LIST
-	bool "Enable custom image list command"
-	help
-	  The option enables command which returns versions and installation
-	  statuses (custom property) for all images.
-
-endif # ENABLE_MGMT_PERUSER
-
-config BOOT_SERIAL_ENCRYPT_EC256
-	bool "Support for encrypted upgrade images using ECIES-P256 in serial recovery upload"
-	default n
-	help
-	  If y, uploaded images via serial recovery can be decrypted
-	  on the fly when upgrading to the primary slot. The
-	  encryption mechanism used in this case is ECIES using primitives
-	  described under "ECIES-P256 encryption" in docs/encrypted_images.md.
-
-config BOOT_SERIAL_WAIT_FOR_DFU
-	bool "Wait for a prescribed duration to see if DFU is invoked by receiving a mcumgr comand"
-	depends on BOOT_SERIAL_UART
-	help
-	  If y, MCUboot waits for a prescribed duration of time to allow
-	  for DFU to be invoked. The serial recovery can be entered by receiving any
-	  mcumgr command.
-
-config BOOT_SERIAL_WAIT_FOR_DFU_TIMEOUT
-	int "Duration to wait for the serial DFU timeout in ms"
-	default 500
-	depends on BOOT_SERIAL_WAIT_FOR_DFU
-	help
-	  timeout in ms for MCUboot to wait to allow for DFU to be invoked.
-
-endif # MCUBOOT_SERIAL
+rsource "Kconfig.serial_recovery"
 
 config BOOT_INTR_VEC_RELOC
 	bool "Relocate the interrupt vector to the application"
