Merge pull request #347 from sammj/libflash_pkg
Enable MTD support for Petitboot & bump version
diff --git a/openpower/configs/linux/skiroot_defconfig b/openpower/configs/linux/skiroot_defconfig
index 59e3a2b..d3ac61d 100644
--- a/openpower/configs/linux/skiroot_defconfig
+++ b/openpower/configs/linux/skiroot_defconfig
@@ -213,3 +213,5 @@
CONFIG_XMON_DEFAULT=y
# CONFIG_CRYPTO_ECHAINIV is not set
# CONFIG_CRYPTO_HW is not set
+CONFIG_MTD=y
+CONFIG_MTD_POWERNV_FLASH=y
diff --git a/openpower/package/Config.in b/openpower/package/Config.in
index ab00242..9902881 100644
--- a/openpower/package/Config.in
+++ b/openpower/package/Config.in
@@ -11,3 +11,4 @@
source "$BR2_EXTERNAL/package/occ/Config.in"
source "$BR2_EXTERNAL/package/capp-ucode/Config.in"
source "$BR2_EXTERNAL/package/skiboot/Config.in"
+source "$BR2_EXTERNAL/package/libflash/Config.in"
diff --git a/openpower/package/libflash/Config.in b/openpower/package/libflash/Config.in
new file mode 100644
index 0000000..eb6f56d
--- /dev/null
+++ b/openpower/package/libflash/Config.in
@@ -0,0 +1,4 @@
+config BR2_PACKAGE_LIBFLASH
+ bool "libflash"
+ help
+ Build libflash shared library
diff --git a/openpower/package/libflash/libflash.mk b/openpower/package/libflash/libflash.mk
new file mode 100644
index 0000000..5c6e393
--- /dev/null
+++ b/openpower/package/libflash/libflash.mk
@@ -0,0 +1,36 @@
+################################################################################
+#
+# libflash - builds libflash libraries from skiboot source
+#
+################################################################################
+
+LIBFLASH_VERSION = b2649b822ab57ab06f0028d8343320ae6e11cc50
+
+LIBFLASH_SITE = $(call github,open-power,skiboot,$(LIBFLASH_VERSION))
+LIBFLASH_INSTALL_STAGING = YES
+LIBFLASH_INSTALL_TARGET = YES
+
+LIBFLASH_MAKE_OPTS += CC="$(TARGET_CC)" LD="$(TARGET_LD)" \
+ AS="$(TARGET_AS)" AR="$(TARGET_AR)" NM="$(TARGET_NM)" \
+ OBJCOPY="$(TARGET_OBJCOPY)" OBJDUMP="$(TARGET_OBJDUMP)" \
+ SIZE="$(TARGET_CROSS)size"
+
+define LIBFLASH_BUILD_CMDS
+ PREFIX=$(STAGING_DIR)/usr SKIBOOT_VERSION=$(LIBFLASH_VERSION) \
+ $(MAKE1) $(LIBFLASH_MAKE_OPTS) CROSS_COMPILE=$(TARGET_CROSS) \
+ -C $(@D)/external/shared
+endef
+
+define LIBFLASH_INSTALL_STAGING_CMDS
+ PREFIX=$(STAGING_DIR)/usr SKIBOOT_VERSION=$(LIBFLASH_VERSION) \
+ $(MAKE1) $(LIBFLASH_MAKE_OPTS) CROSS_COMPILE=$(TARGET_CROSS) \
+ -C $(@D)/external/shared install
+endef
+
+define LIBFLASH_INSTALL_TARGET_CMDS
+ PREFIX=$(STAGING_DIR)/usr SKIBOOT_VERSION=$(LIBFLASH_VERSION) \
+ $(MAKE1) $(LIBFLASH_MAKE_OPTS) CROSS_COMPILE=$(TARGET_CROSS) \
+ -C $(@D)/external/shared install-lib
+endef
+
+$(eval $(generic-package))
diff --git a/openpower/package/petitboot/Config.in b/openpower/package/petitboot/Config.in
index a6021dd..b85618d 100644
--- a/openpower/package/petitboot/Config.in
+++ b/openpower/package/petitboot/Config.in
@@ -19,3 +19,12 @@
comment "petitboot requires udev to be enabled"
depends on !BR2_PACKAGE_HAS_UDEV
+
+config BR2_PACKAGE_PETITBOOT_MTD
+ bool "petitboot-mtd"
+ depends on BR2_PACKAGE_PETITBOOT
+ select BR2_PACKAGE_LIBFLASH
+ help
+ Adds Petitboot support for MTD devices
+
+comment "Add support for accessing MTD devices"
diff --git a/openpower/package/petitboot/petitboot.mk b/openpower/package/petitboot/petitboot.mk
index d26f564..7dc1b41 100644
--- a/openpower/package/petitboot/petitboot.mk
+++ b/openpower/package/petitboot/petitboot.mk
@@ -4,7 +4,7 @@
#
################################################################################
-PETITBOOT_VERSION = d171258160f7ed4756531f51e66fb116753bc990
+PETITBOOT_VERSION = 7460bbb60ff7070c6884b700fc6370cd58703c4b
PETITBOOT_SITE = git://github.com/open-power/petitboot.git
PETITBOOT_DEPENDENCIES = ncurses udev host-bison host-flex lvm2
PETITBOOT_LICENSE = GPLv2
@@ -23,6 +23,13 @@
PETITBOOT_CONF_OPTS += --enable-debug
endif
+ifeq ($(BR2_PACKAGE_PETITBOOT_MTD),y)
+PETITBOOT_CONF_OPTS += --enable-mtd
+PETITBOOT_DEPENDENCIES += libflash
+PETITBOOT_CPPFLAGS += -I$(STAGING_DIR)
+PETITBOOT_LDFLAGS += -L$(STAGING_DIR)
+endif
+
ifeq ($(BR2_PACKAGE_NCURSES_WCHAR),y)
PETITBOOT_CONF_OPTS += --with-ncursesw MENU_LIB=-lmenuw FORM_LIB=-lformw
endif