oweals/u-boot.git
4 years agocommon: Collect all the header files together
Simon Glass [Sat, 28 Dec 2019 17:45:11 +0000 (10:45 -0700)]
common: Collect all the header files together

There are many header files included here. Put them all together since the
blank lines are not useful.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 years agocommon: Move and rename CONFIG_SYS_SUPPORT_64BIT_DATA
Simon Glass [Sat, 28 Dec 2019 17:45:10 +0000 (10:45 -0700)]
common: Move and rename CONFIG_SYS_SUPPORT_64BIT_DATA

This is not really a CONFIG since it is not intended to be set by boards.
Move it into the compiler header with other similar defines, and rename
it.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 years agocommon: Move ROUND() into kernel.h
Simon Glass [Sat, 28 Dec 2019 17:45:09 +0000 (10:45 -0700)]
common: Move ROUND() into kernel.h

Move this macro in with all the other rounding macros.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 years agocommon: Move check_member() to kernel.h
Simon Glass [Sat, 28 Dec 2019 17:45:08 +0000 (10:45 -0700)]
common: Move check_member() to kernel.h

The kernel.h file has a number of useful macros including a few related
to structures. Move check_member() there too.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 years agocommon: Move hang() to the same header as panic()
Simon Glass [Sat, 28 Dec 2019 17:45:07 +0000 (10:45 -0700)]
common: Move hang() to the same header as panic()

At present panic() is in the vsprintf.h header file. That does not seem
like an obvious choice for hang(), even though it relates to panic(). So
let's put hang() in its own header.

Signed-off-by: Simon Glass <sjg@chromium.org>
[trini: Migrate a few more files]
Signed-off-by: Tom Rini <trini@konsulko.com>
4 years agocommon: Move testdram() into init.h
Simon Glass [Sat, 28 Dec 2019 17:45:06 +0000 (10:45 -0700)]
common: Move testdram() into init.h

This function is called during init so move it to the init header file.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 years agocommon: Move RAM-sizing functions to init.h
Simon Glass [Sat, 28 Dec 2019 17:45:05 +0000 (10:45 -0700)]
common: Move RAM-sizing functions to init.h

These functions relate to memory init so move them into the init
header.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 years agocommon: Rename and move source()
Simon Glass [Sat, 28 Dec 2019 17:45:04 +0000 (10:45 -0700)]
common: Rename and move source()

This function has a very generic name which does not adequately describe
its purpose. Rename it and move it to image.h, since it relates to reading
a script from an image.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 years agocommon: Move the image globals into image.h
Simon Glass [Sat, 28 Dec 2019 17:45:03 +0000 (10:45 -0700)]
common: Move the image globals into image.h

These three globals relate to image handling. Move them to the image
header file.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 years agoimage: Rename load_addr, save_addr, save_size
Simon Glass [Sat, 28 Dec 2019 17:45:02 +0000 (10:45 -0700)]
image: Rename load_addr, save_addr, save_size

These global variables are quite short and generic. In fact the same name
is more often used locally for struct members and function arguments.

Add a image_ prefix to make them easier to distinguish.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 years agocommon: Move reset_cpu() to the CPU header
Simon Glass [Sat, 28 Dec 2019 17:45:01 +0000 (10:45 -0700)]
common: Move reset_cpu() to the CPU header

Move this function out of common.h and into a relevant header file.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 years agocommon: Move reset_misc() function to arch header
Simon Glass [Sat, 28 Dec 2019 17:45:00 +0000 (10:45 -0700)]
common: Move reset_misc() function to arch header

This function is only used on ARM devices. Move it out of the common file
and to a arch-specific header.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 years agocommon: Move get_tbclk() to time.h
Simon Glass [Sat, 28 Dec 2019 17:44:59 +0000 (10:44 -0700)]
common: Move get_tbclk() to time.h

This function related to timer and most of the timer functions are in
time.h, so move this function there.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 years agocommon: Move clock functions into a new file
Simon Glass [Sat, 28 Dec 2019 17:44:58 +0000 (10:44 -0700)]
common: Move clock functions into a new file

These three clock functions don't use driver model and should be migrated.
In the meantime, create a new file to hold them.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 years agocommon: Move upmconfig() to ppc.h
Simon Glass [Sat, 28 Dec 2019 17:44:57 +0000 (10:44 -0700)]
common: Move upmconfig() to ppc.h

This file is only used by PowerPC so move it to an arch-specific header
file.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 years agocommon: Move ll_boot_init() to init.h
Simon Glass [Sat, 28 Dec 2019 17:44:56 +0000 (10:44 -0700)]
common: Move ll_boot_init() to init.h

This is an init-related function so belongs in that file. Move it.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 years agocommon: arm: Move s_init() to an ARM-specific header
Simon Glass [Sat, 28 Dec 2019 17:44:55 +0000 (10:44 -0700)]
common: arm: Move s_init() to an ARM-specific header

This function is only used on ARM devices so does not belong in the global
common header file. Move it to an ARM header.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 years agocommon: Move device-tree setup functions to fdt_support.h
Simon Glass [Sat, 28 Dec 2019 17:44:54 +0000 (10:44 -0700)]
common: Move device-tree setup functions to fdt_support.h

These functions relate to setting up the device tree for booting the OS.
The fdt_support.h header file supports similar functions, so move these
there.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 years agocommon: Move type declarations to linux/types.h
Simon Glass [Sat, 28 Dec 2019 17:44:53 +0000 (10:44 -0700)]
common: Move type declarations to linux/types.h

This file already has lots of type declarations so it seems better to put
all of them there.

Move them.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 years agocommon: Drop the symbol_lookup() declaration
Simon Glass [Sat, 28 Dec 2019 17:44:52 +0000 (10:44 -0700)]
common: Drop the symbol_lookup() declaration

This function is not called anywhere so we can drop the declaration. If
it is needed one day, it should be added in its own header file.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 years agocommon: Drop CONFIG_HAS_POST
Simon Glass [Sat, 28 Dec 2019 17:44:51 +0000 (10:44 -0700)]
common: Drop CONFIG_HAS_POST

This only exists to control whether the post/ directory is build. It is
just as easy to check this in the Makefile. Remove CONFIG_HAS_POST and use
an ifdef in the Makefile instead.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 years agocommon: Drop CONFIG_POST_STD/ALT_LIST
Simon Glass [Sat, 28 Dec 2019 17:44:50 +0000 (10:44 -0700)]
common: Drop CONFIG_POST_STD/ALT_LIST

These CONFIG options are not used anymore. CONFIG_POST_ALT_LIST just
causes CONFIG_POST_STD_LIST to be set and it causes tests.c to be
compiled. So just make compiling tests.c unconditional.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 years agocommon: Move CONFIG_SYS_DEF_EEPROM_ADDR out of common.h
Simon Glass [Sat, 28 Dec 2019 17:44:49 +0000 (10:44 -0700)]
common: Move CONFIG_SYS_DEF_EEPROM_ADDR out of common.h

This define seems better suited to the eeprom header file, particularly
as it is only used in the eeprom.c file.

Move it.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 years agocommon: Move reset_phy() to net.h
Simon Glass [Sat, 28 Dec 2019 17:44:48 +0000 (10:44 -0700)]
common: Move reset_phy() to net.h

This is a network function so let's move it into that header.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 years agocommon: Drop floppy disk support
Simon Glass [Sat, 28 Dec 2019 17:44:47 +0000 (10:44 -0700)]
common: Drop floppy disk support

This seems pretty old now. It has not been converted to driver model and
is not used by any boards.

Drop it.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 years agocommon: Move jumptable_init() out of common.h
Simon Glass [Sat, 28 Dec 2019 17:44:46 +0000 (10:44 -0700)]
common: Move jumptable_init() out of common.h

This function is defined in exports.c so move it to its header file.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
4 years agocommon: Move relocate_code() to init.h
Simon Glass [Sat, 28 Dec 2019 17:44:45 +0000 (10:44 -0700)]
common: Move relocate_code() to init.h

This is an init function so move it out of the common header. Avoid using
the typedef so that we don't have to include the global_data header file.

Also tidy up the function style in comments while we are here.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 years agocommon: Move functions for loading from fat/ext2 to fs.h
Simon Glass [Sat, 28 Dec 2019 17:44:44 +0000 (10:44 -0700)]
common: Move functions for loading from fat/ext2 to fs.h

These are filesystem functions and belong in the filesystem header file.
Move them.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 years agocommon: Move do_tftpb() to net.h
Simon Glass [Sat, 28 Dec 2019 17:44:43 +0000 (10:44 -0700)]
common: Move do_tftpb() to net.h

This function belongs in the network header file. Move it.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 years agocommon: Move embedded fdt location to fdtdec.h
Simon Glass [Sat, 28 Dec 2019 17:44:42 +0000 (10:44 -0700)]
common: Move embedded fdt location to fdtdec.h

These declarations are only used in fdtdec.c so move them to its header
file.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 years agocommon: Drop checkflash() and checkdram()
Simon Glass [Sat, 28 Dec 2019 17:44:41 +0000 (10:44 -0700)]
common: Drop checkflash() and checkdram()

These functions are not used in U-Boot. Drop them.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 years agocommon: Move flash_perror() to flash.h
Simon Glass [Sat, 28 Dec 2019 17:44:40 +0000 (10:44 -0700)]
common: Move flash_perror() to flash.h

This function belongs more in flash.h than common.h so move it.

Also remove the space before the bracket in some calls.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 years agocommon: Move main_loop() to init.h
Simon Glass [Sat, 28 Dec 2019 17:44:39 +0000 (10:44 -0700)]
common: Move main_loop() to init.h

Move this function out of common.h and into a better place.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
4 years agocommon: Drop mdm_init()
Simon Glass [Sat, 28 Dec 2019 17:44:38 +0000 (10:44 -0700)]
common: Drop mdm_init()

This is not used in U-Boot. Drop it.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
4 years agotools: ftdgrep: correct the find regions loop in do_fdtgrep
Patrick Delaunay [Mon, 13 Jan 2020 08:33:51 +0000 (09:33 +0100)]
tools: ftdgrep: correct the find regions loop in do_fdtgrep

Use realloc and update the loop executed in do_fdtgrep to find all
the regions: only test count > max_region after the second pass.

This patch solve an issue if the number of region found (count)
is greater then the default value (max_region = count = 100):
the second pass is never executed, because the loop stops after
the first pass (i = 0, count > 100, max_regions = 100)
with error -1 and the error message
"Internal error with fdtgrep_find_region".

I also update the error message.

Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
4 years agoarm: Add arm handoff header file
Michael Trimarchi [Sun, 5 Jan 2020 15:51:13 +0000 (16:51 +0100)]
arm: Add arm handoff header file

Add an arch-specific handoff header so that we can use the HANDOFF feature
on arm devices.

Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
4 years agoserial: ns16550: Use old baud rate divisor for flushing if not given
Patrik Dahlström [Sat, 21 Dec 2019 16:25:12 +0000 (17:25 +0100)]
serial: ns16550: Use old baud rate divisor for flushing if not given

If baud_divisor is not set (i.e. == -1), we should use the baud divisor
already in use for flushing the xmit register. If we don't flush the
xmit register, then SPL will hang.

Signed-off-by: Patrik Dahlström <risca@dalakolonin.se>
4 years agocmd: mtd: solve bad block support in erase command
Patrick Delaunay [Fri, 20 Sep 2019 07:20:12 +0000 (09:20 +0200)]
cmd: mtd: solve bad block support in erase command

This patch modify the loop in mtd erase command to erase one by one
the blocks in the requested area.

It solves issue on "mtd erase" command on nand with existing bad block,
the command is interrupted on the first bad block with the trace:
"Skipping bad block at 0xffffffffffffffff"

In MTD driver (nand/raw), when a bad block is present on the MTD
device, the erase_op.fail_addr is not updated and we have the initial
value MTD_FAIL_ADDR_UNKNOWN = (ULL)-1.

This case seems normal in nand_base.c:nand_erase_nand(),
we have the 2 exit cases during the loop:

1/ we have a bad block (nand_block_checkbad)
instr->state = MTD_ERASE_FAILED
loop interrupted (goto erase_exit)

2/ if block erase failed (status & NAND_STATUS_FAIL)
instr->state = MTD_ERASE_FAILED;
instr->fail_addr =
((loff_t)page << chip->page_shift);
loop interrupted (goto erase_exit)

So erase_op.fail_addr can't be used if bad blocks were present
in the erased area; we need to use mtd_erase only one block to detect
and skip these existing bad blocks (as it is done in nand_util.c).

Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com>
4 years agoremoteproc: elf_loader: fix program header parsing
Fabien Dessenne [Wed, 4 Sep 2019 07:53:22 +0000 (09:53 +0200)]
remoteproc: elf_loader: fix program header parsing

Fix an issue where some sections are never loaded : if p_type is
different from PT_LOAD the phdr pointer must be incremented.

Signed-off-by: Fabien Dessenne <fabien.dessenne@st.com>
Acked-by: Suman Anna <s-anna@ti.com>
4 years agoconfigs: ls1028aqds: enable mdio muxing by default
Alex Marginean [Mon, 2 Dec 2019 10:58:14 +0000 (12:58 +0200)]
configs: ls1028aqds: enable mdio muxing by default

LS1028A QDS boards have a MDIO MUX and they require the driver for it for
PHYs to work.

Signed-off-by: Alex Marginean <alexandru.marginean@nxp.com>
Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agoconfigs: fsl-layerscape: secure_boot: Enable setexpr command
Udit Agarwal [Wed, 20 Nov 2019 08:51:27 +0000 (08:51 +0000)]
configs: fsl-layerscape: secure_boot: Enable setexpr command

setexpr command is used while running secure boot
(chain of trust with confidentiality) feature.

Enable CONFIG_CMD_SETEXPR to enable setexpr command.

Signed-off-by: Udit Agarwal <udit.agarwal@nxp.com>
Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agoboard: fsl: lx2160a: Fix the loop in board_fix_fdt function
Pankaj Bansal [Wed, 15 Jan 2020 05:57:00 +0000 (05:57 +0000)]
board: fsl: lx2160a: Fix the loop in board_fix_fdt function

Fix loop in board_fix_fdt that erroneously increments the counter
in all cases whereas the counter should be incremented only if a
matching string has been found.

Fixes: 5d535aa40b ("board: fsl: lx2160a: implement board_fix_fdt")

Signed-off-by: Pankaj Bansal <pankaj.bansal@nxp.com>
Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agoarch: armv8: fsl-layerscape: export serdes config to environment
Alex Marginean [Fri, 10 Jan 2020 23:05:40 +0000 (01:05 +0200)]
arch: armv8: fsl-layerscape: export serdes config to environment

Exports the serdes configuration as an environment variable for LS gen 3
SoCs, so it can be used in u-boot command line.  It should particularly
be useful for applying Linux DT overlays for the given serdes
configuration.
This code is called from arch_misc_init and not from the existing
serdes_init function because it depends on U-Boot environment being set
up.

Signed-off-by: Alex Marginean <alexandru.marginean@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agoboard: fsl: ls1028a: free up arch_misc_init
Alex Marginean [Fri, 10 Jan 2020 23:05:39 +0000 (01:05 +0200)]
board: fsl: ls1028a: free up arch_misc_init

Currently LS1028A board code uses arch_misc_init to set up the board mux
on QDS.  Move this code to misc_init_r.  This is consistent with LS gen 2
and T series SoCs/boards.

Signed-off-by: Alex Marginean <alexandru.marginean@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agoboard: fsl: ls1088a: remove empty arch_misc_init
Alex Marginean [Fri, 10 Jan 2020 23:05:38 +0000 (01:05 +0200)]
board: fsl: ls1088a: remove empty arch_misc_init

The arch_misc_init function is empty on LS108x SoCs/boards, remove it.

Signed-off-by: Alex Marginean <alexandru.marginean@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agoboard: fsl: ls2080a/ls2081a: remove empty arch_misc_init
Alex Marginean [Fri, 10 Jan 2020 23:05:37 +0000 (01:05 +0200)]
board: fsl: ls2080a/ls2081a: remove empty arch_misc_init

The arch_misc_init function is empty on LS2 SoCs/boards, remove it.

Signed-off-by: Alex Marginean <alexandru.marginean@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agoboard: fsl: lx2160a: free up arch_misc_init
Alex Marginean [Fri, 10 Jan 2020 23:05:36 +0000 (01:05 +0200)]
board: fsl: lx2160a: free up arch_misc_init

Currently LX2 board code uses arch_misc_init to set up the board mux on
RDB and QDS.  Move this code to misc_init_r.  This is consistent with LS
gen 2 and T series SoCs/boards.

Signed-off-by: Alex Marginean <alexandru.marginean@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agoarmv8: ls1028a_serdes: Add few missing serdes protocols
Alex Marginean [Fri, 10 Jan 2020 21:51:32 +0000 (23:51 +0200)]
armv8: ls1028a_serdes: Add few missing serdes protocols

Add serdes protocol 0x7777, 0x9999, 0xb998, 0xbb56 to supported list.
These protocols are supported and functional but they trigger a warning
in U-Boot console at boot because they are not on this list.

Signed-off-by: Alex Marginean <alexandru.marginean@nxp.com>
Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agodrivers: net: fsl_enetc: fix SXGMII MAC configuration
Alex Marginean [Fri, 10 Jan 2020 21:32:20 +0000 (23:32 +0200)]
drivers: net: fsl_enetc: fix SXGMII MAC configuration

Separate MAC and serdes configuration, MAC configuration must be applied
at each enetc_start() as FLR clears it.
This restores traffic for ENETC interfaces in USXGMII mode.

Signed-off-by: Alex Marginean <alexandru.marginean@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agolx2160: Correct default environment variable
Meenakshi Aggarwal [Fri, 10 Jan 2020 14:43:19 +0000 (20:13 +0530)]
lx2160: Correct default environment variable

Create separate "boot_scripts" and "boot_script_hdr" environment
variable for LX2160A RDB and QDS board.

Signed-off-by: Meenakshi Aggarwal <meenakshi.aggarwal@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agoinclude/configs: ls1012afrwy: adjust kernel_addr_r
Biwen Li [Fri, 10 Jan 2020 09:16:05 +0000 (17:16 +0800)]
include/configs: ls1012afrwy: adjust kernel_addr_r

The linux kernel Image is growing quite quickly,
if kernel Image size grow beyond 36 MB then
kernel Image at load address 0x81000000
overlaps with the reserved memory region
at 0x83400000.

Adjust kernel load address(kernel_addr_r) from
0x81000000 to 0x96000000 to avoid kernel Image
overlapping with reserved memory region.

This change fixes the below U-Boot error while
booting uncompressed kernel Image through booti command,
ERROR: reserving fdt memory region failed (addr=83400000 size=c00000)

Signed-off-by: Biwen Li <biwen.li@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agoinclude/configs: ls1012ardb: adjust kernel_addr_r
Biwen Li [Fri, 10 Jan 2020 09:16:04 +0000 (17:16 +0800)]
include/configs: ls1012ardb: adjust kernel_addr_r

The linux kernel Image is growing quite quickly,
if kernel Image size grow beyond 36 MB then
kernel Image at load address 0x81000000
overlaps with the reserved memory region
at 0x83400000.

Adjust kernel load address(kernel_addr_r) from
0x81000000 to 0x96000000 to avoid kernel Image
overlapping with reserved memory region.

This change fixes the below U-Boot error while
booting uncompressed kernel Image through booti command,
ERROR: reserving fdt memory region failed (addr=83400000 size=c00000)

Signed-off-by: Biwen Li <biwen.li@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agoarmv8: fsl-layerscape: LS1044A/1048A: enable Only 1x 10GE port
Pramod Kumar [Thu, 9 Jan 2020 08:53:16 +0000 (08:53 +0000)]
armv8: fsl-layerscape: LS1044A/1048A: enable Only 1x 10GE port

LS1088A has four personalities, LS1088A, LS1084A, LS1048A and LS1044A.
LS1044A, LS1048A are LS1088A personalities, which support only one
1x 10GE port.
MAC1 and MAC2 are associated with 1G SGMII, 2.5G SGMII, and XFI.
Disable MAC1 to have only one 1x 10GE port for LS1044A, LS1048A.

Signed-off-by: Pramod Kumar <pramod.kumar_1@nxp.com>
Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agoARM: LS1021A: remove redundant "depends on ARCH_LS1021A"
Masahiro Yamada [Wed, 8 Jan 2020 10:46:45 +0000 (19:46 +0900)]
ARM: LS1021A: remove redundant "depends on ARCH_LS1021A"

These config entries are inside the menu block, which already
depends on ARCH_LS1021A:

  menu "LS102xA architecture"
          depends on ARCH_LS1021A

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agoboard/lx2160aqds: Update the DSPI status fixup
Xiaowei Bao [Wed, 8 Jan 2020 06:29:54 +0000 (14:29 +0800)]
board/lx2160aqds: Update the DSPI status fixup

The dts node of the DSPI controller in kernel is spi instead of dspi,
it is not correct if use "/soc/dspi@" to fix up the status of the dts
in kernel, so, modify it to "/soc/spi@".

The DSPI2 and I2C5 are muxed, and the status of DSPI2 node in kernel dts
default value is okay, So set the status of DSPI2 node in kernel dts to
disabled if it is muxed as I2C5.

Signed-off-by: Xiaowei Bao <xiaowei.bao@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agoconfigs: lx2160a: enable CONFIG_OF_BOARD_FIXUP for SECURE_BOOT defconfig
Wasim Khan [Mon, 6 Jan 2020 12:06:02 +0000 (12:06 +0000)]
configs: lx2160a: enable CONFIG_OF_BOARD_FIXUP for SECURE_BOOT defconfig

lx2160a rev1 and rev2 SoC has different pcie controller.
The pcie controller device tree node fields "compatible"
and registers names needs to be updated accordingly.

Enable CONFIG_OF_BOARD_FIXUP to apply board_fix_fdt
which updates the "compatible" and registers names.

Signed-off-by: Wasim Khan <wasim.khan@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agopci: layerscape: device tree fixup based on SoC and
Wasim Khan [Mon, 6 Jan 2020 12:06:00 +0000 (12:06 +0000)]
pci: layerscape: device tree fixup based on SoC and

lx2160a rev1 requires layerscape_gen4 device tree fixup and
lx2160a rev2 requires layerscape device tree fixup.
Add device tree fixup for lx2160a based on SoC and Version.

Signed-off-by: Wasim Khan <wasim.khan@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agopci: layerscape: Move streamId allocation to common device tree fixup
Wasim Khan [Mon, 6 Jan 2020 12:05:59 +0000 (12:05 +0000)]
pci: layerscape: Move streamId allocation to common device tree fixup

Move streamId allocation to layerscape common device tree fixup.
Calculate streamId based on SoC variant.

Signed-off-by: Wasim Khan <wasim.khan@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agopci: layerscape: Common device tree fixup for NXP SoCs
Wasim Khan [Mon, 6 Jan 2020 12:05:57 +0000 (12:05 +0000)]
pci: layerscape: Common device tree fixup for NXP SoCs

Add Common device tree fixup for NXP SoCs. Based on
SoC and revision call pcie_layerscape or pcie_layerscape_gen4
fixup.

Signed-off-by: Wasim Khan <wasim.khan@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agoarmv8: ls1012a: Make USB masters snoopable
Ran Wang [Thu, 26 Dec 2019 10:11:17 +0000 (18:11 +0800)]
armv8: ls1012a: Make USB masters snoopable

Program register bit of SCFG_SNPCNFGCR_USBRDSNP and
SCFG_SNPCNFGCR_USBWRSNP to drive USB read/write
snoop signal on LS1012A.

Signed-off-by: Ran Wang <ran.wang_1@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agodrivers: net: fsl_enetc: add write_hwaddr() for LS1028A
Michael Walle [Fri, 20 Dec 2019 13:16:48 +0000 (14:16 +0100)]
drivers: net: fsl_enetc: add write_hwaddr() for LS1028A

The LS1028A SoC is special in the handling of the MAC addresses. We need
to write to the IERB version of the PSIPMAR0/1 register. This value will
be sampled into the corresponding port PSIPMAR0/1 register if the PCI
memory access is enabled.

Signed-off-by: Michael Walle <michael@walle.cc>
Signed-off-by: Alex Marginean <alexandru.marginean@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agodrivers: net: fsl_enetc: use write_hwaddr()
Michael Walle [Fri, 20 Dec 2019 13:16:47 +0000 (14:16 +0100)]
drivers: net: fsl_enetc: use write_hwaddr()

Intead of setting the MAC address in enetc_start() use the proper
write_hwaddr(). U-Boot takes care of the random MAC address, too.

Signed-off-by: Michael Walle <michael@walle.cc>
Signed-off-by: Alex Marginean <alexandru.marginean@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agoboard: ls1046afwry: Disable sgmii support
Pramod Kumar [Fri, 20 Dec 2019 11:19:55 +0000 (11:19 +0000)]
board: ls1046afwry: Disable sgmii support

LS1046A SoC serdes protocol 0x3040 supports both sgmi and qsgmii,
however ls1046afrwy supports only qsgmii on board.
So, disable unsupported sgmii on board.

Signed-off-by: Pramod Kumar <pramod.kumar_1@nxp.com>
Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agopci: layerscape: Fix the BARs disable function
Hou Zhiqiang [Tue, 17 Dec 2019 10:10:43 +0000 (10:10 +0000)]
pci: layerscape: Fix the BARs disable function

There is not any difference for disabling BARs in RC mode
between PCIe controllers with and without SRIOV.

Fixes: 80afc63fc342 ("pci: layerscape: add pci driver based on DM")
Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agopci: layerscape: Fix the disabling of Expansion ROM BAR
Hou Zhiqiang [Tue, 17 Dec 2019 10:10:40 +0000 (10:10 +0000)]
pci: layerscape: Fix the disabling of Expansion ROM BAR

The software will still get non-zero Expansion ROM BAR size
even when the BAR_EN bit is cleared. The BAR_EN bit of
register EXP_ROM_BAR_MASK_RC is not working as expected,
so this patch changes to mask all the bits.

Fixes: 80afc63fc342 ("pci: layerscape: add pci driver based on DM")
Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agoconfigs: ls1012afwry: Enable usb network cards support
Yinbo Zhu [Mon, 16 Dec 2019 07:07:34 +0000 (15:07 +0800)]
configs: ls1012afwry: Enable usb network cards support

Enable RTL8152, AX88179 and AX8817X USB network cards support
for ls1012afwry

Signed-off-by: Yinbo Zhu <yinbo.zhu@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agoconfigs: ls1088ardb: Enable usb network cards support
Yinbo Zhu [Mon, 16 Dec 2019 07:07:33 +0000 (15:07 +0800)]
configs: ls1088ardb: Enable usb network cards support

Enable RTL8152, AX88179 and AX8817X USB network cards support
for ls1088ardb

Signed-off-by: Yinbo Zhu <yinbo.zhu@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agoconfigs: ls1046afwry: Enable usb network cards support
Yinbo Zhu [Mon, 16 Dec 2019 07:07:32 +0000 (15:07 +0800)]
configs: ls1046afwry: Enable usb network cards support

Enable RTL8152, AX88179 and AX8817X USB network cards support
for ls1046afrwy

Signed-off-by: Yinbo Zhu <yinbo.zhu@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agodrivers: net: fsl_enetc: Pass on primary MAC address to Linux
Alex Marginean [Tue, 10 Dec 2019 14:55:39 +0000 (16:55 +0200)]
drivers: net: fsl_enetc: Pass on primary MAC address to Linux

Passes on the primary address used by u-boot to Linux. The code does a DT
fix-up for ENETC PFs and sets the primary MAC address in IERB. The address
in IERB is restored on ENETC PCI functions at FLR.

Signed-off-by: Alex Marginean <alexandru.marginean@nxp.com>
Reviewed-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agoMerge branch '2020-01-22-master-imports'
Tom Rini [Thu, 23 Jan 2020 21:28:17 +0000 (16:28 -0500)]
Merge branch '2020-01-22-master-imports'

- Re-add U8500 platform support
- Add bcm968360bg support
- Assorted Keymile fixes
- Other assorted bugfixes

4 years agodisk: part: rename parameter of lba512_muldiv()
Heinrich Schuchardt [Thu, 16 Jan 2020 19:36:58 +0000 (20:36 +0100)]
disk: part: rename parameter of lba512_muldiv()

div_by is a misleading parameter name, when we are doing >> div_by.
Rename it to right_shift.

Reported-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
4 years agoqemu-arm: set CONFIG_SYS_BOOTM_LEN to SZ_64M
Dhananjay Phadke [Wed, 15 Jan 2020 01:41:41 +0000 (17:41 -0800)]
qemu-arm: set CONFIG_SYS_BOOTM_LEN to SZ_64M

FIT image contents can be larger than default bootm limit 8M
with initrd. Raise limit to 64MB which is commonly used
elsewhere.

Signed-off-by: Dhananjay Phadke <dphadke@linux.microsoft.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
4 years agoarm/km: remove unmaintained board kmsuv31
Holger Brunck [Mon, 13 Jan 2020 14:34:03 +0000 (15:34 +0100)]
arm/km: remove unmaintained board kmsuv31

This target is out of maintenance and can be removed.

Signed-off-by: Holger Brunck <holger.brunck@ch.abb.com>
CC: Valentin Longchamp <valentin.longchamp@ch.abb.com>
CC: Stefan Roese <sr@denx.de>
Reviewed-by: Stefan Roese <sr@denx.de>
4 years agoarm/km: remove unmaintained board SUGP1
Holger Brunck [Mon, 13 Jan 2020 14:34:02 +0000 (15:34 +0100)]
arm/km: remove unmaintained board SUGP1

This target is out of maintenance and can be removed.

Signed-off-by: Holger Brunck <holger.brunck@ch.abb.com>
CC: Valentin Longchamp <valentin.longchamp@ch.abb.com>
CC: Stefan Roese <sr@denx.de>
Reviewed-by: Stefan Roese <sr@denx.de>
4 years agoarm/km: add support for SUSE2
Holger Brunck [Mon, 13 Jan 2020 14:34:01 +0000 (15:34 +0100)]
arm/km: add support for SUSE2

This board is similar to SUV31, but the FPGA is reset concept is quite
different.

Signed-off-by: Holger Brunck <holger.brunck@ch.abb.com>
CC: Valentin Longchamp <valentin.longchamp@ch.abb.com>
CC: Stefan Roese <sr@denx.de>
Reviewed-by: Stefan Roese <sr@denx.de>
4 years agozfs: remove unused buf variable
Joel Johnson [Sat, 11 Jan 2020 16:09:34 +0000 (09:09 -0700)]
zfs: remove unused buf variable

Remove unused variable to silence compiler warning

Signed-off-by: Joel Johnson <mrjoel@lixil.net>
4 years agokm/scripts: product env and auto-reset for ramfs
Holger Brunck [Fri, 10 Jan 2020 11:55:42 +0000 (12:55 +0100)]
km/scripts: product env and auto-reset for ramfs

This patch adds the possibility in both debug and ramfs modes to
optionally load an env file from /tftpboot/$tftppath (this is ignored if
not present, so the change is backward compatible). This gives the debug
and ramfs scripts the possibility to set uboot environment variables
that were previously asked the users to manually set (nfs path in debug
and rootfs size in ramfs).

Signed-off-by: Holger Brunck <holger.brunck@ch.abb.com>
CC: Tom Rini <trini@konsulko.com>
4 years agokm/scripts: fix run ramfs and COGE5 tftppath problem
Holger Brunck [Fri, 10 Jan 2020 11:55:41 +0000 (12:55 +0100)]
km/scripts: fix run ramfs and COGE5 tftppath problem

The tftppath was not set in case of run ramfs. It worked only by chance
if was already set before.

Also check the boardname before setting the tftppath for COGE5.

Signed-off-by: Holger Brunck <holger.brunck@ch.abb.com>
CC: Tom Rini <trini@konsulko.com>
4 years agokm/common: fix for CPUWD reset reason
Rainer Boschung [Fri, 10 Jan 2020 11:47:43 +0000 (12:47 +0100)]
km/common: fix for CPUWD reset reason

The CPUWD reset reason is used for kmp204x.
And the qrio cpu reset request is configured to operate in
core reset mode.
But for the evaluation of the qrio's reset reason register
the CPUWD figures as a unit reset source rather than a core
reset source. This patch defines the CPUWD reset as a core
reset source when evaluating the reset reason register.

Signed-off-by: Rainer Boschung <rainer.boschung@ch.abb.com>
CC: Priyanka Jain <priyanka.jain@nxp.com>
4 years agoKM/kmp204x: qrio and i2c deblock code moved to common
Holger Brunck [Fri, 10 Jan 2020 11:47:42 +0000 (12:47 +0100)]
KM/kmp204x: qrio and i2c deblock code moved to common

This patch moves the qrio and i2c deblocking code to
keymile/common as it will also be used by the upcoming CENT2 board.

Signed-off-by: Holger Brunck <holger.brunck@ch.abb.com>
CC: Priyanka Jain <priyanka.jain@nxp.com>
4 years agokmp204x: do not make FPGA config error fail board_early_init_r
Holger Brunck [Fri, 10 Jan 2020 11:47:41 +0000 (12:47 +0100)]
kmp204x: do not make FPGA config error fail board_early_init_r

This prevents the board from booting which is not the expected behavior.

Signed-off-by: Valentin Longchamp <valentin.longchamp@ch.abb.com>
Signed-off-by: Holger Brunck <holger.brunck@ch.abb.com>
CC: Priyanka Jain <priyanka.jain@nxp.com>
4 years agoMAINTAINERS: Add entry for rng drivers
Sughosh Ganu [Fri, 10 Jan 2020 10:23:51 +0000 (15:53 +0530)]
MAINTAINERS: Add entry for rng drivers

Take up maintainership of random number generator drivers with
Heinrich Schuchardt as the reviewer.

Signed-off-by: Sughosh Ganu <sughosh.ganu@linaro.org>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
4 years agoremoving fdt_high from default set of variables for, dragonboard410c config
Matthias Schoepfer [Thu, 9 Jan 2020 15:53:32 +0000 (16:53 +0100)]
removing fdt_high from default set of variables for, dragonboard410c config

When using fitImage in AARCH64, the fdt is only 4 byte aligned.
According to linux kernel -> Documentation/arm64/booting.txt, the
fdt *must* be 8 byte aligned. Therefore, it is somewhat random,
if you build a kernel that the fdt is 4 or 8 byte aligned.
Removing fdt_high (or changing it to a valid 8 byte aligned
address) solves this issue.

Signed-off-by: Matthias Schoepfer <matthias.schoepfer@ithinx.io>
CC: Mateusz Kulikowski <mateusz.kulikowski@gmail.com>
4 years agoboard_init: remove meaningless increment in board_init_f_init_reserve()
Masahiro Yamada [Wed, 8 Jan 2020 11:21:17 +0000 (20:21 +0900)]
board_init: remove meaningless increment in board_init_f_init_reserve()

The base is not used in the code that follows this increment.

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
4 years agobcm968360bg: add initial support
Philippe Reynes [Tue, 7 Jan 2020 19:14:17 +0000 (20:14 +0100)]
bcm968360bg: add initial support

This add the initial support of the broadcom reference
board bcm968360bg with a bcm68360 SoC.

This board has 512 MB of RAM, 256 MB of flash (nand),
2 USB port, 1 UART, and 4 ethernet ports.

Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com>
4 years agogpio: do not include <asm/arch/gpio.h> on ARCH_BCM68360
Philippe Reynes [Tue, 7 Jan 2020 19:14:16 +0000 (20:14 +0100)]
gpio: do not include <asm/arch/gpio.h> on ARCH_BCM68360

As no gpio.h is defined for this architecture, to avoid
compilation failure, do not include <asm/arch/gpio.h> for
arch bcm68360.

Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com>
4 years agogpio: bcm6345: allow to use this driver on arm bcm68360
Philippe Reynes [Tue, 7 Jan 2020 19:14:15 +0000 (20:14 +0100)]
gpio: bcm6345: allow to use this driver on arm bcm68360

This IP is also used on some arm SoC, so we allow to
use it on arm bcm68360 too.

Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com>
4 years agoled: bcm6858: allow to use this driver on arm bcm68360
Philippe Reynes [Tue, 7 Jan 2020 19:14:14 +0000 (20:14 +0100)]
led: bcm6858: allow to use this driver on arm bcm68360

This IP is also used on some arm SoC, so we allow to
use it on arm bcm68360 too.

Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com>
4 years agonand: brcmnand: add bcm68360 support
Philippe Reynes [Tue, 7 Jan 2020 19:14:13 +0000 (20:14 +0100)]
nand: brcmnand: add bcm68360 support

This adds the nand support for chipset bcm68360.

Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com>
4 years agospi: bcm63xx-hsspi: allow to use this driver on arm bcm68360
Philippe Reynes [Tue, 7 Jan 2020 19:14:12 +0000 (20:14 +0100)]
spi: bcm63xx-hsspi: allow to use this driver on arm bcm68360

This IP is also used on some arm SoC, so we allow to
use it on arm bcm68360 too.

Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com>
4 years agowatchdog: bcm6345: allow to use this driver on arm bcm68360
Philippe Reynes [Tue, 7 Jan 2020 19:14:11 +0000 (20:14 +0100)]
watchdog: bcm6345: allow to use this driver on arm bcm68360

This IP is also used on some arm SoC, so we allow to
use it on arm bcm68360 too.

Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com>
4 years agobcm68360: add initial support
Philippe Reynes [Tue, 7 Jan 2020 19:14:10 +0000 (20:14 +0100)]
bcm68360: add initial support

This add the initial support of the broadcom bcm68360 SoC family.

Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com>
4 years agoMakefile: Let mrproper remove flash.bin and flash.log
Fabio Estevam [Tue, 7 Jan 2020 18:50:32 +0000 (15:50 -0300)]
Makefile: Let mrproper remove flash.bin and flash.log

In order to generate a bootable U-Boot binary for i.MX8QXP MEK
we need to run:

$ make imx8qxp_mek_defconfig
$ make flash.bin

The resultant flash.bin and flash.log are not removed after
running 'make mrproper'.

Include these files into the CLEAN_FILES list entry so that
they can be properly deleted after 'make mrproper'.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
4 years agoarm: dts: exynos: Use common alias for Odroid U3/X2 MMC2 (SD-card)
Marek Szyprowski [Thu, 16 Jan 2020 15:25:35 +0000 (16:25 +0100)]
arm: dts: exynos: Use common alias for Odroid U3/X2 MMC2 (SD-card)

Use MMC0 for eMMC and MMC2 for SD-card as other Exynos-based boards do.
This allows to use common code to get MMC device id based on the XOM[7:5]
pins.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Reviewed-by: Anand Moon <linux.amoon@gmail.com>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
4 years agoarm: dts: exynos: Fix card-detect polarity for SD card on Odroid U3/X2
Marek Szyprowski [Thu, 16 Jan 2020 15:25:34 +0000 (16:25 +0100)]
arm: dts: exynos: Fix card-detect polarity for SD card on Odroid U3/X2

Card detect line for SD-card on Odroid U3/X2 boards are active low, so
add cd-inverted property to indicate this, as u-boot's GPIO driver doesn't
support specifying line polarity. This restores S5P_SDHCI driver operation
on Odroid U3/X2 boards.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Reviewed-by: Anand Moon <linux.amoon@gmail.com>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
4 years agommc: s5p_sdhci: Read generic MMC properties from DT
Marek Szyprowski [Thu, 16 Jan 2020 15:25:33 +0000 (16:25 +0100)]
mmc: s5p_sdhci: Read generic MMC properties from DT

Read generic MMC properties from device-tree. This allows to specify for
example cd-inverted property and let MMC core to properly handle such
case.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Reviewed-by: Anand Moon <linux.amoon@gmail.com>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
4 years agoarm: exynos: Use proper PMIC device names
Marek Szyprowski [Thu, 16 Jan 2020 13:46:04 +0000 (14:46 +0100)]
arm: exynos: Use proper PMIC device names

Since commit 4213609cc7 ("drivers: core: use strcmp when find device by
name") one has to provide full name to get requested object. Fix the code
used to detect enable power regulators on the supported Exynos boards to
use proper PMIC device device name then.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Reviewed-by: Anand Moon <linux.amoon@gmail.com>
Reviewed-by: Lukasz Majewski <lukma@denx.de>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
4 years agoarm: exynos: Use proper ADC device name
Marek Szyprowski [Tue, 14 Jan 2020 14:04:20 +0000 (15:04 +0100)]
arm: exynos: Use proper ADC device name

Since commit 4213609cc7 ("drivers: core: use strcmp when find device by
name") one has to provide full name to get requested object. Fix the code
used to detect Odroid board revision to use proper ADC device name then.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Reviewed-by: Anand Moon <linux.amoon@gmail.com>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
4 years agoarm: dts: exynos: Extend board description
Marek Szyprowski [Wed, 15 Jan 2020 15:18:03 +0000 (16:18 +0100)]
arm: dts: exynos: Extend board description

u-boot uses the same DTS for the all Odroid XU3-based boards, so list
them in the model description to let user know that those boards are
supported.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Reviewed-by: Lukasz Majewski <lukma@denx.de>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
4 years agocmd: pxe: execute the cls command only when supported
Patrick Delaunay [Tue, 3 Dec 2019 08:38:35 +0000 (09:38 +0100)]
cmd: pxe: execute the cls command only when supported

Execute the command cls (for clear screen), when the "menu background"
keyword is present in extlinux.conf file, only if the command is supported.

This patch avoid the warning "Unknown command 'cls'"
with "menu background" in extlinux.conf when CONFIG_CMD_BMP is activated
and CONFIG_CMD_CLS not activated (default for CONFIG_DM_VIDEO).

Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
Reviewed-by: Patrice Chotard <patrice.chotard@st.com>