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 (7705)
Showing
with 968 additions and 1018 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-*
...@@ -46,7 +50,6 @@ fit-dtb.blob ...@@ -46,7 +50,6 @@ fit-dtb.blob
# #
# 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/
...@@ -21,27 +21,27 @@ addons: ...@@ -21,27 +21,27 @@ addons:
- python-virtualenv - python-virtualenv
- swig - swig
- libpython-dev - libpython-dev
- gcc-powerpc-linux-gnu
- iasl - iasl
- grub-efi-ia32-bin - grub-efi-ia32-bin
- rpm2cpio - rpm2cpio
- wget - wget
- device-tree-compiler - 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 "aarch64 = /tmp/gcc-linaro-6.3.1-2017.02-x86_64_aarch64-linux-gnu" >> ~/.buildman - echo -e "arc = /tmp/arc_gnu_2017.09_prebuilt_uclibc_le_archs_linux_install" >> ~/.buildman
- echo -e "arm = /tmp/gcc-linaro-6.3.1-2017.02-x86_64_arm-linux-gnueabihf" >> ~/.buildman - echo -e "\n[toolchain-alias]\nsh = sh2\n" >> ~/.buildman
- echo -e "arc = /tmp/arc_gnu_2016.09_prebuilt_uclibc_le_archs_linux_install" >> ~/.buildman
- echo -e "\n[toolchain-alias]\nsh = sh4\nopenrisc = or32" >> ~/.buildman
- cat ~/.buildman - cat ~/.buildman
- virtualenv /tmp/venv - virtualenv /tmp/venv
- . /tmp/venv/bin/activate - . /tmp/venv/bin/activate
...@@ -49,10 +49,12 @@ install: ...@@ -49,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/qemu-install/bin:/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"
...@@ -64,22 +66,30 @@ before_script: ...@@ -64,22 +66,30 @@ before_script:
- 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 fi
- if [[ "${TOOLCHAIN}" == arc ]]; then - if [[ "${TOOLCHAIN}" == arc ]]; then
wget https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/download/arc-2016.09-release/arc_gnu_2016.09_prebuilt_uclibc_le_archs_linux_install.tar.gz && 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_2016.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 fi
- if [[ "${TOOLCHAIN}" == *xtensa* ]]; then ./tools/buildman/buildman --fetch-arch xtensa ; fi
# If TOOLCHAIN is unset, we're on some flavour of ARM. # If TOOLCHAIN is unset, we're on some flavour of ARM.
- if [[ "${TOOLCHAIN}" == "" ]]; then - if [[ "${TOOLCHAIN}" == "" ]]; then
wget http://releases.linaro.org/components/toolchain/binaries/6.3-2017.02/aarch64-linux-gnu/gcc-linaro-6.3.1-2017.02-x86_64_aarch64-linux-gnu.tar.xz && ./tools/buildman/buildman --fetch-arch arm &&
wget http://releases.linaro.org/components/toolchain/binaries/6.3-2017.02/arm-linux-gnueabihf/gcc-linaro-6.3.1-2017.02-x86_64_arm-linux-gnueabihf.tar.xz && ./tools/buildman/buildman --fetch-arch aarch64;
tar -C /tmp -xf gcc-linaro-6.3.1-2017.02-x86_64_aarch64-linux-gnu.tar.xz && fi
tar -C /tmp -xf gcc-linaro-6.3.1-2017.02-x86_64_arm-linux-gnueabihf.tar.xz; - 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 fi
- if [[ "${QEMU_TARGET}" != "" ]]; then - if [[ "${QEMU_TARGET}" != "" ]]; then
git clone git://git.qemu.org/qemu.git /tmp/qemu; git clone git://git.qemu.org/qemu.git /tmp/qemu;
...@@ -97,9 +107,8 @@ script: ...@@ -97,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;
...@@ -112,10 +121,25 @@ script: ...@@ -112,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:
...@@ -126,20 +150,14 @@ matrix: ...@@ -126,20 +150,14 @@ matrix:
- BUILDMAN="arc" - BUILDMAN="arc"
TOOLCHAIN="arc" TOOLCHAIN="arc"
- env: - env:
- BUILDMAN="arm11" - BUILDMAN="arm11 arm7 arm920t arm946es"
- env:
- BUILDMAN="arm7"
- env:
- BUILDMAN="arm920t"
- env: - env:
- JOB="arm926ejs" - JOB="arm926ejs"
BUILDMAN="arm926ejs -x mx,siemens,atmel" BUILDMAN="arm926ejs -x mx,siemens,atmel"
- env:
- BUILDMAN="arm946es"
- env: - env:
- BUILDMAN="atmel" - BUILDMAN="atmel"
- env: - env:
- BUILDMAN="aries" BUILDMAN="boundary engicam toradex"
- env: - env:
- JOB="Freescale ARM32" - JOB="Freescale ARM32"
BUILDMAN="freescale -x powerpc,m68k,aarch64" BUILDMAN="freescale -x powerpc,m68k,aarch64"
...@@ -148,12 +166,14 @@ matrix: ...@@ -148,12 +166,14 @@ matrix:
BUILDMAN="freescale&aarch64" BUILDMAN="freescale&aarch64"
- env: - env:
- JOB="i.MX6 (non-Freescale)" - JOB="i.MX6 (non-Freescale)"
BUILDMAN="mx6 -x freescale" BUILDMAN="mx6 -x freescale,toradex,boundary,engicam"
- env: - env:
- JOB="i.MX (non-Freescale, non-i.MX6)" - JOB="i.MX (non-Freescale, non-i.MX6)"
BUILDMAN="mx -x freescale,mx6" BUILDMAN="mx -x freescale,mx6,toradex"
- env: - env:
- BUILDMAN="samsung" - BUILDMAN="k2"
- env:
- BUILDMAN="samsung socfpga"
- env: - env:
- BUILDMAN="sun4i" - BUILDMAN="sun4i"
- env: - env:
...@@ -170,7 +190,7 @@ matrix: ...@@ -170,7 +190,7 @@ matrix:
- BUILDMAN="sun50i" - BUILDMAN="sun50i"
- env: - env:
- JOB="Catch-all ARM" - JOB="Catch-all ARM"
BUILDMAN="arm -x arm11,arm7,arm9,aarch64,atmel,aries,freescale,kirkwood,mvebu,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"
...@@ -179,7 +199,8 @@ matrix: ...@@ -179,7 +199,8 @@ matrix:
- env: - env:
- BUILDMAN="mvebu" - BUILDMAN="mvebu"
- env: - env:
- BUILDMAN="pxa" - JOB="PXA"
- BUILDMAN="pxa -x toradex"
- env: - env:
- BUILDMAN="m68k" - BUILDMAN="m68k"
TOOLCHAIN="m68k" TOOLCHAIN="m68k"
...@@ -190,48 +211,57 @@ matrix: ...@@ -190,48 +211,57 @@ matrix:
- BUILDMAN="mips" - BUILDMAN="mips"
TOOLCHAIN="mips" TOOLCHAIN="mips"
- env: - env:
- BUILDMAN="mpc83xx" - JOB="Non-Freescale PowerPC"
- env: BUILDMAN="powerpc -x freescale"
- BUILDMAN="mpc85xx -x freescale" 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="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="t208xrdb t4qds t102*" - BUILDMAN="t208xrdb corenet_ds"
TOOLCHAIN="powerpc"
- env: - env:
- BUILDMAN="p1_p2_rdb_pc" - BUILDMAN="t4qds b4860qds mpc83xx&freescale mpc86xx&freescale"
- env: TOOLCHAIN="powerpc"
- BUILDMAN="p1010rdb"
- env: - env:
- BUILDMAN="corenet_ds b4860qds sbc8548 bsc91*" - BUILDMAN="t102*"
TOOLCHAIN="powerpc"
- env: - env:
- BUILDMAN="mpc86xx" - BUILDMAN="p1_p2_rdb_pc"
TOOLCHAIN="powerpc"
- env: - env:
- BUILDMAN="mpc8xx" - BUILDMAN="p1010rdb bsc91"
TOOLCHAIN="powerpc"
- 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,mvebu,uniphier,sunxi,samsung,rockchip" - JOB="Catch-all 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)
...@@ -263,6 +293,16 @@ matrix: ...@@ -263,6 +293,16 @@ 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"
...@@ -279,6 +319,16 @@ matrix: ...@@ -279,6 +319,16 @@ matrix:
TEST_PY_ID="--id qemu" TEST_PY_ID="--id qemu"
QEMU_TARGET="arm-softmmu" 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"
...@@ -308,6 +358,7 @@ matrix: ...@@ -308,6 +358,7 @@ matrix:
TEST_PY_TEST_SPEC="not sleep" TEST_PY_TEST_SPEC="not sleep"
QEMU_TARGET="ppc-softmmu" 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"
...@@ -321,5 +372,12 @@ matrix: ...@@ -321,5 +372,12 @@ matrix:
QEMU_TARGET="arm-softmmu" QEMU_TARGET="arm-softmmu"
TEST_PY_ID="--id qemu" TEST_PY_ID="--id qemu"
BUILDMAN="^zynq_zc702$" 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,29 +59,69 @@ config CC_OPTIMIZE_FOR_SIZE ...@@ -53,29 +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 || TEGRA imply USE_BOOTCOMMAND
default y if ARCH_LS2080A
default y if ARCH_MESON
default y if ARCH_ROCKCHIP
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_PXE 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 CMD_PART
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
...@@ -88,6 +134,7 @@ config SYS_MALLOC_F ...@@ -88,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,
...@@ -95,6 +142,26 @@ config SYS_MALLOC_F_LEN ...@@ -95,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
...@@ -138,10 +205,26 @@ config PHYS_64BIT ...@@ -138,10 +205,26 @@ 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 MD5
...@@ -176,6 +259,7 @@ config FIT_SIGNATURE ...@@ -176,6 +259,7 @@ config FIT_SIGNATURE
bool "Enable signature verification of FIT uImages" bool "Enable signature verification of FIT uImages"
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
...@@ -227,6 +311,12 @@ config SPL_FIT ...@@ -227,6 +311,12 @@ config SPL_FIT
depends on SPL depends on SPL
select SPL_OF_LIBFDT 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 config SPL_FIT_SIGNATURE
bool "Enable signature verification of FIT firmware within SPL" bool "Enable signature verification of FIT firmware within SPL"
depends on SPL_DM depends on SPL_DM
...@@ -244,9 +334,20 @@ config SPL_LOAD_FIT ...@@ -244,9 +334,20 @@ config SPL_LOAD_FIT
particular it can handle selecting from multiple device tree particular it can handle selecting from multiple device tree
and passing the correct one to U-Boot. 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 config SPL_FIT_IMAGE_POST_PROCESS
bool "Enable post-processing of FIT artifacts after loading by the SPL" bool "Enable post-processing of FIT artifacts after loading by the SPL"
depends on SPL_LOAD_FIT && TI_SECURE_DEVICE depends on SPL_LOAD_FIT
help help
Allows doing any sort of manipulation to blobs after they got extracted 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 from the U-Boot FIT image like stripping off headers or modifying the
...@@ -280,6 +381,16 @@ endif # SPL ...@@ -280,6 +381,16 @@ endif # SPL
endif # FIT 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"
depends on OF_LIBFDT depends on OF_LIBFDT
...@@ -323,13 +434,16 @@ config SYS_EXTRA_OPTIONS ...@@ -323,13 +434,16 @@ 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 ARC || X86 || ARCH_UNIPHIER || ARCH_ZYNQMP || \ depends on !NIOS2 && !XTENSA
(M68K && !TARGET_ASTRO_MCF5373L) || MICROBLAZE || MIPS || \
ARCH_ZYNQ || ARCH_KEYSTONE
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 SYS_CLK_FREQ config SYS_CLK_FREQ
...@@ -358,6 +472,8 @@ source "disk/Kconfig" ...@@ -358,6 +472,8 @@ source "disk/Kconfig"
source "dts/Kconfig" source "dts/Kconfig"
source "env/Kconfig"
source "net/Kconfig" source "net/Kconfig"
source "drivers/Kconfig" source "drivers/Kconfig"
...@@ -367,5 +483,3 @@ source "fs/Kconfig" ...@@ -367,5 +483,3 @@ source "fs/Kconfig"
source "lib/Kconfig" source "lib/Kconfig"
source "test/Kconfig" source "test/Kconfig"
source "scripts/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>
...@@ -78,14 +95,17 @@ T: git git://git.denx.de/u-boot-atmel.git ...@@ -78,14 +95,17 @@ 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: Orphaned (Since 2017-07) 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>
...@@ -94,20 +114,19 @@ S: Maintained ...@@ -94,20 +114,19 @@ 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/armv7/mx*/
F: arch/arm/cpu/armv7/vf610/ F: arch/arm/cpu/armv7/vf610/
F: arch/arm/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>
...@@ -117,6 +136,7 @@ S: Maintained ...@@ -117,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>
...@@ -127,6 +147,7 @@ F: arch/arm/include/asm/arch-pxa/ ...@@ -127,6 +147,7 @@ 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/
...@@ -136,24 +157,43 @@ M: Simon Glass <sjg@chromium.org> ...@@ -136,24 +157,43 @@ M: Simon Glass <sjg@chromium.org>
M: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> 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: 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)
...@@ -161,21 +201,23 @@ T: git git://git.denx.de/u-boot-stm.git ...@@ -161,21 +201,23 @@ 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
F: arch/arm/cpu/armv7/stv0991/ F: arch/arm/cpu/armv7/stv0991/
F: arch/arm/include/asm/arch-stv0991/ F: arch/arm/include/asm/arch-stv0991/
ARM STI
M: Patrice Chotard <patrice.chotard@st.com>
S: Maintained
F: arch/arm/mach-sti/
F: arch/arm/include/asm/arch-sti*/
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 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/
...@@ -196,8 +238,6 @@ S: Maintained ...@@ -196,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/
...@@ -212,14 +252,57 @@ N: uniphier ...@@ -212,14 +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
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/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
T: git git://git.denx.de/u-boot-microblaze.git
F: arch/arm/mach-zynqmp-r5/
BUILDMAN BUILDMAN
M: Simon Glass <sjg@chromium.org> M: Simon Glass <sjg@chromium.org>
...@@ -234,7 +317,7 @@ F: drivers/mtd/cfi_flash.c ...@@ -234,7 +317,7 @@ 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
...@@ -259,9 +342,16 @@ EFI PAYLOAD ...@@ -259,9 +342,16 @@ EFI PAYLOAD
M: Alexander Graf <agraf@suse.de> M: Alexander Graf <agraf@suse.de>
S: Maintained S: Maintained
T: git git://github.com/agraf/u-boot.git T: git git://github.com/agraf/u-boot.git
F: include/efi_loader.h F: doc/DocBook/efi.tmpl
F: lib/efi_loader/ 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>
...@@ -270,7 +360,7 @@ T: git git://git.denx.de/u-boot-fdt.git ...@@ -270,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
...@@ -290,11 +380,28 @@ S: Maintained ...@@ -290,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>
...@@ -308,11 +415,48 @@ S: Maintained ...@@ -308,11 +415,48 @@ 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/
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/
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
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/
POWER
M: Jaehoon Chung <jh80.chung@samsung.com>
S: Maintained
T: git git://git.denx.de/u-boot-pmic.git
F: drivers/power/
POWERPC POWERPC
M: Wolfgang Denk <wd@denx.de> M: Wolfgang Denk <wd@denx.de>
S: Maintained S: Maintained
...@@ -324,12 +468,6 @@ S: Maintained ...@@ -324,12 +468,6 @@ 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: Mario Six <mario.six@gdsys.cc> M: Mario Six <mario.six@gdsys.cc>
S: Maintained S: Maintained
...@@ -349,48 +487,19 @@ S: Maintained ...@@ -349,48 +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/
POWER
M: Jaehoon Chung <jh80.chung@samsung.com>
S: Maintained
T: git git://git.denx.de/u-boot-pmic.git
F: drivers/power/
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 S: Maintained
T: git git://git.denx.de/u-boot-nand-flash.git T: git git://git.denx.de/u-boot-riscv.git
F: drivers/mtd/nand/ F: arch/riscv/
F: tools/prelink-riscv.c
NDS32 ROCKUSB
M: Macpaul Lin <macpaul@andestech.com> M: Eddie Cai <eddie.cai.linux@gmail.com>
S: Maintained S: Maintained
T: git git://git.denx.de/u-boot-nds32.git F: drivers/usb/gadget/f_rockusb.c
F: arch/nds32/ F: cmd/rockusb.c
F: doc/README.rockusb
NIOS
M: Thomas Chou <thomas@wytron.com.tw>
S: Maintained
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/
SANDBOX SANDBOX
M: Simon Glass <sjg@chromium.org> M: Simon Glass <sjg@chromium.org>
...@@ -421,16 +530,17 @@ TI SYSTEM SECURITY ...@@ -421,16 +530,17 @@ TI SYSTEM SECURITY
M: Andrew F. Davis <afd@ti.com> M: Andrew F. Davis <afd@ti.com>
S: Supported S: Supported
F: arch/arm/mach-omap2/omap5/sec_entry_cpu1.S F: arch/arm/mach-omap2/omap5/sec_entry_cpu1.S
F: arch/arm/mach-omap2/omap5/sec-fxns.c
F: arch/arm/mach-omap2/sec-common.c F: arch/arm/mach-omap2/sec-common.c
F: arch/arm/mach-omap2/config_secure.mk F: arch/arm/mach-omap2/config_secure.mk
F: configs/am335x_hs_evm_defconfig F: configs/am335x_hs_evm_defconfig
F: configs/am335x_hs_evm_uart_defconfig
F: configs/am43xx_hs_evm_defconfig F: configs/am43xx_hs_evm_defconfig
F: configs/am57xx_hs_evm_defconfig F: configs/am57xx_hs_evm_defconfig
F: configs/dra7xx_hs_evm_defconfig F: configs/dra7xx_hs_evm_defconfig
F: configs/k2hk_hs_evm_defconfig F: configs/k2hk_hs_evm_defconfig
F: configs/k2e_hs_evm_defconfig F: configs/k2e_hs_evm_defconfig
F: configs/k2g_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>
...@@ -450,14 +560,23 @@ S: Maintained ...@@ -450,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/
......
# # SPDX-License-Identifier: GPL-2.0+
# SPDX-License-Identifier: GPL-2.0+
#
VERSION = 2017 VERSION = 2018
PATCHLEVEL = 07 PATCHLEVEL = 07
SUBLEVEL = SUBLEVEL =
EXTRAVERSION = EXTRAVERSION = \ MNT\ Reform\ 2024-07-19
NAME = NAME =
# *DOCUMENTATION* # *DOCUMENTATION*
...@@ -260,6 +258,16 @@ HOSTCFLAGS = -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer \ ...@@ -260,6 +258,16 @@ HOSTCFLAGS = -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer \
$(if $(CONFIG_TOOLS_DEBUG),-g) $(if $(CONFIG_TOOLS_DEBUG),-g)
HOSTCXXFLAGS = -O2 HOSTCXXFLAGS = -O2
# With the move to GCC 6, we have implicitly upgraded our language
# standard to GNU11 (see https://gcc.gnu.org/gcc-5/porting_to.html).
# Some Linux distributions (including RHEL7, SLES13, Debian 8) still
# have older compilers as their default, so we make it explicit for
# these that our host tools are GNU11 (i.e. C11 w/ GNU extensions).
CSTD_FLAG := -std=gnu11
ifeq ($(HOSTOS),linux)
HOSTCFLAGS += $(CSTD_FLAG)
endif
ifeq ($(HOSTOS),cygwin) ifeq ($(HOSTOS),cygwin)
HOSTCFLAGS += -ansi HOSTCFLAGS += -ansi
endif endif
...@@ -346,10 +354,14 @@ LDR = $(CROSS_COMPILE)ldr ...@@ -346,10 +354,14 @@ LDR = $(CROSS_COMPILE)ldr
STRIP = $(CROSS_COMPILE)strip STRIP = $(CROSS_COMPILE)strip
OBJCOPY = $(CROSS_COMPILE)objcopy OBJCOPY = $(CROSS_COMPILE)objcopy
OBJDUMP = $(CROSS_COMPILE)objdump OBJDUMP = $(CROSS_COMPILE)objdump
LEX = flex
YACC = bison
AWK = awk AWK = awk
PERL = perl PERL = perl
PYTHON ?= python PYTHON ?= python
DTC = dtc PYTHON2 = python2
PYTHON3 = python3
DTC ?= $(objtree)/scripts/dtc/dtc
CHECK = sparse CHECK = sparse
CHECKFLAGS := -D__linux__ -Dlinux -D__STDC__ -Dunix -D__unix__ \ CHECKFLAGS := -D__linux__ -Dlinux -D__STDC__ -Dunix -D__unix__ \
...@@ -359,7 +371,8 @@ KBUILD_CPPFLAGS := -D__KERNEL__ -D__UBOOT__ ...@@ -359,7 +371,8 @@ KBUILD_CPPFLAGS := -D__KERNEL__ -D__UBOOT__
KBUILD_CFLAGS := -Wall -Wstrict-prototypes \ KBUILD_CFLAGS := -Wall -Wstrict-prototypes \
-Wno-format-security \ -Wno-format-security \
-fno-builtin -ffreestanding -fno-builtin -ffreestanding $(CSTD_FLAG)
KBUILD_CFLAGS += -fshort-wchar
KBUILD_AFLAGS := -D__ASSEMBLY__ KBUILD_AFLAGS := -D__ASSEMBLY__
# Read UBOOTRELEASE from include/config/uboot.release (if it exists) # Read UBOOTRELEASE from include/config/uboot.release (if it exists)
...@@ -370,7 +383,7 @@ export VERSION PATCHLEVEL SUBLEVEL UBOOTRELEASE UBOOTVERSION ...@@ -370,7 +383,7 @@ export VERSION PATCHLEVEL SUBLEVEL UBOOTRELEASE UBOOTVERSION
export ARCH CPU BOARD VENDOR SOC CPUDIR BOARDDIR export ARCH CPU BOARD VENDOR SOC CPUDIR BOARDDIR
export CONFIG_SHELL HOSTCC HOSTCFLAGS HOSTLDFLAGS CROSS_COMPILE AS LD CC export CONFIG_SHELL HOSTCC HOSTCFLAGS HOSTLDFLAGS CROSS_COMPILE AS LD CC
export CPP AR NM LDR STRIP OBJCOPY OBJDUMP export CPP AR NM LDR STRIP OBJCOPY OBJDUMP
export MAKE AWK PERL PYTHON export MAKE LEX YACC AWK PERL PYTHON PYTHON2 PYTHON3
export HOSTCXX HOSTCXXFLAGS CHECK CHECKFLAGS DTC DTC_FLAGS export HOSTCXX HOSTCXXFLAGS CHECK CHECKFLAGS DTC DTC_FLAGS
export KBUILD_CPPFLAGS NOSTDINC_FLAGS UBOOTINCLUDE OBJCOPYFLAGS LDFLAGS export KBUILD_CPPFLAGS NOSTDINC_FLAGS UBOOTINCLUDE OBJCOPYFLAGS LDFLAGS
...@@ -422,6 +435,7 @@ endif ...@@ -422,6 +435,7 @@ endif
version_h := include/generated/version_autogenerated.h version_h := include/generated/version_autogenerated.h
timestamp_h := include/generated/timestamp_autogenerated.h timestamp_h := include/generated/timestamp_autogenerated.h
defaultenv_h := include/generated/defaultenv_autogenerated.h
no-dot-config-targets := clean clobber mrproper distclean \ no-dot-config-targets := clean clobber mrproper distclean \
help %docs check% coccicheck \ help %docs check% coccicheck \
...@@ -505,7 +519,7 @@ $(KCONFIG_CONFIG) include/config/auto.conf.cmd: ; ...@@ -505,7 +519,7 @@ $(KCONFIG_CONFIG) include/config/auto.conf.cmd: ;
# if auto.conf.cmd is missing then we are probably in a cleaned tree so # if auto.conf.cmd is missing then we are probably in a cleaned tree so
# we execute the config step to be sure to catch updated Kconfig files # we execute the config step to be sure to catch updated Kconfig files
include/config/%.conf: $(KCONFIG_CONFIG) include/config/auto.conf.cmd include/config/%.conf: $(KCONFIG_CONFIG) include/config/auto.conf.cmd
$(Q)$(MAKE) -f $(srctree)/Makefile silentoldconfig $(Q)$(MAKE) -f $(srctree)/Makefile syncconfig
@# If the following part fails, include/config/auto.conf should be @# If the following part fails, include/config/auto.conf should be
@# deleted so "make silentoldconfig" will be re-run on the next build. @# deleted so "make silentoldconfig" will be re-run on the next build.
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.autoconf || \ $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.autoconf || \
...@@ -516,6 +530,9 @@ include/config/%.conf: $(KCONFIG_CONFIG) include/config/auto.conf.cmd ...@@ -516,6 +530,9 @@ include/config/%.conf: $(KCONFIG_CONFIG) include/config/auto.conf.cmd
@# Otherwise, 'make silentoldconfig' would be invoked twice. @# Otherwise, 'make silentoldconfig' would be invoked twice.
$(Q)touch include/config/auto.conf $(Q)touch include/config/auto.conf
u-boot.cfg spl/u-boot.cfg tpl/u-boot.cfg: include/config.h FORCE
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.autoconf $(@)
-include include/autoconf.mk -include include/autoconf.mk
-include include/autoconf.mk.dep -include include/autoconf.mk.dep
...@@ -590,17 +607,35 @@ endif ...@@ -590,17 +607,35 @@ endif
KBUILD_CFLAGS += $(call cc-option,-fno-stack-protector) KBUILD_CFLAGS += $(call cc-option,-fno-stack-protector)
KBUILD_CFLAGS += $(call cc-option,-fno-delete-null-pointer-checks) KBUILD_CFLAGS += $(call cc-option,-fno-delete-null-pointer-checks)
# change __FILE__ and debugging symbols to the relative path from the
# srctree
KBUILD_CFLAGS += $(call cc-option,-ffile-prefix-map=$(srctree)/=)
KBUILD_CFLAGS += -g KBUILD_CFLAGS += -g
# $(KBUILD_AFLAGS) sets -g, which causes gcc to pass a suitable -g<format> # $(KBUILD_AFLAGS) sets -g, which causes gcc to pass a suitable -g<format>
# option to the assembler. # option to the assembler.
KBUILD_AFLAGS += -g KBUILD_AFLAGS += -g
# Use relative paths in debugging symbols
KBUILD_AFLAGS += --debug-prefix-map=$(srctree)/=
# Report stack usage if supported # Report stack usage if supported
# ARC tools based on GCC 7.1 has an issue with stack usage
# with naked functions, see commit message for more details
ifndef CONFIG_ARC
ifeq ($(shell $(CONFIG_SHELL) $(srctree)/scripts/gcc-stack-usage.sh $(CC)),y) ifeq ($(shell $(CONFIG_SHELL) $(srctree)/scripts/gcc-stack-usage.sh $(CC)),y)
KBUILD_CFLAGS += -fstack-usage KBUILD_CFLAGS += -fstack-usage
endif endif
endif
KBUILD_CFLAGS += $(call cc-option,-Wno-format-nonliteral) KBUILD_CFLAGS += $(call cc-option,-Wno-format-nonliteral)
ifeq ($(cc-name),clang)
KBUILD_CPPFLAGS += $(call cc-option,-Qunused-arguments,)
KBUILD_CFLAGS += $(call cc-disable-warning, format-invalid-specifier)
KBUILD_CFLAGS += $(call cc-disable-warning, gnu)
KBUILD_CFLAGS += $(call cc-disable-warning, address-of-packed-member)
KBUILD_CFLAGS += $(call cc-option, -fcatch-undefined-behavior)
endif
# turn jbsr into jsr for m68k # turn jbsr into jsr for m68k
ifeq ($(ARCH),m68k) ifeq ($(ARCH),m68k)
...@@ -687,6 +722,7 @@ libs-y += drivers/usb/phy/ ...@@ -687,6 +722,7 @@ libs-y += drivers/usb/phy/
libs-y += drivers/usb/ulpi/ libs-y += drivers/usb/ulpi/
libs-y += cmd/ libs-y += cmd/
libs-y += common/ libs-y += common/
libs-y += env/
libs-$(CONFIG_API) += api/ libs-$(CONFIG_API) += api/
libs-$(CONFIG_HAS_POST) += post/ libs-$(CONFIG_HAS_POST) += post/
libs-y += test/ libs-y += test/
...@@ -715,6 +751,12 @@ else ...@@ -715,6 +751,12 @@ else
PLATFORM_LIBGCC := -L $(shell dirname `$(CC) $(c_flags) -print-libgcc-file-name`) -lgcc PLATFORM_LIBGCC := -L $(shell dirname `$(CC) $(c_flags) -print-libgcc-file-name`) -lgcc
endif endif
PLATFORM_LIBS += $(PLATFORM_LIBGCC) PLATFORM_LIBS += $(PLATFORM_LIBGCC)
ifdef CONFIG_CC_COVERAGE
KBUILD_CFLAGS += --coverage
PLATFORM_LIBGCC += -lgcov
endif
export PLATFORM_LIBS export PLATFORM_LIBS
export PLATFORM_LIBGCC export PLATFORM_LIBGCC
...@@ -776,8 +818,12 @@ ALL-$(CONFIG_SPL) += spl/u-boot-spl.bin ...@@ -776,8 +818,12 @@ ALL-$(CONFIG_SPL) += spl/u-boot-spl.bin
ifeq ($(CONFIG_MX6)$(CONFIG_SECURE_BOOT), yy) ifeq ($(CONFIG_MX6)$(CONFIG_SECURE_BOOT), yy)
ALL-$(CONFIG_SPL_FRAMEWORK) += u-boot-ivt.img ALL-$(CONFIG_SPL_FRAMEWORK) += u-boot-ivt.img
else else
ifeq ($(CONFIG_MX7)$(CONFIG_SECURE_BOOT), yy)
ALL-$(CONFIG_SPL_FRAMEWORK) += u-boot-ivt.img
else
ALL-$(CONFIG_SPL_FRAMEWORK) += u-boot.img ALL-$(CONFIG_SPL_FRAMEWORK) += u-boot.img
endif endif
endif
ALL-$(CONFIG_TPL) += tpl/u-boot-tpl.bin ALL-$(CONFIG_TPL) += tpl/u-boot-tpl.bin
ALL-$(CONFIG_OF_SEPARATE) += u-boot.dtb ALL-$(CONFIG_OF_SEPARATE) += u-boot.dtb
ifeq ($(CONFIG_SPL_FRAMEWORK),y) ifeq ($(CONFIG_SPL_FRAMEWORK),y)
...@@ -791,10 +837,15 @@ ALL-$(CONFIG_REMAKE_ELF) += u-boot.elf ...@@ -791,10 +837,15 @@ ALL-$(CONFIG_REMAKE_ELF) += u-boot.elf
ALL-$(CONFIG_EFI_APP) += u-boot-app.efi ALL-$(CONFIG_EFI_APP) += u-boot-app.efi
ALL-$(CONFIG_EFI_STUB) += u-boot-payload.efi ALL-$(CONFIG_EFI_STUB) += u-boot-payload.efi
ifneq ($(BUILD_ROM),) ifneq ($(BUILD_ROM)$(CONFIG_BUILD_ROM),)
ALL-$(CONFIG_X86_RESET_VECTOR) += u-boot.rom ALL-$(CONFIG_X86_RESET_VECTOR) += u-boot.rom
endif endif
# Build a combined spl + u-boot image for sunxi
ifeq ($(CONFIG_ARCH_SUNXI)$(CONFIG_SPL),yy)
ALL-y += u-boot-sunxi-with-spl.bin
endif
# enable combined SPL/u-boot/dtb rules for tegra # enable combined SPL/u-boot/dtb rules for tegra
ifeq ($(CONFIG_TEGRA)$(CONFIG_SPL),yy) ifeq ($(CONFIG_TEGRA)$(CONFIG_SPL),yy)
ALL-y += u-boot-tegra.bin u-boot-nodtb-tegra.bin ALL-y += u-boot-tegra.bin u-boot-nodtb-tegra.bin
...@@ -806,12 +857,16 @@ ifneq ($(CONFIG_BUILD_TARGET),) ...@@ -806,12 +857,16 @@ ifneq ($(CONFIG_BUILD_TARGET),)
ALL-y += $(CONFIG_BUILD_TARGET:"%"=%) ALL-y += $(CONFIG_BUILD_TARGET:"%"=%)
endif endif
ifneq ($(CONFIG_SYS_INIT_SP_BSS_OFFSET),)
ALL-y += init_sp_bss_offset_check
endif
LDFLAGS_u-boot += $(LDFLAGS_FINAL) LDFLAGS_u-boot += $(LDFLAGS_FINAL)
# Avoid 'Not enough room for program headers' error on binutils 2.28 onwards. # Avoid 'Not enough room for program headers' error on binutils 2.28 onwards.
LDFLAGS_u-boot += $(call ld-option, --no-dynamic-linker) LDFLAGS_u-boot += $(call ld-option, --no-dynamic-linker)
ifneq ($(CONFIG_SYS_TEXT_BASE),) ifeq ($(CONFIG_ARC)$(CONFIG_NIOS2)$(CONFIG_X86)$(CONFIG_XTENSA),)
LDFLAGS_u-boot += -Ttext $(CONFIG_SYS_TEXT_BASE) LDFLAGS_u-boot += -Ttext $(CONFIG_SYS_TEXT_BASE)
endif endif
...@@ -831,11 +886,11 @@ MKIMAGEOUTPUT ?= /dev/null ...@@ -831,11 +886,11 @@ MKIMAGEOUTPUT ?= /dev/null
quiet_cmd_mkimage = MKIMAGE $@ quiet_cmd_mkimage = MKIMAGE $@
cmd_mkimage = $(objtree)/tools/mkimage $(MKIMAGEFLAGS_$(@F)) -d $< $@ \ cmd_mkimage = $(objtree)/tools/mkimage $(MKIMAGEFLAGS_$(@F)) -d $< $@ \
$(if $(KBUILD_VERBOSE:1=), >$(MKIMAGEOUTPUT)) >$(MKIMAGEOUTPUT) $(if $(KBUILD_VERBOSE:0=), && cat $(MKIMAGEOUTPUT))
quiet_cmd_mkfitimage = MKIMAGE $@ quiet_cmd_mkfitimage = MKIMAGE $@
cmd_mkfitimage = $(objtree)/tools/mkimage $(MKIMAGEFLAGS_$(@F)) -f $(U_BOOT_ITS) -E $@ \ cmd_mkfitimage = $(objtree)/tools/mkimage $(MKIMAGEFLAGS_$(@F)) -f $(U_BOOT_ITS) -E $@ \
$(if $(KBUILD_VERBOSE:1=), >$(MKIMAGEOUTPUT)) >$(MKIMAGEOUTPUT) $(if $(KBUILD_VERBOSE:0=), && cat $(MKIMAGEOUTPUT))
quiet_cmd_cat = CAT $@ quiet_cmd_cat = CAT $@
cmd_cat = cat $(filter-out $(PHONY), $^) > $@ cmd_cat = cat $(filter-out $(PHONY), $^) > $@
...@@ -851,7 +906,7 @@ quiet_cmd_cfgcheck = CFGCHK $2 ...@@ -851,7 +906,7 @@ quiet_cmd_cfgcheck = CFGCHK $2
cmd_cfgcheck = $(srctree)/scripts/check-config.sh $2 \ cmd_cfgcheck = $(srctree)/scripts/check-config.sh $2 \
$(srctree)/scripts/config_whitelist.txt $(srctree) $(srctree)/scripts/config_whitelist.txt $(srctree)
all: $(ALL-y) all: $(ALL-y) cfg
ifeq ($(CONFIG_DM_I2C_COMPAT)$(CONFIG_SANDBOX),y) ifeq ($(CONFIG_DM_I2C_COMPAT)$(CONFIG_SANDBOX),y)
@echo "===================== WARNING ======================" @echo "===================== WARNING ======================"
@echo "This board uses CONFIG_DM_I2C_COMPAT. Please remove" @echo "This board uses CONFIG_DM_I2C_COMPAT. Please remove"
...@@ -867,13 +922,13 @@ endif ...@@ -867,13 +922,13 @@ endif
PHONY += dtbs PHONY += dtbs
dtbs: dts/dt.dtb dtbs: dts/dt.dtb
@: @:
dts/dt.dtb: checkdtc u-boot dts/dt.dtb: u-boot
$(Q)$(MAKE) $(build)=dts dtbs $(Q)$(MAKE) $(build)=dts dtbs
quiet_cmd_copy = COPY $@ quiet_cmd_copy = COPY $@
cmd_copy = cp $< $@ cmd_copy = cp $< $@
ifeq ($(CONFIG_FIT_EMBED),y) ifeq ($(CONFIG_MULTI_DTB_FIT),y)
fit-dtb.blob: dts/dt.dtb FORCE fit-dtb.blob: dts/dt.dtb FORCE
$(call if_changed,mkimage) $(call if_changed,mkimage)
...@@ -899,7 +954,7 @@ u-boot.bin: u-boot-nodtb.bin FORCE ...@@ -899,7 +954,7 @@ u-boot.bin: u-boot-nodtb.bin FORCE
endif endif
%.imx: %.bin %.imx: %.bin
$(Q)$(MAKE) $(build)=arch/arm/imx-common $@ $(Q)$(MAKE) $(build)=arch/arm/mach-imx $@
%.vyb: %.imx %.vyb: %.imx
$(Q)$(MAKE) $(build)=arch/arm/cpu/armv7/vf610 $@ $(Q)$(MAKE) $(build)=arch/arm/cpu/armv7/vf610 $@
...@@ -917,6 +972,16 @@ OBJCOPYFLAGS_u-boot.srec := -O srec ...@@ -917,6 +972,16 @@ OBJCOPYFLAGS_u-boot.srec := -O srec
u-boot.hex u-boot.srec: u-boot FORCE u-boot.hex u-boot.srec: u-boot FORCE
$(call if_changed,objcopy) $(call if_changed,objcopy)
OBJCOPYFLAGS_u-boot-elf.srec := $(OBJCOPYFLAGS_u-boot.srec)
u-boot-elf.srec: u-boot.elf FORCE
$(call if_changed,objcopy)
OBJCOPYFLAGS_u-boot-spl.srec = $(OBJCOPYFLAGS_u-boot.srec)
spl/u-boot-spl.srec: spl/u-boot-spl FORCE
$(call if_changed,objcopy)
OBJCOPYFLAGS_u-boot-nodtb.bin := -O binary \ OBJCOPYFLAGS_u-boot-nodtb.bin := -O binary \
$(if $(CONFIG_X86_16BIT_INIT),-R .start16 -R .resetvec) $(if $(CONFIG_X86_16BIT_INIT),-R .start16 -R .resetvec)
...@@ -934,6 +999,33 @@ binary_size_check: u-boot-nodtb.bin FORCE ...@@ -934,6 +999,33 @@ binary_size_check: u-boot-nodtb.bin FORCE
fi \ fi \
fi fi
ifneq ($(CONFIG_SYS_INIT_SP_BSS_OFFSET),)
ifneq ($(CONFIG_SYS_MALLOC_F_LEN),)
subtract_sys_malloc_f_len = space=$$(($${space} - $(CONFIG_SYS_MALLOC_F_LEN)))
else
subtract_sys_malloc_f_len = true
endif
# The 1/4 margin below is somewhat arbitrary. The likely initial SP usage is
# so low that the DTB could probably use 90%+ of the available space, for
# current values of CONFIG_SYS_INIT_SP_BSS_OFFSET at least. However, let's be
# safe for now and tweak this later if space becomes tight.
# A rejected alternative would be to check that some absolute minimum stack
# space was available. However, since CONFIG_SYS_INIT_SP_BSS_OFFSET is
# deliberately build-specific, to take account of build-to-build stack usage
# differences due to different feature sets, there is no common absolute value
# to check against.
init_sp_bss_offset_check: u-boot.dtb FORCE
@dtb_size=$(shell wc -c u-boot.dtb | awk '{print $$1}') ; \
space=$(CONFIG_SYS_INIT_SP_BSS_OFFSET) ; \
$(subtract_sys_malloc_f_len) ; \
quarter_space=$$(($${space} / 4)) ; \
if [ $${dtb_size} -gt $${quarter_space} ]; then \
echo "u-boot.dtb is larger than 1 quarter of " >&2 ; \
echo "(CONFIG_SYS_INIT_SP_BSS_OFFSET - CONFIG_SYS_MALLOC_F_LEN)" >&2 ; \
exit 1 ; \
fi
endif
u-boot-nodtb.bin: u-boot FORCE u-boot-nodtb.bin: u-boot FORCE
$(call if_changed,objcopy) $(call if_changed,objcopy)
$(call DO_STATIC_RELA,$<,$@,$(CONFIG_SYS_TEXT_BASE)) $(call DO_STATIC_RELA,$<,$@,$(CONFIG_SYS_TEXT_BASE))
...@@ -977,8 +1069,27 @@ U_BOOT_ITS = $(subst ",,$(CONFIG_SPL_FIT_SOURCE)) ...@@ -977,8 +1069,27 @@ U_BOOT_ITS = $(subst ",,$(CONFIG_SPL_FIT_SOURCE))
else else
ifneq ($(CONFIG_SPL_FIT_GENERATOR),"") ifneq ($(CONFIG_SPL_FIT_GENERATOR),"")
U_BOOT_ITS := u-boot.its U_BOOT_ITS := u-boot.its
$(U_BOOT_ITS): FORCE ifeq ($(CONFIG_SPL_FIT_GENERATOR),"arch/arm/mach-imx/mkimage_fit_atf.sh")
$(srctree)/$(CONFIG_SPL_FIT_GENERATOR) \ U_BOOT_ITS_DEPS += u-boot-nodtb.bin
endif
ifdef CONFIG_IMX8MM
SOC_CPU = iMX8MM
TEE_LOAD_ADDR = 0xbe000000
ATF_LOAD_ADDR = 0x00920000
endif
ifdef CONFIG_IMX8MN
SOC_CPU = iMX8MN
TEE_LOAD_ADDR = 0xbe000000
ATF_LOAD_ADDR = 0x00960000
endif
ifdef CONFIG_IMX8MQ
SOC_CPU = iMX8MQ
TEE_LOAD_ADDR = 0xfe000000
ATF_LOAD_ADDR = 0x00910000
endif
$(U_BOOT_ITS): $(U_BOOT_ITS_DEPS) FORCE
TEE_LOAD_ADDR=$(TEE_LOAD_ADDR) ATF_LOAD_ADDR=$(ATF_LOAD_ADDR) BL31=bl31-${SOC_CPU}.bin $(srctree)/$(CONFIG_SPL_FIT_GENERATOR) \
$(patsubst %,arch/$(ARCH)/dts/%.dtb,$(subst ",,$(CONFIG_OF_LIST))) > $@ $(patsubst %,arch/$(ARCH)/dts/%.dtb,$(subst ",,$(CONFIG_OF_LIST))) > $@
endif endif
endif endif
...@@ -1017,6 +1128,7 @@ u-boot-dtb.img u-boot.img u-boot.kwb u-boot.pbl u-boot-ivt.img: \ ...@@ -1017,6 +1128,7 @@ u-boot-dtb.img u-boot.img u-boot.kwb u-boot.pbl u-boot-ivt.img: \
u-boot.itb: u-boot-nodtb.bin dts/dt.dtb $(U_BOOT_ITS) FORCE u-boot.itb: u-boot-nodtb.bin dts/dt.dtb $(U_BOOT_ITS) FORCE
$(call if_changed,mkfitimage) $(call if_changed,mkfitimage)
$(BOARD_SIZE_CHECK)
u-boot-spl.kwb: u-boot.img spl/u-boot-spl.bin FORCE u-boot-spl.kwb: u-boot.img spl/u-boot-spl.bin FORCE
$(call if_changed,mkimage) $(call if_changed,mkimage)
...@@ -1064,10 +1176,15 @@ tpl/u-boot-with-tpl.bin: tpl/u-boot-tpl.bin u-boot.bin FORCE ...@@ -1064,10 +1176,15 @@ tpl/u-boot-with-tpl.bin: tpl/u-boot-tpl.bin u-boot.bin FORCE
$(call if_changed,pad_cat) $(call if_changed,pad_cat)
SPL: spl/u-boot-spl.bin FORCE SPL: spl/u-boot-spl.bin FORCE
$(Q)$(MAKE) $(build)=arch/arm/imx-common $@ $(Q)$(MAKE) $(build)=arch/arm/mach-imx $@
ifeq ($(CONFIG_ARCH_IMX8M), y)
flash.bin: spl/u-boot-spl.bin u-boot.itb FORCE
$(Q)$(MAKE) $(build)=arch/arm/mach-imx $@
endif
u-boot-with-spl.imx u-boot-with-nand-spl.imx: SPL u-boot.bin FORCE u-boot-with-spl.imx u-boot-with-nand-spl.imx: SPL u-boot.bin FORCE
$(Q)$(MAKE) $(build)=arch/arm/imx-common $@ $(Q)$(MAKE) $(build)=arch/arm/mach-imx $@
MKIMAGEFLAGS_u-boot.ubl = -n $(UBL_CONFIG) -T ublimage -e $(CONFIG_SYS_TEXT_BASE) MKIMAGEFLAGS_u-boot.ubl = -n $(UBL_CONFIG) -T ublimage -e $(CONFIG_SYS_TEXT_BASE)
...@@ -1130,7 +1247,7 @@ cmd_ldr = $(LD) $(LDFLAGS_$(@F)) \ ...@@ -1130,7 +1247,7 @@ cmd_ldr = $(LD) $(LDFLAGS_$(@F)) \
u-boot.rom: u-boot-x86-16bit.bin u-boot.bin \ u-boot.rom: u-boot-x86-16bit.bin u-boot.bin \
$(if $(CONFIG_SPL_X86_16BIT_INIT),spl/u-boot-spl.bin) \ $(if $(CONFIG_SPL_X86_16BIT_INIT),spl/u-boot-spl.bin) \
$(if $(CONFIG_HAVE_REFCODE),refcode.bin) checkbinman FORCE $(if $(CONFIG_HAVE_REFCODE),refcode.bin) FORCE
$(call if_changed,binman) $(call if_changed,binman)
OBJCOPYFLAGS_u-boot-x86-16bit.bin := -O binary -j .start16 -j .resetvec OBJCOPYFLAGS_u-boot-x86-16bit.bin := -O binary -j .start16 -j .resetvec
...@@ -1139,12 +1256,21 @@ u-boot-x86-16bit.bin: u-boot FORCE ...@@ -1139,12 +1256,21 @@ u-boot-x86-16bit.bin: u-boot FORCE
endif endif
ifneq ($(CONFIG_ARCH_SUNXI),) ifneq ($(CONFIG_ARCH_SUNXI),)
u-boot-sunxi-with-spl.bin: spl/sunxi-spl.bin u-boot.img u-boot.dtb \ ifeq ($(CONFIG_ARM64),)
checkbinman FORCE u-boot-sunxi-with-spl.bin: spl/sunxi-spl.bin u-boot.img u-boot.dtb FORCE
$(call if_changed,binman) $(call if_changed,binman)
else
u-boot-sunxi-with-spl.bin: spl/sunxi-spl.bin u-boot.itb FORCE
$(call if_changed,cat)
endif
endif endif
ifneq ($(CONFIG_TEGRA),) ifneq ($(CONFIG_TEGRA),)
ifneq ($(CONFIG_BINMAN),)
u-boot-dtb-tegra.bin u-boot-tegra.bin u-boot-nodtb-tegra.bin: \
spl/u-boot-spl u-boot.bin FORCE
$(call if_changed,binman)
else
OBJCOPYFLAGS_u-boot-nodtb-tegra.bin = -O binary --pad-to=$(CONFIG_SYS_TEXT_BASE) OBJCOPYFLAGS_u-boot-nodtb-tegra.bin = -O binary --pad-to=$(CONFIG_SYS_TEXT_BASE)
u-boot-nodtb-tegra.bin: spl/u-boot-spl u-boot-nodtb.bin FORCE u-boot-nodtb-tegra.bin: spl/u-boot-spl u-boot-nodtb.bin FORCE
$(call if_changed,pad_cat) $(call if_changed,pad_cat)
...@@ -1155,6 +1281,7 @@ u-boot-tegra.bin: spl/u-boot-spl u-boot.bin FORCE ...@@ -1155,6 +1281,7 @@ u-boot-tegra.bin: spl/u-boot-spl u-boot.bin FORCE
u-boot-dtb-tegra.bin: u-boot-tegra.bin FORCE u-boot-dtb-tegra.bin: u-boot-tegra.bin FORCE
$(call if_changed,copy) $(call if_changed,copy)
endif # binman
endif endif
OBJCOPYFLAGS_u-boot-app.efi := $(OBJCOPYFLAGS_EFI) OBJCOPYFLAGS_u-boot-app.efi := $(OBJCOPYFLAGS_EFI)
...@@ -1229,13 +1356,16 @@ u-boot.elf: u-boot.bin ...@@ -1229,13 +1356,16 @@ u-boot.elf: u-boot.bin
$(Q)$(OBJCOPY) -I binary $(PLATFORM_ELFFLAGS) $< u-boot-elf.o $(Q)$(OBJCOPY) -I binary $(PLATFORM_ELFFLAGS) $< u-boot-elf.o
$(call if_changed,u-boot-elf) $(call if_changed,u-boot-elf)
ARCH_POSTLINK := $(wildcard $(srctree)/arch/$(ARCH)/Makefile.postlink)
# Rule to link u-boot # Rule to link u-boot
# May be overridden by arch/$(ARCH)/config.mk # May be overridden by arch/$(ARCH)/config.mk
quiet_cmd_u-boot__ ?= LD $@ quiet_cmd_u-boot__ ?= LD $@
cmd_u-boot__ ?= $(LD) $(LDFLAGS) $(LDFLAGS_u-boot) -o $@ \ cmd_u-boot__ ?= $(LD) $(LDFLAGS) $(LDFLAGS_u-boot) -o $@ \
-T u-boot.lds $(u-boot-init) \ -T u-boot.lds $(u-boot-init) \
--start-group $(u-boot-main) --end-group \ --start-group $(u-boot-main) --end-group \
$(PLATFORM_LIBS) -Map u-boot.map $(PLATFORM_LIBS) -Map u-boot.map; \
$(if $(ARCH_POSTLINK), $(MAKE) -f $(ARCH_POSTLINK) $@, true)
quiet_cmd_smap = GEN common/system_map.o quiet_cmd_smap = GEN common/system_map.o
cmd_smap = \ cmd_smap = \
...@@ -1245,12 +1375,16 @@ cmd_smap = \ ...@@ -1245,12 +1375,16 @@ cmd_smap = \
-c $(srctree)/common/system_map.c -o common/system_map.o -c $(srctree)/common/system_map.c -o common/system_map.o
u-boot: $(u-boot-init) $(u-boot-main) u-boot.lds FORCE u-boot: $(u-boot-init) $(u-boot-main) u-boot.lds FORCE
$(call if_changed,u-boot__) +$(call if_changed,u-boot__)
ifeq ($(CONFIG_KALLSYMS),y) ifeq ($(CONFIG_KALLSYMS),y)
$(call cmd,smap) $(call cmd,smap)
$(call cmd,u-boot__) common/system_map.o $(call cmd,u-boot__) common/system_map.o
endif endif
ifeq ($(CONFIG_RISCV),y)
@tools/prelink-riscv $@ 0
endif
quiet_cmd_sym ?= SYM $@ quiet_cmd_sym ?= SYM $@
cmd_sym ?= $(OBJDUMP) -t $< > $@ cmd_sym ?= $(OBJDUMP) -t $< > $@
u-boot.sym: u-boot FORCE u-boot.sym: u-boot FORCE
...@@ -1318,6 +1452,10 @@ ifeq ($(wildcard $(LDSCRIPT)),) ...@@ -1318,6 +1452,10 @@ ifeq ($(wildcard $(LDSCRIPT)),)
@/bin/false @/bin/false
endif endif
ifeq ($(CONFIG_USE_DEFAULT_ENV_FILE),y)
prepare1: $(defaultenv_h)
endif
archprepare: prepare1 scripts_basic archprepare: prepare1 scripts_basic
prepare0: archprepare FORCE prepare0: archprepare FORCE
...@@ -1352,6 +1490,7 @@ define filechk_timestamp.h ...@@ -1352,6 +1490,7 @@ define filechk_timestamp.h
LC_ALL=C $${DATE} -u -d "$${SOURCE_DATE}" +'#define U_BOOT_TIME "%T"'; \ LC_ALL=C $${DATE} -u -d "$${SOURCE_DATE}" +'#define U_BOOT_TIME "%T"'; \
LC_ALL=C $${DATE} -u -d "$${SOURCE_DATE}" +'#define U_BOOT_TZ "%z"'; \ LC_ALL=C $${DATE} -u -d "$${SOURCE_DATE}" +'#define U_BOOT_TZ "%z"'; \
LC_ALL=C $${DATE} -u -d "$${SOURCE_DATE}" +'#define U_BOOT_DMI_DATE "%m/%d/%Y"'; \ LC_ALL=C $${DATE} -u -d "$${SOURCE_DATE}" +'#define U_BOOT_DMI_DATE "%m/%d/%Y"'; \
LC_ALL=C $${DATE} -u -d "$${SOURCE_DATE}" +'#define U_BOOT_BUILD_DATE 0x%Y%m%d'; \
else \ else \
return 42; \ return 42; \
fi; \ fi; \
...@@ -1360,26 +1499,26 @@ define filechk_timestamp.h ...@@ -1360,26 +1499,26 @@ define filechk_timestamp.h
LC_ALL=C date +'#define U_BOOT_TIME "%T"'; \ LC_ALL=C date +'#define U_BOOT_TIME "%T"'; \
LC_ALL=C date +'#define U_BOOT_TZ "%z"'; \ LC_ALL=C date +'#define U_BOOT_TZ "%z"'; \
LC_ALL=C date +'#define U_BOOT_DMI_DATE "%m/%d/%Y"'; \ LC_ALL=C date +'#define U_BOOT_DMI_DATE "%m/%d/%Y"'; \
LC_ALL=C date +'#define U_BOOT_BUILD_DATE 0x%Y%m%d'; \
fi) fi)
endef endef
define filechk_defaultenv.h
(grep -v '^#' | \
grep -v '^$$' | \
tr '\n' '\0' | \
sed -e 's/\\\x0/\n/' | \
xxd -i ; echo ", 0x00" ; )
endef
$(version_h): include/config/uboot.release FORCE $(version_h): include/config/uboot.release FORCE
$(call filechk,version.h) $(call filechk,version.h)
$(timestamp_h): $(srctree)/Makefile FORCE $(timestamp_h): $(srctree)/Makefile FORCE
$(call filechk,timestamp.h) $(call filechk,timestamp.h)
checkbinman: tools $(defaultenv_h): $(CONFIG_DEFAULT_ENV_FILE:"%"=%) FORCE
@if ! ( echo 'import libfdt' | ( PYTHONPATH=tools python )); then \ $(call filechk,defaultenv.h)
echo >&2; \
echo >&2 '*** binman needs the Python libfdt library.'; \
echo >&2 '*** Either install it on your system, or try:'; \
echo >&2 '***'; \
echo >&2 '*** sudo apt-get install swig libpython-dev'; \
echo >&2 '***'; \
echo >&2 '*** to have U-Boot build its own version.'; \
false; \
fi
# --------------------------------------------------------------------------- # ---------------------------------------------------------------------------
quiet_cmd_cpp_lds = LDS $@ quiet_cmd_cpp_lds = LDS $@
...@@ -1392,7 +1531,8 @@ u-boot.lds: $(LDSCRIPT) prepare FORCE ...@@ -1392,7 +1531,8 @@ u-boot.lds: $(LDSCRIPT) prepare FORCE
spl/u-boot-spl.bin: spl/u-boot-spl spl/u-boot-spl.bin: spl/u-boot-spl
@: @:
spl/u-boot-spl: tools prepare \ spl/u-boot-spl: tools prepare \
$(if $(CONFIG_OF_SEPARATE)$(CONFIG_SPL_OF_PLATDATA),dts/dt.dtb) $(if $(CONFIG_OF_SEPARATE)$(CONFIG_OF_EMBED)$(CONFIG_SPL_OF_PLATDATA),dts/dt.dtb) \
$(if $(CONFIG_OF_SEPARATE)$(CONFIG_OF_EMBED)$(CONFIG_TPL_OF_PLATDATA),dts/dt.dtb)
$(Q)$(MAKE) obj=spl -f $(srctree)/scripts/Makefile.spl all $(Q)$(MAKE) obj=spl -f $(srctree)/scripts/Makefile.spl all
spl/sunxi-spl.bin: spl/u-boot-spl spl/sunxi-spl.bin: spl/u-boot-spl
...@@ -1408,7 +1548,7 @@ spl/boot.bin: spl/u-boot-spl ...@@ -1408,7 +1548,7 @@ spl/boot.bin: spl/u-boot-spl
@: @:
tpl/u-boot-tpl.bin: tools prepare \ tpl/u-boot-tpl.bin: tools prepare \
$(if $(CONFIG_OF_SEPARATE)$(CONFIG_SPL_OF_PLATDATA),dts/dt.dtb) $(if $(CONFIG_OF_SEPARATE)$(CONFIG_OF_EMBED)$(CONFIG_SPL_OF_PLATDATA),dts/dt.dtb)
$(Q)$(MAKE) obj=tpl -f $(srctree)/scripts/Makefile.spl all $(Q)$(MAKE) obj=tpl -f $(srctree)/scripts/Makefile.spl all
TAG_SUBDIRS := $(patsubst %,$(srctree)/%,$(u-boot-dirs) include) TAG_SUBDIRS := $(patsubst %,$(srctree)/%,$(u-boot-dirs) include)
...@@ -1436,12 +1576,6 @@ SYSTEM_MAP = \ ...@@ -1436,12 +1576,6 @@ SYSTEM_MAP = \
System.map: u-boot System.map: u-boot
@$(call SYSTEM_MAP,$<) > $@ @$(call SYSTEM_MAP,$<) > $@
checkdtc:
@if test $(call dtc-version) -lt 0104; then \
echo '*** Your dtc is too old, please upgrade to dtc 1.4 or newer'; \
false; \
fi
######################################################################### #########################################################################
# ARM relocations should all be R_ARM_RELATIVE (32-bit) or # ARM relocations should all be R_ARM_RELATIVE (32-bit) or
...@@ -1455,14 +1589,14 @@ checkarmreloc: u-boot ...@@ -1455,14 +1589,14 @@ checkarmreloc: u-boot
false; \ false; \
fi fi
env: scripts_basic envtools: scripts_basic $(version_h) $(timestamp_h)
$(Q)$(MAKE) $(build)=tools/$@ $(Q)$(MAKE) $(build)=tools/env
tools-only: scripts_basic $(version_h) $(timestamp_h) tools-only: scripts_basic $(version_h) $(timestamp_h)
$(Q)$(MAKE) $(build)=tools $(Q)$(MAKE) $(build)=tools
tools-all: export HOST_TOOLS_ALL=y tools-all: export HOST_TOOLS_ALL=y
tools-all: env tools ; tools-all: envtools tools ;
cross_tools: export CROSS_BUILD_TOOLS=y cross_tools: export CROSS_BUILD_TOOLS=y
cross_tools: tools ; cross_tools: tools ;
...@@ -1516,10 +1650,12 @@ clean: $(clean-dirs) ...@@ -1516,10 +1650,12 @@ clean: $(clean-dirs)
\( -name '*.[oas]' -o -name '*.ko' -o -name '.*.cmd' \ \( -name '*.[oas]' -o -name '*.ko' -o -name '.*.cmd' \
-o -name '*.ko.*' -o -name '*.su' -o -name '*.cfgtmp' \ -o -name '*.ko.*' -o -name '*.su' -o -name '*.cfgtmp' \
-o -name '.*.d' -o -name '.*.tmp' -o -name '*.mod.c' \ -o -name '.*.d' -o -name '.*.tmp' -o -name '*.mod.c' \
-o -name '*.lex.c' -o -name '*.tab.[ch]' \
-o -name '*.symtypes' -o -name 'modules.order' \ -o -name '*.symtypes' -o -name 'modules.order' \
-o -name modules.builtin -o -name '.tmp_*.o.*' \ -o -name modules.builtin -o -name '.tmp_*.o.*' \
-o -name 'dsdt.aml' -o -name 'dsdt.asl.tmp' -o -name 'dsdt.c' \ -o -name 'dsdt.aml' -o -name 'dsdt.asl.tmp' -o -name 'dsdt.c' \
-o -name '*.gcno' \) -type f -print | xargs rm -f -o -name '*.efi' -o -name '*.gcno' -o -name '*.so' \) \
-type f -print | xargs rm -f
# mrproper - Delete all generated files, including .config # mrproper - Delete all generated files, including .config
# #
...@@ -1576,9 +1712,11 @@ help: ...@@ -1576,9 +1712,11 @@ help:
@echo ' ubootrelease - Output the release version string (use with make -s)' @echo ' ubootrelease - Output the release version string (use with make -s)'
@echo ' ubootversion - Output the version stored in Makefile (use with make -s)' @echo ' ubootversion - Output the version stored in Makefile (use with make -s)'
@echo " cfg - Don't build, just create the .cfg files" @echo " cfg - Don't build, just create the .cfg files"
@echo " envtools - Build only the target-side environment tools"
@echo '' @echo ''
@echo 'Static analysers' @echo 'Static analysers'
@echo ' checkstack - Generate a list of stack hogs' @echo ' checkstack - Generate a list of stack hogs'
@echo ' coccicheck - Execute static code analysis with Coccinelle'
@echo '' @echo ''
@echo 'Documentation targets:' @echo 'Documentation targets:'
@$(MAKE) -f $(srctree)/doc/DocBook/Makefile dochelp @$(MAKE) -f $(srctree)/doc/DocBook/Makefile dochelp
...@@ -1671,6 +1809,14 @@ endif ...@@ -1671,6 +1809,14 @@ endif
$(build)=$(build-dir) $(@:.ko=.o) $(build)=$(build-dir) $(@:.ko=.o)
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost
# Consistency checks
# ---------------------------------------------------------------------------
PHONY += coccicheck
coccicheck:
$(Q)$(CONFIG_SHELL) $(srctree)/scripts/$@
# FIXME Should go into a make.lib or something # FIXME Should go into a make.lib or something
# =========================================================================== # ===========================================================================
......
This diff is collapsed.
# 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;
} }
...@@ -625,7 +624,7 @@ int syscall(int call, int *retval, ...) ...@@ -625,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;
...@@ -663,7 +662,7 @@ void api_init(void) ...@@ -663,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.)
*/ */
......
// SPDX-License-Identifier: GPL-2.0+
/* /*
* (C) Copyright 2007 Stanislav Galabov <sgalabov@gmail.com> * (C) Copyright 2007 Stanislav Galabov <sgalabov@gmail.com>
* *
* SPDX-License-Identifier: GPL-2.0+
*
* This file contains routines that fetch data from bd_info sources * This file contains routines that fetch data from bd_info sources
*/ */
......