Skip to content

Commit

Permalink
Convert CONFIG_SUPPORT_EMMC_RPMB to Kconfig
Browse files Browse the repository at this point in the history
Convert CONFIG_SUPPORT_EMMC_RPMB to Kconfig. Split the command handling
from the underlying support and expose this through CMD_MMC_RPMB.

Signed-off-by: Alex Kiernan <[email protected]>
  • Loading branch information
akiernan authored and trini committed May 23, 2018
1 parent ea37f0b commit 5a7b11e
Show file tree
Hide file tree
Showing 11 changed files with 21 additions and 10 deletions.
4 changes: 0 additions & 4 deletions README
Original file line number Diff line number Diff line change
Expand Up @@ -1172,10 +1172,6 @@ The following options need to be configured:
CONFIG_SUPPORT_EMMC_BOOT
Enable some additional features of the eMMC boot partitions.

CONFIG_SUPPORT_EMMC_RPMB
Enable the commands for reading, writing and programming the
key for the Replay Protection Memory Block partition in eMMC.

- USB Device Firmware Update (DFU) class support:
CONFIG_DFU_OVER_USB
This enables the USB portion of the DFU USB class
Expand Down
7 changes: 7 additions & 0 deletions cmd/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -816,6 +816,13 @@ config CMD_MMC
help
MMC memory mapped support.

config CMD_MMC_RPMB
bool "Enable support for RPMB in the mmc command"
depends on CMD_MMC
help
Enable the commands for reading, writing and programming the
key for the Replay Protection Memory Block partition in eMMC.

config CMD_NAND
bool "nand"
default y if NAND_SUNXI
Expand Down
6 changes: 3 additions & 3 deletions cmd/mmc.c
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ static int do_mmcinfo(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
return CMD_RET_SUCCESS;
}

#ifdef CONFIG_SUPPORT_EMMC_RPMB
#if CONFIG_IS_ENABLED(CMD_MMC_RPMB)
static int confirm_key_prog(void)
{
puts("Warning: Programming authentication key can be done only once !\n"
Expand Down Expand Up @@ -886,7 +886,7 @@ static cmd_tbl_t cmd_mmc[] = {
U_BOOT_CMD_MKENT(partconf, 5, 0, do_mmc_partconf, "", ""),
U_BOOT_CMD_MKENT(rst-function, 3, 0, do_mmc_rst_func, "", ""),
#endif
#ifdef CONFIG_SUPPORT_EMMC_RPMB
#if CONFIG_IS_ENABLED(CMD_MMC_RPMB)
U_BOOT_CMD_MKENT(rpmb, CONFIG_SYS_MAXARGS, 1, do_mmcrpmb, "", ""),
#endif
U_BOOT_CMD_MKENT(setdsr, 2, 0, do_mmc_setdsr, "", ""),
Expand Down Expand Up @@ -953,7 +953,7 @@ U_BOOT_CMD(
" - Change the RST_n_FUNCTION field of the specified device\n"
" WARNING: This is a write-once field and 0 / 1 / 2 are the only valid values.\n"
#endif
#ifdef CONFIG_SUPPORT_EMMC_RPMB
#if CONFIG_IS_ENABLED(CMD_MMC_RPMB)
"mmc rpmb read addr blk# cnt [address of auth-key] - block size is 256 bytes\n"
"mmc rpmb write addr blk# cnt <address of auth-key> - block size is 256 bytes\n"
"mmc rpmb key <address of auth-key> - program the RPMB authentication key.\n"
Expand Down
1 change: 1 addition & 0 deletions configs/gwventana_emmc_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@ CONFIG_CMD_UBI=y
CONFIG_ENV_IS_IN_MMC=y
CONFIG_DM=y
CONFIG_DWC_AHSATA=y
CONFIG_SUPPORT_EMMC_RPMB=y
CONFIG_FSL_ESDHC=y
CONFIG_PHYLIB=y
CONFIG_NETDEVICES=y
Expand Down
1 change: 1 addition & 0 deletions configs/gwventana_gw5904_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@ CONFIG_CMD_UBI=y
CONFIG_ENV_IS_IN_MMC=y
CONFIG_DM=y
CONFIG_DWC_AHSATA=y
CONFIG_SUPPORT_EMMC_RPMB=y
CONFIG_FSL_ESDHC=y
CONFIG_PHYLIB=y
CONFIG_MV88E61XX_SWITCH=y
Expand Down
1 change: 1 addition & 0 deletions configs/gwventana_nand_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ CONFIG_CMD_UBI=y
CONFIG_ENV_IS_IN_NAND=y
CONFIG_DM=y
CONFIG_DWC_AHSATA=y
CONFIG_SUPPORT_EMMC_RPMB=y
CONFIG_FSL_ESDHC=y
CONFIG_NAND=y
CONFIG_NAND_MXS=y
Expand Down
1 change: 1 addition & 0 deletions configs/vining_2000_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ CONFIG_CMD_FAT=y
CONFIG_CMD_FS_GENERIC=y
CONFIG_EFI_PARTITION=y
CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
CONFIG_SUPPORT_EMMC_RPMB=y
CONFIG_FSL_ESDHC=y
CONFIG_PHYLIB=y
CONFIG_PCI=y
Expand Down
7 changes: 7 additions & 0 deletions drivers/mmc/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,13 @@ config MMC_HW_PARTITIONING
This adds a command and an API to do hardware partitioning on eMMC
devices.

config SUPPORT_EMMC_RPMB
bool "Support eMMC replay protected memory block (RPMB)"
imply CMD_MMC_RPMB
help
Enable support for reading, writing and programming the
key for the Replay Protection Memory Block partition in eMMC.

config MMC_IO_VOLTAGE
bool "Support IO voltage configuration"
help
Expand Down
1 change: 0 additions & 1 deletion include/configs/gw_ventana.h
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,6 @@

/* eMMC Configs */
#define CONFIG_SUPPORT_EMMC_BOOT
#define CONFIG_SUPPORT_EMMC_RPMB

/*
* SATA Configs
Expand Down
1 change: 0 additions & 1 deletion include/configs/vining_2000.h
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,6 @@

#ifdef CONFIG_ENV_IS_IN_MMC
#define CONFIG_SUPPORT_EMMC_BOOT
#define CONFIG_SUPPORT_EMMC_RPMB
#define CONFIG_SYS_MMC_ENV_DEV 0 /* USDHC4 eMMC */
/* 0=user, 1=boot0, 2=boot1, * 4..7=general0..3. */
#define CONFIG_SYS_MMC_ENV_PART 1 /* boot0 */
Expand Down
1 change: 0 additions & 1 deletion scripts/config_whitelist.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2033,7 +2033,6 @@ CONFIG_SUNXI_MAX_FB_SIZE
CONFIG_SUNXI_USB_PHYS
CONFIG_SUPERH_ON_CHIP_R8A66597
CONFIG_SUPPORT_EMMC_BOOT
CONFIG_SUPPORT_EMMC_RPMB
CONFIG_SUVD3
CONFIG_SXNI855T
CONFIG_SYSFLAGS_ADDR
Expand Down

0 comments on commit 5a7b11e

Please sign in to comment.