summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-04-03spl: nand: sunxi: introduce the nand_wait_int() helperMiquel Raynal
The pattern of polling on a status register until a bit is set or a timeout occurs is repeated multiple times in the driver. Mutualize the code by introducing the nand_wait_int() helper that does wait for the bit to flip or returns an error in case of timeout. Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> Acked-by: Boris Brezillon <boris.brezillon@bootlin.com> Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
2018-04-03spl: nand: sunxi: fix typo on register nameMiquel Raynal
Change NFC_SEND_ADR to NFC_SEND_ADDR. Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> Acked-by: Boris Brezillon <boris.brezillon@bootlin.com> Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
2018-04-03spl: nand: sunxi: fix second case of modulo by zero errorMiquel Raynal
In the nand_read_buffer() step, the seed is calculated by doing a modulo by conf->nseeds which is always zero when not using the randomizer (most of SLC NANDs). This situation turns out to lead to a run time freeze with certain toolchains. Derive this seed only when the randomizer is enabled (and conf->nseeds logically not zero), exactly like what has been done before with an identical situation, see commit ea3f750c73e3 ("nand: sunxi: Fix modulo by zero error"). Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> Acked-by: Boris Brezillon <boris.brezillon@bootlin.com> Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
2018-04-03mtd: nand: sunxi: fix ECC strength choiceMiquel Raynal
When the requested ECC strength does not exactly match the strengths supported by the ECC engine, the driver is selecting the closest strength meeting the 'selected_strength > requested_strength' constraint. Fix the fact that, in this particular case, ecc->strength value was not updated to match the 'selected_strength'. For instance, one can encounter this issue when no ECC requirement is filled in the device tree while the NAND chip minimum requirement is not a strength/step_size combo natively supported by the ECC engine. Suggested-by: Boris Brezillon <boris.brezillon@bootlin.com> Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> Acked-by: Boris Brezillon <boris.brezillon@bootlin.com> Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
2018-04-03spl: fix binman_sym output checkMiquel Raynal
A previous commit introduced the use of binman in the SPL. After the binman_sym call over the 'pos' symbol, the output value is checked against BINMAN_SYM_MISSING (-1UL). According to the documentation (tools/binman/README), when it comes to the 'pos' attribute: pos: This sets the position of an entry within the image. The first byte of the image is normally at position 0. If 'pos' is not provided, binman sets it to the end of the previous region, or the start of the image's entry area (normally 0) if there is no previous region. So instead of checking if the return value is BINMAN_SYM_MISSING, we should also check if the value is not null. The failure happens when using both the SPL file and the U-Boot file independently instead of the concatenated file (SPL + padding + U-Boot). This is because the U-Boot binary file alone does not have the U-Boot header while it is present in the concatenation file. Not having the header forces the SPL to discover where it should load U-Boot. The binman_sym call is supposed to do that but fails. Because of the wrong check, the destination address was set to 0 while it should have been somewhere in RAM. This, obviously, stalls the board. Fixes: 8bee2d251afb ("binman: Add binman symbol support to SPL") Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
2018-03-19sunxi: Add DRAM_SUN8I_A83T kconfig entryJagan Teki
Add proper and simple kconfig option for dram_sun8i_a83t.c instead of using MACH type on Makefile. Signed-off-by: Jagan Teki <jagan@amarulasolutions.com> Acked-by: Maxime Ripard <maxime.ripard@bootlin.com>
2018-03-19sunxi: Add DRAM_SUN8I_A33 kconfig entryJagan Teki
Add proper and simple kconfig option for dram_sun8i_a33.c instead of using MACH type on Makefile. Signed-off-by: Jagan Teki <jagan@amarulasolutions.com> Acked-by: Maxime Ripard <maxime.ripard@bootlin.com>
2018-03-19sunxi: Add DRAM_SUN8I_A23 kconfig entryJagan Teki
Add proper and simple kconfig option for dram_sun8i_a23.c instead of using MACH type on Makefile. Signed-off-by: Jagan Teki <jagan@amarulasolutions.com> Acked-by: Maxime Ripard <maxime.ripard@bootlin.com>
2018-03-19sunxi: Add DRAM_SUN9I kconfig entryJagan Teki
Add proper and simple kconfig option for dram_sun9i.c instead of using MACH type on Makefile. Signed-off-by: Jagan Teki <jagan@amarulasolutions.com> Acked-by: Maxime Ripard <maxime.ripard@bootlin.com>
2018-03-19sunxi: Add DRAM_SUN4I kconfig entryJagan Teki
Add proper and simple kconfig option for dram_sun4i.c instead of using MACH type on Makefile. Signed-off-by: Jagan Teki <jagan@amarulasolutions.com> Acked-by: Maxime Ripard <maxime.ripard@bootlin.com>
2018-03-19sunxi: add DRAM_SUN6I kconfigJagan Teki
Add proper and simple kconfig option for dram_sun6i.c instead of using MACH type on Makefile. Signed-off-by: Jagan Teki <jagan@amarulasolutions.com> Acked-by: Maxime Ripard <maxime.ripard@bootlin.com>
2018-03-19sunxi: Add AXP_PMIC_BUS kconfig entryJagan Teki
Add simple and meaningful kconfig option for pmic_bus.c instead of using MACH type on Makefile. Signed-off-by: Jagan Teki <jagan@amarulasolutions.com> Acked-by: Maxime Ripard <maxime.ripard@bootlin.com>
2018-03-19sunxi: Add SUN8I_RSB kconfig entryJagan Teki
Add simple and meaningful kconfig option for rsb.c instead of using MACH type on Makefile. Signed-off-by: Jagan Teki <jagan@amarulasolutions.com> Acked-by: Maxime Ripard <maxime.ripard@bootlin.com>
2018-03-19sunxi: Use SUN6I_PRCM if usedJagan Teki
SUN6I_PRCM is also used for SUN8I and SUN9I, so select the same on respective MACH types. Signed-off-by: Jagan Teki <jagan@amarulasolutions.com> Acked-by: Maxime Ripard <maxime.ripard@bootlin.com>
2018-03-19sunxi: Add SUN6I_P2WI kconfig entryJagan Teki
Add simple and meaningful kconfig option for p2wi.c instead of using MACH type on Makefile. Signed-off-by: Jagan Teki <jagan@amarulasolutions.com> Acked-by: Maxime Ripard <maxime.ripard@bootlin.com>
2018-03-19sunxi: Add SUN6I_PRCM kconfig entryJagan Teki
Add simple and meaningful kconfig option for prcm.c instead of using MACH type on Makefile. PRCM (Power/Reset/Clock Management) is considered as a Multi-Functional Device, so used the same on Kconfig definition. Signed-off-by: Jagan Teki <jagan@amarulasolutions.com> Acked-by: Maxime Ripard <maxime.ripard@bootlin.com>
2018-03-16common: move init_helpers.h prototypes in init.hPatrick Delaunay
Merge init_helpers.h in the new file init.h with only prototypes for init_cache_f_r used in common/board_f.c Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
2018-03-16common: move board_info.c prototypes in init.hPatrick Delaunay
Move function prototype for common/init/board_init.c from common.h to init.h Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
2018-03-16common: move board_r.c prototypes in init.hPatrick Delaunay
Move function prototypes used in common/board_r.c from common.h to init.h Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
2018-03-16common: move board_init.c prototypes in init.hPatrick Delaunay
Move function prototypes for common/init/board_init.c from common.h to init.h Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
2018-03-16common: move board_f.c prototypes in init.hPatrick Delaunay
Move prototypes for function used in common/board_f.c from common.h to init.h Remove weak for arch_reserve_stacks in prototype (checkpatch issue) Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
2018-03-16ppc: Remove orphan xilinx_irq.h fileMichal Simek
This file is completely unused and it should be removed as the part of ppc405/ppc440 xilinx platform removal. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2018-03-16MAINTAINERS: TI SYSTEM SECURITY: remove invalid fileHeinrich Schuchardt
Remove a link to a non-existent file. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Acked-by: Andrew F. Davis <afd@ti.com>
2018-03-16MAINTAINERS: ARM TI: remove invalid pathsHeinrich Schuchardt
Remove non-existing paths. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2018-03-16MAINTAINERS: ARM SAMSUNG: remove invalid pathsHeinrich Schuchardt
Remove non-existing directories. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Acked-by: Minkyu Kang <mk7.kang@samsung.com>
2018-03-16MAINTAINERS: FLATTENED DEVICE TREE: correct maintained pathHeinrich Schuchardt
Change due to commit b08c8c487083 ("libfdt: move headers to <linux/libfdt.h> and <linux/libfdt_env.h>") Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2018-03-16MAINTAINERS: ARM HISILICON: correct maintained pathHeinrich Schuchardt
Fix an incorrect path. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2018-03-16MAINTAINERS: ARM FREESCALE IMX: remove invalid pathHeinrich Schuchardt
arch/arm/cpu/armv7/mx*/ does not relate to any existing directory. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
2018-03-16post: remove reference to power functionsPatrick Delaunay
The 2 functions board_power_mode and board_poweroff are no more existing in U-Boot code (check with grep) This patch updates the documentation and removes the unnecessary prototypes. Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
2018-03-16common: remove unused prototypesPatrick Delaunay
Remove the prototypes for 4 functions no more existing in U-Boot code (checked by grep): - checkflash - checkdram - mdm_init - setup_board_extra Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
2018-03-16common: add a prototype for mach_cpu_init()Patrick Delaunay
Add a new file init.h with the prototype for arch_cpu_init Add a prototype for mach_cpu_init() to avoid a warning: no previous prototype for ‘mach_cpu_init’ It is a first step to move all the functions prototype used during U-Boot initialization (board_f.c / board_r.c) from common.h to init.h Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com> Reviewed-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2018-03-16Convert all of CONFIG_CONS_INDEX to KconfigTom Rini
This converts the following to Kconfig: CONFIG_CONS_INDEX We have existing entries for this option in a number of places, with different guards on them. They're also sometimes used for things not directly inside of the serial driver. First, introduce a new symbol to guard the use of CONFIG_CONS_INDEX, so that in the case where we don't need this for the serial driver, but for some other use, we can still do it. Next, consolidate all of these into the single entry in drivers/serial/Kconfig. Finally, introduce CONS_INDEX_[023456] so that we can imply a correct value here to make the defconfig side of this smaller. Signed-off-by: Adam Ford <aford173@gmail.com> [trini: Rework a lot of the logic here, such that I took authorship from Adam, but kept his S-o-B line] Signed-off-by: Tom Rini <trini@konsulko.com>
2018-03-16dra7xx: Always enable UART1 and UART3 in early_padconfTom Rini
It is safe to always setup the pinmux for UART1 and UART3 to be used in early_padconf and then if these pins are needed later on, they will be re-muxed. This allows us to drop the usage of CONFIG_CONS_INDEX here. Cc: Lokesh Vutla <lokeshvutla@ti.com> Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
2018-03-16dm: MIGRATION: Add migration plan for DM_SPI & DM_SPI_FLASHJagan Teki
Due to adding various new functionalities with SPI and SPI-FLASH subsystems which are rounding in Mailing list for year these long term supporting spi driver which never seen any update with driver-model conversion. So added migration plan for DM_SPI and DM_SPI_FLASH with deadline v2018.09 Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
2018-03-16defconfig: k2l_hs_evm: Add k2l_hs_evm_defconfigMadan Srinivas
Adds a dedicated defconfig to build TI K2L secure devices and updates MAINTAINERS. k2l_hs_evm_defconfig is created from the k2l_evm_defconfig and removes support for SPL, as SPL is not supported on K2 HS devices. Corrects SYS_TEXT_BASE for HS devices. Also adds TI_SECURE_DEVICE and FIT_IMAGE_POST_PROCESS to include support for secure image creation and authentication Signed-off-by: Madan Srinivas <madans@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com> Acked-by: Andrew F. Davis <afd@ti.com>
2018-03-16configs: k2l: Updates u-boot env to install secure boot monitorMadan Srinivas
This patch updates the default u-boot env for K2L HS devices to install the secure boot monitor and load the fitImage during boot. Signed-off-by: Madan Srinivas <madans@ti.com> Acked-by: Andrew F. Davis <afd@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2018-03-16watchdog: omap_wdt: improve watchdog reset pathRuslan Bilovol
Remove busy looping during watchdog reset. Each polling of W_PEND_WTGR bit ("finish posted write") after watchdog reset takes 120-140us on BeagleBone Black board. Current U-Boot code has watchdog resets in random places and often there is situation when watchdog is reset few times in a row in nested functions. This adds extra delays and slows the whole system. Instead of polling W_PEND_WTGR bit, we skip watchdog reset if the bit is set. Anyway, watchdog is in the middle of reset *right now*, so we can just return. This noticeably increases performance of the system. Below are some measurements on BBB: - DFU upload over USB 15% faster - fastboot image upload 3x times faster - USB ep0 transfers with 4k packets 20% faster Signed-off-by: Ruslan Bilovol <ruslan.bilovol@gmail.com> Tested-by: Sam Protsenko <semen.protsenko@linaro.org> Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com> Reviewed-by: Lukasz Majewski <lukma@denx.de> Tested-by: Alex Kiernan <alex.kiernan@gmail.com>
2018-03-16board: am335x: Set serial# variableSam Protsenko
serial# variable is needed to show the device correctly in "fastboot devices" output. It's useful when we have several devices (in fastboot mode) connected to single host and want to choose which one to flash. We can't use omap_die_id_serial() for this, because AM335x lacks DIE_ID, as can be seen from AM335x TRM. Let's do next: - reuse board_serial variable (obtained from EEPROM in set_board_info_env() function) to set serial# - if board_serial is "unknown", reuse ethaddr variable to set serial# Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org> Reviewed-by: Tom Rini <trini@konsulko.com>
2018-03-16clk: at91: clk-system: add set/get_rate operationsWenyou Yang
To support set/get the clock rate, add set/get_rate operations. Signed-off-by: Wenyou Yang <wenyou.yang@microchip.com>
2018-03-16clk: at91: add PLLADIV driverWenyou Yang
As said in the SAMA5D2 datasheet, the PLLA clock must be divided by 2 by writing the PLLADIV2 bit in PMC_MCKR, if the ratio between PCK and MCK is 3 (MDIV = 3). This is the purpose of the driver. Signed-off-by: Wenyou Yang <wenyou.yang@microchip.com>
2018-03-16clk: at91: add USB Host clock driverWenyou Yang
Add USB clock driver to configure the input clock and the divider in the PMC_USB register to generate a 48MHz and a 12MHz signal to the USB Host OHCI. Signed-off-by: Wenyou Yang <wenyou.yang@microchip.com>
2018-03-15Merge git://git.denx.de/u-boot-uniphierTom Rini
2018-03-15ARM: dts: uniphier: sync with Linux 4.16-rc5Masahiro Yamada
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2018-03-15ARM: uniphier: change load addresses for bigger kernel imageMasahiro Yamada
The kernel size is getting bigger and bigger. Because the Android common kernel is even bigger than the vanilla one, so images overlap in the current memory layout. Adjust the load address for a bigger kernel image. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2018-03-15ARM: uniphier: increase the firmware size in update command environmentMasahiro Yamada
If a bigger EL32 is used, fip.bin can be larger than the currently assumed boot firmware size. Adjust the update commands. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2018-03-15Merge git://git.denx.de/u-boot-spiTom Rini
2018-03-14.travis.yml: Add lzopTom Rini
We need lzop now in order to make some FIT images that use LZO compression on the contents. Signed-off-by: Tom Rini <trini@konsulko.com>
2018-03-14omap3_logic: Enable DM_SPIAdam Ford
With the introduction of ("Boards,Need,to,Switch,DM] spi: omap3_spi: Full dm conversion"), Driver Model for McSPI is now available on the omap3. This enables the config by default on omap3_logic boards. Signed-off-by: Adam Ford <aford173@gmail.com> Reviewed-by: Jagan Teki <jagan@openedev.com>
2018-03-14spi: omap3: Fix redeclared errorJagan Teki
omap3_spi_set_speed|mode redeclared bus symbol, fix the same. error: drivers/spi/omap3_spi.c: In function ‘omap3_spi_set_speed’: drivers/spi/omap3_spi.c:650:18: error: ‘bus’ redeclared as different kind of symbol struct udevice *bus = dev->parent; Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
2018-03-14Merge git://git.denx.de/u-boot-sunxiTom Rini