Philipp Tomsich [Fri, 30 Nov 2018 21:13:25 +0000 (22:13 +0100)]
Kconfig: Migrate BOUNCE_BUFFER
The bounce buffer is used by a few drivers (most of the MMC drivers)
to overcome limitations in their respective DMA implementation.
This moves the configuration to Kconfig and makes it user-selectable
(even though it will be a required feature to make those drivers
work): the expected usage is for drivers depending on this to 'select'
it unconditionally from their respective Kconfig (see follow-up
patches).
This commit includes a full migration using moveconfig.py to ensure
that each commit compiles. To ensure bisectability we update
dependencies of various drivers to now select BOUNCE_BUFFER when needed.
[trini: Squash all patches to ensure bisectability]
Signed-off-by: Tom Rini <trini@konsulko.com>
Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Otavio Salvador <otavio@ossystems.com.br> [dw_mmc portion]
Reviewed-by: Fabio Estevam <festevam@gmail.com> [mxsmmc portion]
Reviewed-by: Simon Glass <sjg@chromium.org> [tegra portion]
Tom Rini [Sat, 19 Jan 2019 14:39:42 +0000 (09:39 -0500)]
configs: Resync with savedefconfig
Rsync all defconfig files using moveconfig.py
Signed-off-by: Tom Rini <trini@konsulko.com>
Tom Rini [Sat, 19 Jan 2019 04:11:51 +0000 (23:11 -0500)]
Merge tag 'fsl-qoriq-for-v2019.04-rc1' of git://git.denx.de/u-boot-fsl-qoriq
Add TFA boot flow for more boards
Add TFA boot defconfig for ls1088a and ls2088a.
Add dts fixup for PCIe endpoint and root complex.
Tom Rini [Fri, 18 Jan 2019 18:40:41 +0000 (13:40 -0500)]
Merge branch '2019-01-18-master-imports'
- Bugfix for SPI environment optimization
- Spelling fixes
- Remove some defconfigs per various maintainers
- Minor db410, bananapi r2 fixes
- Bump QEMU to v3.1.0 for most platforms
Heiko Schocher [Fri, 18 Jan 2019 09:45:56 +0000 (10:45 +0100)]
env: sf: fix environment in SPI NOR
commit
9a9d66f5eff0 ("env: add spi_flash_read_env function")
breaks Environment functionality, as it reads only
until 2 \0 are found, but fills the buffer with 0x0
instead 0xff which leads in an incorrect crc sum.
Fix: init the read buffer with 0xff instead 0x00
Signed-off-by: Heiko Schocher <hs@denx.de>
Felix Brack [Thu, 17 Jan 2019 10:51:09 +0000 (11:51 +0100)]
arm: dts: am335x-pdu001: Sync with Linux 5.0-rc2
This patch synchronizes the PDU001 board DTS file with the one used by
Linux 5.0-rc2.
Signed-off-by: Felix Brack <fb@ltec.ch>
Faiz Abbas [Thu, 17 Jan 2019 10:14:06 +0000 (15:44 +0530)]
configs: Remove am335x_boneblack_defconfig
The am335x_evm_defconfig supports all am335x_boneblack variants. Remove
the redundant am335x_boneblack_defconfig.
Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Felix Brack [Thu, 17 Jan 2019 09:40:42 +0000 (10:40 +0100)]
arm: am335x-pdu001: Remove SPI support
On this board SPI is only used to configure the SoC driving the LC TFT
display which is not used in U-Boot. Hence remove SPI support.
Signed-off-by: Felix Brack <fb@ltec.ch>
Quentin Schulz [Thu, 17 Jan 2019 09:18:47 +0000 (10:18 +0100)]
cmd: mtd: fix compilation warning for help when SYS_LONGHELP=n
cmd/mtd.c:447:13: warning: ‘mtd_help_text’ defined but not used [-Wunused-variable]
static char mtd_help_text[] =
^~~~~~~~~~~~~
When SYS_LONGHELP is not defined. After looking at how other commands
work, we should surround the whole help text (even its declaration) with
an #ifdef CONFIG_SYS_LONGHELP, since it's compiled out when calling
_CMD_HELP[1] on the help text variable argument to U_BOOT_CMD.
[1] https://elixir.bootlin.com/u-boot/latest/source/include/command.h#L181
Signed-off-by: Quentin Schulz <quentin.schulz@bootlin.com>
Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com>
Michal Simek [Wed, 16 Jan 2019 14:18:44 +0000 (15:18 +0100)]
travis: Switch QEMU to 3.1.0 version
Vexpress ca15_tc2 is failing with 3.1.0 because of QEMU issue.
When this patch is applied
https://patchwork.kernel.org/patch/
10754401/
Vexpress can be also turn to newer QEMU version.
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Michal Simek [Wed, 16 Jan 2019 14:18:43 +0000 (15:18 +0100)]
travis: Setup QEMU_VERSION as variable
This change enables setting up specific Qemu version or sha1 for new
targets which are added after (current) v3.0.0 version.
This changes is preparation step for adding new Xilinx Versal Virt
platform which was merge after v3.0.0.
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Tom Rini [Wed, 16 Jan 2019 12:19:26 +0000 (07:19 -0500)]
travis: Break up the NXP Layerscape jobs more
The single job for all Layerscape 10xx platforms is close to, and
sometimes exceeds the time limit for a single job configuration. Break
this down into jobs for LS101x, LS104x and LS108x instead. While in
here, in the name portion of these jobs, refer to them as NXP for ARM
and not Freescale as they've been NXP for quite some time.
Signed-off-by: Tom Rini <trini@konsulko.com>
Vignesh R [Wed, 16 Jan 2019 09:24:36 +0000 (14:54 +0530)]
configs: Remove am43xx_evm_ethboot_defconfig
am43xx_evm_ethboot_defconfig is not being actively used and has not been
moved to DM or DT. Also, ethboot cannot be tested on AM43xx EVM as such
due EVM limitations. Therefore delete it.
Signed-off-by: Vignesh R <vigneshr@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Vignesh R [Wed, 16 Jan 2019 09:08:04 +0000 (14:38 +0530)]
configs: Remove unused am335x_evm defconfigs
These defconfigs don't seem be actively used any more, and have not been
moved to adapt DM or DT. Therefore delete them.
Signed-off-by: Vignesh R <vigneshr@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Vignesh R [Wed, 16 Jan 2019 06:46:11 +0000 (12:16 +0530)]
configs: am335x_evm: Enable DM_SPI and DM_SPI_FLASH
Enable DM_SPI and DM_SPI_FLASH for actively used defconfigs for
am335x_evm.
Signed-off-by: Vignesh R <vigneshr@ti.com>
Frank Wunderlich [Tue, 15 Jan 2019 17:49:06 +0000 (18:49 +0100)]
adding saveenv-command for bananapi r2
bananapi r2 can be booted from sd-card and emmc
saving the environment have to choose the storage
from which the device has booted
also the offset is set to 1MB to make sure env is written
to block "user data area" between uboot and first partition
https://www.fw-web.de/dokuwiki/lib/exe/fetch.php?cache=&media=bpi-r2:boot-structure.png
Signed-off-by: Frank Wunderlich <frank-w@public-files.de>
Patrick Wildt [Tue, 15 Jan 2019 15:34:19 +0000 (16:34 +0100)]
mkimage: fixup CONFIG_FIT_EXTERNAL_OFFSET
The last parameter is expected to be the imagefile. Since -E is a
flag having the output name before -p will make mkimage ignore the
external offset option.
Signed-off-by: Patrick Wildt <patrick@blueri.se>
Chris Packham [Sun, 13 Jan 2019 09:13:28 +0000 (22:13 +1300)]
lib: Kconfig: spelling fixes
Signed-off-by: Chris Packham <judge.packham@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Chris Packham [Sun, 13 Jan 2019 09:13:27 +0000 (22:13 +1300)]
video: Kconfig: spelling fixes
Signed-off-by: Chris Packham <judge.packham@gmail.com>
Reviewed-by: Anatolij Gustschin <agust@denx.de>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Chris Packham [Sun, 13 Jan 2019 09:13:26 +0000 (22:13 +1300)]
pinctrl: Kconfig: spelling fixes
Signed-off-by: Chris Packham <judge.packham@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Chris Packham [Sun, 13 Jan 2019 09:13:25 +0000 (22:13 +1300)]
i2c: Kconfig: spelling fixes
Signed-off-by: Chris Packham <judge.packham@gmail.com>
Chris Packham [Sun, 13 Jan 2019 09:13:24 +0000 (22:13 +1300)]
drivers: Kconfig: spelling fixes
Signed-off-by: Chris Packham <judge.packham@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Chris Packham [Sun, 13 Jan 2019 09:13:23 +0000 (22:13 +1300)]
work_92105: Kconfig: spelling fixes
Signed-off-by: Chris Packham <judge.packham@gmail.com>
Chris Packham [Sun, 13 Jan 2019 09:13:22 +0000 (22:13 +1300)]
x86: Kconfig: spelling fixes
Signed-off-by: Chris Packham <judge.packham@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Chris Packham [Sun, 13 Jan 2019 09:13:21 +0000 (22:13 +1300)]
arm: Kconfig: spelling fixes
Signed-off-by: Chris Packham <judge.packham@gmail.com>
Chris Packham [Sun, 13 Jan 2019 09:13:20 +0000 (22:13 +1300)]
common: spl: Kconfig: spelling fixes
Signed-off-by: Chris Packham <judge.packham@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Chris Packham [Sun, 13 Jan 2019 09:13:19 +0000 (22:13 +1300)]
Kconfig: fix spelling
Signed-off-by: Chris Packham <judge.packham@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Heinrich Schuchardt [Sat, 12 Jan 2019 10:25:25 +0000 (11:25 +0100)]
disk: efi: GUIDs should be const
Make system_guid const.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
Ramon Fried [Sat, 12 Jan 2019 09:48:28 +0000 (11:48 +0200)]
mach-snapdragon: db410: pinctrl: fix pin count
Pin count in APQ8016 was wrong, fix that.
Fixes:
ad97051b7ff6 ("mach-snapdragon: Introduce pinctrl driver")
Signed-off-by: Ramon Fried <ramon.fried@gmail.com>
Ramon Fried [Sat, 12 Jan 2019 09:48:27 +0000 (11:48 +0200)]
dts: db410: fix indentation
Signed-off-by: Ramon Fried <ramon.fried@gmail.com>
Tom Rini [Fri, 18 Jan 2019 00:12:55 +0000 (19:12 -0500)]
Merge tag 'mips-pull-2019-11-16' of git://git.denx.de/u-boot-mips
- MIPS: mscc: various enhancements for Luton and Ocelot platforms
- MIPS: mscc: added support for Jaguar2 platform
- MIPS: optimised SPL linker script
- MIPS: bcm6368: fix restart flow issues
- MIPS: fixed CONFIG_OF_EMBED warnings for all MIPS boards
- MIPS: mt7688: small fixes and enhancements
- mmc: compile-out write support if disabled
Tom Rini [Thu, 17 Jan 2019 22:42:03 +0000 (17:42 -0500)]
Merge branch '2019-01-16-master-imports'
- Fixes for CVE-2018-18440 and CVE-2018-18439
- Patch to allow disabling unneeded NAND ECC layouts
- Optimize SPI flash env read process
York Sun [Wed, 16 Jan 2019 15:49:25 +0000 (15:49 +0000)]
armv8: ls2088ardb: Update MAINTAINERS
Signed-off-by: York Sun <york.sun@nxp.com>
CC: Rajesh Bhagat <rajesh.bhagat@nxp.com>
York Sun [Wed, 16 Jan 2019 15:49:19 +0000 (15:49 +0000)]
armv8: ls1088ardb: Update MAINTAINERS
Signed-off-by: York Sun <york.sun@nxp.com>
CC: Rajesh Bhagat <rajesh.bhagat@nxp.com>
Rajesh Bhagat [Sat, 5 Jan 2019 08:06:14 +0000 (08:06 +0000)]
armv7: dts: ls1021a: Remove aliases property name warning
Remove aliases property name warning while compilation:
Warning (alias_paths): /aliases: aliases property name must
include only lowercase and '-'
Signed-off-by: Rajesh Bhagat <rajesh.bhagat@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
Xiaowei Bao [Fri, 26 Oct 2018 01:56:26 +0000 (09:56 +0800)]
pci: layerscape: Add the dts fixup for EP and RC
Add the dts fixup when PCI controller work diffferent mode.
Signed-off-by: Xiaowei Bao <xiaowei.bao@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
Xiaowei Bao [Fri, 26 Oct 2018 01:56:25 +0000 (09:56 +0800)]
pci: layerscape: Do not scan when PEX work in EP mode
Don't scan the bus when the PEX work in EP mode.
Signed-off-by: Xiaowei Bao <xiaowei.bao@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
Xiaowei Bao [Fri, 26 Oct 2018 01:56:24 +0000 (09:56 +0800)]
pci: layerscape: Modify the EP and RC mode judge method
Modify the RC and EP mode judge method, save the mode as a variable,
the variable will be used by other function.
Signed-off-by: Xiaowei Bao <xiaowei.bao@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
Florinel Iordache [Mon, 10 Dec 2018 09:27:31 +0000 (09:27 +0000)]
ls1046aqds: Bypass xfi port fixup for KR mode
u-boot makes a fixup for LS1046AQDS board to setup the properties
'fixed-link' and 'phy-connection-type' to 'xgmii' but in case of
backplane mode this fixup is not correct because it causes the KR link
to fail and so it must be bypassed in order to keep the link in KR
mode as it is defined in DTS.
Signed-off-by: Florinel Iordache <florinel.iordache@nxp.com>
[YS: Fix compiling warning]
Reviewed-by: York Sun <york.sun@nxp.com>
Laurentiu Tudor [Wed, 12 Dec 2018 11:45:51 +0000 (13:45 +0200)]
armv8: fsl-layerscape: properly configure qdma ICID
The ICIDs for the qdma device are not configured through SCFG but
through some registers found in the actual device register block.
Signed-off-by: Laurentiu Tudor <laurentiu.tudor@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
Yinbo Zhu [Fri, 14 Dec 2018 10:02:53 +0000 (18:02 +0800)]
mmc: fsl_esdhc: make get_cd work well in dm_mmc_ops
This patch is to make get_cd work well when DM_MMC enabled
Signed-off-by: Yinbo Zhu <yinbo.zhu@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
Mian Yousaf Kaukab [Tue, 18 Dec 2018 13:01:17 +0000 (14:01 +0100)]
fsl-layerscape: dpaa: fix fsl-mc status in fdt with bootefi
fsl-mc lazyapply command applies dpl from efi_exit_boot_services().
Status of fsl-mc node in working fdt is updated at this stage.
However, an efi application like grub may already have copied the fdt.
So the updates to fdt done at efi_exit_boot_services() may not be
visible to the OS. Fix it by updating fdt earlier if fsl-mc lazyapply
command is used.
Fixes:
b7b8410a8f (ls2080: Exit dpaa only right before exiting U-Boot)
Signed-off-by: Mian Yousaf Kaukab <ykaukab@suse.de>
Reviewed-by: York Sun <york.sun@nxp.com>
Hou Zhiqiang [Thu, 20 Dec 2018 06:31:21 +0000 (06:31 +0000)]
armv8: ls1043a: correct the PCIe INTx fixup
On LS1043A rev1.0 there are 4 interrupt pins for INTx, and on
rev1.1 there is only 1 for INTx, so the current fixup is inverse
of the fact.
Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
Hou Zhiqiang [Thu, 20 Dec 2018 06:31:17 +0000 (06:31 +0000)]
armv8: ls1043a: add SVR definitions for 23x23 package silicon
LS1043A/LS1023A 23x23 package silicon has different SVR:VAR_PER.
Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
Rajesh Bhagat [Sat, 12 Jan 2019 07:31:01 +0000 (07:31 +0000)]
configs: update TFABOOT defconfigs for SD boot support
update TFABOOT defconfig for SD boot on below NXP chasis2
and chasis3 platforms:
ls1043a, ls1046a, ls1088a and ls2088a.
Signed-off-by: Rajesh Bhagat <rajesh.bhagat@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
Rajesh Bhagat [Sat, 12 Jan 2019 07:30:51 +0000 (07:30 +0000)]
env: fix allow to build multiple environments
Patch fixes build error when enabling CONFIG_ENV_IS_IN_SPI_FLAS
and CONFIG_ENV_IS_IN_MMC at the same time mentioned issue in
below link:
Refer: https://lists.denx.de/pipermail/u-boot/2018-February/319565.html
build error when enabling CONFIG_ENV_IS_IN_SPI_FLASH and
CONFIG_ENV_IS_IN_MMC at the same time.
Signed-off-by: Rajesh Bhagat <rajesh.bhagat@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
Rajesh Bhagat [Thu, 27 Dec 2018 04:38:01 +0000 (04:38 +0000)]
armv8: ls2088aqds: Add TFABOOT support
TFABOOT support includes:
- ls2088aqds_tfa_defconfig to be loaded by trusted firmware
- environment address and size changes for TFABOOT
Signed-off-by: Pankit Garg <pankit.garg@nxp.com>
Signed-off-by: Ruchika Gupta <ruchika.gupta@nxp.com>
Signed-off-by: Rajesh Bhagat <rajesh.bhagat@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
Rajesh Bhagat [Thu, 27 Dec 2018 04:37:59 +0000 (04:37 +0000)]
armv8: ls2088ardb: Add TFABOOT support
TFABOOT support includes:
- ls2088ardb_tfa_defconfig to be loaded by trusted firmware
- environment address and size changes for TFABOOT
- define BOOTCOMMAND for TFABOOT
- remove EL3 specific erratas for TFABOOT
Signed-off-by: Pankit Garg <pankit.garg@nxp.com>
Signed-off-by: Ruchika Gupta <ruchika.gupta@nxp.com>
Signed-off-by: Rajesh Bhagat <rajesh.bhagat@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
Pankit Garg [Thu, 27 Dec 2018 04:37:57 +0000 (04:37 +0000)]
armv8: ls1088aqds: Add TFABOOT support
TFABOOT support includes:
- ls1088aqds_tfa_defconfig to be loaded by trusted firmware
- environment address and size changes for TFABOOT
- MC address changes for TFABOOT
- define BOOTCOMMAND for TFABOOT
- ifc chip select changes for TFABOOT
Signed-off-by: Rajesh Bhagat <rajesh.bhagat@nxp.com>
Signed-off-by: Pankit Garg <pankit.garg@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
Pankit Garg [Thu, 27 Dec 2018 04:37:55 +0000 (04:37 +0000)]
armv8: ls1088ardb: Add TFABOOT support
TFABOOT support includes:
- ls1088ardb_tfa_defconfig to be loaded by trusted firmware
- environment address and size changes for TFABOOT
- MC address changes for TFABOOT
- define BOOTCOMMAND for TFABOOT
- ifc chip select changes for TFABOOT
Signed-off-by: Rajesh Bhagat <rajesh.bhagat@nxp.com>
Signed-off-by: Pankit Garg <pankit.garg@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
Pankit Garg [Thu, 27 Dec 2018 04:37:53 +0000 (04:37 +0000)]
ls1043a: add support for nand-boot cmd for TFA
Signed-off-by: Pankit Garg <pankit.garg@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
Rajesh Bhagat [Thu, 27 Dec 2018 04:37:51 +0000 (04:37 +0000)]
drivers: ifc: restore the legacy flow for IFC config
Restore the legacy flow along with TFABOOT flow for
IFC configuration.
Signed-off-by: Pankit Garg <pankit.garg@nxp.com>
Signed-off-by: Rajesh Bhagat <rajesh.bhagat@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
Rajesh Bhagat [Thu, 27 Dec 2018 04:37:49 +0000 (04:37 +0000)]
armv8: fsl-layerscape: fixes for TFABOOT framework
Fixes for TFABOOT framework
- update eMMC bootsrc to SD_MMC
- Increase buffer size for mcinitcmd from 256 to 512
- Fix mcinitcmd and bootcmd for Secure Boot
Signed-off-by: Pankit Garg <pankit.garg@nxp.com>
Signed-off-by: Rajesh Bhagat <rajesh.bhagat@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
Simon Goldschmidt [Mon, 14 Jan 2019 21:38:23 +0000 (22:38 +0100)]
arm: bootm: fix sp detection at end of address range
This fixes 'arch_lmb_reserve()' for ARM that tries to detect in which
DRAM bank 'sp' is in.
This code failed if a bank was at the end of physical address range
(i.e. size + length overflowed to 0).
To fix this, calculate 'bank_end' as 'size + length - 1' so that such
banks end at 0xffffffff, not 0.
Fixes:
15751403b6 ("ARM: bootm: don't assume sp is in DRAM bank 0")
Reported-by: Frank Wunderlich <frank-w@public-files.de>
Signed-off-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
Reviewed-by: Stephen Warren <swarren@nvidia.com>
Simon Goldschmidt [Mon, 14 Jan 2019 21:38:22 +0000 (22:38 +0100)]
tftp: prevent overwriting reserved memory
This fixes CVE-2018-18439 ("insufficient boundary checks in network
image boot") by using lmb to check for a valid range to store
received blocks.
Signed-off-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
[trini: Always build lib/lmb.o on LMB and lib/fdtdec.o on OF_LIBFDT]
Signed-off-by: Tom Rini <trini@konsulko.com>
Simon Goldschmidt [Mon, 14 Jan 2019 21:38:21 +0000 (22:38 +0100)]
lmb: remove unused extern declaration
lmb.h includes an extern declaration of "struct lmb lmb;" which
is not used anywhere, so remove it.
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
Simon Goldschmidt [Mon, 14 Jan 2019 21:38:20 +0000 (22:38 +0100)]
bootm: use new common function lmb_init_and_reserve
This reduces duplicate code only.
Signed-off-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Simon Goldschmidt [Mon, 14 Jan 2019 21:38:19 +0000 (22:38 +0100)]
fs: prevent overwriting reserved memory
This fixes CVE-2018-18440 ("insufficient boundary checks in filesystem
image load") by using lmb to check the load size of a file against
reserved memory addresses.
Signed-off-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Simon Goldschmidt [Mon, 14 Jan 2019 21:38:18 +0000 (22:38 +0100)]
lib: lmb: extend lmb for checks at load time
This adds two new functions, lmb_alloc_addr and
lmb_get_unreserved_size.
lmb_alloc_addr behaves like lmb_alloc, but it tries to allocate a
pre-specified address range. Unlike lmb_reserve, this address range
must be inside one of the memory ranges that has been set up with
lmb_add.
lmb_get_unreserved_size returns the number of bytes that can be
used up to the next reserved region or the end of valid ram. This
can be 0 if the address passed is reserved.
Added test for these new functions.
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
Simon Goldschmidt [Mon, 14 Jan 2019 21:38:17 +0000 (22:38 +0100)]
fdt: parse "reserved-memory" for memory reservation
boot_fdt_add_mem_rsv_regions() adds reserved memory sections to an lmb
struct. Currently, it only parses regions described by /memreserve/
entries.
Extend this to the more commonly used scheme of the "reserved-memory"
node.
Signed-off-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Simon Goldschmidt [Mon, 14 Jan 2019 21:38:16 +0000 (22:38 +0100)]
lib: lmb: reserving overlapping regions should fail
lmb_add_region handles overlapping regions wrong: instead of merging
or rejecting to add a new reserved region that overlaps an existing
one, it just adds the new region.
Since internally the same function is used for lmb_alloc, change
lmb_add_region to reject overlapping regions.
Also, to keep reserved memory correct after 'free', reserved entries
created by allocating memory must not set their size to a multiple
of alignment but to the original size. This ensures the reserved
region is completely removed when the caller calls 'lmb_free', as
this one takes the same size as passed to 'lmb_alloc' etc.
Add test to assert this.
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
Simon Goldschmidt [Mon, 14 Jan 2019 21:38:15 +0000 (22:38 +0100)]
lmb: fix allocation at end of address range
The lmb code fails if base + size of RAM overflows to zero.
Fix this by calculating end as 'base + size - 1' instead of 'base + size'
where appropriate.
Added tests to assert this is fixed.
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
Simon Goldschmidt [Mon, 14 Jan 2019 21:38:14 +0000 (22:38 +0100)]
test: add test for lib/lmb.c
Add basic tests for the lmb memory allocation code used to reserve and
allocate memory during boot.
Signed-off-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Horatiu Vultur [Tue, 11 Dec 2018 09:13:56 +0000 (10:13 +0100)]
env: add spi_flash_read_env function
The spi_flash_read_env function is a wrapper over spi_flash_read, which
enables the env to read multiple flash page size from flash until '\0\0'
is read or the end of env partition is reached. Instead of reading the
entire env size. When it reads '\0\0', it stops reading further the env
and assumes that the rest of env is '\0'.
This is an optimization for large environments that contain few bytes
environment variables. In this case it doesn't need to read the entire
environment and only few pages.
Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com>
Stefan Agner [Thu, 6 Dec 2018 13:57:09 +0000 (14:57 +0100)]
mtd: nand: raw: allow to disable unneeded ECC layouts
Each ECC layout consumes about 2984 bytes in the .data section. Allow
to disable the default ECC layouts if a driver is known to provide its
own ECC layout.
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Reviewed-by: Lukasz Majewski <lukma@denx.de>
Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com>
Stefan Roese [Tue, 15 Jan 2019 12:54:26 +0000 (13:54 +0100)]
mips: mt7688: gardena-smart-gateway: Enable green power LED on startup
Set the correct power-up state (default-state) of the green power LED.
Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Stefan Roese [Tue, 15 Jan 2019 12:54:25 +0000 (13:54 +0100)]
mips: mt7688: gardena-smart-gateway: Update mtdparts/mtdids for Kernel 4.19
With the new SPI NOR framework in v4.19, we need to adapt the MTD parts
so that the kernel cmdline parameter "mtdparts=" uses the correct naming
for the devices.
Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Daniel Schwierzeck [Sat, 12 Jan 2019 19:52:21 +0000 (20:52 +0100)]
MIPS: bmips: switch to CONFIG_OF_SEPARATE
Fix the Kconfig warning to not use CONFIG_OF_EMBED in defconfigs.
Based on https://patchwork.ozlabs.org/patch/
1019791/
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Daniel Schwierzeck [Sat, 12 Jan 2019 19:52:20 +0000 (20:52 +0100)]
MIPS: xilfpga: switch to CONFIG_OF_SEPARATE
Fix the Kconfig warning to not use CONFIG_OF_EMBED in defconfigs.
Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Daniel Schwierzeck [Sat, 12 Jan 2019 19:52:19 +0000 (20:52 +0100)]
MIPS: pic32mzdask: switch to CONFIG_OF_SEPARATE
Fix the Kconfig warning to not use CONFIG_OF_EMBED in defconfigs.
Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Daniel Schwierzeck [Sat, 12 Jan 2019 19:52:18 +0000 (20:52 +0100)]
MIPS: malta: switch to CONFIG_OF_SEPARATE
Fix the Kconfig warning to not use CONFIG_OF_EMBED in defconfigs.
Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Daniel Schwierzeck [Sat, 12 Jan 2019 19:52:17 +0000 (20:52 +0100)]
MIPS: boston: switch to CONFIG_OF_SEPARATE
Fix the Kconfig warning to not use CONFIG_OF_EMBED in defconfigs.
Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Horatiu Vultur [Sat, 12 Jan 2019 17:57:00 +0000 (18:57 +0100)]
MSCC: Add board support for Jaguar2 SOC family
Add board support and configuration for Jaguar2 SOC family.
The detection of the board type in this family is based on the phy ids.
Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com>
Horatiu Vultur [Sat, 12 Jan 2019 17:56:59 +0000 (18:56 +0100)]
MSCC: add device tree for Serval2 board
Add device tree based on evaluation board pcb112.
Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com>
Horatiu Vultur [Sat, 12 Jan 2019 17:56:58 +0000 (18:56 +0100)]
MSCC: Add device tree for Jaguar2-48 board
Add device tree based on evaluation board pcb111.
Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com>
Horatiu Vultur [Sat, 12 Jan 2019 17:56:57 +0000 (18:56 +0100)]
MSCC: Add device tree for Jaguar2 board
Add device tree based on evaluation board pcb110.
Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com>
Horatiu Vultur [Sat, 12 Jan 2019 17:56:56 +0000 (18:56 +0100)]
MSCC: Add support for Jaguar2 SOC family
As the Ocelot and Luton SoCs, this family of SoCs are found
in Microsemi Switches solution.
Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com>
Horatiu Vultur [Sat, 12 Jan 2019 17:56:55 +0000 (18:56 +0100)]
pinctrl: mscc: Add gpio and pinctrl for Jaguar2 SOC family
The Jaguar2 SOC family has 63 gpio pins therefore I extended mscc-common
to support new numbe of pins and remove any platform dependency from
mscc-common.
Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com>
Lars Povlsen [Tue, 8 Jan 2019 09:38:35 +0000 (10:38 +0100)]
mips: gpio: mscc: Obsoleted gpio-mscc-bitbang-spi.c
With the new mscc_bb_spi.c driver, there is no longer use for the
gpio-mscc-bitbang-spi.c driver.
Signed-off-by: Lars Povlsen <lars.povlsen@microchip.com>
Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Lars Povlsen [Tue, 8 Jan 2019 09:38:34 +0000 (10:38 +0100)]
mips: mscc: DT: Update luton device tree to use fast SPI driver
Thes patch change the luton base device tree to use the newly added
SPI bitbang driver.
It also updates the "mscc_luton_defconfig" to use the new driver.
Signed-off-by: Lars Povlsen <lars.povlsen@microchip.com>
Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Lars Povlsen [Tue, 8 Jan 2019 09:38:33 +0000 (10:38 +0100)]
mips: spi: mscc: Add fast bitbang SPI driver
This patch add a new SPI driver for MSCC SOCs that does not sport the
designware SPI hardware controller.
Performance gain: 7.664 seconds vs. 17.633 for 1 Mbyte write.
Signed-off-by: Lars Povlsen <lars.povlsen@microchip.com>
Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Ezequiel Garcia [Mon, 7 Jan 2019 21:13:25 +0000 (18:13 -0300)]
mmc: jz_mmc: Compile-out write support if disabled
Do not build write support, unless it's enabled.
In the SPL case, this change will typically remove
precious bytes (as write support is most often
not needed in SPL).
This is important on this platform, where the maximum
SPL size is 14 KiB.
With gcc v7.3, this change saves 144 bytes producing:
size spl/u-boot-spl
text data bss dec hex filename
9240 752 712 10704 29d0 spl/u-boot-spl
To make the code easier to compile-out and more
readable, a pair of read_data/write_data helpers are created.
Signed-off-by: Ezequiel Garcia <ezequiel@collabora.com>
Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Ezequiel Garcia [Mon, 7 Jan 2019 21:13:24 +0000 (18:13 -0300)]
mmc: Use proper IS_ENABLED macro to check block support
Use CONFIG_IS_ENABLED(BLK) instead of CONFIG_BLK,
in order to fix the following build issues when
CONFIG_SPL_MMC_WRITE is selected:
drivers/mmc/mmc_write.c:69:7: error: conflicting types for 'mmc_berase'
ulong mmc_berase(struct udevice *dev, lbaint_t start, lbaint_t blkcnt)
^~~~~~~~~~
In file included from drivers/mmc/mmc_write.c:15:0:
drivers/mmc/mmc_private.h:39:7: note: previous declaration of 'mmc_berase' was here
ulong mmc_berase(struct blk_desc *block_dev, lbaint_t start, lbaint_t blkcnt);
^~~~~~~~~~
drivers/mmc/mmc_write.c:187:7: error: conflicting types for 'mmc_bwrite'
ulong mmc_bwrite(struct udevice *dev, lbaint_t start, lbaint_t blkcnt,
^~~~~~~~~~
In file included from drivers/mmc/mmc_write.c:15:0:
drivers/mmc/mmc_private.h:37:7: note: previous declaration of 'mmc_bwrite' was here
ulong mmc_bwrite(struct blk_desc *block_dev, lbaint_t start, lbaint_t blkcnt,
^~~~~~~~~~
Signed-off-by: Ezequiel Garcia <ezequiel@collabora.com>
Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Álvaro Fernández Rojas [Tue, 1 Jan 2019 18:44:46 +0000 (19:44 +0100)]
net: bcm6368: fix restart flow issues
Correctly enable/disable bcm6368-net controller to avoid flow issues.
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Daniel Schwierzeck [Sun, 6 Jan 2019 19:42:44 +0000 (20:42 +0100)]
MIPS: jz47xx: remove custom u-boot-spl.lds
There is no real difference between the generic variant and
the custom variant except that the generic variant is more
optimised. This also saves 24 Bytes in the SPL binary.
Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Tested-by: Ezequiel Garcia <ezequiel@collabora.com>
Daniel Schwierzeck [Sun, 6 Jan 2019 19:42:43 +0000 (20:42 +0100)]
MIPS: optimize and fix ELF sections
Discard ABI related sections which are not required for debugging.
Rearrange debug sections similar to Linux. Remove the remaining
explicitely specified sections in the unused part because those
sections are not created anymore or because the linker puts them
by default at the end of the ELF binary.
Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Tested-by: Ezequiel Garcia <ezequiel@collabora.com>
Lars Povlsen [Wed, 2 Jan 2019 08:52:26 +0000 (09:52 +0100)]
mips: ocelot: Enable use of serial gpio for LED
This enables the use of the MSCC serial GPIO driver to control the
LEDs on the MSCC VCoreIII 'ocelot' pcb123 and pcb120.
Signed-off-by: Lars Povlsen <lars.povlsen@microchip.com>
Lars Povlsen [Wed, 2 Jan 2019 08:52:25 +0000 (09:52 +0100)]
mips: ocelot: DT: Enable use of serial gpio
This enables the use of the MSCC serial GPIO driver on the MSCC
VCoreIII 'ocelot' SOC, and add gpio-leds nodes to the pcb123 and
pcb120 DT.
Signed-off-by: Lars Povlsen <lars.povlsen@microsemi.com>
Lars Povlsen [Wed, 2 Jan 2019 08:52:24 +0000 (09:52 +0100)]
mips: luton: Enable use of serial gpio for LED
This enables the use of the MSCC serial GPIO driver to control the
LEDs on the MSCC VCoreIII 'luton' SoC.
Signed-off-by: Lars Povlsen <lars.povlsen@microchip.com>
Lars Povlsen [Wed, 2 Jan 2019 08:52:23 +0000 (09:52 +0100)]
mips: luton: DT: Enable use of serial gpio
This enables the use of the MSCC serial GPIO driver, and add gpio-leds
nodes to the 'luton' pcb090 and pcb091 DT.
Signed-off-by: Lars Povlsen <lars.povlsen@microsemi.com>
Lars Povlsen [Wed, 2 Jan 2019 08:52:22 +0000 (09:52 +0100)]
mips: mscc_sgpio: Add DT bindings documentation
This add device tree binding documentation for the MSCC serial GPIO
driver.
Signed-off-by: Lars Povlsen <lars.povlsen@microsemi.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Lars Povlsen [Wed, 2 Jan 2019 08:52:21 +0000 (09:52 +0100)]
mips: mscc_sgpio: Add the MSCC serial GPIO device (SIO)
This add support for the the MSCC serial GPIO driver in MSCC
VCoreIII-based SOCs.
By using a serial interface, the SIO controller significantly extends
the number of available GPIOs with a minimum number of additional pins
on the device. The primary purpose of the SIO controller is to connect
control signals from SFP modules and to act as an LED controller.
This adds the base driver.
Signed-off-by: Lars Povlsen <lars.povlsen@microchip.com>
Lars Povlsen [Thu, 20 Dec 2018 08:56:05 +0000 (09:56 +0100)]
mips: mscc: luton+ocelot: Remove board config options, do probing
As we are moving to multi-dtb and board detection, remove static board
config options, and introduce board probing instead.
Luton: This add single-binary support for the two MSCC luton-based
reference boards - pcb090 and pcb091. The SoC chip ID is used to
determine the board type.
Ocelot: This add single-binary support for the two MSCC ocelot-based
reference boards - pcb120 and pcb123. The PHY ids on specific ports
are used to determine the board type.
Signed-off-by: Lars Povlsen <lars.povlsen@microchip.com>
Lars Povlsen [Thu, 20 Dec 2018 08:56:04 +0000 (09:56 +0100)]
mips: luton: DT: Add pcb090
This prepares individual device trees for MSCC luton-based reference
boards - pcb090 and pcb091.
Note: Even though the devices trees are quite common, they will differ
significantly in coming patches.
Signed-off-by: Lars Povlsen <lars.povlsen@microchip.com>
Lars Povlsen [Thu, 20 Dec 2018 08:56:03 +0000 (09:56 +0100)]
mips: mscc: Add generic GPIO control utility function
The GPIO control function can be used for controlling alternate
functions associated with a GPIO.
Signed-off-by: Lars Povlsen <lars.povlsen@microchip.com>
Lars Povlsen [Thu, 20 Dec 2018 08:56:02 +0000 (09:56 +0100)]
mips: mscc: Add generic PHY MIIM utility functions
The PHY MIIM utility functions can/will be used for board detection
purposes.
Signed-off-by: Lars Povlsen <lars.povlsen@microchip.com>
Tom Rini [Wed, 16 Jan 2019 03:05:34 +0000 (22:05 -0500)]
Merge tag 'dm-pull-15jan19' of git://git.denx.de/u-boot-dm
Fix recent changes to serial API for driver model
Buildman clang support and a few fixes
Small fixes to 'dm tree' and regmap test
Improve sandbox build compatibility
A few other minor fixes
Tom Rini [Wed, 16 Jan 2019 03:05:28 +0000 (22:05 -0500)]
Merge branch 'master' of git://git.denx.de/u-boot-i2c
Tom Rini [Wed, 16 Jan 2019 03:05:05 +0000 (22:05 -0500)]
Merge git://git.denx.de/u-boot-riscv
1. Improve cache implementation.
2. Fix and improve standalone applications
Tom Rini [Wed, 16 Jan 2019 01:33:07 +0000 (20:33 -0500)]
Merge branch '2019-01-14-master-imports'
- MediaTek improvements (eth support)
- DM conversion for HI6220
- ISEE, Toby Churchill, other platform updates
- Various format code printf fixes
- Build race fixes
- Command repeat functionality enhanced, command autocomplete support
enhanced.