All of lore.kernel.org
 help / color / mirror / Atom feed
* [meta-chip][PATCH V3 0/4] Initial attempt at flashing instructions.
@ 2017-06-29  1:12 drew.moseley
  2017-06-29  1:12 ` [meta-chip][PATCH V3 1/4] chip: Make page size into a variable drew.moseley
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: drew.moseley @ 2017-06-29  1:12 UTC (permalink / raw)
  To: yocto

From: Drew Moseley <drew.moseley@mender.io>

* V3:

Cleanup README.

Add CHIP_UBI_PAGE_SIZE variable to reuse the data from the machine configuration.

* V2:

Updated README and layer dependencies.

Added error checking to flashing script

* V1:

This set of patches adds the native tools and target components needed to
reflash the CHIP boards.  Additionally a shell script is added to the deploy
directory showing how to kick off a flash update. It's not ideal as I've
hardcoded a max size for the UBI image into the script and didn't see much
of an alternative. It does function though.

Drew

The following changes since commit 0079e6ac10fc371d6f527270c23b887561f717aa:

  chip: Append to MACHINE_EXTRA_RRECOMMENDS rather than overwriting (2017-06-15 13:37:19 +0100)

are available in the git repository at:

  git@github.com:drewmoseley/meta-chip.git flashing-instructions-v3

for you to fetch changes up to 69920ec23cef400687a2a8c1ab1a825a911278d2:

  chip: Add chip-u-boot-scr recipe and flash script (2017-06-28 19:06:01 -0400)

----------------------------------------------------------------
Drew Moseley (4):
      chip: Make page size into a variable.
      u-boot-chip: Deploy the sunxi-spl-with-ecc.bin file.
      chip: Build sunxi-tools-native.
      chip: Add chip-u-boot-scr recipe and flash script

 README                                          | 94 ++++++++++++++++++++++++-
 conf/layer.conf                                 |  3 +
 conf/machine/chip.conf                          |  8 ++-
 recipes-bsp/chip-u-boot-scr/chip-u-boot-scr.bb  | 89 +++++++++++++++++++++++
 recipes-bsp/chip-u-boot-scr/files/boot.cmd.full | 32 +++++++++
 recipes-bsp/chip-u-boot-scr/files/boot.cmd.in   | 43 +++++++++++
 recipes-bsp/u-boot/u-boot-chip_git.bb           |  7 ++
 7 files changed, 272 insertions(+), 4 deletions(-)
 create mode 100644 recipes-bsp/chip-u-boot-scr/chip-u-boot-scr.bb
 create mode 100644 recipes-bsp/chip-u-boot-scr/files/boot.cmd.full
 create mode 100644 recipes-bsp/chip-u-boot-scr/files/boot.cmd.in

Drew Moseley (4):
  chip: Make page size into a variable.
  u-boot-chip: Deploy the sunxi-spl-with-ecc.bin file.
  chip: Build sunxi-tools-native.
  chip: Add chip-u-boot-scr recipe and flash script

 README                                          | 94 ++++++++++++++++++++++++-
 conf/layer.conf                                 |  3 +
 conf/machine/chip.conf                          |  8 ++-
 recipes-bsp/chip-u-boot-scr/chip-u-boot-scr.bb  | 89 +++++++++++++++++++++++
 recipes-bsp/chip-u-boot-scr/files/boot.cmd.full | 32 +++++++++
 recipes-bsp/chip-u-boot-scr/files/boot.cmd.in   | 43 +++++++++++
 recipes-bsp/u-boot/u-boot-chip_git.bb           |  7 ++
 7 files changed, 272 insertions(+), 4 deletions(-)
 create mode 100644 recipes-bsp/chip-u-boot-scr/chip-u-boot-scr.bb
 create mode 100644 recipes-bsp/chip-u-boot-scr/files/boot.cmd.full
 create mode 100644 recipes-bsp/chip-u-boot-scr/files/boot.cmd.in

-- 
2.7.4



^ permalink raw reply	[flat|nested] 6+ messages in thread

* [meta-chip][PATCH V3 1/4] chip: Make page size into a variable.
  2017-06-29  1:12 [meta-chip][PATCH V3 0/4] Initial attempt at flashing instructions drew.moseley
@ 2017-06-29  1:12 ` drew.moseley
  2017-06-29  1:12 ` [meta-chip][PATCH V3 2/4] u-boot-chip: Deploy the sunxi-spl-with-ecc.bin file drew.moseley
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: drew.moseley @ 2017-06-29  1:12 UTC (permalink / raw)
  To: yocto

From: Drew Moseley <drew.moseley@mender.io>

Signed-off-by: Drew Moseley <drew.moseley@mender.io>
---
 conf/machine/chip.conf | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/conf/machine/chip.conf b/conf/machine/chip.conf
index 0a45a2f..dad1bdb 100644
--- a/conf/machine/chip.conf
+++ b/conf/machine/chip.conf
@@ -30,5 +30,6 @@ MACHINE_FEATURES = "usbgadget usbhost wifi"
 MACHINE_EXTRA_RRECOMMENDS += "kernel-module-r8723bs rtl8723bs"
 
 UBI_VOLNAME = "rootfs"
-MKUBIFS_ARGS = "--min-io-size 16384 --leb-size 2064384 --max-leb-cnt 2000"
-UBINIZE_ARGS = "--min-io-size 16384 --peb-size 2097152 --sub-page-size 16384"
+CHIP_UBI_PAGE_SIZE = "16384"
+MKUBIFS_ARGS = "--min-io-size ${CHIP_UBI_PAGE_SIZE} --leb-size 2064384 --max-leb-cnt 2000"
+UBINIZE_ARGS = "--min-io-size ${CHIP_UBI_PAGE_SIZE} --peb-size 2097152 --sub-page-size 16384"
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [meta-chip][PATCH V3 2/4] u-boot-chip: Deploy the sunxi-spl-with-ecc.bin file.
  2017-06-29  1:12 [meta-chip][PATCH V3 0/4] Initial attempt at flashing instructions drew.moseley
  2017-06-29  1:12 ` [meta-chip][PATCH V3 1/4] chip: Make page size into a variable drew.moseley
@ 2017-06-29  1:12 ` drew.moseley
  2017-06-29  1:12 ` [meta-chip][PATCH V3 3/4] chip: Build sunxi-tools-native drew.moseley
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: drew.moseley @ 2017-06-29  1:12 UTC (permalink / raw)
  To: yocto

From: Drew Moseley <drew.moseley@mender.io>

Signed-off-by: Drew Moseley <drew.moseley@mender.io>
---
 conf/machine/chip.conf                | 1 +
 recipes-bsp/u-boot/u-boot-chip_git.bb | 6 ++++++
 2 files changed, 7 insertions(+)

diff --git a/conf/machine/chip.conf b/conf/machine/chip.conf
index dad1bdb..f053976 100644
--- a/conf/machine/chip.conf
+++ b/conf/machine/chip.conf
@@ -21,6 +21,7 @@ KERNEL_IMAGETYPE = "zImage"
 KERNEL_DEVICETREE = "sun5i-r8-chip.dtb"
 
 SPL_BINARY = "sunxi-spl.bin"
+SPL_ECC_BINARY = "sunxi-spl-with-ecc.bin"
 UBOOT_BINARY = "u-boot-dtb.bin"
 UBOOT_MACHINE = "CHIP_defconfig"
 
diff --git a/recipes-bsp/u-boot/u-boot-chip_git.bb b/recipes-bsp/u-boot/u-boot-chip_git.bb
index 8e2be50..6de2e9d 100644
--- a/recipes-bsp/u-boot/u-boot-chip_git.bb
+++ b/recipes-bsp/u-boot/u-boot-chip_git.bb
@@ -19,7 +19,13 @@ SRC_URI = " \
 S = "${WORKDIR}/git"
 
 do_compile_append() {
+    install ${B}/spl/${SPL_ECC_BINARY} ${B}/${SPL_ECC_BINARY}
     install ${B}/spl/${SPL_BINARY} ${B}/${SPL_BINARY}
 }
 
 COMPATIBLE_MACHINE = "chip"
+
+do_deploy_append() {
+    install -m 644 ${B}/${SPL_ECC_BINARY} ${DEPLOYDIR}/${SPL_ECC_BINARY}-${PV}-${PR}
+    ln -sf ${SPL_ECC_BINARY}-${PV}-${PR} ${DEPLOYDIR}/${SPL_ECC_BINARY}
+}
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [meta-chip][PATCH V3 3/4] chip: Build sunxi-tools-native.
  2017-06-29  1:12 [meta-chip][PATCH V3 0/4] Initial attempt at flashing instructions drew.moseley
  2017-06-29  1:12 ` [meta-chip][PATCH V3 1/4] chip: Make page size into a variable drew.moseley
  2017-06-29  1:12 ` [meta-chip][PATCH V3 2/4] u-boot-chip: Deploy the sunxi-spl-with-ecc.bin file drew.moseley
@ 2017-06-29  1:12 ` drew.moseley
  2017-06-29  1:12 ` [meta-chip][PATCH V3 4/4] chip: Add chip-u-boot-scr recipe and flash script drew.moseley
  2017-06-29 15:48 ` [meta-chip][PATCH V3 0/4] Initial attempt at flashing instructions Andrei Gherzan
  4 siblings, 0 replies; 6+ messages in thread
From: drew.moseley @ 2017-06-29  1:12 UTC (permalink / raw)
  To: yocto

From: Drew Moseley <drew.moseley@mender.io>

Add LAYERDEPENDS on meta-sunxi and add the sunxi-tools-native
pacakage to EXTRA_IMAGEDEPENDS.

Signed-off-by: Drew Moseley <drew.moseley@mender.io>
---
 README                 | 3 +++
 conf/layer.conf        | 3 +++
 conf/machine/chip.conf | 2 +-
 3 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/README b/README
index cccf59e..32f70b2 100644
--- a/README
+++ b/README
@@ -14,6 +14,9 @@ This layer depends on:
   layers: meta
   branch: master
 
+  URI: git://github.com/linux-sunxi/meta-sunxi.git
+  branch: master
+
 
 Patches
 =======
diff --git a/conf/layer.conf b/conf/layer.conf
index 5dad66e..1f34ea0 100644
--- a/conf/layer.conf
+++ b/conf/layer.conf
@@ -8,3 +8,6 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
 BBFILE_COLLECTIONS += "meta-chip"
 BBFILE_PATTERN_meta-chip = "^${LAYERDIR}/"
 BBFILE_PRIORITY_meta-chip = "6"
+
+# Add this to get access to sunxi-tools recipe
+LAYERDEPENDS_meta-chip = "meta-sunxi"
diff --git a/conf/machine/chip.conf b/conf/machine/chip.conf
index f053976..ff5a213 100644
--- a/conf/machine/chip.conf
+++ b/conf/machine/chip.conf
@@ -5,7 +5,7 @@
 MACHINE_EXTRA_RRECOMMENDS = " kernel-modules"
 MACHINE_ESSENTIAL_EXTRA_RDEPENDS = " kernel-image kernel-devicetree"
 
-EXTRA_IMAGEDEPENDS += "u-boot"
+EXTRA_IMAGEDEPENDS += "u-boot sunxi-tools-native"
 
 DEFAULTTUNE ?= "cortexa8t-neon"
 include conf/machine/include/tune-cortexa8.inc
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [meta-chip][PATCH V3 4/4] chip: Add chip-u-boot-scr recipe and flash script
  2017-06-29  1:12 [meta-chip][PATCH V3 0/4] Initial attempt at flashing instructions drew.moseley
                   ` (2 preceding siblings ...)
  2017-06-29  1:12 ` [meta-chip][PATCH V3 3/4] chip: Build sunxi-tools-native drew.moseley
@ 2017-06-29  1:12 ` drew.moseley
  2017-06-29 15:48 ` [meta-chip][PATCH V3 0/4] Initial attempt at flashing instructions Andrei Gherzan
  4 siblings, 0 replies; 6+ messages in thread
From: drew.moseley @ 2017-06-29  1:12 UTC (permalink / raw)
  To: yocto

From: Drew Moseley <drew.moseley@mender.io>

Add a U-Boot script to handle flashing the SPL, U-Boot
and UBI root filesystem images into the onboard flash.
Also generate a script showing how to execute the flash
steps.

Signed-off-by: Drew Moseley <drew.moseley@mender.io>
---
 README                                          | 91 ++++++++++++++++++++++++-
 recipes-bsp/chip-u-boot-scr/chip-u-boot-scr.bb  | 89 ++++++++++++++++++++++++
 recipes-bsp/chip-u-boot-scr/files/boot.cmd.full | 32 +++++++++
 recipes-bsp/chip-u-boot-scr/files/boot.cmd.in   | 43 ++++++++++++
 recipes-bsp/u-boot/u-boot-chip_git.bb           |  1 +
 5 files changed, 255 insertions(+), 1 deletion(-)
 create mode 100644 recipes-bsp/chip-u-boot-scr/chip-u-boot-scr.bb
 create mode 100644 recipes-bsp/chip-u-boot-scr/files/boot.cmd.full
 create mode 100644 recipes-bsp/chip-u-boot-scr/files/boot.cmd.in

diff --git a/README b/README
index 32f70b2..9fc1dd1 100644
--- a/README
+++ b/README
@@ -62,4 +62,93 @@ To build a machine supported by this BSP layer follow the next steps:
 II. Flashing a C.H.I.P. board
 ========================================
 
-<TODO>
+As part of the build including this BSP layer, a U-Boot script and a
+shell script are created to assist in flashing your images to the CHIP
+board. Note that this script assumes a maximum size for your UBI
+image of 167772160 (0x0A000000) bytes. If your UBI image exceeds
+that, then you will need to adapt this to your environment.
+
+To successfully run this script you will first need to set your board
+into FEL mode. Insert a wire into the U14 header between pin 7 (FEL)
+and GND. Then connect the board with a USB cable to your host. More
+details here:
+    https://docs.getchip.com/chip.html#flash-chip-with-an-os
+
+You need to specify the base filename of your UBI image using the
+UBI_IMAGE shell variable before invoking the generated script as
+follows:
+
+# UBI_IMAGE=chip-hwup-image-chip.ubi \
+        ./tmp/deploy/images/chip/flash_CHIP_board.sh
+
+This script will take some time to execute. The output of this script
+as run on your host machine should look similar to the following:
+
+    # UBI_IMAGE=chip-hwup-image-chip.ubi ./tmp/deploy/images/chip/flash_CHIP_board.sh
+    100% [================================================]  3537 kB,  513.9 kB/s
+    100% [================================================]   619 kB,  551.1 kB/s
+    100% [================================================]     2 kB,  476.0 kB/s
+    100% [================================================] 71303 kB,  531.1 kB/s
+
+If you have a serial console connected to your board, you will see
+progress and a message on the console indicating when flashing is
+complete:
+
+    U-Boot 2016.01 (Jun 20 2017 - 02:54:42 -0400) Allwinner Technology
+    
+    CPU:   Allwinner A13 (SUN5I)
+    I2C:   ready
+    DRAM:  512 MiB
+    NAND:  8192 MiB
+    video-mode 720x480-24@60 not available, falling back to 1024x768-24@60
+    Setting up a 720x480i composite-ntsc console (overscan 40x20)
+    In:    serial
+    Out:   serial
+    Err:   serial
+    Net:   usb_ether
+    starting USB...
+    No controllers found
+    Hit any key to stop autoboot:  0
+    (FEL boot)
+    ## Executing script at 43100000
+    Erasing NAND
+    
+    NAND erase.chip: device 0 whole chip
+    Skipping bad block at  0xeb000000
+    Skipping bad block at  0x1b1000000
+    Erasing at 0x1ffc00000 -- 100% complete.
+    OK
+    Writing SPL (with ECC) to NAND address 0x00000000
+    
+    NAND write:  3537408 bytes written: OK
+    Writing SPL (with ECC) to NAND address 0x400000
+    
+    NAND write:  3537408 bytes written: OK
+    Writing UBoot image to address 0x800000
+    
+    NAND write: device 0 offset 0x800000, size 0x97236
+     619062 bytes written: OK
+    Enabling Splash
+    Setting Video Mode
+    Saving default environment
+    Saving Environment to NAND...
+    Erasing NAND...
+    Erasing at 0xc00000 -- 100% complete.
+    Writing to NAND... OK
+    Writing UBI rootfs to NAND address 0x1000000
+    
+    NAND write: device 0 offset 0x1000000, size 0xa000000
+     167772160 bytes written: OK
+    ===========================================================
+    Flashing Complete. Please power down and disable FEL mode.
+    ===========================================================
+
+Additionally, once the image is properly flashed, the status LED on
+the CHIP board will flash on and off every 2 seconds. This indicates
+that it is safe to power down your board and disable FEL mode.
+
+WARNING: This will erase the entire contents of your CHIP board.
+
+NOTE: This setup is still compatible with the CHIP flashing utility
+available at http://flash.getchip.com if you choose to reinstall the
+stock images.
diff --git a/recipes-bsp/chip-u-boot-scr/chip-u-boot-scr.bb b/recipes-bsp/chip-u-boot-scr/chip-u-boot-scr.bb
new file mode 100644
index 0000000..6945c42
--- /dev/null
+++ b/recipes-bsp/chip-u-boot-scr/chip-u-boot-scr.bb
@@ -0,0 +1,89 @@
+SUMMARY = "U-boot boot scripts for CHIP boards"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+
+inherit deploy
+
+DEPENDS = "u-boot-mkimage-native"
+
+SRC_URI = "file://boot.cmd.in"
+
+NAND_FLASH_START_ADDR = "0x00000000"
+SPL_MEMIMG_ADDR = "0x44000000"
+UBOOT_MEMIMG_ADDR = "0x4a000000"
+SPL_FLASH_UPPER_ADDR = "0x400000"
+LED_I2C_CHIP = "0x34"
+LED_I2C_ADDR = "0x93"
+UBOOT_FLASH_ADDR = "0x800000"
+UBI_MEMIMG_ADDR = "0x4b000000"
+UBI_FLASH_ADDR = "0x1000000"
+OOB_SIZE = "1664"
+SCRIPTADDR = "0x43100000"
+UBI_SIZE="0x0A000000"
+
+do_compile[depends] += "u-boot-chip:do_deploy"
+do_compile() {
+    PADDED_SPL_SIZE_BLOCKS=$(stat --dereference --printf="%s" "${DEPLOY_DIR_IMAGE}/${SPL_ECC_BINARY}")
+    PADDED_SPL_SIZE_BLOCKS=$(expr $PADDED_SPL_SIZE_BLOCKS / \( ${CHIP_UBI_PAGE_SIZE} + ${OOB_SIZE} \))
+    PADDED_SPL_SIZE_BLOCKS=$(echo $PADDED_SPL_SIZE_BLOCKS | xargs printf "0x%08x")
+    PADDED_UBOOT_SIZE=$(stat --dereference  --printf="%s" "${DEPLOY_DIR_IMAGE}/${UBOOT_BINARY}" | xargs printf "0x%08x")
+
+    sed -e "s,@NAND_FLASH_START_ADDR@,${NAND_FLASH_START_ADDR},g" \
+        -e "s,@SPL_MEMIMG_ADDR@,${SPL_MEMIMG_ADDR},g" \
+        -e "s,@UBOOT_MEMIMG_ADDR@,${UBOOT_MEMIMG_ADDR},g" \
+        -e "s,@SPL_FLASH_UPPER_ADDR@,${SPL_FLASH_UPPER_ADDR},g" \
+        -e "s,@LED_I2C_CHIP@,${LED_I2C_CHIP},g" \
+        -e "s,@LED_I2C_ADDR@,${LED_I2C_ADDR},g" \
+        -e "s,@PADDED_SPL_SIZE_BLOCKS@,${PADDED_SPL_SIZE_BLOCKS},g" \
+        -e "s,@PADDED_UBOOT_SIZE@,${PADDED_UBOOT_SIZE},g" \
+        -e "s,@UBOOT_FLASH_ADDR@,${UBOOT_FLASH_ADDR},g" \
+        -e "s,@UBI_FLASH_ADDR@,${UBI_FLASH_ADDR},g" \
+        -e "s,@UBI_MEMIMG_ADDR@,${UBI_MEMIMG_ADDR},g" \
+        -e "s,@UBI_SIZE@,${UBI_SIZE},g" \
+        < "${WORKDIR}/boot.cmd.in" > "${WORKDIR}/boot.cmd"
+    mkimage -A arm -T script -C none -n "Boot script" -d "${WORKDIR}/boot.cmd" "${WORKDIR}/boot.scr"
+}
+
+do_deploy() {
+    install -d ${DEPLOYDIR}
+    install -m 0644 ${WORKDIR}/boot.scr ${DEPLOYDIR}/boot.scr-${PV}-${PR}
+    ln -sf boot.scr-${PV}-${PR} ${DEPLOYDIR}/boot.scr
+
+    cat > ${DEPLOYDIR}/flash_CHIP_board.sh-${PV}-${PR} <<-EOF
+	#!/bin/sh
+	#
+	
+	if [ ! -n "\${UBI_IMAGE}" ]; then
+	    echo "Error: UBI_IMAGE environment variable unset."
+	    echo "Please set UBI_IMAGE to the basename of the root filesystem image to deploy"
+	    exit -1
+	elif [ ! -e "${DEPLOY_DIR_IMAGE}/\${UBI_IMAGE}" ]; then
+	    echo "Error: UBI_IMAGE file \"${DEPLOY_DIR_IMAGE}/\${UBI_IMAGE}\" does not exist."
+	    exit -1
+	else
+	    CURRENT_UBI_SIZE=\$(stat --dereference --printf="%s" ${DEPLOY_DIR_IMAGE}/\${UBI_IMAGE})
+	    MAX_UBI_SIZE=\$(printf %d ${UBI_SIZE})
+	    if [ \${CURRENT_UBI_SIZE} -gt \${MAX_UBI_SIZE} ]; then
+	        echo "Error: UBI_IMAGE file \"${DEPLOY_DIR_IMAGE}/\${UBI_IMAGE}\" is too large."
+	        echo "Current file size is \${CURRENT_UBI_SIZE}"
+	        echo "Max file size is \${MAX_UBI_SIZE}"
+	        exit -1
+	    fi
+	fi
+	
+	PADDED_SPL_SIZE_BLOCKS=$(stat --dereference --printf="%s" "${DEPLOY_DIR_IMAGE}/${SPL_ECC_BINARY}")
+	${COMPONENTS_DIR}/x86_64/sunxi-tools-native/usr/bin/sunxi-fel spl ${DEPLOY_DIR_IMAGE}/${SPL_BINARY}
+	${COMPONENTS_DIR}/x86_64/sunxi-tools-native/usr/bin/sunxi-fel --progress write ${SPL_MEMIMG_ADDR} ${DEPLOY_DIR_IMAGE}/${SPL_ECC_BINARY}
+	${COMPONENTS_DIR}/x86_64/sunxi-tools-native/usr/bin/sunxi-fel --progress write ${UBOOT_MEMIMG_ADDR} ${DEPLOY_DIR_IMAGE}/${UBOOT_BINARY}
+	${COMPONENTS_DIR}/x86_64/sunxi-tools-native/usr/bin/sunxi-fel --progress write ${SCRIPTADDR} ${DEPLOY_DIR_IMAGE}/boot.scr
+	${COMPONENTS_DIR}/x86_64/sunxi-tools-native/usr/bin/sunxi-fel --progress write ${UBI_MEMIMG_ADDR} ${DEPLOY_DIR_IMAGE}/\${UBI_IMAGE}
+	${COMPONENTS_DIR}/x86_64/sunxi-tools-native/usr/bin/sunxi-fel exe ${UBOOT_MEMIMG_ADDR}
+	EOF
+    chmod +x ${DEPLOYDIR}/flash_CHIP_board.sh-${PV}-${PR}
+
+    ln -sf flash_CHIP_board.sh-${PV}-${PR} ${DEPLOYDIR}/flash_CHIP_board.sh
+}
+
+addtask do_deploy after do_compile before do_build
+
+COMPATIBLE_MACHINE = "chip"
diff --git a/recipes-bsp/chip-u-boot-scr/files/boot.cmd.full b/recipes-bsp/chip-u-boot-scr/files/boot.cmd.full
new file mode 100644
index 0000000..9589c87
--- /dev/null
+++ b/recipes-bsp/chip-u-boot-scr/files/boot.cmd.full
@@ -0,0 +1,32 @@
+echo Scrubbing NAND
+nand scrub -y 0x0 0x200000000
+echo Writing SPL (with ECC) to NAND address 0x0
+nand write.raw.noverify $SPL_MEM_ADDR 0x0 $PADDED_SPL_SIZE
+echo Writing SPL (with ECC) to NAND address 0x400000
+nand write.raw.noverify $SPL_MEM_ADDR 0x400000 $PADDED_SPL_SIZE
+echo Writing UBoot image to address 0x800000
+nand write $UBOOT_MEM_ADDR 0x800000 $PADDED_UBOOT_SIZE
+
+# Setup the default environment
+setenv bootargs root=ubi0:rootfs rootfstype=ubifs rw earlyprintk ubi.mtd=4
+setenv bootcmd 'mtdparts; ubi part UBI; ubifsmount ubi0:rootfs; ubifsload \$fdt_addr_r /boot/sun5i-r8-chip.dtb; ubifsload \$kernel_addr_r /boot/zImage; bootz \$kernel_addr_r - \$fdt_addr_r'
+setenv fel_booted 0
+
+echo Enabling Splash
+setenv stdout serial
+setenv stderr serial
+setenv splashpos m,m
+
+echo Setting Video Mode
+setenv video-mode sunxi:640x480-24@60,monitor=composite-ntsc,overscan_x=40,overscan_y=20
+
+echo Saving default environment
+saveenv
+
+echo Writing UBI rootfs to NAND address 0x1000000
+nand write.slc-mode.trimffs $UBI_MEM_ADDR 0x1000000 $UBI_SIZE
+
+echo ===========================================================
+echo Flashing Complete.  Please power down and disable FEL mode.
+echo ===========================================================
+
diff --git a/recipes-bsp/chip-u-boot-scr/files/boot.cmd.in b/recipes-bsp/chip-u-boot-scr/files/boot.cmd.in
new file mode 100644
index 0000000..dc060be
--- /dev/null
+++ b/recipes-bsp/chip-u-boot-scr/files/boot.cmd.in
@@ -0,0 +1,43 @@
+echo Erasing NAND
+nand erase.chip
+echo Writing SPL (with ECC) to NAND address @NAND_FLASH_START_ADDR@
+nand write.raw.noverify @SPL_MEMIMG_ADDR@ @NAND_FLASH_START_ADDR@ @PADDED_SPL_SIZE_BLOCKS@
+echo Writing SPL (with ECC) to NAND address @SPL_FLASH_UPPER_ADDR@
+nand write.raw.noverify @SPL_MEMIMG_ADDR@ @SPL_FLASH_UPPER_ADDR@ @PADDED_SPL_SIZE_BLOCKS@
+echo Writing UBoot image to address 0x800000
+nand write @UBOOT_MEMIMG_ADDR@ @UBOOT_FLASH_ADDR@ @PADDED_UBOOT_SIZE@
+
+# Setup the default environment
+setenv bootargs root=ubi0:rootfs rootfstype=ubifs rw earlyprintk ubi.mtd=4
+setenv bootcmd_ubi 'mtdparts; ubi part UBI; ubifsmount ubi0:rootfs; ubifsload \$fdt_addr_r /boot/sun5i-r8-chip.dtb; ubifsload \$kernel_addr_r /boot/zImage; bootz \$kernel_addr_r - \$fdt_addr_r'
+setenv boot_targets fel ubi usb0 pxe dhcp 
+setenv fel_booted 0
+
+echo Enabling Splash
+setenv stdout serial
+setenv stderr serial
+setenv splashpos m,m
+
+echo Setting Video Mode
+setenv video-mode sunxi:640x480-24@60,monitor=composite-ntsc,overscan_x=40,overscan_y=20
+
+echo Saving default environment
+saveenv
+
+echo Writing UBI rootfs to NAND address 0x1000000
+nand write.slc-mode.trimffs @UBI_MEMIMG_ADDR@ @UBI_FLASH_ADDR@ @UBI_SIZE@
+
+
+echo ===========================================================
+echo Flashing Complete.  Please power down and disable FEL mode.
+echo ===========================================================
+
+# Loop continually flashing the status LED
+while true ; do
+    mw.l @SPL_MEMIMG_ADDR@ 0x00000000 1
+    i2c write @SPL_MEMIMG_ADDR@ @LED_I2C_CHIP@ @LED_I2C_ADDR@ 4
+    sleep 1
+    mw.l @SPL_MEMIMG_ADDR@ 0xffffffff 1
+    i2c write @SPL_MEMIMG_ADDR@ @LED_I2C_CHIP@ @LED_I2C_ADDR@ 4
+    sleep 1
+done
diff --git a/recipes-bsp/u-boot/u-boot-chip_git.bb b/recipes-bsp/u-boot/u-boot-chip_git.bb
index 6de2e9d..6f08654 100644
--- a/recipes-bsp/u-boot/u-boot-chip_git.bb
+++ b/recipes-bsp/u-boot/u-boot-chip_git.bb
@@ -6,6 +6,7 @@ LIC_FILES_CHKSUM = "file://Licenses/README;md5=0507cd7da8e7ad6d6701926ec9b84c95"
 
 DEPENDS += "dtc-native"
 PROVIDES += "u-boot"
+RDEPENDS_${PN}_append_chip = " chip-u-boot-scr"
 
 UBOOT_VERSION ?= "2016.01"
 PV = "${UBOOT_VERSION}+git${SRCPV}"
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [meta-chip][PATCH V3 0/4] Initial attempt at flashing instructions.
  2017-06-29  1:12 [meta-chip][PATCH V3 0/4] Initial attempt at flashing instructions drew.moseley
                   ` (3 preceding siblings ...)
  2017-06-29  1:12 ` [meta-chip][PATCH V3 4/4] chip: Add chip-u-boot-scr recipe and flash script drew.moseley
@ 2017-06-29 15:48 ` Andrei Gherzan
  4 siblings, 0 replies; 6+ messages in thread
From: Andrei Gherzan @ 2017-06-29 15:48 UTC (permalink / raw)
  To: drew.moseley; +Cc: yocto

[-- Attachment #1: Type: text/plain, Size: 295 bytes --]

Hi,

On Thu, Jun 29, 2017 at 2:12 AM, <drew.moseley@mender.io> wrote:

> From: Drew Moseley <drew.moseley@mender.io>
>
> * V3:
>
> Cleanup README.
>
> Add CHIP_UBI_PAGE_SIZE variable to reuse the data from the machine
> configuration.
>

Merged to master. Thanks, Drew.

Andrei

[-- Attachment #2: Type: text/html, Size: 694 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2017-06-29 15:49 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-06-29  1:12 [meta-chip][PATCH V3 0/4] Initial attempt at flashing instructions drew.moseley
2017-06-29  1:12 ` [meta-chip][PATCH V3 1/4] chip: Make page size into a variable drew.moseley
2017-06-29  1:12 ` [meta-chip][PATCH V3 2/4] u-boot-chip: Deploy the sunxi-spl-with-ecc.bin file drew.moseley
2017-06-29  1:12 ` [meta-chip][PATCH V3 3/4] chip: Build sunxi-tools-native drew.moseley
2017-06-29  1:12 ` [meta-chip][PATCH V3 4/4] chip: Add chip-u-boot-scr recipe and flash script drew.moseley
2017-06-29 15:48 ` [meta-chip][PATCH V3 0/4] Initial attempt at flashing instructions Andrei Gherzan

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.