]> git.dujemihanovic.xyz Git - u-boot.git/log
u-boot.git
4 years agodma-mapping: fix the prototype of dma_map_single()
Masahiro Yamada [Fri, 14 Feb 2020 07:40:17 +0000 (16:40 +0900)]
dma-mapping: fix the prototype of dma_map_single()

Make dma_map_single() return the dma address, and remove the
pointless volatile.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
4 years agommc: fsl_esdhc: actually enable cache snooping on mpc830x
Rasmus Villemoes [Thu, 30 Jan 2020 12:06:45 +0000 (12:06 +0000)]
mmc: fsl_esdhc: actually enable cache snooping on mpc830x

The reference manuals for MPC8308 and MPC8309 both say that the
esdhcctl aka DMA Control Register "is implemented as SDHCCR" in the
System configuration registers. Unfortunately, that doesn't mean that
the registers are just mirrors of each other - any write to esdhcctl
is simply ignored. So to actually enable cache snooping, we
unfortunately have to add a little ifdeffery.

There is, naturally, no description of the bit fields of esdhcctl in
the MPC8309 manual, but comparing the description of esdhcctl from the
LS1021A reference manual to the description of the sdhccr in MPC8309,
one also finds that the fields are bit-reversed, so the bit to set is
0x02000000 rather than 0x00000040 - this is also what board_mmc_init()
uses in the two gdsys/mpc8308/ boards.

Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
Reviewed-by: Yangbo Lu <yangbo.lu@nxp.com>
4 years agommc: remove unneeded forward declarations
Masahiro Yamada [Thu, 23 Jan 2020 06:54:01 +0000 (15:54 +0900)]
mmc: remove unneeded forward declarations

These functions are defined before the callers.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
4 years agommc: check the return value of mmc_select_mode_and_width()
Masahiro Yamada [Thu, 23 Jan 2020 05:31:12 +0000 (14:31 +0900)]
mmc: check the return value of mmc_select_mode_and_width()

Since commit 01298da31d92 ("mmc: Change mode when switching to a boot
partition"), errors in mmc_select_mode_and_width() are ignored.
The return value should be checked.

Fixes: 01298da31d92 ("mmc: Change mode when switching to a boot partition")
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
4 years agommc: sdhci-cadence: send tune request twice to work around errata
Masahiro Yamada [Tue, 21 Jan 2020 09:42:05 +0000 (18:42 +0900)]
mmc: sdhci-cadence: send tune request twice to work around errata

Cadence sent out an errata report to their customers of this IP.
This errata is not so severe, but the tune request should be sent
twice to avoid the potential issue.

Quote from the report:

Problem Summary
---------------
The IP6116 SD/eMMC PHY design has a timing issue on receive data path.
This issue may lead to an incorrect values of read/write pointers of
the synchronization FIFO. Such a situation can happen at the SDR104
and HS200 tuning procedure when the PHY is requested to change a phase
of sampling clock when moving to the next tuning iteration.

Workarounds
-----------
The following are valid workarounds to resolve the issue:

1. In eMMC mode, software sends tune request twice instead of once at
   each iteration. This means that the clock phase is not changed on
   the second request so there is no potential for clock instability.
2. In SD mode, software must not use the hardware tuning and instead
   perform an almost identical procedure to eMMC, using the HRS34 Tune
   Force register.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
4 years agommc: fix the build error when MMC_WRITE is disabled
Jaehoon Chung [Fri, 17 Jan 2020 06:06:54 +0000 (15:06 +0900)]
mmc: fix the build error when MMC_WRITE is disabled

erase_grp_size is used, when MMC_WRITE is enabled.
- error: ‘struct mmc’ has no member named ‘erase_grp_size’

Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
4 years agodrivers: mmc: rpmb: Use R1 response
Bharat Kumar Reddy Gooty [Fri, 22 Nov 2019 23:13:09 +0000 (15:13 -0800)]
drivers: mmc: rpmb: Use R1 response

If the host has Broken R1B, use only R1 response type.

Signed-off-by: Bharat Kumar Reddy Gooty <bharat.gooty@broadcom.com>
Signed-off-by: Vladimir Olovyannikov <vladimir.olovyannikov@broadcom.com>
4 years agoMerge tag 'u-boot-stm32-20200214' of https://gitlab.denx.de/u-boot/custodians/u-boot-stm
Tom Rini [Fri, 14 Feb 2020 12:31:47 +0000 (07:31 -0500)]
Merge tag 'u-boot-stm32-20200214' of https://gitlab.denx.de/u-boot/custodians/u-boot-stm

- add DH Electronics DHCOM SoM and PDK2 board
- DT alignment with kernel v5.5-rc7 for stm32mp1 boards
- fix STM32 image format for big endian hosts in mkimage
- solve warnings in device tree and code for stm32mp1 boards
- remove fdt_high and initrd_high for stm32 and stih boards
- add support of STM32MP15x Rev.Z
- update stm32mp1 readme

4 years agoMerge tag 'ti-v2020.04-rc3' of https://gitlab.denx.de/u-boot/custodians/u-boot-ti
Tom Rini [Fri, 14 Feb 2020 12:31:02 +0000 (07:31 -0500)]
Merge tag 'ti-v2020.04-rc3' of https://gitlab.denx.de/u-boot/custodians/u-boot-ti

K3 J721E/AM65X:
- UART boot fixes for J721E
- Enabling debug uart for AM65x

DRA7xx/AM57xx:
- Preveinting boot from Invalid boot configuration for AM57xx

Keysonte2:
- Linux Boot fixes for K2 platforms.

AM33/AM43/Davinci:
- Ethernt boot fixes for AM43XX
- USB Host boot fixes for AM43XX

4 years agoMerge branch '2020-02-13-master-imports'
Tom Rini [Thu, 13 Feb 2020 18:37:59 +0000 (13:37 -0500)]
Merge branch '2020-02-13-master-imports'

- Minor Kconfig fixes
- Ensure we use python3 on all CI in all cases.
- Other minor fixes

4 years agoboard: stm32: remove fdt_high and fdt_highinitrd_high
Patrice Chotard [Mon, 3 Feb 2020 14:10:40 +0000 (15:10 +0100)]
board: stm32: remove fdt_high and fdt_highinitrd_high

For stm32 f4, f7 and h7 boards, remove fdt_high and
initrd_high as they shouldn't be used, this allows the fdt
and initrd relocation.
This implies to set CONFIG_SYS_BOOTMAPSZ to indicate the
amount of memory available to contain kernel, device tree
and initrd for relocation.

Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
Reviewed-by: Patrick DELAUNAY <patrick.delaunay@st.com>
4 years agoboard: stm32: fix extra env setings addresses
Patrice Chotard [Mon, 3 Feb 2020 14:10:39 +0000 (15:10 +0100)]
board: stm32: fix extra env setings addresses

For stm32f4, f7 and h7 boards, reserve:
 - 4MB for kernel
 - 64KB for fdt, boot script, pxefile
 - the remaining memory for ramdisk

Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
Reviewed-by: Patrick DELAUNAY <patrick.delaunay@st.com>
4 years agoboard: stih410-b2260: remove fdt_high and initrd_high
Patrice Chotard [Mon, 3 Feb 2020 14:00:59 +0000 (15:00 +0100)]
board: stih410-b2260: remove fdt_high and initrd_high

Remove fdt_high and initrd_high as they shouldn't be used,
this allows the fdt and initrd relocation.
This implies to set CONFIG_SYS_BOOTMAPSZ to indicate the
amount of memory available to contain kernel, device tree
and initrd for relocation.

Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Patrick DELAUNAY <patrick.delaunay@st.com>
4 years agostm32mp1: remove fdt_high and initrd_high in environment
Patrick Delaunay [Mon, 10 Feb 2020 10:54:11 +0000 (11:54 +0100)]
stm32mp1: remove fdt_high and initrd_high in environment

Remove fdt_high and initrd_high (set to 0xffffffff) in stm32mp1 board
enviromnent, and U-Boot always relocate FDT and initrd in bootm command.

This relocation is limited by CONFIG_SYS_BOOTMAPSZ which indicates
the size of the memory region where it is safe to place data passed
to the Linux kernel (DTB, initrd), it is
a) Less than or equal to RAM size.
b) not within the kernel's highmem region

So 256M seems large enough in most circumstances and users
can override this value via environment variable "bootm_mapsize"
if needed.

This modification increases the boot time but avoid assumption
on aligned address for bootm command.

A user can still define this variables themselves if the FDT or
initrd is either left in-place or copied to a specific location.

Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
4 years agoclk: stm32mp1: solve type issue in stm32mp1_lse_enable and stm32mp1_clktree
Patrick Delaunay [Tue, 28 Jan 2020 09:44:15 +0000 (10:44 +0100)]
clk: stm32mp1: solve type issue in stm32mp1_lse_enable and stm32mp1_clktree

Solve type issue in stm32mp1_lse_enable and stm32mp1_clktree.

This patch solves the warnings when compiling with W=1
on stm32mp1 board:

clk_stm32mp1.c: In function ‘stm32mp1_lse_enable’:
clk_stm32mp1.c:1238:15: warning: comparison of integer expressions
  of different signedness: ‘u32’ {aka ‘unsigned int’} and ‘int’
  [-Wsign-compare]
clk_stm32mp1.c:1239:13: warning: comparison of integer expressions
  of different signedness: ‘u32’ {aka ‘unsigned int’} and ‘int’
  [-Wsign-compare]

clk_stm32mp1.c: In function ‘stm32mp1_clktree’:
clk_stm32mp1.c:1814:17: warning: comparison of integer expressions
  of different signedness: ‘int’ and ‘unsigned int’
  [-Wsign-compare]

Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
Reviewed-by: Patrice Chotard <patrice.chotard@st.com>
4 years agopinctrl: stmfx: update the result type of dm_i2c_reg_read
Patrick Delaunay [Tue, 28 Jan 2020 09:44:14 +0000 (10:44 +0100)]
pinctrl: stmfx: update the result type of dm_i2c_reg_read

Use int as result of dm_i2c_reg_read to avoid warning with
W=1 (warning: comparison is always false due to limited range
of data type [-Wtype-limits])

Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
Reviewed-by: Patrice Chotard <patrice.chotard@st.com>
4 years agoboard: stm32mp1: change dfu function to static
Patrick Delaunay [Tue, 28 Jan 2020 09:44:13 +0000 (10:44 +0100)]
board: stm32mp1: change dfu function to static

Change the dfu functions dfu_otp_read and dfu_pmic_read to static,
this patch avoids warning when compiling with W=1.

Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
Reviewed-by: Patrice Chotard <patrice.chotard@st.com>
4 years agoboard: stm32mp1: board: add include for dfu
Patrick Delaunay [Tue, 28 Jan 2020 09:44:12 +0000 (10:44 +0100)]
board: stm32mp1: board: add include for dfu

Add include for dfu, add prototype for set_dfu_alt_info
and avoid warning when compiling with W=1.

Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
Reviewed-by: Patrice Chotard <patrice.chotard@st.com>
4 years agotools: mkimage: fix STM32 image format for big endian hosts
Antonio Borneo [Tue, 28 Jan 2020 14:42:13 +0000 (15:42 +0100)]
tools: mkimage: fix STM32 image format for big endian hosts

Two header fields are not properly converted to little endian
before assignment, resulting in incorrect header while executing
mkimage on big endian hosts.

Convert the value of the header fields image_checksum and
edcsa_algorithm to little endian before the assignment.

Signed-off-by: Antonio Borneo <antonio.borneo@st.com>
Reviewed-by: Patrick DELAUNAY <patrick.delaunay@st.com>
Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
4 years agostm32mp1: support of STM32MP15x Rev.Z
Patrick Delaunay [Tue, 28 Jan 2020 09:11:06 +0000 (10:11 +0100)]
stm32mp1: support of STM32MP15x Rev.Z

Add support for Rev.Z of STM32MP15x cpu.

Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
Reviewed-by: Patrice Chotard <patrice.chotard@st.com>
4 years agoboard: stm32mp1: update readme
Patrick Delaunay [Tue, 28 Jan 2020 09:11:04 +0000 (10:11 +0100)]
board: stm32mp1: update readme

Update readme:
- list the supported SOC and change family to STM32MP15x
- add warning on OTP write and prerequisite:
  check if MAC address is not yet provisioned.
- Use filesize for mmc write command (avoid to write all partition
  with ${partsize}). ${filesize} and ${partsize} are set by previous
  load command.

Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
Reviewed-by: Patrice Chotard <patrice.chotard@st.com>
4 years agoARM: dts: stm32m1: add reg for pll nodes
Patrick Delaunay [Tue, 28 Jan 2020 09:11:03 +0000 (10:11 +0100)]
ARM: dts: stm32m1: add reg for pll nodes

Fix the following DT dtc warnings for stm32mp1 boards:

Warning (unit_address_vs_reg): /soc/rcc@50000000/st,pll@0:
  node has a unit name, but no reg property
Warning (unit_address_vs_reg): /soc/rcc@50000000/st,pll@1:
  node has a unit name, but no reg property
Warning (unit_address_vs_reg): /soc/rcc@50000000/st,pll@2:
  node has a unit name, but no reg property
Warning (unit_address_vs_reg): /soc/rcc@50000000/st,pll@3:
  node has a unit name, but no reg property

Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
Reviewed-by: Patrice Chotard <patrice.chotard@st.com>
4 years agoARM: dts: stm32mp1: correct ddr node
Patrick Delaunay [Tue, 28 Jan 2020 09:11:02 +0000 (10:11 +0100)]
ARM: dts: stm32mp1: correct ddr node

This patch fix the warning:
dt.dts: Warning (simple_bus_reg): Node /soc/ddr@5A003000
simple-bus unit address format error, expected "5a003000"

Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
Reviewed-by: Patrice Chotard <patrice.chotard@st.com>
4 years agoARM: dts: stm32mp1: move FDCAN to PLL4_R
Antonio Borneo [Tue, 28 Jan 2020 09:11:01 +0000 (10:11 +0100)]
ARM: dts: stm32mp1: move FDCAN to PLL4_R

LTDC modifies the clock frequency to adapt it to the display. Such
frequency change is not detected by the FDCAN driver that instead
cache the value at probe and pretend to use it later.

Keep the LTDC alone on PLL4_Q by moving the FDCAN to PLL4_R.

Signed-off-by: Antonio Borneo <antonio.borneo@st.com>
Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
Reviewed-by: Patrice Chotard <patrice.chotard@st.com>
4 years agoARM: dts: stm32mp1: DT alignment with kernel v5.5-rc7
Patrick Delaunay [Tue, 28 Jan 2020 09:11:00 +0000 (10:11 +0100)]
ARM: dts: stm32mp1: DT alignment with kernel v5.5-rc7

Device tree and binding alignment with kernel v5.5-rc7

Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
Reviewed-by: Patrice Chotard <patrice.chotard@st.com>
4 years agostm32mp1: pwr: use the last binding for pwr
Patrick Delaunay [Tue, 28 Jan 2020 09:10:59 +0000 (10:10 +0100)]
stm32mp1: pwr: use the last binding for pwr

Update the driver to use the latest binding from kernel v5.5-rc1:
no more use syscon or regmap to access to pwr register and
only one pwr_regulators node with the compatibility "st,stm32mp1,pwr-reg"
is available.

Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
Reviewed-by: Patrice Chotard <patrice.chotard@st.com>
4 years agoARM: dts: stm32mp1: DT alignment with kernel v5.4
Patrick Delaunay [Tue, 28 Jan 2020 09:10:58 +0000 (10:10 +0100)]
ARM: dts: stm32mp1: DT alignment with kernel v5.4

Device tree and binding alignment with kernel v5.4

Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
Reviewed-by: Patrice Chotard <patrice.chotard@st.com>
4 years agoarmV7R: K3: am654: Activate early console functionality
Andreas Dannenberg [Wed, 5 Dec 2018 04:29:47 +0000 (22:29 -0600)]
armV7R: K3: am654: Activate early console functionality

Activate early console functionality on AM65x devices to allow for
early diagnostic messages until the main console is ready
to get activated.

Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
4 years agoarm: K3: j721e: Fix boot parameter table index memory address
Andreas Dannenberg [Fri, 28 Jun 2019 01:03:21 +0000 (20:03 -0500)]
arm: K3: j721e: Fix boot parameter table index memory address

The boot parameter table index memory address for J721E was configured
to an incorrect value which prevented the use of this definition to
determine which boot parameter table is active which is needed to be
able to distinguish between primary and backup boot modes. Fix this
issue by updating the value to the correct one also in alignment with
the J721E Technical Reference Manual (TRM).

Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
4 years agoARM: keystone2: enable initrd fixup for LPAE addressing
Tero Kristo [Tue, 11 Feb 2020 03:55:52 +0000 (09:25 +0530)]
ARM: keystone2: enable initrd fixup for LPAE addressing

Keystone2 u-boot loads the initrd image into non-LPAE addressed memory
but linux kernel is running in LPAE. This causes a conflict as kernel
detects that non-memory address is passed and kernel ignores initrd.
There is an existing fixup logic to modify the address in the proper
configuration, but this is disabled at the moment. Enable the fixup
by setting the env variable for this so that initrd can be used
properly.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
4 years agoboard: ti: am57xx-idk: Prevent boot for invalid configuation
Roger Quadros [Mon, 10 Feb 2020 09:59:24 +0000 (11:59 +0200)]
board: ti: am57xx-idk: Prevent boot for invalid configuation

On am571x-idk there can be following configurations based on Jumper J51
and LCD panel detected.

1) J51 removed (6port): 6 port Ethernet. Disable LCD panel.
2) J51 placed (LCD) + Panel detected: 4 port Ethernet with appropriate LCD.
3) J51 placed (LCD) + Panel not detected/not supported.

Configuration 3 is considered invalid as we can't use display nor ICSS1
ethernet ports due to hardware muxing. Alert the user to fix the
configuration and prevent boot.

Alternative was to allow boot and limit to 4 port Ethernet with no display
but this involved introduction of another DTB for the kernel and was
considered not worth the hassle.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Acked-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
4 years agoarm: mach-k3: Fix nomenclature on Silicon Revisions
Lokesh Vutla [Mon, 10 Feb 2020 05:09:17 +0000 (10:39 +0530)]
arm: mach-k3: Fix nomenclature on Silicon Revisions

Data manual mentions the new silicon revisions as SR instead of PG. Use
the same nomenclature inside U-Boot as well.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
4 years agoconfigs: am43xx_evm_usbhost_boot: Add device for environment
Faiz Abbas [Thu, 6 Feb 2020 09:52:39 +0000 (15:22 +0530)]
configs: am43xx_evm_usbhost_boot: Add device for environment

Add mmc device partition 0 as the seat of the environment.

Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
4 years agoconfigs: am43xx_evm_usbhost: Add configs for USB Host boot mode
Faiz Abbas [Thu, 6 Feb 2020 09:52:38 +0000 (15:22 +0530)]
configs: am43xx_evm_usbhost: Add configs for USB Host boot mode

Enable configs to fix USB Host boot mode.

Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
4 years agoconfigs: j721e_evm_r5: Enable early cons
Lokesh Vutla [Mon, 3 Feb 2020 13:46:54 +0000 (19:16 +0530)]
configs: j721e_evm_r5: Enable early cons

Early cons will be used in uart boot. Enable the same for j721e_r5

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
4 years agoarm: dts: k3-j721e-r5-common-proc-board: Disable power-domains for mcu uart
Lokesh Vutla [Mon, 3 Feb 2020 13:46:53 +0000 (19:16 +0530)]
arm: dts: k3-j721e-r5-common-proc-board: Disable power-domains for mcu uart

mcu uart will be used during uart boot for loading sysfw.itb. Since
sysfw is not yet available during uart load, power-domain cannot be
enabled. We need to rely on ROM for doing that, so disable power-domains
and clocks for mcu uart. Also fix the mcu uart frequency.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
4 years agoconfigs: am43xx_evm: Enable SPL_ETH_SUPPORT
Faiz Abbas [Fri, 31 Jan 2020 09:53:58 +0000 (15:23 +0530)]
configs: am43xx_evm: Enable SPL_ETH_SUPPORT

Enable CONFIG_SPL_ETH_SUPPORT to fix ethernet boot support.

Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
4 years agoarm: dts: am437x-gp-evm: Add some nodes to u-boot.dtsi
Faiz Abbas [Fri, 31 Jan 2020 09:53:57 +0000 (15:23 +0530)]
arm: dts: am437x-gp-evm: Add some nodes to u-boot.dtsi

Add scm_conf syscon node and its parents as well as the ethernet phy
node to u-boot.dtsi. This enables ethernet boot.

Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
4 years agotravis/gitlab/azure: Ensure we use python3 always
Tom Rini [Tue, 11 Feb 2020 17:41:14 +0000 (12:41 -0500)]
travis/gitlab/azure: Ensure we use python3 always

When running our tests there are some cases where as part of the Python
2.7 to Python 3.6 migration we didn't force Python 3.6 to be used as
everything wasn't yet migrated.  Now that everything is, make sure to
tell virtualenv to use python3.  In the case of Travis this is best done
by making the tools test happen after the main tests so that it will
already have been run in all cases, TEST_PY_TOOLS is a subset of
TEST_PY_BD.

Signed-off-by: Tom Rini <trini@konsulko.com>
4 years agoboard_f: Make clear_bss generic
Ovidiu Panait [Wed, 5 Feb 2020 06:54:42 +0000 (08:54 +0200)]
board_f: Make clear_bss generic

clear_bss is already used by 3 arches (x86, arc, xtensa), so make it generic
and provide a weak nop stub for it. This also removes arch-specific ifdef
duplications around clear_bss.

Signed-off-by: Ovidiu Panait <ovpanait@gmail.com>
4 years agonet: convert NET_MAXDEFRAG to Kconfig
Rasmus Villemoes [Fri, 7 Feb 2020 15:17:42 +0000 (15:17 +0000)]
net: convert NET_MAXDEFRAG to Kconfig

Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
Reviewed-by: Simon Glass <sjg@chromium.org>
4 years agoram: rockchip: Fix Kconfig dependency for RAM_ROCKCHIP_DEBUG
Michal Simek [Thu, 13 Feb 2020 07:29:45 +0000 (08:29 +0100)]
ram: rockchip: Fix Kconfig dependency for RAM_ROCKCHIP_DEBUG

There is no reason to show RAM_ROCKCHIP_DEBUG entry in other .config files
as I see it for Xilinx ZynqMP.

\# CONFIG_U_QE is not set
\# CONFIG_RAM is not set
CONFIG_RAM_ROCKCHIP_DEBUG=y

Add missing dependency on RAM_ROCKCHIP driver.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agodoc: board: add Rockchip to doc/board/index.rst
Heinrich Schuchardt [Fri, 7 Feb 2020 20:25:09 +0000 (21:25 +0100)]
doc: board: add Rockchip to doc/board/index.rst

Fix a build error

checking consistency...
/doc/board/rockchip/index.rst:
WARNING: document isn't included in any toctree

Fixes: 338b86c9b305 ("doc: boards: Add rockchip documentation")
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
4 years agocommon/console.c: discard volatile
Heinrich Schuchardt [Wed, 12 Feb 2020 17:23:49 +0000 (18:23 +0100)]
common/console.c: discard volatile

Avoid errors of like

common/console.c: In function ‘console_record_reset’:
common/console.c:615:16: error: passing argument 1 of ‘membuff_purge’
discards ‘volatile’ qualifier from pointer target type
[-Werror=discarded-qualifiers]
  615 |  membuff_purge(&gd->console_out);
      |                ^~~~~~~~~~~~~~~~

by casting to non-volatile.

The volatile property stems from declarations like

arch/arm/include/asm/global_data.h:114:

But there is no need to treat gd->console_out and gd->console_in as
volatile in the context of common/console.c.

Fixes: b612312816ff ("console: Add a function to read a line of the output / eof")
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
4 years agotest: aes: fix memleak
Philippe Reynes [Thu, 6 Feb 2020 16:12:59 +0000 (17:12 +0100)]
test: aes: fix memleak

In the first version, the result of malloc is checked
with ut_assertnonnull. But on a fail, this macro exit
the function, so previously malloc are not freed.

So to avoid a memleak, we don't use ut_assertnonnull,
but simply check the return of malloc. If one has failed,
we freed all the allocated memory and quit the function.

Reported-by: Coverity (CID: 284403)
Reported-by: Coverity (CID: 284404)
Reported-by: Coverity (CID: 284405)
Reported-by: Coverity (CID: 284406)
Reported-by: Coverity (CID: 284407)
Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com>
4 years agopci: definition of pci_addr_t and pci_size_t
Heinrich Schuchardt [Wed, 5 Feb 2020 20:59:12 +0000 (21:59 +0100)]
pci: definition of pci_addr_t and pci_size_t

Currently the size of pci_addr_t and pci_size_t depends on
CONFIG_SYS_PCI_64BIT. For qemu_arm64_defconfig with 4 GiB RAM this leads
to an error

    pci_hose_phys_to_bus: invalid physical address

which is due to the truncation of the bus address in _dm_pci_phys_to_bus.

Defining CONFIG_SYS_PCI_64BIT is not a solution as this results in an error

   PCI: Failed autoconfig bar 10

So let's use unsigned long for pci_addr_t and pci_size_t if
CONFIG_SYS_PCI_64BIT is not defined.

Considering that 32bit U-Boot is used to launch some 64bit x86 systems we
cannot do without CONFIG_SYS_PCI_64BIT requiring u64 as type.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
4 years agoMerge tag 'arc-fixes-for-2020.04-rc2' of https://gitlab.denx.de/u-boot/custodians...
Tom Rini [Wed, 12 Feb 2020 22:20:25 +0000 (17:20 -0500)]
Merge tag 'arc-fixes-for-2020.04-rc2' of https://gitlab.denx.de/u-boot/custodians/u-boot-arc

As usual a bit late a couple of tiny fixes and improvements for ARC.

1. Switch from ARC UART to a convenient DW UART on ARC
   simulation platforms. This became avaialble when nSIM got support
   of that much more standard UART (starting from nSIM v2019.06).
   FWIW also available now in Free nSIM [1].

   This among other things allows us finally to use the same one binary
   on all our simulators & FPGA-based emulators.

2. Disable networking support on simulated platforms as there's no
   network interface in them.

3. Add Virtio net & block devices for the configuration supported
   by QEMU so that we may leverage those virtual peripherals and
   in fact it's possible to load uImage from TFTP server and bootm it.

4. Minor fixes for HSDK clocks.

5. Rework of how we chose and use compiler options for ARC-based boards.
   In real world ARC-based designs are customized more or less but very
   rarely match any of our "templates" thus it makes not much sense to
   pretend we have some fixed configs, instead we now will fully reply
   on a SoC or even board on getting precise set of compiler options
   preferably even extracted from real HW via "tcfgen" utility.

6. Well and finally yet another simplification - switch to generic
   written in C accessors which are much more universal and just work
   for any target supported by the complier as compared to GAS
   implementation which is much more target-dependent.

   This one was heavily "inspired" by similar implementation for RISCV
   and ARM.

[1] https://www.synopsys.com/cgi-bin/dwarcnsim/req1.cgi

4 years agoARM: dts: stm32: Add DH Electronics DHCOM SoM and PDK2 board
Marek Vasut [Fri, 24 Jan 2020 17:39:16 +0000 (18:39 +0100)]
ARM: dts: stm32: Add DH Electronics DHCOM SoM and PDK2 board

Add support for DH Electronics DHCOM SoM and PDK2 rev. 400 carrier
board. This is an SoM with STM32MP15xx and an evaluation kit. The
baseboard provides Ethernet, UART, USB, CAN and optional display.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Patrick Delaunay <patrick.delaunay@st.com>
Cc: Patrice Chotard <patrice.chotard@st.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@st.com>
4 years agoARC: Switch to generic accessors
Alexey Brodkin [Mon, 20 Jan 2020 10:37:38 +0000 (13:37 +0300)]
ARC: Switch to generic accessors

First of all U-Boot is not that performance oriented as real run-time
software like OS or user bare-metal app so we may afford being not super
fast as we only being executed once. That in return allows us to be more
universal and support wider variety of devices.

And looking forward that will significantly reduce maintenance and simplify
support of newer architectures.

And while at it we add quad-word accessors like readq(), writeq() etc.

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
4 years agoARC: rework setting of ARC CPU specific compiler options
Eugeniy Paltsev [Wed, 12 Feb 2020 11:23:54 +0000 (14:23 +0300)]
ARC: rework setting of ARC CPU specific compiler options

It's a very rare if at all existing occasion when ARC CPU template
is used as is w/o any changes - in the end it's a beauty and competitive
advantage of ARC cores to be tailored for a particular use-case - and
so it doesn't make a lot of sense to offer template-based "-mcpu" selection.
Given for each and every platform we end-up adding quite a few more flags
it's logical to move "-mcpu" selection to platform's definition as well
which we exactly do here.

Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
4 years agoCLK: HSDK: fix HDMI clock calculation
Eugeniy Paltsev [Wed, 29 Jan 2020 11:08:30 +0000 (14:08 +0300)]
CLK: HSDK: fix HDMI clock calculation

HDMI PLL has its own xtal with 27 MHz output but we treat it the same
way as other PLLs with 33.33 MHz input.
Fix that.

Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
4 years agoCLK: HSDK: Check for PLL bypass firstly
Eugeniy Paltsev [Wed, 29 Jan 2020 11:08:29 +0000 (14:08 +0300)]
CLK: HSDK: Check for PLL bypass firstly

Pll bypass has priority over enable/disable.

Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
4 years agoARC: nsim_hs38: Add support of Virtio NET & BLK
Alexey Brodkin [Thu, 26 Dec 2019 11:47:42 +0000 (14:47 +0300)]
ARC: nsim_hs38: Add support of Virtio NET & BLK

Given now nsim_hs38 configuration is usable on QEMU and in QEMU
we have Virtio working perfectly fine the next logical step
is to add support of supported & known to work net & bkl to this
config.

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
4 years agoARC: nsim_{700|700be|hs38be}_defconfigs: Disable networking
Alexey Brodkin [Thu, 26 Dec 2019 10:52:07 +0000 (13:52 +0300)]
ARC: nsim_{700|700be|hs38be}_defconfigs: Disable networking

We don't have yet any brc700 or big-enadian platforms with networking
support to run this particular configuration.

Whenever QEMU for ARC supports arc700 or big-endian targets we may revisit
this one.

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
4 years agoARC: nSIM: switch from ARC UART to DW UART
Alexey Brodkin [Thu, 26 Dec 2019 10:46:27 +0000 (13:46 +0300)]
ARC: nSIM: switch from ARC UART to DW UART

Since v2019.06 DesingWare nSIM supports DesignWare UART simulation
and so we may switch from pretty unusual ARC UART to much more standard
DesignWare UART (which in case of U-Boot is just an ordinary 16650 UART).

This among other things makes built dinaries compatible with our other
platforms to name a few: FPGA-based HAPS boards, QEMU and even ZeBU.

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
4 years agoPrepare v2020.04-rc2
Tom Rini [Wed, 12 Feb 2020 14:30:43 +0000 (09:30 -0500)]
Prepare v2020.04-rc2

Signed-off-by: Tom Rini <trini@konsulko.com>
4 years agoRevert "gitlab: Disable SDL when building sandbox"
Simon Glass [Wed, 12 Feb 2020 00:15:19 +0000 (17:15 -0700)]
Revert "gitlab: Disable SDL when building sandbox"

This is not needed now that we have SDL2 in the docker image. It causes
test failures for tests which need video to work.

This reverts commit af800722eb718bec51c5943cfb69231acf15178f.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 years agoMerge tag 'dm-pull-6feb20' of https://gitlab.denx.de/u-boot/custodians/u-boot-dm
Tom Rini [Tue, 11 Feb 2020 15:58:41 +0000 (10:58 -0500)]
Merge tag 'dm-pull-6feb20' of https://gitlab.denx.de/u-boot/custodians/u-boot-dm

sandbox conversion to SDL2
TPM TEE driver
Various minor sandbox video enhancements
New driver model core utility functions

4 years agoMerge branch '2020-02-10-master-imports'
Tom Rini [Tue, 11 Feb 2020 12:32:44 +0000 (07:32 -0500)]
Merge branch '2020-02-10-master-imports'

- Regulator fix
- Documentation fix
- Correct LOGLEVEL range

4 years agoKconfig: update LOGLEVEL range
Marek Bykowski [Mon, 3 Feb 2020 10:43:32 +0000 (11:43 +0100)]
Kconfig: update LOGLEVEL range

As LOGLEVEL ranges form 0 to 9 set the limit to 10.

Signed-off-by: Marek Bykowski <marek.bykowski@gmail.com>
4 years agodm: fix design.rst document
Dario Binacchi [Sun, 9 Feb 2020 18:57:41 +0000 (19:57 +0100)]
dm: fix design.rst document

The patch fixes some errors.

Signed-off-by: Dario Binacchi <dariobin@libero.it>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
4 years agoregulator: fix: Move code to enable gpio regulator to pre_probe from ofdata_to_platdata
Lukasz Majewski [Sat, 25 Jan 2020 08:00:58 +0000 (09:00 +0100)]
regulator: fix: Move code to enable gpio regulator to pre_probe from ofdata_to_platdata

The commit e8e9715df2d4 ("regulator: fixed: Modify enable-active-high behavior")
fixed the regulator driver behavior when 'enable-active-high' is defined.
Unfortunately, this patch used dm_regulator_platdata()'s "boot_on" member
to set GPIOD_IS_OUT_ACTIVE flag and enable the regulator.

The issue here is that regulator_common_ofdata_to_platdata() is called
_before_ regulator_pre_probe() function in which the 'regulator-boot-on'
property is asserted.

As a result the GPIOD_IS_OUT_ACTIVE flag is not set and gpio_request_by_name()
called in the former function is not enabling the regulator.
This is problematic for e.g. i.MX ethernet driver, which then tries to
perform initialization without power (and fails).

The solution here is to explicitly enable regulator in regulator_pre_probe()
callback only when 'regulator-boot-on' property is present in device tree.
The GPIOD_IS_OUT_ACTIVE flag is not set at all, but relevant gpio is
requested.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
Reviewed-by: Patrice Chotard <patrice.chotard@st.com>
Tested-by: Patrice Chotard <patrice.chotard@st.com>
4 years agoMerge https://gitlab.denx.de/u-boot/custodians/u-boot-x86
Tom Rini [Mon, 10 Feb 2020 17:27:31 +0000 (12:27 -0500)]
Merge https://gitlab.denx.de/u-boot/custodians/u-boot-x86

- Move P2SB from Apollo Lake to a more generic location
- Add a function to find a device by drvdata in DM core
- Enhancement of DM IRQ uclass driver
- Add a clock driver for Intel devices
- Add support for ACPI general-purpose events
- Add a TPM driver for H1/Cr50
- Enable TPM on Google Chromebook Coral

4 years agoMerge tag 'fixes-for-v2020.04' of https://gitlab.denx.de/u-boot/custodians/u-boot...
Tom Rini [Mon, 10 Feb 2020 17:08:51 +0000 (12:08 -0500)]
Merge tag 'fixes-for-v2020.04' of https://gitlab.denx.de/u-boot/custodians/u-boot-video

- fix Coverity CID 280902 issue in vid_console_color()
- fix vid_console_color() build warning
- fix for mxsfb to ensure correct Linux logo position

4 years agoMerge tag 'u-boot-imx-20200210' of https://gitlab.denx.de/u-boot/custodians/u-boot-imx
Tom Rini [Mon, 10 Feb 2020 14:04:11 +0000 (09:04 -0500)]
Merge tag 'u-boot-imx-20200210' of https://gitlab.denx.de/u-boot/custodians/u-boot-imx

- Convert to DM:
- bx50v3, mx53ppd, novena, mx6sabresd
- Fixes for Xea Board
- Toradex im8m Verdin
- Cleanup (warp7, mx6sxsabresd)

Travis : https://travis-ci.org/sbabic/u-boot-imx/builds/648131788

4 years agoMerge https://gitlab.denx.de/u-boot/custodians/u-boot-riscv
Tom Rini [Mon, 10 Feb 2020 12:48:03 +0000 (07:48 -0500)]
Merge https://gitlab.denx.de/u-boot/custodians/u-boot-riscv

- Fix ax25-ae350.rst document.
- Refine RISC-V linker script and start.S.
- Add option to print more information on exception.

4 years agoriscv: Remove unnecessary instruction
Sean Anderson [Mon, 27 Jan 2020 21:39:44 +0000 (16:39 -0500)]
riscv: Remove unnecessary instruction

The add instruction on risc-v can have any three sources and targets, so there
is no need for an intermediate mov.

Signed-off-by: Sean Anderson <seanga2@gmail.com>
Reviewed-by: Rick Chen <rick@andestech.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
4 years agodoc: fix opensbi build steps for AX25-AE350
Jagan Teki [Mon, 30 Dec 2019 14:29:09 +0000 (19:59 +0530)]
doc: fix opensbi build steps for AX25-AE350

OpenSBI build steps are marked as normal text in
AX25-AE350 documentation.

Move them into code-block so-that it can show it
as build steps.

Cc: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Rick Chen <rick@andestech.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
4 years agodoc: fix AX25-AE350 RISC-V documentation
Heinrich Schuchardt [Fri, 27 Dec 2019 18:50:53 +0000 (19:50 +0100)]
doc: fix AX25-AE350 RISC-V documentation

Since commit 04883bf7acca ("doc: update AX25-AE350 RISC-V documentation")
`make htmldocs` produces a log of warnings like

doc/board/AndesTech/ax25-ae350.rst:373:
WARNING: Block quote ends without a blank line; unexpected unindent.
doc/board/AndesTech/ax25-ae350.rst:0:
WARNING: Undefined substitution referenced: "_ __ ___ _ __ | (___ | |_) |".

Reformat the problematic passages.

Fixes: 04883bf7acca ("doc: update AX25-AE350 RISC-V documentation")
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Jagan Teki <jagan@amarulasolutions.com>
Reviewed-by: Rick Chen <rick@andestech.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
4 years agoriscv: Add option to print registers on exception
Sean Anderson [Wed, 25 Dec 2019 05:27:44 +0000 (00:27 -0500)]
riscv: Add option to print registers on exception

When debugging, it can be helpful to see more information about an
unhandled exception. This patch adds an option to view the registers at
the time of the trap, similar to the linux output on a kernel panic.

Signed-off-by: Sean Anderson <seanga2@gmail.com>
Reviewed-by: Rick Chen <rick@andestech.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
4 years agoriscv: Fix breakage caused by linker relaxation
Sean Anderson [Wed, 18 Dec 2019 02:35:32 +0000 (21:35 -0500)]
riscv: Fix breakage caused by linker relaxation

Due to the two-instruction sequence needed to access arbitrary memory
locations, the RISC-V linker aggressively optimises memory accesses and
jumps at link-time. This is called "linker relaxation," and is discussed
in this SiFive article
<https://www.sifive.com/blog/all-aboard-part-3-linker-relaxation-in-riscv-toolchain>.
One of the optimizations in place is to assume that the __global_pointer
symbol is placed in the gp register. To quote the article:

"...The magic __global_pointer$ symbol is defined to point 0x800 bytes
past the start of the .sdata section. The 0x800 magic number allows
signed 12-bit offsets from __global_pointer$ to address symbols at the
start of the .sdata section. The linker assumes that if this symbol is
defined, then the gp register contains that value, which it can then use
to relax accesses to global symbols within that 12-bit range. The
compiler treats the gp register as a constant so it doesn't need to be
saved or restored, which means it is generally only written by _start,
the ELF entry point."

However, U-Boot instead keeps the global data pointer in gp. This causes
memory accesses and jumps optimized to use the gp pointer to fail. To
fix this problem, we undefine the __global_pointer symbol.

Signed-off-by: Sean Anderson <seanga2@gmail.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Rick Chen <rick@andestech.com>
4 years agoboard: ge: bx50v3, imx53ppd: configure CONFIG_SYS_BOOTMAPSZ
Ian Ray [Fri, 31 Jan 2020 13:08:04 +0000 (15:08 +0200)]
board: ge: bx50v3, imx53ppd: configure CONFIG_SYS_BOOTMAPSZ

Configure `CONFIG_SYS_BOOTMAPSZ' per guidance on u-boot@lists.denx.de.

Signed-off-by: Ian Ray <ian.ray@ge.com>
4 years agoboard: ge: bx50v3, mx53ppd: fix firstboot detection
Robert Beckett [Fri, 31 Jan 2020 13:08:03 +0000 (15:08 +0200)]
board: ge: bx50v3, mx53ppd: fix firstboot detection

Use `test' command to test for file existence instead of relying on the
old functionality of the `ext2load' command (which now reports an error
when attempting to load a zero length file).

Signed-off-by: Robert Beckett <bob.beckett@collabora.com>
Signed-off-by: Ian Ray <ian.ray@ge.com>
4 years agoboard: ge: mx53ppd: use DM for uart
Ian Ray [Fri, 31 Jan 2020 13:08:02 +0000 (15:08 +0200)]
board: ge: mx53ppd: use DM for uart

Drop PPD_UART_PAD_CTRL since it matches defaults.
Enable DM serial and MXC uart.

Signed-off-by: Ian Ray <ian.ray@ge.com>
Signed-off-by: Robert Beckett <bob.beckett@collabora.com>
4 years agoboard: ge: bx50v3: use DM for uart
Robert Beckett [Fri, 31 Jan 2020 13:08:01 +0000 (15:08 +0200)]
board: ge: bx50v3: use DM for uart

Remove legacy uart pad and iomux code
Enable DM serial and mxc uart

Signed-off-by: Robert Beckett <bob.beckett@collabora.com>
4 years agoboard: ge: mx53ppd: Use DM for ethernet
Robert Beckett [Fri, 31 Jan 2020 13:08:00 +0000 (15:08 +0200)]
board: ge: mx53ppd: Use DM for ethernet

Remove legacy iomux setup for fec.
Enable phylib and DM fec.
Use Kconfig for enabling fec.

Signed-off-by: Robert Beckett <bob.beckett@collabora.com>
4 years agoboard: ge: bx50v3: Enable DM PWM for backlight
Robert Beckett [Fri, 31 Jan 2020 13:07:59 +0000 (15:07 +0200)]
board: ge: bx50v3: Enable DM PWM for backlight

Add backlight and panel devicetree definitions
Use UCLASS_PANEL to enable backlight via display enable handler
Remove old explicit gpio code for handling backlight
Use cls command to initiate display in HW agnostic manner
Enable DM regulator and pwm

Signed-off-by: Robert Beckett <bob.beckett@collabora.com>
4 years agoboard: ge: bx50v3: override panel
Ian Ray [Fri, 31 Jan 2020 13:07:58 +0000 (15:07 +0200)]
board: ge: bx50v3: override panel

Override the panel compatible string for LCD in U-Boot.

Include U-Boot device tree overrides in device-specific device trees so
that the panel compatible string is used.

Fixes: 8c26739859c6 ("board: ge: bx50v3: sync devicetrees from Linux")
Signed-off-by: Ian Ray <ian.ray@ge.com>
4 years agoboard: ge: mx53ppd: enable DM_VIDEO
Ian Ray [Fri, 31 Jan 2020 13:07:57 +0000 (15:07 +0200)]
board: ge: mx53ppd: enable DM_VIDEO

Enable DM_VIDEO for mx53ppd.
Enable DM_REGULATOR_FIXED and DM_PWM for the backlight.
Remove unused MX53PPD_LCD_POWER.
Remove old (incorrect) setup_iomux_lcd.
Enable backlight via display enable handler.
Use cls command to initiate display in HW agnostic manner.
Modify `failbootcmd' to use lcdputs.

Signed-off-by: Ian Ray <ian.ray@ge.com>
Signed-off-by: Robert Beckett <bob.beckett@collabora.com>
4 years agoboard: ge: mx53ppd: add i2c eeprom bootcount storage
Robert Beckett [Fri, 31 Jan 2020 13:07:56 +0000 (15:07 +0200)]
board: ge: mx53ppd: add i2c eeprom bootcount storage

Add bootcount node, linking to i2c eeprom "bootcount" partitions for
storage.
Enable i2c eeprom bootcount backend storage.
Enable bootcount command and use it for failbootcmd.

Signed-off-by: Robert Beckett <bob.beckett@collabora.com>
4 years agoboard: ge: bx50v3: add i2c eeprom bootcount storage
Robert Beckett [Fri, 31 Jan 2020 13:07:55 +0000 (15:07 +0200)]
board: ge: bx50v3: add i2c eeprom bootcount storage

Add bootcount node, linking to i2c eeprom "bootcount" partitions for
storage.
Enable i2c eeprom bootcount backend storage.
Enable bootcount command and use it for failbootcmd.

Signed-off-by: Robert Beckett <bob.beckett@collabora.com>
4 years agoboard: ge: bx50v3, imx53ppd: use DM I2C
Robert Beckett [Fri, 31 Jan 2020 13:07:54 +0000 (15:07 +0200)]
board: ge: bx50v3, imx53ppd: use DM I2C

Remove old (pre-DM) i2c setup code.
Enable DM i2c.
Convert common code to use DM rtc.
Convert common code to read VPD from eeprom partition.
Convert the generic i2c PMIC init code to use the new da9063 driver.

mx53ppd only:
Correct RTC compatible in device tree.
Enable MXC DM i2c driver.
Define CONFIG_SYS_MALLOC_F_LEN so that DM is available in pre-reloc.
Make GPIO banks available during preloc, since initialisation is done
in board_early_init_f().
Add gpio_request() calls to satisfy the DM_GPIO compatibility API.
Remove unused power configuration.

Signed-off-by: Robert Beckett <bob.beckett@collabora.com>
Signed-off-by: Ian Ray <ian.ray@ge.com>
4 years agoboard: ge: bx50v3, imx53ppd: add eeprom partitions
Robert Beckett [Fri, 31 Jan 2020 13:07:53 +0000 (15:07 +0200)]
board: ge: bx50v3, imx53ppd: add eeprom partitions

Add eeprom partitions to device tree.

Signed-off-by: Robert Beckett <bob.beckett@collabora.com>
4 years agomisc: i2c_eeprom: set offset len and chip addr offset mask
Robert Beckett [Fri, 31 Jan 2020 13:07:52 +0000 (15:07 +0200)]
misc: i2c_eeprom: set offset len and chip addr offset mask

Set the correct offset length and chip address offset mask for each
device to allow correct access to total capacity of the devices.

Signed-off-by: Robert Beckett <bob.beckett@collabora.com>
4 years agoimx: mx6ul_14x14_evk: turn of backlight and LCD before booting OS
Anatolij Gustschin [Sat, 25 Jan 2020 23:35:59 +0000 (00:35 +0100)]
imx: mx6ul_14x14_evk: turn of backlight and LCD before booting OS

This should help keeping the screen black when booting the kernel.

Signed-off-by: Anatolij Gustschin <agust@denx.de>
Reported-by: Fabio Estevam <festevam@gmail.com>
Tested-by: Fabio Estevam <festevam@gmail.com>
4 years agomx6sabresd: Convert PCI to driver model
Alifer Moraes [Mon, 20 Jan 2020 16:31:02 +0000 (13:31 -0300)]
mx6sabresd: Convert PCI to driver model

Convert imx6sabresd PCI to driver model to fix the following warning:

===================== WARNING ======================
This board does not use CONFIG_DM_PCI Please update
the board to use CONFIG_DM_PCI before the v2019.07 release.
Failure to update by the deadline may result in board removal.
See doc/driver-model/MIGRATION.txt for more info.
====================================================

After the conversion the following commands were used for testing:

=> pci enum
PCI: Failed autoconfig bar 10
PCI: Failed autoconfig bar 10
=> pci 1
Scanning PCI devices on bus 1
BusDevFun  VendorId   DeviceId   Device Class       Sub-Class
Reviewed-by: Fabio Estevam <festevam@gmail.com>
4 years agomx6sabre_common: Remove FEC related settings
Fabio Estevam [Mon, 20 Jan 2020 16:31:01 +0000 (13:31 -0300)]
mx6sabre_common: Remove FEC related settings

In preparation for converting to DM_ETH and moving the FEC symbols
to Kconfig we need to move the FEC definitions to mx6sabreauto.h
and mx6sabresd.h to avoid build breakage during the conversion.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
Signed-off-by: Alifer Moraes <alifer.wsdm@gmail.com>
4 years agoimx6: aristainetos: fix NAND detection with latest mainline
Heiko Schocher [Thu, 30 Jan 2020 13:10:05 +0000 (14:10 +0100)]
imx6: aristainetos: fix NAND detection with latest mainline

commit 88718be30010 ("mtd: rename CONFIG_NAND -> CONFIG_MTD_RAW_NAND")
moved CONFIG_NAND -> CONFIG_MTD_RAW_NAND. Adapt board code to this
change, as last merge did not respect the above commit.

Signed-off-by: Heiko Schocher <hs@denx.de>
4 years agoARM: imx: novena: Enable DM thermal
Marek Vasut [Mon, 27 Jan 2020 00:15:28 +0000 (01:15 +0100)]
ARM: imx: novena: Enable DM thermal

Enable DM thermal driver and iMX thermal driver to get accurate
CPU frequency reporting in the boot log.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Vagrant Cascadian <vagrant@debian.org>
4 years agoARM: imx: novena: Enable DM ethernet
Marek Vasut [Mon, 27 Jan 2020 00:15:27 +0000 (01:15 +0100)]
ARM: imx: novena: Enable DM ethernet

Convert to DM ethernet to prevent board removal.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Vagrant Cascadian <vagrant@debian.org>
4 years agoARM: imx: novena: Move defconfig bits to arch Kconfig
Marek Vasut [Mon, 27 Jan 2020 00:15:26 +0000 (01:15 +0100)]
ARM: imx: novena: Move defconfig bits to arch Kconfig

Just move the defconfig entries which are required into the Novena
entry in arch Kconfig, no functional change.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Vagrant Cascadian <vagrant@debian.org>
4 years agomx7dsabre: Fix usbtog probe when use dfu or ums
Joris Offouga [Wed, 29 Jan 2020 21:06:01 +0000 (22:06 +0100)]
mx7dsabre: Fix usbtog probe when use dfu or ums

Before:
=> ums 0 mmc 0
UMS: LUN 0, dev 0, hwpart 0, sector 0x0, count 0x1dacc00
usb dr_mode not found
CTRL+C - Operation aborted
=> dfu 0 mmc 0
usb dr_mode not found

After :
=> ums 0 mmc 0
UMS: LUN 0, dev 0, hwpart 0, sector 0x0, count 0x1dacc00
=> dfu 0 mmc 0

Signed-off-by: Joris Offouga <offougajoris@gmail.com>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
4 years agoarm: dts: imx7s-warp7: Move u-boot specific node in u-boot.dtsi
Joris Offouga [Wed, 29 Jan 2020 21:06:00 +0000 (22:06 +0100)]
arm: dts: imx7s-warp7: Move u-boot specific node in u-boot.dtsi

These nodes are not in upstream kernel, so move these in u-boot.dtsi

Signed-off-by: Joris Offouga <offougajoris@gmail.com>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
4 years agowarp7: remove unused usb configs
Joris Offouga [Wed, 29 Jan 2020 21:05:59 +0000 (22:05 +0100)]
warp7: remove unused usb configs

With commit 6b503f9e6549("warp7: Switch to DM USB").
These configs are not necessary

Signed-off-by: Joris Offouga <offougajoris@gmail.com>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
4 years agowarp7: Fix the pmic_get() parameter in the DM case
Joris Offouga [Wed, 29 Jan 2020 21:05:58 +0000 (22:05 +0100)]
warp7: Fix the pmic_get() parameter in the DM case

When pmic_get() is used with DM the first parameter must be
the complete node name plus the unit address, so fix it
accordingly

Signed-off-by: Joris Offouga <offougajoris@gmail.com>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
4 years agoarm: xea: dts: Add 'fec-3v3' regulator properties to prevent accidental disablement
Lukasz Majewski [Sat, 25 Jan 2020 08:01:40 +0000 (09:01 +0100)]
arm: xea: dts: Add 'fec-3v3' regulator properties to prevent accidental disablement

The 'enable-active-high' DTS property configures GPIO so it is active with
HIGH state (by default it is low).

The 'regulator-boot-on' property indicates that the regulator was enabled
in the 'earlier' stage - i.e. bootloader/firmware.
In the XEA case the 'fec-3v3' was configured (as a "wrapper" on GPIO0_0) in
very early SPL code, so it shouldn't be modified at latter stages.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
4 years agoarm: xea: spl: Add GPIO0_0 setup on spl_board_init
Lukasz Majewski [Sat, 25 Jan 2020 08:01:39 +0000 (09:01 +0100)]
arm: xea: spl: Add GPIO0_0 setup on spl_board_init

Explicitly configure GPIO0_0 in SPL, which controlls 3V3 voltage
on the XEA board (it also supplies TIVAs).

This code would enable TIVAs power supply early (also when board
uses the falcon boot).

Signed-off-by: Lukasz Majewski <lukma@denx.de>
4 years agoarm: xea: config: Enable support for XEA board specific device tree tweaks
Lukasz Majewski [Sat, 25 Jan 2020 08:01:38 +0000 (09:01 +0100)]
arm: xea: config: Enable support for XEA board specific device tree tweaks

This patch enables support for CONFIG_OF_BOARD_SETUP in xea defconfig.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
4 years agoarm: xea: Provide function to set L2 switch 'local-mac-address' property
Lukasz Majewski [Sat, 25 Jan 2020 08:01:37 +0000 (09:01 +0100)]
arm: xea: Provide function to set L2 switch 'local-mac-address' property

The 'local-mac-address' property needs to be adjusted to the MAC address
value stored in U-Boot's 'ethaddr' env variable.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
4 years agoarm: xea: defconfig: Define space for redundant envs in SPI-NOR flash
Lukasz Majewski [Sat, 25 Jan 2020 08:01:36 +0000 (09:01 +0100)]
arm: xea: defconfig: Define space for redundant envs in SPI-NOR flash

Redundant envs help with assuring better reliability for the system as they
prevent from the situation when envs are stored only in a single place.

Signed-off-by: Lukasz Majewski <lukma@denx.de>