From 960369345d92b189b4d1af0701da75c9b8d3767a Mon Sep 17 00:00:00 2001 From: Max Krummenacher Date: Wed, 17 Jan 2018 19:18:11 +0100 Subject: imx-loader: move to a spl/u-boot download chain Move from a recovery u-boot.imx to download first the SPL which immediately goes into SDP download mode again and then downloads u-boot.img. Signed-off-by: Max Krummenacher Acked-by: Marcel Ziswiler --- .../imx-loader/imx-loader/imx_usb.conf | 6 +++++ .../imx-loader/imx-loader/mx6_usb_rom.conf | 5 +++++ .../imx-loader/imx-loader/mx6_usb_sdp_spl.conf | 5 +++++ .../imx-loader/imx-loader/mx6_usb_sdp_uboot.conf | 7 ++++++ .../imx-loader/imx-loader/mx6ull_usb_rom.conf | 5 +++++ .../imx-loader/mx6ull_usb_sdp_uboot.conf | 7 ++++++ .../imx-loader/imx-loader/mx7_usb_rom.conf | 5 +++++ .../imx-loader/imx-loader/mx7_usb_sdp_uboot.conf | 7 ++++++ .../imx-loader/imx-loader/vybrid_usb_rom.conf | 16 +++++++++++++ recipes-devtools/imx-loader/imx-loader_git.bb | 26 +++++++++++++++++----- 10 files changed, 83 insertions(+), 6 deletions(-) create mode 100644 recipes-devtools/imx-loader/imx-loader/imx_usb.conf create mode 100644 recipes-devtools/imx-loader/imx-loader/mx6_usb_rom.conf create mode 100644 recipes-devtools/imx-loader/imx-loader/mx6_usb_sdp_spl.conf create mode 100644 recipes-devtools/imx-loader/imx-loader/mx6_usb_sdp_uboot.conf create mode 100644 recipes-devtools/imx-loader/imx-loader/mx6ull_usb_rom.conf create mode 100644 recipes-devtools/imx-loader/imx-loader/mx6ull_usb_sdp_uboot.conf create mode 100644 recipes-devtools/imx-loader/imx-loader/mx7_usb_rom.conf create mode 100644 recipes-devtools/imx-loader/imx-loader/mx7_usb_sdp_uboot.conf create mode 100644 recipes-devtools/imx-loader/imx-loader/vybrid_usb_rom.conf diff --git a/recipes-devtools/imx-loader/imx-loader/imx_usb.conf b/recipes-devtools/imx-loader/imx-loader/imx_usb.conf new file mode 100644 index 0000000..7157c7e --- /dev/null +++ b/recipes-devtools/imx-loader/imx-loader/imx_usb.conf @@ -0,0 +1,6 @@ +#vid:pid, config_file +0x15a2:0x0054, mx6_usb_rom.conf, 0x1b67:0x4fff, mx6_usb_sdp_spl.conf +0x15a2:0x0061, mx6_usb_rom.conf, 0x1b67:0x4fff, mx6_usb_sdp_spl.conf +0x15a2:0x0076, mx7_usb_rom.conf +0x15a2:0x0080, mx6ull_usb_rom.conf +0x15a2:0x006a, vybrid_usb_rom.conf \ No newline at end of file diff --git a/recipes-devtools/imx-loader/imx-loader/mx6_usb_rom.conf b/recipes-devtools/imx-loader/imx-loader/mx6_usb_rom.conf new file mode 100644 index 0000000..d6dd660 --- /dev/null +++ b/recipes-devtools/imx-loader/imx-loader/mx6_usb_rom.conf @@ -0,0 +1,5 @@ +mx6_qsb +#hid/bulk,[old_header,]max packet size, {ram start, ram size}(repeat valid ram areas) +hid,1024,0x910000,0x10000000,1G,0x00900000,0x40000 +#[specify file with valid IVT] +SPL:jump header2 diff --git a/recipes-devtools/imx-loader/imx-loader/mx6_usb_sdp_spl.conf b/recipes-devtools/imx-loader/imx-loader/mx6_usb_sdp_spl.conf new file mode 100644 index 0000000..f6a768f --- /dev/null +++ b/recipes-devtools/imx-loader/imx-loader/mx6_usb_sdp_spl.conf @@ -0,0 +1,5 @@ +mx6_spl_sdp +#hid/bulk,[old_header,]max packet size, {ram start, ram size}(repeat valid ram areas) +#In SPL, we typically load u-boot.img which has a U-boot header... +hid,uboot_header,1024,0x10000000,1G,0x00907000,0x31000 +u-boot.img:jump header2 diff --git a/recipes-devtools/imx-loader/imx-loader/mx6_usb_sdp_uboot.conf b/recipes-devtools/imx-loader/imx-loader/mx6_usb_sdp_uboot.conf new file mode 100644 index 0000000..db39e48 --- /dev/null +++ b/recipes-devtools/imx-loader/imx-loader/mx6_usb_sdp_uboot.conf @@ -0,0 +1,7 @@ +mx6_usb_sdp_uboot +#hid/bulk,[old_header,]max packet size, {ram start, ram size}(repeat valid ram areas) +hid,1024,0x10000000,1G,0x00907000,0x31000 +#Load complete FIT image to $ramdisk_addr_r +tezi.itb:load 0x12100000 +#Load script to $loadaddr and jump to it +boot-sdp.scr:load 0x12000000,jump 0x12000000 diff --git a/recipes-devtools/imx-loader/imx-loader/mx6ull_usb_rom.conf b/recipes-devtools/imx-loader/imx-loader/mx6ull_usb_rom.conf new file mode 100644 index 0000000..1a1829f --- /dev/null +++ b/recipes-devtools/imx-loader/imx-loader/mx6ull_usb_rom.conf @@ -0,0 +1,5 @@ +mx6ull +#hid/bulk,[old_header,]max packet size, {ram start, ram size}(repeat valid ram areas) +hid,1024,0x910000,0x80000000,1G,0x00900000,0x20000 +#[specify file with valid IVT] +u-boot-nand.imx:dcd,jump header2 diff --git a/recipes-devtools/imx-loader/imx-loader/mx6ull_usb_sdp_uboot.conf b/recipes-devtools/imx-loader/imx-loader/mx6ull_usb_sdp_uboot.conf new file mode 100644 index 0000000..73ec74c --- /dev/null +++ b/recipes-devtools/imx-loader/imx-loader/mx6ull_usb_sdp_uboot.conf @@ -0,0 +1,7 @@ +mx6ull_usb_sdp_uboot +#hid/bulk,[old_header,]max packet size,dcd_addr,{ram start, ram size}(repeat valid ram areas) +hid,1024,0x910000,0x80000000,1G,0x00900000,0x20000 +#Load complete FIT image to $ramdisk_addr_r +tezi.itb:load 0x82100000 +#Load script to $loadaddr and jump to it +boot-sdp.scr:load 0x82000000,jump 0x82000000 diff --git a/recipes-devtools/imx-loader/imx-loader/mx7_usb_rom.conf b/recipes-devtools/imx-loader/imx-loader/mx7_usb_rom.conf new file mode 100644 index 0000000..9e42215 --- /dev/null +++ b/recipes-devtools/imx-loader/imx-loader/mx7_usb_rom.conf @@ -0,0 +1,5 @@ +mx7 +#hid/bulk,[old_header,]max packet size, {ram start, ram size}(repeat valid ram areas) +hid,1024,0x910000,0x80000000,1G,0x00900000,0x20000 +#[specify file with valid IVT] +u-boot.imx:dcd,jump header2 diff --git a/recipes-devtools/imx-loader/imx-loader/mx7_usb_sdp_uboot.conf b/recipes-devtools/imx-loader/imx-loader/mx7_usb_sdp_uboot.conf new file mode 100644 index 0000000..0f3a59c --- /dev/null +++ b/recipes-devtools/imx-loader/imx-loader/mx7_usb_sdp_uboot.conf @@ -0,0 +1,7 @@ +mx7_usb_sdp_uboot +#hid/bulk,[old_header,]max packet size,dcd_addr,{ram start, ram size}(repeat valid ram areas) +hid,1024,0x910000,0x80000000,1G,0x00900000,0x20000 +#Load complete FIT image to $ramdisk_addr_r +tezi.itb:load 0x82100000 +#Load script to $loadaddr and jump to it +boot-sdp.scr:load 0x82000000,jump 0x82000000 diff --git a/recipes-devtools/imx-loader/imx-loader/vybrid_usb_rom.conf b/recipes-devtools/imx-loader/imx-loader/vybrid_usb_rom.conf new file mode 100644 index 0000000..2a28feb --- /dev/null +++ b/recipes-devtools/imx-loader/imx-loader/vybrid_usb_rom.conf @@ -0,0 +1,16 @@ +vybrid +#hid/bulk,[old_header,]max packet size,dcd_addr,{ram start, ram size}(repeat valid ram areas) +#SysRAM0 +#hid,1024,0x3f007000,0x10000000,1G,0x3f007000,0x31000 +#gfxRAM +hid,1024,0x3f400000,0x10000000,1G,0x3f400000,0x80000 +#file:dcd,plug,load nnn,jump [nnn/header/header2] +#jump nnn - header is after last downloaded word +# entire file is loaded before jump, needs load nnn as well +# i.e. file:load nnn,jump nnn +#jump header - only length parameter is downloaded +#header - uses existing header(error if none), but clears plug and dcd values unless plug also specified +#header2 - uses 2nd header found(error if none) +#plug - without jump uses header but clears plug flag to stop after plug execution +#load nnn - load entire file to address +#../u-boot/u-boot.imx:jump header diff --git a/recipes-devtools/imx-loader/imx-loader_git.bb b/recipes-devtools/imx-loader/imx-loader_git.bb index 7a34484..9e301de 100644 --- a/recipes-devtools/imx-loader/imx-loader_git.bb +++ b/recipes-devtools/imx-loader/imx-loader_git.bb @@ -4,20 +4,34 @@ HOMEPAGE = "https://github.com/boundarydevices/imx_usb_loader" LICENSE = "LGPLv2+" LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" -DEPENDS = "libusb1-native" +DEPENDS = "libusb" -SRCREV = "d4d978927f9835d5583ad6d1e00cd9d3138947ab" +SRCREV = "138c0b25a4df6bc25567882ba80337543c22fd93" SRC_URI = "git://github.com/boundarydevices/imx_usb_loader.git;protocol=git;branch=master" +SRC_URI += " \ + file://imx_usb.conf \ + file://mx6ull_usb_rom.conf \ + file://mx6ull_usb_sdp_uboot.conf \ + file://mx6_usb_rom.conf \ + file://mx6_usb_sdp_spl.conf \ + file://mx6_usb_sdp_uboot.conf \ + file://mx7_usb_rom.conf \ + file://mx7_usb_sdp_uboot.conf \ + file://vybrid_usb_rom.conf \ +" S = "${WORKDIR}/git/" -PR = "r1" - #we want imx_usb binary to run on a 32-bit architecture, on x86_64 this requires the 32-bit compatibility libs EXTRA_OEMAKE_class-native = "CC='${CC} -m32' CXX='${CXX} -m32'" -BBCLASSEXTEND = "native" - do_install () { oe_runmake DESTDIR=${D} install + # inject our conf files + rm -rf ${D}{sysconfdir}/imx-loader.d/*.conf + install -m 644 ${WORKDIR}/*.conf ${D}/${sysconfdir}/imx-loader.d/ } + +inherit pkgconfig + +BBCLASSEXTEND = "native nativesdk" -- cgit v1.2.3