Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • reform/reform-boundary-uboot
  • josch/reform-boundary-uboot
  • jacqueline/reform-boundary-uboot
  • cinap_lenrek/reform-boundary-uboot
  • jackhumbert/reform-boundary-uboot
  • sevan/reform-boundary-uboot
  • khm/reform-boundary-uboot
7 results
Show changes
Commits on Source (11352)
Showing with 1309 additions and 1707 deletions
...@@ -25,3 +25,6 @@ ...@@ -25,3 +25,6 @@
# Ignore "WARNING: Prefer ether_addr_copy() over memcpy() if the Ethernet # Ignore "WARNING: Prefer ether_addr_copy() over memcpy() if the Ethernet
# addresses are __aligned(2)". # addresses are __aligned(2)".
--ignore PREFER_ETHER_ADDR_COPY --ignore PREFER_ETHER_ADDR_COPY
# A bit shorter of a description is OK with us.
--min-conf-desc-length=2
...@@ -3,26 +3,30 @@ ...@@ -3,26 +3,30 @@
# subdirectories here. Add them in the ".gitignore" file # subdirectories here. Add them in the ".gitignore" file
# in that subdirectory instead. # in that subdirectory instead.
# #
# Normal rules # Normal rules (sorted alphabetically)
# #
.* .*
*.o
*.o.*
*.a *.a
*.s *.bin
*.su *.cfgtmp
*.mod.c *.dtb
*.dtb.S
*.elf
*.exe
*.gcda
*.gcno
*.i *.i
*.lex.c
*.lst *.lst
*.mod.c
*.o
*.o.*
*.order *.order
*.elf
*.swp
*.bin
*.patch *.patch
*.cfgtmp *.s
*.su
# host programs on Cygwin *.swp
*.exe *.tab.[ch]
# Build tree # Build tree
/build-* /build-*
...@@ -30,8 +34,9 @@ ...@@ -30,8 +34,9 @@
# #
# Top-level generic files # Top-level generic files
# #
fit-dtb.blob
/MLO* /MLO*
/SPL /SPL*
/System.map /System.map
/u-boot* /u-boot*
/boards.cfg /boards.cfg
...@@ -45,7 +50,6 @@ ...@@ -45,7 +50,6 @@
# #
# Generated files # Generated files
# #
/LOG
/spl/ /spl/
/tpl/ /tpl/
/defconfig /defconfig
......
image: debian:bullseye-slim
build:
script: |
apt-get update
apt-get --yes install --no-install-recommends gcc-aarch64-linux-gnu build-essential bison flex device-tree-compiler git
cp mntreform-config .config
./build.sh
if git describe >/dev/null 2>&1; then
grep --quiet --fixed-strings "EXTRAVERSION = \\ MNT\\ Reform\\ $(git describe --always --tags --abbrev=0)" Makefile
fi
mv flash.bin imx8mq-mnt-reform2-flash.bin
cp imx8mq-mnt-reform2-flash.bin imx8mq-mnt-reform2-hdmi-flash.bin
artifacts:
paths:
- "imx8mq-mnt-reform2-flash.bin"
- "imx8mq-mnt-reform2-hdmi-flash.bin"
...@@ -20,6 +20,7 @@ Jagan Teki <jaganna@xilinx.com> ...@@ -20,6 +20,7 @@ Jagan Teki <jaganna@xilinx.com>
Jagan Teki <jagannadh.teki@gmail.com> Jagan Teki <jagannadh.teki@gmail.com>
Jagan Teki <jagannadha.sutradharudu-teki@xilinx.com> Jagan Teki <jagannadha.sutradharudu-teki@xilinx.com>
Markus Klotzbuecher <mk@denx.de> Markus Klotzbuecher <mk@denx.de>
Paul Burton <paul.burton@mips.com> <paul.burton@imgtec.com>
Prabhakar Kushwaha <prabhakar@freescale.com> Prabhakar Kushwaha <prabhakar@freescale.com>
Rajeshwari Shinde <rajeshwari.s@samsung.com> Rajeshwari Shinde <rajeshwari.s@samsung.com>
Ricardo Ribalda <ricardo.ribalda@uam.es> Ricardo Ribalda <ricardo.ribalda@uam.es>
......
# SPDX-License-Identifier: GPL-2.0+
# Copyright Roger Meier <r.meier@siemens.com> # Copyright Roger Meier <r.meier@siemens.com>
# SPDX-License-Identifier: GPL-2.0+
# build U-Boot on Travis CI - https://travis-ci.org/ # build U-Boot on Travis CI - https://travis-ci.org/
...@@ -10,8 +10,6 @@ language: c ...@@ -10,8 +10,6 @@ language: c
addons: addons:
apt: apt:
sources:
- sourceline: 'ppa:gns3/qemu'
packages: packages:
- cppcheck - cppcheck
- sloccount - sloccount
...@@ -21,29 +19,29 @@ addons: ...@@ -21,29 +19,29 @@ addons:
- libsdl1.2-dev - libsdl1.2-dev
- python - python
- python-virtualenv - python-virtualenv
- qemu-system-arm - swig
- qemu-system-mips - libpython-dev
- qemu-system-ppc
- qemu-system-x86
- gcc-powerpc-linux-gnu
- gcc-arm-linux-gnueabihf
- gcc-aarch64-linux-gnu
- iasl - iasl
- grub-efi-ia32-bin - grub-efi-ia32-bin
- rpm2cpio - rpm2cpio
- wget - wget
- device-tree-compiler
- lzop
before_install:
- sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
- sudo apt-get update -q
- sudo apt-get install libisl15 -y
install: install:
# install latest device tree compiler
- git clone --depth=1 git://git.kernel.org/pub/scm/utils/dtc/dtc.git /tmp/dtc
- make -j4 -C /tmp/dtc
# Clone uboot-test-hooks # Clone uboot-test-hooks
- git clone --depth=1 git://github.com/swarren/uboot-test-hooks.git /tmp/uboot-test-hooks - git clone --depth=1 git://github.com/swarren/uboot-test-hooks.git /tmp/uboot-test-hooks
- ln -s travis-ci /tmp/uboot-test-hooks/bin/`hostname` - ln -s travis-ci /tmp/uboot-test-hooks/bin/`hostname`
- ln -s travis-ci /tmp/uboot-test-hooks/py/`hostname` - ln -s travis-ci /tmp/uboot-test-hooks/py/`hostname`
# prepare buildman environment # prepare buildman environment
- echo -e "[toolchain]\nroot = /usr" > ~/.buildman - echo -e "[toolchain]\nroot = /usr" > ~/.buildman
- echo -e "\n[toolchain-alias]\nblackfin = bfin\nsh = sh4\nopenrisc = or32" >> ~/.buildman - echo -e "arc = /tmp/arc_gnu_2017.09_prebuilt_uclibc_le_archs_linux_install" >> ~/.buildman
- echo -e "\n[toolchain-alias]\nsh = sh2\n" >> ~/.buildman
- cat ~/.buildman - cat ~/.buildman
- virtualenv /tmp/venv - virtualenv /tmp/venv
- . /tmp/venv/bin/activate - . /tmp/venv/bin/activate
...@@ -51,10 +49,12 @@ install: ...@@ -51,10 +49,12 @@ install:
- grub-mkimage -o ~/grub_x86.efi -O i386-efi normal echo lsefimmap lsefi lsefisystab efinet tftp minicmd - grub-mkimage -o ~/grub_x86.efi -O i386-efi normal echo lsefimmap lsefi lsefisystab efinet tftp minicmd
- mkdir ~/grub2-arm - mkdir ~/grub2-arm
- ( cd ~/grub2-arm; wget -O - http://download.opensuse.org/ports/armv7hl/distribution/leap/42.2/repo/oss/suse/armv7hl/grub2-arm-efi-2.02~beta2-87.1.armv7hl.rpm | rpm2cpio | cpio -di ) - ( cd ~/grub2-arm; wget -O - http://download.opensuse.org/ports/armv7hl/distribution/leap/42.2/repo/oss/suse/armv7hl/grub2-arm-efi-2.02~beta2-87.1.armv7hl.rpm | rpm2cpio | cpio -di )
- mkdir ~/grub2-arm64
- ( cd ~/grub2-arm64; wget -O - http://download.opensuse.org/ports/aarch64/distribution/leap/42.2/repo/oss/suse/aarch64/grub2-arm64-efi-2.02~beta2-87.1.aarch64.rpm | rpm2cpio | cpio -di )
env: env:
global: global:
- PATH=/tmp/dtc:/tmp/uboot-test-hooks/bin:$PATH - PATH=/tmp/qemu-install/bin:/tmp/uboot-test-hooks/bin:/usr/bin:/bin
- PYTHONPATH=/tmp/uboot-test-hooks/py/travis-ci - PYTHONPATH=/tmp/uboot-test-hooks/py/travis-ci
- BUILD_DIR=build - BUILD_DIR=build
- HOSTCC="cc" - HOSTCC="cc"
...@@ -62,18 +62,44 @@ env: ...@@ -62,18 +62,44 @@ env:
before_script: before_script:
# install toolchains based on TOOLCHAIN} variable # install toolchains based on TOOLCHAIN} variable
- if [[ "${TOOLCHAIN}" == *avr32* ]]; then ./tools/buildman/buildman --fetch-arch avr32 ; fi
- if [[ "${TOOLCHAIN}" == *bfin* ]]; then ./tools/buildman/buildman --fetch-arch bfin ; fi
- if [[ "${TOOLCHAIN}" == *m68k* ]]; then ./tools/buildman/buildman --fetch-arch m68k ; fi - if [[ "${TOOLCHAIN}" == *m68k* ]]; then ./tools/buildman/buildman --fetch-arch m68k ; fi
- if [[ "${TOOLCHAIN}" == *microblaze* ]]; then ./tools/buildman/buildman --fetch-arch microblaze ; fi - if [[ "${TOOLCHAIN}" == *microblaze* ]]; then ./tools/buildman/buildman --fetch-arch microblaze ; fi
- if [[ "${TOOLCHAIN}" == *mips* ]]; then ./tools/buildman/buildman --fetch-arch mips ; fi - if [[ "${TOOLCHAIN}" == *mips* ]]; then ./tools/buildman/buildman --fetch-arch mips ; fi
- if [[ "${TOOLCHAIN}" == *or32* ]]; then ./tools/buildman/buildman --fetch-arch or32 ; fi - if [[ "${TOOLCHAIN}" == *or32* ]]; then ./tools/buildman/buildman --fetch-arch or32 ; fi
- if [[ "${TOOLCHAIN}" == *sh4* ]]; then ./tools/buildman/buildman --fetch-arch sh4 ; fi - if [[ "${TOOLCHAIN}" == *sh* ]]; then ./tools/buildman/buildman --fetch-arch sh2 ; fi
- if [[ "${TOOLCHAIN}" == *x86_64* ]]; then - if [[ "${TOOLCHAIN}" == *x86_64* ]]; then
./tools/buildman/buildman --fetch-arch x86_64; ./tools/buildman/buildman --fetch-arch x86_64;
echo -e "\n[toolchain-prefix]\nx86 = ${HOME}/.buildman-toolchains/gcc-4.9.0-nolibc/x86_64-linux/bin/x86_64-linux-" >> ~/.buildman; echo -e "\n[toolchain-prefix]\nx86 = ${HOME}/.buildman-toolchains/gcc-7.3.0-nolibc/x86_64-linux/bin/x86_64-linux-" >> ~/.buildman;
fi
- if [[ "${TOOLCHAIN}" == arc ]]; then
wget https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/download/arc-2017.09-release/arc_gnu_2017.09_prebuilt_uclibc_le_archs_linux_install.tar.gz &&
tar -C /tmp -xf arc_gnu_2017.09_prebuilt_uclibc_le_archs_linux_install.tar.gz;
fi
- if [[ "${TOOLCHAIN}" == *xtensa* ]]; then
wget https://github.com/foss-xtensa/toolchain/releases/download/2018.02/x86_64-2018.02-${TOOLCHAIN}.tar.gz &&
tar -C /tmp -xf x86_64-2018.02-${TOOLCHAIN}.tar.gz &&
echo -e "\n[toolchain-prefix]\nxtensa = /tmp/2018.02/${TOOLCHAIN}/bin/${TOOLCHAIN}-" >> ~/.buildman;
fi
# If TOOLCHAIN is unset, we're on some flavour of ARM.
- if [[ "${TOOLCHAIN}" == "" ]]; then
./tools/buildman/buildman --fetch-arch arm &&
./tools/buildman/buildman --fetch-arch aarch64;
fi
- if [[ "${TOOLCHAIN}" == "powerpc" ]]; then ./tools/buildman/buildman --fetch-arch powerpc; fi
- if [[ "${TOOLCHAIN}" == "riscv" ]]; then
wget https://github.com/andestech/prebuilt/releases/download/20180530/riscv64-unknown-linux-gnu.tar.gz &&
tar -C /tmp -xf riscv64-unknown-linux-gnu.tar.gz &&
echo -e "\n[toolchain-prefix]\nriscv = /tmp/riscv64-unknown-linux-gnu/bin/riscv64-unknown-linux-gnu-" >> ~/.buildman;
fi
- if [[ "${QEMU_TARGET}" != "" ]]; then
git clone git://git.qemu.org/qemu.git /tmp/qemu;
pushd /tmp/qemu;
git submodule update --init dtc &&
git checkout v2.8.0-rc3 &&
./configure --prefix=/tmp/qemu-install --target-list=${QEMU_TARGET} &&
make -j4 all install;
popd;
fi fi
- if [[ "${TOOLCHAIN}" == *xtensa* ]]; then ./tools/buildman/buildman --fetch-arch xtensa ; fi
script: script:
# Comments must be outside the command strings below, or the Travis parser # Comments must be outside the command strings below, or the Travis parser
...@@ -81,9 +107,8 @@ script: ...@@ -81,9 +107,8 @@ script:
# #
# Exit code 129 means warnings only. # Exit code 129 means warnings only.
- if [[ "${BUILDMAN}" != "" ]]; then - if [[ "${BUILDMAN}" != "" ]]; then
set +e; ret=0;
tools/buildman/buildman -P ${BUILDMAN}; tools/buildman/buildman -P -E ${BUILDMAN} || ret=$?;
ret=$?;
if [[ $ret -ne 0 && $ret -ne 129 ]]; then if [[ $ret -ne 0 && $ret -ne 129 ]]; then
tools/buildman/buildman -sdeP ${BUILDMAN}; tools/buildman/buildman -sdeP ${BUILDMAN};
exit $ret; exit $ret;
...@@ -96,10 +121,25 @@ script: ...@@ -96,10 +121,25 @@ script:
- export UBOOT_TRAVIS_BUILD_DIR=`cd .. && pwd`/.bm-work/${TEST_PY_BD}; - export UBOOT_TRAVIS_BUILD_DIR=`cd .. && pwd`/.bm-work/${TEST_PY_BD};
cp ~/grub_x86.efi $UBOOT_TRAVIS_BUILD_DIR/; cp ~/grub_x86.efi $UBOOT_TRAVIS_BUILD_DIR/;
cp ~/grub2-arm/usr/lib/grub2/arm-efi/grub.efi $UBOOT_TRAVIS_BUILD_DIR/grub_arm.efi; cp ~/grub2-arm/usr/lib/grub2/arm-efi/grub.efi $UBOOT_TRAVIS_BUILD_DIR/grub_arm.efi;
cp ~/grub2-arm64/usr/lib/grub2/arm64-efi/grub.efi $UBOOT_TRAVIS_BUILD_DIR/grub_arm64.efi;
if [[ "${TEST_PY_BD}" != "" ]]; then if [[ "${TEST_PY_BD}" != "" ]]; then
./test/py/test.py --bd ${TEST_PY_BD} ${TEST_PY_ID} ./test/py/test.py --bd ${TEST_PY_BD} ${TEST_PY_ID}
-k "${TEST_PY_TEST_SPEC:-not a_test_which_does_not_exist}" -k "${TEST_PY_TEST_SPEC:-not a_test_which_does_not_exist}"
--build-dir "$UBOOT_TRAVIS_BUILD_DIR"; --build-dir "$UBOOT_TRAVIS_BUILD_DIR";
ret=$?;
if [[ $ret -ne 0 ]]; then
exit $ret;
fi;
fi;
if [[ -n "${TEST_PY_TOOLS}" ]]; then
PYTHONPATH="${UBOOT_TRAVIS_BUILD_DIR}/scripts/dtc/pylibfdt"
PATH="${UBOOT_TRAVIS_BUILD_DIR}/scripts/dtc:${PATH}"
./tools/binman/binman -t &&
./tools/patman/patman --test &&
./tools/buildman/buildman -t &&
PYTHONPATH="${UBOOT_TRAVIS_BUILD_DIR}/scripts/dtc/pylibfdt"
PATH="${UBOOT_TRAVIS_BUILD_DIR}/scripts/dtc:${PATH}"
./tools/dtoc/dtoc -t;
fi fi
matrix: matrix:
...@@ -107,34 +147,33 @@ matrix: ...@@ -107,34 +147,33 @@ matrix:
# we need to build by vendor due to 50min time limit for builds # we need to build by vendor due to 50min time limit for builds
# each env setting here is a dedicated build # each env setting here is a dedicated build
- env: - env:
- BUILDMAN="arm11" - BUILDMAN="arc"
TOOLCHAIN="arc"
- env: - env:
- BUILDMAN="arm7" - BUILDMAN="arm11 arm7 arm920t arm946es"
- env:
- BUILDMAN="arm920t"
- env: - env:
- JOB="arm926ejs" - JOB="arm926ejs"
BUILDMAN="arm926ejs -x mx,siemens,atmel" BUILDMAN="arm926ejs -x mx,siemens,atmel"
- env: - env:
- BUILDMAN="arm946es" - BUILDMAN="atmel"
- env:
- BUILDMAN="atmel -x avr32"
- env:
- BUILDMAN="avr32"
TOOLCHAIN="avr32"
- env: - env:
- BUILDMAN="denx" BUILDMAN="boundary engicam toradex"
- env: - env:
- JOB="Freescale ARM32" - JOB="Freescale ARM32"
BUILDMAN="freescale -x powerpc,m68k,aarch64" BUILDMAN="freescale -x powerpc,m68k,aarch64"
- env: - env:
- JOB="Freescale AArch64" - JOB="Freescale AArch64"
BUILDMAN="freescale -x powerpc,m68k,armv7,arm9,arm11" BUILDMAN="freescale&aarch64"
- env:
- JOB="i.MX6 (non-Freescale)"
BUILDMAN="mx6 -x freescale,toradex,boundary,engicam"
- env:
- JOB="i.MX (non-Freescale, non-i.MX6)"
BUILDMAN="mx -x freescale,mx6,toradex"
- env: - env:
- JOB="i.MX (non-Freescale)" - BUILDMAN="k2"
BUILDMAN="mx -x freescale"
- env: - env:
- BUILDMAN="samsung" - BUILDMAN="samsung socfpga"
- env: - env:
- BUILDMAN="sun4i" - BUILDMAN="sun4i"
- env: - env:
...@@ -151,14 +190,17 @@ matrix: ...@@ -151,14 +190,17 @@ matrix:
- BUILDMAN="sun50i" - BUILDMAN="sun50i"
- env: - env:
- JOB="Catch-all ARM" - JOB="Catch-all ARM"
BUILDMAN="arm -x arm11,arm7,arm9,aarch64,atmel,denx,freescale,kirkwood,siemens,tegra,uniphier,mx,samsung,sunxi,am33xx,omap3,omap4,omap5,pxa,rockchip" BUILDMAN="arm -x arm11,arm7,arm9,aarch64,atmel,freescale,kirkwood,mvebu,siemens,tegra,uniphier,mx,samsung,sunxi,am33xx,omap,pxa,rockchip,toradex,socfpga,k2,xilinx"
- env: - env:
- BUILDMAN="sandbox x86" - BUILDMAN="sandbox x86"
TOOLCHAIN="x86_64" TOOLCHAIN="x86_64"
- env: - env:
- BUILDMAN="kirkwood" - BUILDMAN="kirkwood"
- env: - env:
- BUILDMAN="pxa" - BUILDMAN="mvebu"
- env:
- JOB="PXA"
- BUILDMAN="pxa -x toradex"
- env: - env:
- BUILDMAN="m68k" - BUILDMAN="m68k"
TOOLCHAIN="m68k" TOOLCHAIN="m68k"
...@@ -169,55 +211,57 @@ matrix: ...@@ -169,55 +211,57 @@ matrix:
- BUILDMAN="mips" - BUILDMAN="mips"
TOOLCHAIN="mips" TOOLCHAIN="mips"
- env: - env:
- BUILDMAN="mpc512x" - JOB="Non-Freescale PowerPC"
- env: BUILDMAN="powerpc -x freescale"
- BUILDMAN="mpc5xx" TOOLCHAIN="powerpc"
- env:
- BUILDMAN="mpc5xxx"
- env:
- BUILDMAN="mpc8260"
- env:
- BUILDMAN="mpc83xx"
- env: - env:
- BUILDMAN="mpc85xx -x freescale" - BUILDMAN="mpc85xx&freescale -x t208xrdb -x t4qds -x t102* -x p1_p2_rdb_pc -x p1010rdb -x corenet_ds -x b4860qds -x bsc91*"
TOOLCHAIN="powerpc"
- env: - env:
- BUILDMAN="mpc85xx -x t208xrdb -x t4qds -x t102* -x p1_p2_rdb_pc -x p1010rdb -x corenet_ds -x b4860qds -x sbc8548 -x bsc91*" - BUILDMAN="t208xrdb corenet_ds"
TOOLCHAIN="powerpc"
- env: - env:
- BUILDMAN="t208xrdb t4qds t102*" - BUILDMAN="t4qds b4860qds mpc83xx&freescale mpc86xx&freescale"
TOOLCHAIN="powerpc"
- env: - env:
- BUILDMAN="p1_p2_rdb_pc p1010rdb" - BUILDMAN="t102*"
TOOLCHAIN="powerpc"
- env: - env:
- BUILDMAN="corenet_ds b4860qds sbc8548 bsc91*" - BUILDMAN="p1_p2_rdb_pc"
TOOLCHAIN="powerpc"
- env: - env:
- BUILDMAN="mpc86xx" - BUILDMAN="p1010rdb bsc91"
- env: TOOLCHAIN="powerpc"
- BUILDMAN="mpc8xx"
- env: - env:
- BUILDMAN="siemens" - BUILDMAN="siemens"
- env: - env:
- BUILDMAN="tegra" - JOB="tegra"
BUILDMAN="tegra -x toradex"
- env: - env:
- JOB="am33xx" - JOB="am33xx"
BUILDMAN="am33xx -x siemens" BUILDMAN="am33xx -x siemens"
- env: - env:
- BUILDMAN="omap3" - BUILDMAN="omap"
- env:
- BUILDMAN="omap4"
- env:
- BUILDMAN="omap5"
- env: - env:
- BUILDMAN="uniphier" - BUILDMAN="uniphier"
- env: - env:
- BUILDMAN="aarch64 -x tegra,freescale,uniphier,sunxi,samsung,rockchip" - JOB="Catch-all AArch64"
TOOLCHAIN="aarch64" BUILDMAN="aarch64 -x tegra,freescale,mvebu,uniphier,sunxi,samsung,rockchip,xilinx"
- env: - env:
- BUILDMAN="rockchip" - BUILDMAN="rockchip"
- env: - env:
- BUILDMAN="sh4" - JOB="sh"
TOOLCHAIN="sh4" BUILDMAN="sh -x arm"
TOOLCHAIN="sh"
- env:
- JOB="Xilinx (ARM)"
BUILDMAN="xilinx -x microblaze"
- env: - env:
- BUILDMAN="xtensa" - BUILDMAN="xtensa"
TOOLCHAIN="xtensa" TOOLCHAIN="xtensa-dc233c-elf"
- env:
- BUILDMAN="riscv"
TOOLCHAIN="riscv"
# QA jobs for code analytics # QA jobs for code analytics
# static code analysis with cppcheck (we can add --enable=all later) # static code analysis with cppcheck (we can add --enable=all later)
...@@ -249,48 +293,91 @@ matrix: ...@@ -249,48 +293,91 @@ matrix:
- TEST_PY_BD="sandbox" - TEST_PY_BD="sandbox"
BUILDMAN="^sandbox$" BUILDMAN="^sandbox$"
TOOLCHAIN="x86_64" TOOLCHAIN="x86_64"
- env:
- TEST_PY_BD="sandbox_spl"
TEST_PY_TEST_SPEC="test_ofplatdata"
BUILDMAN="^sandbox$"
TOOLCHAIN="x86_64"
TEST_PY_TOOLS="yes"
- env:
- TEST_PY_BD="sandbox_flattree"
BUILDMAN="^sandbox_flattree$"
TOOLCHAIN="x86_64"
- env: - env:
- TEST_PY_BD="vexpress_ca15_tc2" - TEST_PY_BD="vexpress_ca15_tc2"
TEST_PY_ID="--id qemu" TEST_PY_ID="--id qemu"
QEMU_TARGET="arm-softmmu"
BUILDMAN="^vexpress_ca15_tc2$" BUILDMAN="^vexpress_ca15_tc2$"
- env: - env:
- TEST_PY_BD="vexpress_ca9x4" - TEST_PY_BD="vexpress_ca9x4"
TEST_PY_ID="--id qemu" TEST_PY_ID="--id qemu"
QEMU_TARGET="arm-softmmu"
BUILDMAN="^vexpress_ca9x4$" BUILDMAN="^vexpress_ca9x4$"
- env: - env:
- TEST_PY_BD="integratorcp_cm926ejs" - TEST_PY_BD="integratorcp_cm926ejs"
TEST_PY_TEST_SPEC="not sleep" TEST_PY_TEST_SPEC="not sleep"
TEST_PY_ID="--id qemu" TEST_PY_ID="--id qemu"
QEMU_TARGET="arm-softmmu"
BUILDMAN="^integratorcp_cm926ejs$" BUILDMAN="^integratorcp_cm926ejs$"
- env:
- TEST_PY_BD="qemu_arm"
TEST_PY_TEST_SPEC="not sleep"
QEMU_TARGET="arm-softmmu"
BUILDMAN="^qemu_arm$"
- env:
- TEST_PY_BD="qemu_arm64"
TEST_PY_TEST_SPEC="not sleep"
QEMU_TARGET="aarch64-softmmu"
BUILDMAN="^qemu_arm64$"
- env: - env:
- TEST_PY_BD="qemu_mips" - TEST_PY_BD="qemu_mips"
TEST_PY_TEST_SPEC="not sleep" TEST_PY_TEST_SPEC="not sleep"
QEMU_TARGET="mips-softmmu"
BUILDMAN="^qemu_mips$" BUILDMAN="^qemu_mips$"
TOOLCHAIN="mips" TOOLCHAIN="mips"
- env: - env:
- TEST_PY_BD="qemu_mipsel" - TEST_PY_BD="qemu_mipsel"
TEST_PY_TEST_SPEC="not sleep" TEST_PY_TEST_SPEC="not sleep"
QEMU_TARGET="mipsel-softmmu"
BUILDMAN="^qemu_mipsel$" BUILDMAN="^qemu_mipsel$"
TOOLCHAIN="mips" TOOLCHAIN="mips"
- env: - env:
- TEST_PY_BD="qemu_mips64" - TEST_PY_BD="qemu_mips64"
TEST_PY_TEST_SPEC="not sleep" TEST_PY_TEST_SPEC="not sleep"
QEMU_TARGET="mips64-softmmu"
BUILDMAN="^qemu_mips64$" BUILDMAN="^qemu_mips64$"
TOOLCHAIN="mips" TOOLCHAIN="mips"
- env: - env:
- TEST_PY_BD="qemu_mips64el" - TEST_PY_BD="qemu_mips64el"
TEST_PY_TEST_SPEC="not sleep" TEST_PY_TEST_SPEC="not sleep"
QEMU_TARGET="mips64el-softmmu"
BUILDMAN="^qemu_mips64el$" BUILDMAN="^qemu_mips64el$"
TOOLCHAIN="mips" TOOLCHAIN="mips"
- env: - env:
- TEST_PY_BD="qemu-ppce500" - TEST_PY_BD="qemu-ppce500"
TEST_PY_TEST_SPEC="not sleep" TEST_PY_TEST_SPEC="not sleep"
QEMU_TARGET="ppc-softmmu"
BUILDMAN="^qemu-ppce500$" BUILDMAN="^qemu-ppce500$"
TOOLCHAIN="powerpc"
- env: - env:
- TEST_PY_BD="qemu-x86" - TEST_PY_BD="qemu-x86"
TEST_PY_TEST_SPEC="not sleep" TEST_PY_TEST_SPEC="not sleep"
QEMU_TARGET="i386-softmmu"
BUILDMAN="^qemu-x86$" BUILDMAN="^qemu-x86$"
TOOLCHAIN="x86_64" TOOLCHAIN="x86_64"
BUILD_ROM="yes" BUILD_ROM="yes"
- env:
- TEST_PY_BD="zynq_zc702"
TEST_PY_TEST_SPEC="not sleep"
QEMU_TARGET="arm-softmmu"
TEST_PY_ID="--id qemu"
BUILDMAN="^zynq_zc702$"
- env:
- TEST_PY_BD="xtfpga"
TEST_PY_TEST_SPEC="not sleep"
QEMU_TARGET="xtensa-softmmu"
TEST_PY_ID="--id qemu"
BUILDMAN="^xtfpga$"
TOOLCHAIN="xtensa-dc233c-elf"
# TODO make it perfect ;-r # TODO make it perfect ;-r
NOP PHY driver
This driver is used to stub PHY operations in a driver (USB, SATA).
This is useful when the 'client' driver (USB, SATA, ...) uses the PHY framework
and there is no actual PHY harwdare to drive.
Required properties:
- compatible : must contain "nop-phy"
- #phy-cells : must contain <0>
Example:
nop_phy {
compatible = "nop-phy";
#phy-cells = <0>;
};
STMicroelectronics STM32 USB HS PHY controller
The STM32 USBPHYC block contains a dual port High Speed UTMI+ PHY and a UTMI
switch. It controls PHY configuration and status, and the UTMI+ switch that
selects either OTG or HOST controller for the second PHY port. It also sets
PLL configuration.
USBPHYC
|_ PLL
|
|_ PHY port#1 _________________ HOST controller
| _ |
| / 1|________________|
|_ PHY port#2 ----| |________________
| \_0| |
|_ UTMI switch_______| OTG controller
Phy provider node
=================
Required properties:
- compatible: must be "st,stm32mp1-usbphyc"
- reg: address and length of the usb phy control register set
- clocks: phandle + clock specifier for the PLL phy clock
- #address-cells: number of address cells for phys sub-nodes, must be <1>
- #size-cells: number of size cells for phys sub-nodes, must be <0>
Optional properties:
- assigned-clocks: phandle + clock specifier for the PLL phy clock
- assigned-clock-parents: the PLL phy clock parent
- resets: phandle + reset specifier
Required nodes: one sub-node per port the controller provides.
Phy sub-nodes
==============
Required properties:
- reg: phy port index
- phy-supply: phandle to the regulator providing 3V3 power to the PHY,
see phy-bindings.txt in the same directory.
- vdda1v1-supply: phandle to the regulator providing 1V1 power to the PHY
- vdda1v8-supply: phandle to the regulator providing 1V8 power to the PHY
- #phy-cells: see phy-bindings.txt in the same directory, must be <0> for PHY
port#1 and must be <1> for PHY port#2, to select USB controller
Example:
usbphyc: usb-phy@5a006000 {
compatible = "st,stm32mp1-usbphyc";
reg = <0x5a006000 0x1000>;
clocks = <&rcc_clk USBPHY_K>;
resets = <&rcc_rst USBPHY_R>;
#address-cells = <1>;
#size-cells = <0>;
usbphyc_port0: usb-phy@0 {
reg = <0>;
phy-supply = <&vdd_usb>;
vdda1v1-supply = <&reg11>;
vdda1v8-supply = <&reg18>
#phy-cells = <0>;
};
usbphyc_port1: usb-phy@1 {
reg = <1>;
phy-supply = <&vdd_usb>;
vdda1v1-supply = <&reg11>;
vdda1v8-supply = <&reg18>
#phy-cells = <1>;
};
};
Broadcom STB wake-up Timer
The Broadcom STB wake-up timer provides a 27Mhz resolution timer, with the
ability to wake up the system from low-power suspend/standby modes.
Required properties:
- compatible : should contain "brcm,brcmstb-waketimer"
- reg : the register start and length for the WKTMR block
- interrupts : The TIMER interrupt
- interrupt-parent: The phandle to the Always-On (AON) Power Management (PM) L2
interrupt controller node
- clocks : The phandle to the UPG fixed clock (27Mhz domain)
Example:
waketimer@f0411580 {
compatible = "brcm,brcmstb-waketimer";
reg = <0xf0411580 0x14>;
interrupts = <0x3>;
interrupt-parent = <&aon_pm_l2_intc>;
clocks = <&upg_fixed>;
};
...@@ -14,6 +14,12 @@ source "arch/Kconfig" ...@@ -14,6 +14,12 @@ source "arch/Kconfig"
menu "General setup" menu "General setup"
config BROKEN
bool
help
This option cannot be enabled. It is used as dependency
for broken and incomplete features.
config LOCALVERSION config LOCALVERSION
string "Local version - append to U-Boot release" string "Local version - append to U-Boot release"
help help
...@@ -53,25 +59,69 @@ config CC_OPTIMIZE_FOR_SIZE ...@@ -53,25 +59,69 @@ config CC_OPTIMIZE_FOR_SIZE
This option is enabled by default for U-Boot. This option is enabled by default for U-Boot.
config CC_COVERAGE
bool "Enable code coverage analysis"
depends on SANDBOX
help
Enabling this option will pass "--coverage" to gcc to compile
and link code instrumented for coverage analysis.
config DISTRO_DEFAULTS config DISTRO_DEFAULTS
bool "Select defaults suitable for booting general purpose Linux distributions" bool "Select defaults suitable for booting general purpose Linux distributions"
default y if ARCH_SUNXI imply USE_BOOTCOMMAND
default y if ARCH_LS2080A
default n
select CMD_BOOTZ if ARM && !ARM64 select CMD_BOOTZ if ARM && !ARM64
select CMD_BOOTI if ARM64 select CMD_BOOTI if ARM64
select CMD_DHCP select CMD_DHCP if CMD_NET
select CMD_PING if CMD_NET
select CMD_PXE if NET
select CMD_ENV_EXISTS
select CMD_EXT2 select CMD_EXT2
select CMD_EXT4 select CMD_EXT4
select CMD_FAT select CMD_FAT
select CMD_FS_GENERIC select CMD_FS_GENERIC
select CMD_MII imply CMD_MII if NET
select CMD_PING select CMD_PART if PARTITIONS
select HUSH_PARSER select HUSH_PARSER
select CMDLINE_EDITING
select AUTO_COMPLETE
select SYS_LONGHELP
select SUPPORT_RAW_INITRD
select ENV_VARS_UBOOT_CONFIG
help help
Select this to enable various options and commands which are suitable Select this to enable various options and commands which are suitable
for building u-boot for booting general purpose Linux distributions. for building u-boot for booting general purpose Linux distributions.
config ENV_VARS_UBOOT_CONFIG
bool "Add arch, board, vendor and soc variables to default environment"
help
Define this in order to add variables describing the
U-Boot build configuration to the default environment.
These will be named arch, cpu, board, vendor, and soc.
Enabling this option will cause the following to be defined:
- CONFIG_SYS_ARCH
- CONFIG_SYS_CPU
- CONFIG_SYS_BOARD
- CONFIG_SYS_VENDOR
- CONFIG_SYS_SOC
config NR_DRAM_BANKS
int "Number of DRAM banks"
default 4
help
This defines the number of DRAM banks.
config SYS_BOOT_GET_CMDLINE
bool "Enable kernel command line setup"
help
Enables allocating and saving kernel cmdline in space between
"bootm_low" and "bootm_low" + BOOTMAPSZ.
config SYS_BOOT_GET_KBD
bool "Enable kernel board information setup"
help
Enables allocating and saving a kernel copy of the bd_info in
space between "bootm_low" and "bootm_low" + BOOTMAPSZ.
config SYS_MALLOC_F config SYS_MALLOC_F
bool "Enable malloc() pool before relocation" bool "Enable malloc() pool before relocation"
default y if DM default y if DM
...@@ -84,6 +134,7 @@ config SYS_MALLOC_F ...@@ -84,6 +134,7 @@ config SYS_MALLOC_F
config SYS_MALLOC_F_LEN config SYS_MALLOC_F_LEN
hex "Size of malloc() pool before relocation" hex "Size of malloc() pool before relocation"
depends on SYS_MALLOC_F depends on SYS_MALLOC_F
default 0x1000 if AM33XX
default 0x400 default 0x400
help help
Before relocation, memory is very limited on many platforms. Still, Before relocation, memory is very limited on many platforms. Still,
...@@ -91,6 +142,26 @@ config SYS_MALLOC_F_LEN ...@@ -91,6 +142,26 @@ config SYS_MALLOC_F_LEN
particular needs this to operate, so that it can allocate the particular needs this to operate, so that it can allocate the
initial serial device and any others that are needed. initial serial device and any others that are needed.
config SPL_SYS_MALLOC_F_LEN
hex "Size of malloc() pool in SPL before relocation"
depends on SYS_MALLOC_F
default SYS_MALLOC_F_LEN
help
Before relocation, memory is very limited on many platforms. Still,
we can provide a small malloc() pool if needed. Driver model in
particular needs this to operate, so that it can allocate the
initial serial device and any others that are needed.
config TPL_SYS_MALLOC_F_LEN
hex "Size of malloc() pool in TPL before relocation"
depends on SYS_MALLOC_F
default SYS_MALLOC_F_LEN
help
Before relocation, memory is very limited on many platforms. Still,
we can provide a small malloc() pool if needed. Driver model in
particular needs this to operate, so that it can allocate the
initial serial device and any others that are needed.
menuconfig EXPERT menuconfig EXPERT
bool "Configure standard U-Boot features (expert users)" bool "Configure standard U-Boot features (expert users)"
default y default y
...@@ -125,7 +196,7 @@ config TOOLS_DEBUG ...@@ -125,7 +196,7 @@ config TOOLS_DEBUG
it is possible to set breakpoints on particular lines, single-step it is possible to set breakpoints on particular lines, single-step
debug through the source code, etc. debug through the source code, etc.
endif endif # EXPERT
config PHYS_64BIT config PHYS_64BIT
bool "64bit physical address support" bool "64bit physical address support"
...@@ -134,42 +205,66 @@ config PHYS_64BIT ...@@ -134,42 +205,66 @@ config PHYS_64BIT
This can be used not only for 64bit SoCs, but also for This can be used not only for 64bit SoCs, but also for
large physical address extention on 32bit SoCs. large physical address extention on 32bit SoCs.
config BUILD_ROM
bool "Build U-Boot as BIOS replacement"
depends on X86
help
This option allows to build a ROM version of U-Boot.
The build process generally requires several binary blobs
which are not shipped in the U-Boot source tree.
Please, see doc/README.x86 for details.
endmenu # General setup endmenu # General setup
menu "Boot images" menu "Boot images"
config ANDROID_BOOT_IMAGE
bool "Enable support for Android Boot Images"
default y if FASTBOOT
help
This enables support for booting images which use the Android
image format header.
config FIT config FIT
bool "Support Flattened Image Tree" bool "Support Flattened Image Tree"
select MD5
select SHA1
help help
This option allows to boot the new uImage structrure, This option allows you to boot the new uImage structure,
Flattened Image Tree. FIT is formally a FDT, which can include Flattened Image Tree. FIT is formally a FDT, which can include
images of various types (kernel, FDT blob, ramdisk, etc.) images of various types (kernel, FDT blob, ramdisk, etc.)
in a single blob. To boot this new uImage structure, in a single blob. To boot this new uImage structure,
pass the address of the blob to the "bootm" command. pass the address of the blob to the "bootm" command.
FIT is very flexible, supporting compression, multiple images, FIT is very flexible, supporting compression, multiple images,
multiple configurations, verification through hashing and also multiple configurations, verification through hashing and also
verified boot (secure boot using RSA). This option enables that verified boot (secure boot using RSA).
feature.
config SPL_FIT if FIT
bool "Support Flattened Image Tree within SPL"
depends on FIT
depends on SPL
config FIT_VERBOSE config FIT_ENABLE_SHA256_SUPPORT
bool "Display verbose messages on FIT boot" bool "Support SHA256 checksum of FIT image contents"
depends on FIT select SHA256
default y
help
Enable this to support SHA256 checksum of FIT image contents. A
SHA256 checksum is a 256-bit (32-byte) hash value used to check that
the image contents have not been corrupted. SHA256 is recommended
for use in secure applications since (as at 2016) there is no known
feasible attack that could produce a 'collision' with differing
input data. Use this for the highest security. Note that only the
SHA256 variant is supported: SHA512 and others are not currently
supported in U-Boot.
config FIT_SIGNATURE config FIT_SIGNATURE
bool "Enable signature verification of FIT uImages" bool "Enable signature verification of FIT uImages"
depends on FIT
depends on DM depends on DM
select RSA select RSA
select HASH
help help
This option enables signature verification of FIT uImages, This option enables signature verification of FIT uImages,
using a hash signed and verified using RSA. If using a hash signed and verified using RSA. If
CONFIG_SHA_PROG_HW_ACCEL is defined, i.e support for progressive CONFIG_SHA_PROG_HW_ACCEL is defined, i.e support for progressive
hashing is available using hardware, then then RSA library will use hashing is available using hardware, then the RSA library will use
it. See doc/uImage.FIT/signature.txt for more details. it. See doc/uImage.FIT/signature.txt for more details.
WARNING: When relying on signed FIT images with a required signature WARNING: When relying on signed FIT images with a required signature
...@@ -178,15 +273,16 @@ config FIT_SIGNATURE ...@@ -178,15 +273,16 @@ config FIT_SIGNATURE
format support in this case, enable it using format support in this case, enable it using
CONFIG_IMAGE_FORMAT_LEGACY. CONFIG_IMAGE_FORMAT_LEGACY.
config SPL_FIT_SIGNATURE config FIT_VERBOSE
bool "Enable signature verification of FIT firmware within SPL" bool "Show verbose messages when FIT images fail"
depends on SPL_FIT help
depends on SPL_DM Generally a system will have valid FIT images so debug messages
select SPL_RSA are a waste of code space. If you are debugging your images then
you can enable this option to get more verbose information about
failures.
config FIT_BEST_MATCH config FIT_BEST_MATCH
bool "Select the best match for the kernel device tree" bool "Select the best match for the kernel device tree"
depends on FIT
help help
When no configuration is explicitly selected, default to the When no configuration is explicitly selected, default to the
one whose fdt's compatibility field best matches that of one whose fdt's compatibility field best matches that of
...@@ -194,14 +290,106 @@ config FIT_BEST_MATCH ...@@ -194,14 +290,106 @@ config FIT_BEST_MATCH
most specific compatibility entry of U-Boot's fdt's root node. most specific compatibility entry of U-Boot's fdt's root node.
The order of entries in the configuration's fdt is ignored. The order of entries in the configuration's fdt is ignored.
config FIT_VERBOSE config FIT_IMAGE_POST_PROCESS
bool "Show verbose messages when FIT images fails" bool "Enable post-processing of FIT artifacts after loading by U-Boot"
depends on FIT depends on TI_SECURE_DEVICE
help help
Generally a system will have valid FIT images so debug messages Allows doing any sort of manipulation to blobs after they got extracted
are a waste of code space. If you are debugging your images then from FIT images like stripping off headers or modifying the size of the
you can enable this option to get more verbose information about blob, verification, authentication, decryption etc. in a platform or
failures. board specific way. In order to use this feature a platform or board-
specific implementation of board_fit_image_post_process() must be
provided. Also, anything done during this post-processing step would
need to be comprehended in how the images were prepared before being
injected into the FIT creation (i.e. the blobs would have been pre-
processed before being added to the FIT image).
if SPL
config SPL_FIT
bool "Support Flattened Image Tree within SPL"
depends on SPL
select SPL_OF_LIBFDT
config SPL_FIT_PRINT
bool "Support FIT printing within SPL"
depends on SPL_FIT
help
Support printing the content of the fitImage in a verbose manner in SPL.
config SPL_FIT_SIGNATURE
bool "Enable signature verification of FIT firmware within SPL"
depends on SPL_DM
select SPL_FIT
select SPL_RSA
config SPL_LOAD_FIT
bool "Enable SPL loading U-Boot as a FIT"
select SPL_FIT
help
Normally with the SPL framework a legacy image is generated as part
of the build. This contains U-Boot along with information as to
where it should be loaded. This option instead enables generation
of a FIT (Flat Image Tree) which provides more flexibility. In
particular it can handle selecting from multiple device tree
and passing the correct one to U-Boot.
config SPL_LOAD_FIT_FULL
bool "Enable SPL loading U-Boot as a FIT"
select SPL_FIT
help
Normally with the SPL framework a legacy image is generated as part
of the build. This contains U-Boot along with information as to
where it should be loaded. This option instead enables generation
of a FIT (Flat Image Tree) which provides more flexibility. In
particular it can handle selecting from multiple device tree
and passing the correct one to U-Boot.
config SPL_FIT_IMAGE_POST_PROCESS
bool "Enable post-processing of FIT artifacts after loading by the SPL"
depends on SPL_LOAD_FIT
help
Allows doing any sort of manipulation to blobs after they got extracted
from the U-Boot FIT image like stripping off headers or modifying the
size of the blob, verification, authentication, decryption etc. in a
platform or board specific way. In order to use this feature a platform
or board-specific implementation of board_fit_image_post_process() must
be provided. Also, anything done during this post-processing step would
need to be comprehended in how the images were prepared before being
injected into the FIT creation (i.e. the blobs would have been pre-
processed before being added to the FIT image).
config SPL_FIT_SOURCE
string ".its source file for U-Boot FIT image"
depends on SPL_FIT
help
Specifies a (platform specific) FIT source file to generate the
U-Boot FIT image. This could specify further image to load and/or
execute.
config SPL_FIT_GENERATOR
string ".its file generator script for U-Boot FIT image"
depends on SPL_FIT
default "board/sunxi/mksunxi_fit_atf.sh" if SPL_LOAD_FIT && ARCH_SUNXI
help
Specifies a (platform specific) script file to generate the FIT
source file used to build the U-Boot FIT image file. This gets
passed a list of supported device tree file stub names to
include in the generated image.
endif # SPL
endif # FIT
config IMAGE_FORMAT_LEGACY
bool "Enable support for the legacy image format"
default y if !FIT_SIGNATURE
help
This option enables the legacy image format. It is enabled by
default for backward compatibility, unless FIT_SIGNATURE is
set where it is disabled so that unsigned images cannot be
loaded. If a board needs the legacy image format support in this
case, enable it here.
config OF_BOARD_SETUP config OF_BOARD_SETUP
bool "Set up board-specific details in device tree before boot" bool "Set up board-specific details in device tree before boot"
...@@ -246,51 +434,17 @@ config SYS_EXTRA_OPTIONS ...@@ -246,51 +434,17 @@ config SYS_EXTRA_OPTIONS
new boards should not use this option. new boards should not use this option.
config SYS_TEXT_BASE config SYS_TEXT_BASE
depends on SPARC || ARC || X86 || ARCH_UNIPHIER || ARCH_ZYNQMP || \ depends on !NIOS2 && !XTENSA
(M68K && !TARGET_ASTRO_MCF5373L) || MICROBLAZE || MIPS
depends on !EFI_APP depends on !EFI_APP
default 0x80800000 if ARCH_OMAP2PLUS
default 0x4a000000 if ARCH_SUNXI && !MACH_SUN9I && !MACH_SUN8I_V3S
default 0x2a000000 if ARCH_SUNXI && MACH_SUN9I
default 0x42e00000 if ARCH_SUNXI && MACH_SUN8I_V3S
hex "Text Base" hex "Text Base"
help help
TODO: Move CONFIG_SYS_TEXT_BASE for all the architecture The address in memory that U-Boot will be running from, initially.
config SPL_LOAD_FIT
bool "Enable SPL loading U-Boot as a FIT"
depends on FIT
help
Normally with the SPL framework a legacy image is generated as part
of the build. This contains U-Boot along with information as to
where it should be loaded. This option instead enables generation
of a FIT (Flat Image Tree) which provides more flexibility. In
particular it can handle selecting from multiple device tree
and passing the correct one to U-Boot.
config SPL_FIT_IMAGE_POST_PROCESS
bool "Enable post-processing of FIT artifacts after loading by the SPL"
depends on SPL_LOAD_FIT && TI_SECURE_DEVICE
help
Allows doing any sort of manipulation to blobs after they got extracted
from the U-Boot FIT image like stripping off headers or modifying the
size of the blob, verification, authentication, decryption etc. in a
platform or board specific way. In order to use this feature a platform
or board-specific implementation of board_fit_image_post_process() must
be provided. Also, anything done during this post-processing step would
need to be comprehended in how the images were prepared before being
injected into the FIT creation (i.e. the blobs would have been pre-
processed before being added to the FIT image).
config FIT_IMAGE_POST_PROCESS
bool "Enable post-processing of FIT artifacts after loading by U-Boot"
depends on FIT && TI_SECURE_DEVICE
help
Allows doing any sort of manipulation to blobs after they got extracted
from FIT images like stripping off headers or modifying the size of the
blob, verification, authentication, decryption etc. in a platform or
board specific way. In order to use this feature a platform or board-
specific implementation of board_fit_image_post_process() must be
provided. Also, anything done during this post-processing step would
need to be comprehended in how the images were prepared before being
injected into the FIT creation (i.e. the blobs would have been pre-
processed before being added to the FIT image).
config SYS_CLK_FREQ config SYS_CLK_FREQ
depends on ARC || ARCH_SUNXI depends on ARC || ARCH_SUNXI
...@@ -298,9 +452,8 @@ config SYS_CLK_FREQ ...@@ -298,9 +452,8 @@ config SYS_CLK_FREQ
help help
TODO: Move CONFIG_SYS_CLK_FREQ for all the architecture TODO: Move CONFIG_SYS_CLK_FREQ for all the architecture
config ARCH_FIXUP_FDT config ARCH_FIXUP_FDT_MEMORY
bool "Enable arch_fixup_fdt() call" bool "Enable arch_fixup_memory_banks() call"
depends on ARM || MIPS
default y default y
help help
Enable FDT memory map syncup before OS boot. This feature can be Enable FDT memory map syncup before OS boot. This feature can be
...@@ -309,12 +462,18 @@ config ARCH_FIXUP_FDT ...@@ -309,12 +462,18 @@ config ARCH_FIXUP_FDT
endmenu # Boot images endmenu # Boot images
source "api/Kconfig"
source "common/Kconfig" source "common/Kconfig"
source "cmd/Kconfig" source "cmd/Kconfig"
source "disk/Kconfig"
source "dts/Kconfig" source "dts/Kconfig"
source "env/Kconfig"
source "net/Kconfig" source "net/Kconfig"
source "drivers/Kconfig" source "drivers/Kconfig"
......
SPDX-License-Identifier: GPL-2.0
U-Boot is Free Software. It is copyrighted by Wolfgang Denk and U-Boot is Free Software. It is copyrighted by Wolfgang Denk and
many others who contributed code (see the actual source code and the many others who contributed code (see the actual source code and the
git commit messages for details). You can redistribute U-Boot and/or git commit messages for details). You can redistribute U-Boot and/or
...@@ -31,27 +33,107 @@ information, ...) which makes automatic processing a nightmare. ...@@ -31,27 +33,107 @@ information, ...) which makes automatic processing a nightmare.
To make this easier, such license headers in the source files will be To make this easier, such license headers in the source files will be
replaced with a single line reference to Unique License Identifiers replaced with a single line reference to Unique License Identifiers
as defined by the Linux Foundation's SPDX project [1]. For example, as defined by the Linux Foundation's SPDX project [1].
in a source file the full "GPL v2.0 or later" header text will be
replaced by a single line:
SPDX-License-Identifier: GPL-2.0+
Ideally, the license terms of all files in the source tree should be
defined by such License Identifiers; in no case a file can contain
more than one such License Identifier list.
If a "SPDX-License-Identifier:" line references more than one Unique If a "SPDX-License-Identifier:" line references more than one Unique
License Identifier, then this means that the respective file can be License Identifier, then this means that the respective file can be
used under the terms of either of these licenses, i. e. with used under the terms of either of these licenses, i. e. with
SPDX-License-Identifier: GPL-2.0+ BSD-3-Clause SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause
you can choose between GPL-2.0+ and BSD-3-Clause licensing. you can choose between GPL-2.0+ and BSD-3-Clause licensing.
We use the SPDX Unique License Identifiers here; these are available We use the SPDX Unique License Identifiers here; these are available
at [2]. at [2].
License identifier syntax
-------------------------
1. Placement:
The SPDX license identifier in U-Boot files shall be added at the first
possible line in a file which can contain a comment. For the majority
or files this is the first line, except for scripts which require the
'#!PATH_TO_INTERPRETER' in the first line. For those scripts the SPDX
identifier goes into the second line.
|
2. Style:
The SPDX license identifier is added in form of a comment. The comment
style depends on the file type::
C source: // SPDX-License-Identifier: <SPDX License Expression>
C header: /* SPDX-License-Identifier: <SPDX License Expression> */
ASM: /* SPDX-License-Identifier: <SPDX License Expression> */
scripts: # SPDX-License-Identifier: <SPDX License Expression>
.rst: .. SPDX-License-Identifier: <SPDX License Expression>
.dts{i}: // SPDX-License-Identifier: <SPDX License Expression>
If a specific tool cannot handle the standard comment style, then the
appropriate comment mechanism which the tool accepts shall be used. This
is the reason for having the "/\* \*/" style comment in C header
files. There was build breakage observed with generated .lds files where
'ld' failed to parse the C++ comment. This has been fixed by now, but
there are still older assembler tools which cannot handle C++ style
comments.
|
3. Syntax:
A <SPDX License Expression> is either an SPDX short form license
identifier found on the SPDX License List, or the combination of two
SPDX short form license identifiers separated by "WITH" when a license
exception applies. When multiple licenses apply, an expression consists
of keywords "AND", "OR" separating sub-expressions and surrounded by
"(", ")" .
License identifiers for licenses like [L]GPL with the 'or later' option
are constructed by using a "+" for indicating the 'or later' option.::
// SPDX-License-Identifier: GPL-2.0+
// SPDX-License-Identifier: LGPL-2.1+
WITH should be used when there is a modifier to a license needed.
For example, the linux kernel UAPI files use the expression::
// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
// SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note
Other examples using WITH exceptions found in the linux kernel are::
// SPDX-License-Identifier: GPL-2.0 WITH mif-exception
// SPDX-License-Identifier: GPL-2.0+ WITH GCC-exception-2.0
Exceptions can only be used with particular License identifiers. The
valid License identifiers are listed in the tags of the exception text
file.
OR should be used if the file is dual licensed and only one license is
to be selected. For example, some dtsi files are available under dual
licenses::
// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
Examples from U-Boot for license expressions in dual licensed files::
// SPDX-License-Identifier: GPL-2.0 OR MIT
// SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause
AND should be used if the file has multiple licenses whose terms all
apply to use the file. For example, if code is inherited from another
project and permission has been given to put it in U-Boot, but the
original license terms need to remain in effect::
// SPDX-License-Identifier: (GPL-2.0 WITH Linux-syscall-note) AND MIT
Another other example where both sets of license terms need to be
adhered to is::
// SPDX-License-Identifier: GPL-1.0+ AND LGPL-2.1+
[1] http://spdx.org/ [1] http://spdx.org/
[2] http://spdx.org/licenses/ [2] http://spdx.org/licenses/
......
Copyright (c) 2014, Renesas Electronics Corporation
All rights reserved.
Redistribution and use in binary form, without modification, are permitted
provided that the following conditions are met:
1. Redistribution in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
2. The name of Renesas Electronics Corporation may not be used to endorse or
promote products derived from this software without specific prior written
permission.
3. Reverse engineering, decompilation, or disassembly of this software is
not permitted.
THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS ELECTRONICS CORPORATION DISCLAIMS
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, AND
NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL RENESAS ELECTRONICS
CORPORATION BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
...@@ -55,9 +55,26 @@ Maintainers List (try to look for most precise areas first) ...@@ -55,9 +55,26 @@ Maintainers List (try to look for most precise areas first)
----------------------------------- -----------------------------------
ARC ARC
M: Alexey Brodkin <alexey.brodkin@synopsys.com> M: Alexey Brodkin <alexey.brodkin@synopsys.com>
M: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
S: Maintained S: Maintained
L: uboot-snps-arc@synopsys.com
T: git git://git.denx.de/u-boot-arc.git T: git git://git.denx.de/u-boot-arc.git
F: arch/arc/ F: arch/arc/
F: board/synopsys/
ARC HSDK CGU CLOCK
M: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
S: Maintained
L: uboot-snps-arc@synopsys.com
F: drivers/clk/clk-hsdk-cgu.c
F: include/dt-bindings/clock/snps,hsdk-cgu.h
F: doc/device-tree-bindings/clock/snps,hsdk-cgu.txt
ARC HSDK CREG GPIO
M: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
S: Maintained
L: uboot-snps-arc@synopsys.com
F: drivers/gpio/hsdk-creg-gpio.c
ARM ARM
M: Albert Aribaud <albert.u.boot@aribaud.net> M: Albert Aribaud <albert.u.boot@aribaud.net>
...@@ -69,8 +86,7 @@ ARM ALTERA SOCFPGA ...@@ -69,8 +86,7 @@ ARM ALTERA SOCFPGA
M: Marek Vasut <marex@denx.de> M: Marek Vasut <marex@denx.de>
S: Maintainted S: Maintainted
T: git git://git.denx.de/u-boot-socfpga.git T: git git://git.denx.de/u-boot-socfpga.git
F: arch/arm/cpu/armv7/socfpga/ F: arch/arm/mach-socfpga/
F: board/altera/socfpga/
ARM ATMEL AT91 ARM ATMEL AT91
M: Andreas Bießmann <andreas@biessmann.org> M: Andreas Bießmann <andreas@biessmann.org>
...@@ -79,36 +95,38 @@ T: git git://git.denx.de/u-boot-atmel.git ...@@ -79,36 +95,38 @@ T: git git://git.denx.de/u-boot-atmel.git
F: arch/arm/mach-at91/ F: arch/arm/mach-at91/
ARM BROADCOM BCM283X ARM BROADCOM BCM283X
M: Stephen Warren <swarren@wwwdotorg.org> M: Alexander Graf <agraf@suse.de>
S: Maintained S: Maintained
F: arch/arm/mach-bcm283x/ F: arch/arm/mach-bcm283x/
F: drivers/gpio/bcm2835_gpio.c F: drivers/gpio/bcm2835_gpio.c
F: drivers/mmc/bcm2835_sdhci.c F: drivers/mmc/bcm2835_sdhci.c
F: drivers/mmc/bcm2835_sdhost.c
F: drivers/serial/serial_bcm283x_mu.c F: drivers/serial/serial_bcm283x_mu.c
F: drivers/serial/serial_bcm283x_pl011.c
F: drivers/video/bcm2835.c F: drivers/video/bcm2835.c
F: include/dm/platform_data/serial_bcm283x_mu.h F: include/dm/platform_data/serial_bcm283x_mu.h
F: drivers/pinctrl/broadcom/
ARM FREESCALE IMX ARM FREESCALE IMX
M: Stefano Babic <sbabic@denx.de> M: Stefano Babic <sbabic@denx.de>
M: Fabio Estevam <fabio.estevam@nxp.com>
S: Maintained S: Maintained
T: git git://git.denx.de/u-boot-imx.git T: git git://git.denx.de/u-boot-imx.git
F: arch/arm/cpu/arm1136/mx*/ F: arch/arm/cpu/arm1136/mx*/
F: arch/arm/cpu/arm926ejs/mx*/ F: arch/arm/cpu/arm926ejs/mx*/
F: arch/arm/cpu/arm926ejs/imx/
F: arch/arm/cpu/armv7/mx*/
F: arch/arm/cpu/armv7/vf610/ F: arch/arm/cpu/armv7/vf610/
F: arch/arm/cpu/imx-common/ F: arch/arm/mach-imx/
F: arch/arm/include/asm/arch-imx/ F: arch/arm/include/asm/arch-imx/
F: arch/arm/include/asm/arch-mx*/ F: arch/arm/include/asm/arch-mx*/
F: arch/arm/include/asm/arch-vf610/ F: arch/arm/include/asm/arch-vf610/
F: arch/arm/include/asm/imx-common/ F: arch/arm/include/asm/mach-imx/
F: board/freescale/*mx*/ F: board/freescale/*mx*/
ARM HISILICON ARM HISILICON
M: Peter Griffin <peter.griffin@linaro.org> M: Peter Griffin <peter.griffin@linaro.org>
S: Maintained S: Maintained
F: arch/arm/cpu/armv8/hisilicon F: arch/arm/cpu/armv8/hisilicon
F: arm/include/asm/arch-hi6220/ F: arch/arm/include/asm/arch-hi6220/
ARM MARVELL KIRKWOOD ARMADA-XP ARMADA-38X ARM MARVELL KIRKWOOD ARMADA-XP ARMADA-38X
M: Prafulla Wadaskar <prafulla@marvell.com> M: Prafulla Wadaskar <prafulla@marvell.com>
...@@ -118,6 +136,7 @@ S: Maintained ...@@ -118,6 +136,7 @@ S: Maintained
T: git git://git.denx.de/u-boot-marvell.git T: git git://git.denx.de/u-boot-marvell.git
F: arch/arm/mach-kirkwood/ F: arch/arm/mach-kirkwood/
F: arch/arm/mach-mvebu/ F: arch/arm/mach-mvebu/
F: drivers/ata/ahci_mvebu.c
ARM MARVELL PXA ARM MARVELL PXA
M: Marek Vasut <marex@denx.de> M: Marek Vasut <marex@denx.de>
...@@ -128,31 +147,53 @@ F: arch/arm/include/asm/arch-pxa/ ...@@ -128,31 +147,53 @@ F: arch/arm/include/asm/arch-pxa/
ARM RENESAS RMOBILE/R-CAR ARM RENESAS RMOBILE/R-CAR
M: Nobuhiro Iwamatsu <iwamatsu@nigauri.org> M: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
M: Marek Vasut <marek.vasut+renesas@gmail.com>
S: Maintained S: Maintained
T: git git://git.denx.de/u-boot-sh.git T: git git://git.denx.de/u-boot-sh.git
F: arch/arm/mach-rmobile/ F: arch/arm/mach-rmobile/
ARM ROCKCHIP ARM ROCKCHIP
M: Simon Glass <sjg@chromium.org> M: Simon Glass <sjg@chromium.org>
M: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
S: Maintained S: Maintained
T: git git://git.denx.de/u-boot-rockchip.git T: git git://git.denx.de/u-boot-rockchip.git
F: arch/arm/include/asm/arch-rockchip/
F: arch/arm/mach-rockchip/ F: arch/arm/mach-rockchip/
F: board/rockchip/
F: drivers/clk/rockchip/
F: drivers/gpio/rk_gpio.c
F: drivers/misc/rockchip-efuse.c
F: drivers/mmc/rockchip_sdhci.c
F: drivers/mmc/rockchip_dw_mmc.c
F: drivers/pinctrl/rockchip/
F: drivers/ram/rockchip/
F: drivers/sysreset/sysreset_rockchip.c
F: drivers/video/rockchip/
F: tools/rkcommon.c
F: tools/rkcommon.h
F: tools/rkimage.c
F: tools/rksd.c
F: tools/rkspi.c
ARM SAMSUNG ARM SAMSUNG
M: Minkyu Kang <mk7.kang@samsung.com> M: Minkyu Kang <mk7.kang@samsung.com>
S: Maintained S: Maintained
T: git git://git.denx.de/u-boot-samsung.git T: git git://git.denx.de/u-boot-samsung.git
F: arch/arm/cpu/arm920t/s3c24x0/
F: arch/arm/mach-exynos/ F: arch/arm/mach-exynos/
F: arch/arm/mach-s5pc1xx/ F: arch/arm/mach-s5pc1xx/
F: arch/arm/cpu/armv7/s5p-common/ F: arch/arm/cpu/armv7/s5p-common/
F: arch/arm/include/asm/arch-s3c24x0/
ARM SNAPDRAGON ARM SNAPDRAGON
M: Mateusz Kulikowski <mateusz.kulikowski@gmail.com> M: Ramon Fried <ramon.fried@gmail.com>
S: Maintained S: Maintained
F: arch/arm/mach-snapdragon/ F: arch/arm/mach-snapdragon/
ARM STI
M: Patrice Chotard <patrice.chotard@st.com>
S: Maintained
F: arch/arm/mach-sti/
F: arch/arm/include/asm/arch-sti*/
ARM STM SPEAR ARM STM SPEAR
#M: Vipin Kumar <vipin.kumar@st.com> #M: Vipin Kumar <vipin.kumar@st.com>
S: Orphaned (Since 2016-02) S: Orphaned (Since 2016-02)
...@@ -160,6 +201,14 @@ T: git git://git.denx.de/u-boot-stm.git ...@@ -160,6 +201,14 @@ T: git git://git.denx.de/u-boot-stm.git
F: arch/arm/cpu/arm926ejs/spear/ F: arch/arm/cpu/arm926ejs/spear/
F: arch/arm/include/asm/arch-spear/ F: arch/arm/include/asm/arch-spear/
ARM STM STM32MP
M: Patrick Delaunay <patrick.delaunay@st.com>
S: Maintained
F: arch/arm/mach-stm32mp
F: drivers/clk/clk_stm32mp1.c
F: drivers/misc/stm32mp_fuse.c
F: drivers/ram/stm32mp1/
ARM STM STV0991 ARM STM STV0991
M: Vikas Manocha <vikas.manocha@st.com> M: Vikas Manocha <vikas.manocha@st.com>
S: Maintained S: Maintained
...@@ -168,10 +217,13 @@ F: arch/arm/include/asm/arch-stv0991/ ...@@ -168,10 +217,13 @@ F: arch/arm/include/asm/arch-stv0991/
ARM SUNXI ARM SUNXI
M: Jagan Teki <jagan@openedev.com> M: Jagan Teki <jagan@openedev.com>
M: Maxime Ripard <maxime.ripard@free-electrons.com> M: Maxime Ripard <maxime.ripard@bootlin.com>
S: Maintained
T: git git://git.denx.de/u-boot-sunxi.git T: git git://git.denx.de/u-boot-sunxi.git
F: arch/arm/cpu/armv7/sunxi/ F: arch/arm/cpu/armv7/sunxi/
F: arch/arm/include/asm/arch-sunxi/ F: arch/arm/include/asm/arch-sunxi/
F: arch/arm/mach-sunxi/
F: board/sunxi/
ARM TEGRA ARM TEGRA
M: Tom Warren <twarren@nvidia.com> M: Tom Warren <twarren@nvidia.com>
...@@ -186,8 +238,6 @@ S: Maintained ...@@ -186,8 +238,6 @@ S: Maintained
T: git git://git.denx.de/u-boot-ti.git T: git git://git.denx.de/u-boot-ti.git
F: arch/arm/mach-davinci/ F: arch/arm/mach-davinci/
F: arch/arm/mach-keystone/ F: arch/arm/mach-keystone/
F: arch/arm/cpu/arm926ejs/omap/
F: arch/arm/cpu/armv7/omap*/
F: arch/arm/include/asm/arch-omap*/ F: arch/arm/include/asm/arch-omap*/
F: arch/arm/include/asm/ti-common/ F: arch/arm/include/asm/ti-common/
...@@ -202,26 +252,57 @@ N: uniphier ...@@ -202,26 +252,57 @@ N: uniphier
ARM ZYNQ ARM ZYNQ
M: Michal Simek <monstr@monstr.eu> M: Michal Simek <monstr@monstr.eu>
S: Maintained S: Maintained
F: arch/arm/cpu/armv7/zynq/ T: git git://git.denx.de/u-boot-microblaze.git
F: arch/arm/include/asm/arch-zynq/ F: arch/arm/mach-zynq/
F: drivers/clk/clk_zynq.c
F: drivers/fpga/zynqpl.c
F: drivers/gpio/zynq_gpio.c
F: drivers/i2c/i2c-cdns.c
F: drivers/i2c/muxes/pca954x.c
F: drivers/i2c/zynq_i2c.c
F: drivers/mmc/zynq_sdhci.c
F: drivers/mtd/nand/zynq_nand.c
F: drivers/net/phy/xilinx_phy.c
F: drivers/net/zynq_gem.c
F: drivers/serial/serial_zynq.c
F: drivers/spi/zynq_qspi.c
F: drivers/spi/zynq_spi.c
F: drivers/usb/host/ehci-zynq.c
F: drivers/watchdog/cdns_wdt.c
F: include/zynqpl.h
F: tools/zynqimage.c
N: zynq
ARM ZYNQMP ARM ZYNQMP
M: Michal Simek <michal.simek@xilinx.com> M: Michal Simek <michal.simek@xilinx.com>
S: Maintained S: Maintained
T: git git://git.denx.de/u-boot-microblaze.git
F: arch/arm/cpu/armv8/zynqmp/ F: arch/arm/cpu/armv8/zynqmp/
F: arch/arm/include/asm/arch-zynqmp/ F: drivers/clk/clk_zynqmp.c
F: drivers/fpga/zynqpl.c
AVR32 F: drivers/gpio/zynq_gpio.c
M: Andreas Bießmann <andreas@biessmann.org> F: drivers/i2c/i2c-cdns.c
S: Maintained F: drivers/i2c/muxes/pca954x.c
T: git git://git.denx.de/u-boot-avr32.git F: drivers/i2c/zynq_i2c.c
F: arch/avr32/ F: drivers/mmc/zynq_sdhci.c
F: drivers/mtd/nand/zynq_nand.c
BLACKFIN F: drivers/net/phy/xilinx_phy.c
M: Sonic Zhang <sonic.adi@gmail.com> F: drivers/net/zynq_gem.c
F: drivers/serial/serial_zynq.c
F: drivers/spi/zynq_qspi.c
F: drivers/spi/zynq_spi.c
F: drivers/timer/cadence-ttc.c
F: drivers/usb/host/ehci-zynq.c
F: drivers/watchdog/cdns_wdt.c
F: include/zynqmppl.h
F: tools/zynqmp*
N: zynqmp
ARM ZYNQMP R5
M: Michal Simek <michal.simek@xilinx.com>
S: Maintained S: Maintained
T: git git://git.denx.de/u-boot-blackfin.git T: git git://git.denx.de/u-boot-microblaze.git
F: arch/blackfin/ F: arch/arm/mach-zynqmp-r5/
BUILDMAN BUILDMAN
M: Simon Glass <sjg@chromium.org> M: Simon Glass <sjg@chromium.org>
...@@ -236,14 +317,14 @@ F: drivers/mtd/cfi_flash.c ...@@ -236,14 +317,14 @@ F: drivers/mtd/cfi_flash.c
F: drivers/mtd/jedec_flash.c F: drivers/mtd/jedec_flash.c
COLDFIRE COLDFIRE
M: Huan Wang <alison.wang@freescale.com> M: Huan Wang <alison.wang@nxp.com>
M: Angelo Dureghello <angelo@sysam.it> M: Angelo Dureghello <angelo@sysam.it>
S: Maintained S: Maintained
T: git git://git.denx.de/u-boot-coldfire.git T: git git://git.denx.de/u-boot-coldfire.git
F: arch/m68k/ F: arch/m68k/
DFU DFU
M: Lukasz Majewski <l.majewski@samsung.com> M: Lukasz Majewski <lukma@denx.de>
S: Maintained S: Maintained
T: git git://git.denx.de/u-boot-dfu.git T: git git://git.denx.de/u-boot-dfu.git
F: drivers/dfu/ F: drivers/dfu/
...@@ -260,9 +341,17 @@ F: test/dm/ ...@@ -260,9 +341,17 @@ F: test/dm/
EFI PAYLOAD EFI PAYLOAD
M: Alexander Graf <agraf@suse.de> M: Alexander Graf <agraf@suse.de>
S: Maintained S: Maintained
F: include/efi_loader.h T: git git://github.com/agraf/u-boot.git
F: lib/efi_loader/ F: doc/DocBook/efi.tmpl
F: doc/README.uefi
F: doc/README.iscsi
F: include/efi*
F: include/pe.h
F: include/asm-generic/pe.h
F: lib/efi*/
F: test/py/tests/test_efi*
F: cmd/bootefi.c F: cmd/bootefi.c
F: tools/file2include.c
FLATTENED DEVICE TREE FLATTENED DEVICE TREE
M: Simon Glass <sjg@chromium.org> M: Simon Glass <sjg@chromium.org>
...@@ -271,7 +360,7 @@ T: git git://git.denx.de/u-boot-fdt.git ...@@ -271,7 +360,7 @@ T: git git://git.denx.de/u-boot-fdt.git
F: lib/fdtdec* F: lib/fdtdec*
F: lib/libfdt/ F: lib/libfdt/
F: include/fdt* F: include/fdt*
F: include/libfdt* F: include/linux/libfdt*
F: cmd/fdt.c F: cmd/fdt.c
F: common/fdt_support.c F: common/fdt_support.c
...@@ -291,11 +380,28 @@ S: Maintained ...@@ -291,11 +380,28 @@ S: Maintained
T: git git://git.denx.de/u-boot-i2c.git T: git git://git.denx.de/u-boot-i2c.git
F: drivers/i2c/ F: drivers/i2c/
LOGGING
M: Simon Glass <sjg@chromium.org>
S: Maintained
T: git git://git.denx.de/u-boot.git
F: common/log.c
F: cmd/log.c
F: test/log/log_test.c
F: test/py/tests/test_log.py
MICROBLAZE MICROBLAZE
M: Michal Simek <monstr@monstr.eu> M: Michal Simek <monstr@monstr.eu>
S: Maintained S: Maintained
T: git git://git.denx.de/u-boot-microblaze.git T: git git://git.denx.de/u-boot-microblaze.git
F: arch/microblaze/ F: arch/microblaze/
F: cmd/mfsl.c
F: drivers/gpio/xilinx_gpio.c
F: drivers/net/xilinx_axi_emac.c
F: drivers/net/xilinx_emaclite.c
F: drivers/serial/serial_xuartlite.c
F: drivers/spi/xilinx_spi.c
F: drivers/watchdog/xilinx_tb_wdt.c
N: xilinx
MIPS MIPS
M: Daniel Schwierzeck <daniel.schwierzeck@gmail.com> M: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
...@@ -309,42 +415,62 @@ S: Maintained ...@@ -309,42 +415,62 @@ S: Maintained
T: git git://git.denx.de/u-boot-mmc.git T: git git://git.denx.de/u-boot-mmc.git
F: drivers/mmc/ F: drivers/mmc/
OPENRISC NAND FLASH
M: Stefan Kristiansson <stefan.kristiansson@saunalahti.fi> M: Scott Wood <oss@buserror.net>
S: Maintained
T: git git://git.denx.de/u-boot-nand-flash.git
F: drivers/mtd/nand/
NDS32
M: Macpaul Lin <macpaul@andestech.com>
S: Maintained
T: git git://git.denx.de/u-boot-nds32.git
F: arch/nds32/
NETWORK
M: Joe Hershberger <joe.hershberger@ni.com>
S: Maintained
T: git git://git.denx.de/u-boot-net.git
F: drivers/net/
F: net/
NIOS
M: Thomas Chou <thomas@wytron.com.tw>
S: Maintained S: Maintained
F: arch/openrisc/ T: git git://git.denx.de/u-boot-nios.git
F: arch/nios2/
ONENAND
#M: Lukasz Majewski <l.majewski@majess.pl>
S: Orphaned (Since 2017-01)
T: git git://git.denx.de/u-boot-onenand.git
F: drivers/mtd/onenand/
PATMAN PATMAN
M: Simon Glass <sjg@chromium.org> M: Simon Glass <sjg@chromium.org>
S: Maintained S: Maintained
F: tools/patman/ F: tools/patman/
POWERPC POWER
M: Wolfgang Denk <wd@denx.de> M: Jaehoon Chung <jh80.chung@samsung.com>
S: Maintained S: Maintained
F: arch/powerpc/ T: git git://git.denx.de/u-boot-pmic.git
F: drivers/power/
POWERPC MPC5XXX POWERPC
M: Wolfgang Denk <wd@denx.de> M: Wolfgang Denk <wd@denx.de>
S: Maintained S: Maintained
T: git git://git.denx.de/u-boot-mpc5xxx.git F: arch/powerpc/
F: arch/powerpc/cpu/mpc5*/
POWERPC MPC8XX POWERPC MPC8XX
M: Wolfgang Denk <wd@denx.de> M: Christophe Leroy <christophe.leroy@c-s.fr>
S: Maintained S: Maintained
T: git git://git.denx.de/u-boot-mpc8xx.git T: git git://git.denx.de/u-boot-mpc8xx.git
F: arch/powerpc/cpu/mpc8xx/ F: arch/powerpc/cpu/mpc8xx/
POWERPC MPC82XX
M: Wolfgang Denk <wd@denx.de>
S: Maintained
T: git git://git.denx.de/u-boot-mpc82xx.git
F: arch/powerpc/cpu/mpc82*/
POWERPC MPC83XX POWERPC MPC83XX
#M: Kim Phillips <kim.phillips@freescale.com> M: Mario Six <mario.six@gdsys.cc>
S: Orphaned (Since 2016-02) S: Maintained
T: git git://git.denx.de/u-boot-mpc83xx.git T: git git://git.denx.de/u-boot-mpc83xx.git
F: arch/powerpc/cpu/mpc83xx/ F: arch/powerpc/cpu/mpc83xx/
F: arch/powerpc/include/asm/arch-mpc83xx/ F: arch/powerpc/include/asm/arch-mpc83xx/
...@@ -361,42 +487,19 @@ S: Maintained ...@@ -361,42 +487,19 @@ S: Maintained
T: git git://git.denx.de/u-boot-mpc86xx.git T: git git://git.denx.de/u-boot-mpc86xx.git
F: arch/powerpc/cpu/mpc86xx/ F: arch/powerpc/cpu/mpc86xx/
POWERPC PPC4XX RISC-V
M: Stefan Roese <sr@denx.de> M: Rick Chen <rick@andestech.com>
S: Maintained
T: git git://git.denx.de/u-boot-ppc4xx.git
F: arch/powerpc/cpu/ppc4xx/
NETWORK
M: Joe Hershberger <joe.hershberger@ni.com>
S: Maintained
T: git git://git.denx.de/u-boot-net.git
F: drivers/net/
F: net/
NAND FLASH
M: Scott Wood <oss@buserror.net>
S: Maintained
T: git git://git.denx.de/u-boot-nand-flash.git
F: drivers/mtd/nand/
NDS32
M: Macpaul Lin <macpaul@andestech.com>
S: Maintained
T: git git://git.denx.de/u-boot-nds32.git
F: arch/nds32/
NIOS
M: Thomas Chou <thomas@wytron.com.tw>
S: Maintained S: Maintained
T: git git://git.denx.de/u-boot-nios.git T: git git://git.denx.de/u-boot-riscv.git
F: arch/nios2/ F: arch/riscv/
F: tools/prelink-riscv.c
ONENAND ROCKUSB
M: Lukasz Majewski <l.majewski@samsung.com> M: Eddie Cai <eddie.cai.linux@gmail.com>
S: Maintained S: Maintained
T: git git://git.denx.de/u-boot-onenand.git F: drivers/usb/gadget/f_rockusb.c
F: drivers/mtd/onenand/ F: cmd/rockusb.c
F: doc/README.rockusb
SANDBOX SANDBOX
M: Simon Glass <sjg@chromium.org> M: Simon Glass <sjg@chromium.org>
...@@ -409,12 +512,6 @@ S: Maintained ...@@ -409,12 +512,6 @@ S: Maintained
T: git git://git.denx.de/u-boot-sh.git T: git git://git.denx.de/u-boot-sh.git
F: arch/sh/ F: arch/sh/
SPARC
#M: Francois Retief <fgretief@spaceteq.co.za>
S: Orphaned (Since 2016-02)
T: git git://git.denx.de/u-boot-sparc.git
F: arch/sparc/
SPI SPI
M: Jagan Teki <jagan@openedev.com> M: Jagan Teki <jagan@openedev.com>
S: Maintained S: Maintained
...@@ -429,6 +526,22 @@ S: Maintained ...@@ -429,6 +526,22 @@ S: Maintained
F: drivers/spmi/ F: drivers/spmi/
F: include/spmi/ F: include/spmi/
TI SYSTEM SECURITY
M: Andrew F. Davis <afd@ti.com>
S: Supported
F: arch/arm/mach-omap2/omap5/sec_entry_cpu1.S
F: arch/arm/mach-omap2/sec-common.c
F: arch/arm/mach-omap2/config_secure.mk
F: configs/am335x_hs_evm_defconfig
F: configs/am335x_hs_evm_uart_defconfig
F: configs/am43xx_hs_evm_defconfig
F: configs/am57xx_hs_evm_defconfig
F: configs/dra7xx_hs_evm_defconfig
F: configs/k2hk_hs_evm_defconfig
F: configs/k2e_hs_evm_defconfig
F: configs/k2g_hs_evm_defconfig
F: configs/k2l_hs_evm_defconfig
TQ GROUP TQ GROUP
#M: Martin Krause <martin.krause@tq-systems.de> #M: Martin Krause <martin.krause@tq-systems.de>
S: Orphaned (Since 2016-02) S: Orphaned (Since 2016-02)
...@@ -447,14 +560,23 @@ S: Maintained ...@@ -447,14 +560,23 @@ S: Maintained
T: git git://git.denx.de/u-boot-usb.git T: git git://git.denx.de/u-boot-usb.git
F: drivers/usb/ F: drivers/usb/
USB xHCI
M: Bin Meng <bmeng.cn@gmail.com>
S: Maintained
T: git git://git.denx.de/u-boot-usb.git topic-xhci
F: drivers/usb/host/xhci*
VIDEO VIDEO
M: Anatolij Gustschin <agust@denx.de> M: Anatolij Gustschin <agust@denx.de>
S: Maintained S: Maintained
T: git git://git.denx.de/u-boot-video.git T: git git://git.denx.de/u-boot-video.git
F: drivers/video/ F: drivers/video/
F: common/lcd*.c
F: include/lcd*.h
X86 X86
M: Simon Glass <sjg@chromium.org> M: Simon Glass <sjg@chromium.org>
M: Bin Meng <bmeng.cn@gmail.com>
S: Maintained S: Maintained
T: git git://git.denx.de/u-boot-x86.git T: git git://git.denx.de/u-boot-x86.git
F: arch/x86/ F: arch/x86/
......
This diff is collapsed.
This diff is collapsed.
menu "API"
config API
bool "Enable U-Boot API"
default n
help
This option enables the U-Boot API. See api/README for more information.
endmenu
# SPDX-License-Identifier: GPL-2.0+
# #
# (C) Copyright 2007 Semihalf # (C) Copyright 2007 Semihalf
#
# SPDX-License-Identifier: GPL-2.0+
#
obj-y += api.o api_display.o api_net.o api_storage.o obj-y += api.o api_display.o api_net.o api_storage.o
obj-$(CONFIG_ARM) += api_platform-arm.o obj-$(CONFIG_ARM) += api_platform-arm.o
......
// SPDX-License-Identifier: GPL-2.0+
/* /*
* (C) Copyright 2007 Semihalf * (C) Copyright 2007 Semihalf
* *
* Written by: Rafal Jaworowski <raj@semihalf.com> * Written by: Rafal Jaworowski <raj@semihalf.com>
*
* SPDX-License-Identifier: GPL-2.0+
*/ */
#include <config.h> #include <config.h>
...@@ -458,7 +457,7 @@ static int API_env_get(va_list ap) ...@@ -458,7 +457,7 @@ static int API_env_get(va_list ap)
if ((value = (char **)va_arg(ap, uintptr_t)) == NULL) if ((value = (char **)va_arg(ap, uintptr_t)) == NULL)
return API_EINVAL; return API_EINVAL;
*value = getenv(name); *value = env_get(name);
return 0; return 0;
} }
...@@ -481,7 +480,7 @@ static int API_env_set(va_list ap) ...@@ -481,7 +480,7 @@ static int API_env_set(va_list ap)
if ((value = (char *)va_arg(ap, uintptr_t)) == NULL) if ((value = (char *)va_arg(ap, uintptr_t)) == NULL)
return API_EINVAL; return API_EINVAL;
setenv(name, value); env_set(name, value);
return 0; return 0;
} }
...@@ -495,45 +494,47 @@ static int API_env_set(va_list ap) ...@@ -495,45 +494,47 @@ static int API_env_set(va_list ap)
*/ */
static int API_env_enum(va_list ap) static int API_env_enum(va_list ap)
{ {
int i, n; int i, buflen;
char *last, **next; char *last, **next, *s;
ENTRY *match, search;
static char *var;
last = (char *)va_arg(ap, unsigned long); last = (char *)va_arg(ap, unsigned long);
if ((next = (char **)va_arg(ap, uintptr_t)) == NULL) if ((next = (char **)va_arg(ap, uintptr_t)) == NULL)
return API_EINVAL; return API_EINVAL;
if (last == NULL) if (last == NULL) {
/* start over */ var = NULL;
*next = ((char *)env_get_addr(0)); i = 0;
else { } else {
*next = last; var = strdup(last);
s = strchr(var, '=');
for (i = 0; env_get_char(i) != '\0'; i = n + 1) { if (s != NULL)
for (n = i; env_get_char(n) != '\0'; ++n) { *s = 0;
if (n >= CONFIG_ENV_SIZE) { search.key = var;
/* XXX shouldn't we set *next = NULL?? */ i = hsearch_r(search, FIND, &match, &env_htab, 0);
return 0; if (i == 0) {
} i = API_EINVAL;
} goto done;
if (envmatch((uchar *)last, i) < 0)
continue;
/* try to get next name */
i = n + 1;
if (env_get_char(i) == '\0') {
/* no more left */
*next = NULL;
return 0;
}
*next = ((char *)env_get_addr(i));
return 0;
} }
} }
/* match the next entry after i */
i = hmatch_r("", i, &match, &env_htab);
if (i == 0)
goto done;
buflen = strlen(match->key) + strlen(match->data) + 2;
var = realloc(var, buflen);
snprintf(var, buflen, "%s=%s", match->key, match->data);
*next = var;
return 0; return 0;
done:
free(var);
var = NULL;
*next = NULL;
return i;
} }
/* /*
...@@ -623,7 +624,7 @@ int syscall(int call, int *retval, ...) ...@@ -623,7 +624,7 @@ int syscall(int call, int *retval, ...)
void api_init(void) void api_init(void)
{ {
struct api_signature *sig = NULL; struct api_signature *sig;
/* TODO put this into linker set one day... */ /* TODO put this into linker set one day... */
calls_table[API_RSVD] = NULL; calls_table[API_RSVD] = NULL;
...@@ -661,7 +662,7 @@ void api_init(void) ...@@ -661,7 +662,7 @@ void api_init(void)
return; return;
} }
setenv_hex("api_address", (unsigned long)sig); env_set_hex("api_address", (unsigned long)sig);
debugf("API sig @ 0x%lX\n", (unsigned long)sig); debugf("API sig @ 0x%lX\n", (unsigned long)sig);
memcpy(sig->magic, API_SIG_MAGIC, 8); memcpy(sig->magic, API_SIG_MAGIC, 8);
sig->version = API_SIG_VERSION; sig->version = API_SIG_VERSION;
......
// SPDX-License-Identifier: GPL-2.0+
/* /*
* Copyright (c) 2011 The Chromium OS Authors. * Copyright (c) 2011 The Chromium OS Authors.
* SPDX-License-Identifier: GPL-2.0+
*/ */
#include <common.h> #include <common.h>
......
// SPDX-License-Identifier: GPL-2.0+
/* /*
* (C) Copyright 2007 Semihalf * (C) Copyright 2007 Semihalf
* *
* Written by: Rafal Jaworowski <raj@semihalf.com> * Written by: Rafal Jaworowski <raj@semihalf.com>
*
* SPDX-License-Identifier: GPL-2.0+
*/ */
#include <config.h> #include <config.h>
...@@ -12,8 +11,6 @@ ...@@ -12,8 +11,6 @@
#include <linux/types.h> #include <linux/types.h>
#include <api_public.h> #include <api_public.h>
DECLARE_GLOBAL_DATA_PTR;
#define DEBUG #define DEBUG
#undef DEBUG #undef DEBUG
......
// SPDX-License-Identifier: GPL-2.0+
/* /*
* (C) Copyright 2007 Semihalf * (C) Copyright 2007 Semihalf
* *
* Written by: Rafal Jaworowski <raj@semihalf.com> * Written by: Rafal Jaworowski <raj@semihalf.com>
* *
* SPDX-License-Identifier: GPL-2.0+
*
* This file contains routines that fetch data from ARM-dependent sources * This file contains routines that fetch data from ARM-dependent sources
* (bd_info etc.) * (bd_info etc.)
*/ */
......