aboutsummaryrefslogtreecommitdiff
path: root/projects/flashrom-cros
diff options
context:
space:
mode:
authorPaul Kocialkowski <contact@paulk.fr>2016-12-23 14:20:24 +0100
committerLeah Rowe <info@minifree.org>2017-01-15 14:24:45 +0000
commit112003a55671ffa5285145280988dc1248b26b08 (patch)
treee103e0f21ac52c28056db6211758217a41b0b3fd /projects/flashrom-cros
parent3d08effb91acf985bae9c4eb4386937ce7ed92a9 (diff)
downloadlibrebootfr-112003a55671ffa5285145280988dc1248b26b08.tar.gz
librebootfr-112003a55671ffa5285145280988dc1248b26b08.zip
Paper build system initial import into Libreboot
This is the initial import of the Paper build system into Libreboot. It was written as a flexible and painless replacement for the Libreboot build system, allowing to support many different configurations. It currently only supports the following CrOS devices: * Chromebook 13 CB5-311 (nyan big) * Chromebook 14 (nyan blaze) * Chromebook 11 (HiSense) (veyron jerry) * Chromebit CS10 (veyron mickey) * Chromebook Flip C100PA (veyron minnie) * Chromebook C201PA (veyron speedy) The build system also supports building various tools and provides various scripts to ease the installation on CrOS devices. Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
Diffstat (limited to 'projects/flashrom-cros')
-rw-r--r--projects/flashrom-cros/configs/install1
-rw-r--r--projects/flashrom-cros/configs/revision1
-rwxr-xr-xprojects/flashrom-cros/flashrom-cros106
-rw-r--r--projects/flashrom-cros/patches/0001-programmer.h-Define-ich_generation-after-enum-declar.patch37
4 files changed, 145 insertions, 0 deletions
diff --git a/projects/flashrom-cros/configs/install b/projects/flashrom-cros/configs/install
new file mode 100644
index 00000000..0a129b8a
--- /dev/null
+++ b/projects/flashrom-cros/configs/install
@@ -0,0 +1 @@
+flashrom:flashrom
diff --git a/projects/flashrom-cros/configs/revision b/projects/flashrom-cros/configs/revision
new file mode 100644
index 00000000..79d3a325
--- /dev/null
+++ b/projects/flashrom-cros/configs/revision
@@ -0,0 +1 @@
+origin/release-R56-9000.B
diff --git a/projects/flashrom-cros/flashrom-cros b/projects/flashrom-cros/flashrom-cros
new file mode 100755
index 00000000..7cb14cdf
--- /dev/null
+++ b/projects/flashrom-cros/flashrom-cros
@@ -0,0 +1,106 @@
+#!/bin/bash
+
+# Copyright (C) 2016 Paul Kocialkowski <contact@paulk.fr>
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+download() {
+ local repository=$project
+
+ project_download_git "$project" "$repository" "https://chromium.googlesource.com/chromiumos/third_party/flashrom" "$@"
+}
+
+download_check() {
+ local repository=$project
+
+ project_download_check_git "$project" "$repository" "$@"
+}
+
+extract() {
+ local repository=$project
+
+ project_extract "$project" "$@"
+}
+
+extract_check() {
+ local repository=$project
+
+ project_extract_check "$project" "$@"
+}
+
+update() {
+ local repository=$project
+
+ project_update_git "$project" "$repository" "$@"
+}
+
+update_check() {
+ local repository=$project
+
+ project_update_check_git "$project" "$repository" "$@"
+}
+
+build() {
+ local repository=$project
+
+ project_sources_directory_missing_empty_error "$project" "$repository" "$@"
+
+ if git_project_check "$repository"
+ then
+ git_project_checkout "$project" "$repository" "$@"
+ fi
+
+ local sources_path=$( project_sources_path "$project" "$repository" "$@" )
+ local build_path=$( project_build_path "$project" "$@" )
+
+ mkdir -p "$build_path"
+
+ make -C "$sources_path" CONFIG_SATAMV="no" NOWARNERROR="yes" NEED_PCI="yes" CONFIG_LINUX_SPI="yes" CONFIG_LINUX_I2C="yes" -j$TASKS
+
+ cp "$sources_path/flashrom" "$build_path"
+
+ make -C "$sources_path" CONFIG_SATAMV="no" NOWARNERROR="yes" NEED_PCI="yes" CONFIG_LINUX_SPI="yes" CONFIG_LINUX_I2C="yes" "clean"
+}
+
+build_check() {
+ project_build_check "$project" "$@"
+}
+
+install() {
+ project_install "$project" "$@"
+}
+
+install_check() {
+ project_install_check "$project" "$@"
+}
+
+release() {
+ local repository=$project
+
+ project_release_install_archive "$project" "$TOOLS" "$@"
+
+ project_release_sources_git "$project" "$repository" "$@"
+}
+
+release_check() {
+ local repository=$project
+
+ project_release_install_archive_check "$project" "$TOOLS" "$@"
+
+ project_release_check_sources_git "$project" "$repository" "$@"
+}
+
+clean() {
+ project_clean "$project" "$@"
+}
diff --git a/projects/flashrom-cros/patches/0001-programmer.h-Define-ich_generation-after-enum-declar.patch b/projects/flashrom-cros/patches/0001-programmer.h-Define-ich_generation-after-enum-declar.patch
new file mode 100644
index 00000000..8b35e9e3
--- /dev/null
+++ b/projects/flashrom-cros/patches/0001-programmer.h-Define-ich_generation-after-enum-declar.patch
@@ -0,0 +1,37 @@
+From f721cdd46196a99dbcc41f0f7ecaf2ee17a147fe Mon Sep 17 00:00:00 2001
+From: Paul Kocialkowski <contact@paulk.fr>
+Date: Wed, 2 Nov 2016 19:16:50 +0100
+Subject: [PATCH] programmer.h: Define ich_generation after enum declaration
+
+This moves the ich_generation definition after the declaration of its
+associated enum.
+
+Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
+---
+ programmer.h | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/programmer.h b/programmer.h
+index 191fb1e..86a695a 100644
+--- a/programmer.h
++++ b/programmer.h
+@@ -275,7 +275,6 @@ int board_flash_enable(const char *vendor, const char *part);
+ /* chipset_enable.c */
+ int chipset_flash_enable(void);
+ int get_target_bus_from_chipset(enum chipbustype *target_bus);
+-enum ich_chipset ich_generation;
+
+ /* processor_enable.c */
+ int processor_flash_enable(void);
+@@ -603,6 +602,8 @@ enum ich_chipset {
+ };
+
+ #if CONFIG_INTERNAL == 1
++enum ich_chipset ich_generation;
++
+ extern uint32_t ichspi_bbar;
+ int ich_init_spi(struct pci_dev *dev, uint32_t base, void *rcrb,
+ enum ich_chipset ich_generation);
+--
+2.10.2
+