platform/kernel/u-boot.git
2 years agoconfigs: rpi_4: disable USB_XHCI_PCI config 73/268173/2 accepted/tizen_6.0_unified accepted/tizen_6.0_unified_hotfix tizen_6.0 tizen_6.0_hotfix accepted/tizen/6.0/unified/20211220.133120 accepted/tizen/6.0/unified/hotfix/20211222.012850 submit/tizen_6.0/20211217.073345 submit/tizen_6.0_hotfix/20211220.042152 submit/tizen_6.0_hotfix/20211221.063452 submit/tizen_6.0_hotfix/20211222.000617
Jaehoon Chung [Thu, 16 Dec 2021 11:26:46 +0000 (20:26 +0900)]
configs: rpi_4: disable USB_XHCI_PCI config

Disable USB_XHCI_PCI config.
This patch is a workaround to disable xhci-pci driver.
(To support RPi4 revision 1.4 boards.)

Change-Id: I51b3f2b3c7350f58af9faf3d8a7cd96837cb5bdb
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
2 years agoboard: rpi: modify the tizen-boot-rpi4 bootscript 69/268169/2
Jaehoon Chung [Thu, 16 Dec 2021 01:19:01 +0000 (10:19 +0900)]
board: rpi: modify the tizen-boot-rpi4 bootscript

modify tizen-boot-rpi4 bootscript.

Change-Id: Ib2e192e37ce56f2fe01f3aa811cc31e0e4ba354f
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
2 years agommc: sdhci: move the ADMA2 table handling into own module 68/268168/2
Michael Walle [Wed, 23 Sep 2020 10:42:51 +0000 (12:42 +0200)]
mmc: sdhci: move the ADMA2 table handling into own module

There are other (non-SDHCI) controllers which supports ADMA2 descriptor
tables, namely the Freescale eSDHC. Instead of copying the code, move it
into an own module.

Change-Id: Ibe27ea037e28efeeb6ae09c9a4e6e838c478473c
Signed-off-by: Michael Walle <michael@walle.cc>
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
2 years agommc: Introduce mmc_phys_to_bus()/mmc_bus_to_phys() 67/268167/2
Nicolas Saenz Julienne [Tue, 12 Jan 2021 12:55:29 +0000 (13:55 +0100)]
mmc: Introduce mmc_phys_to_bus()/mmc_bus_to_phys()

This will allow us to use DM variants of phys_to_bus()/bus_to_phys()
when relevant.

Change-Id: I09330b798d379fbf1045017fac87dfc7507ebdbb
Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
Tested-by: Peter Robinson <pbrobinson@gmail.com>
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
2 years agommc: bcm2835_sdhci: remove QUIRK_BROKEN_SDMA flag 66/268166/2
Jaehoon Chung [Wed, 22 Jan 2020 23:45:52 +0000 (08:45 +0900)]
mmc: bcm2835_sdhci: remove QUIRK_BROKEN_SDMA flag

Remove QUIRK_BROKEN_SDMA flag.

Change-Id: I6206ccb6ade14f51786d5603ae5207840ac51f63
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
2 years agommc: bcm2835_sdhci: set SDHCI_QUIRK_BROKEN_SDMA flag 65/268165/2
Jaehoon Chung [Mon, 20 Jan 2020 09:50:45 +0000 (18:50 +0900)]
mmc: bcm2835_sdhci: set SDHCI_QUIRK_BROKEN_SDMA flag

RPI4 is used device-tree that taken from firmware.
mmcnr@73e00000 is enabled on device-tree, so it's probed on u-boot side.
Because it's for SDIO interface, it doesn't need to probe.
When SDMA is enabled, mmcnr's probe is always failed.

Below log is unnecessary :
  sdhci_setup_cfg: Your controller doesn't support SDMA!!
  mmcnr@7e30000 - probe failed: -22

Change-Id: Icb1cbebf9172d8bf6d14bd167e28eb3d570a21cd
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
2 years agommc: sdhci: Use upper/lower_32_bits macros 64/268164/2
Michal Simek [Wed, 29 Jul 2020 13:42:26 +0000 (15:42 +0200)]
mmc: sdhci: Use upper/lower_32_bits macros

Instead of recasting and shifting use macros which are designed for taking
upper/lower 32bit value from 64bit variable.

Change-Id: If7b4e333a17ba7fe983bab5913ddef8ce5e60a0e
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2 years agommc: sdhci: use phys2bus macro when dma address is accessed 63/268163/2
Jaehoon Chung [Fri, 27 Mar 2020 04:08:00 +0000 (13:08 +0900)]
mmc: sdhci: use phys2bus macro when dma address is accessed

Use phys2bus macro when dma address is accessed.
Some targets need to use pyhs2bus macro. (e.g, RPI4)
After applied it, SDMA mode can be used.

Change-Id: Icf08233f3c36ecd04465e4cd00aa5a010775fd2d
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Minkyu Kang <mk7.kang@samsung.com>
Signed-off-by: Matthias Brugger <mbrugger@suse.com>
2 years agommc: sdhci: fix missing cache invalidation after reading by DMA 62/268162/2
Masahiro Yamada [Fri, 14 Feb 2020 07:40:27 +0000 (16:40 +0900)]
mmc: sdhci: fix missing cache invalidation after reading by DMA

This driver currently performs cache operation before the DMA start,
but does nothing after the DMA completion.

When reading data by DMA, the cache invalidation is needed also after
finishing the DMA transfer. Otherwise, the CPU might read data from
the cache instead of from the main memory when speculative memory read
or memory prefetch occurs.

Instead of calling the cache operation directly, this commit adds
dma_unmap_single(), which performs cache invalidation internally,
but drivers do not need which operation is being run.

Change-Id: I482691baa09ec07e119db4ae6b6be715a6c747eb
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2 years agommc: sdhci: use dma_map_single() instead of flush_cache() before DMA 61/268161/2
Masahiro Yamada [Fri, 14 Feb 2020 07:40:26 +0000 (16:40 +0900)]
mmc: sdhci: use dma_map_single() instead of flush_cache() before DMA

Currently, sdhci_prepare_dma() calls flush_cache() regardless of the
DMA direction.

Actually, cache invalidation is enough when reading data from the device.

This is correctly handled by dma_map_single(), which mimics the DMA-API
in Linux kernel. Drivers can be agnostic which cache operation occurs
behind the scene.

This commit also sanitizes the difference between the virtual address
and the dma address.

Change-Id: I1476a9459f1b3385c102b71ad401f6ad60e13ee8
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2 years agommc: add mmc_get_dma_dir() helper 60/268160/2
Masahiro Yamada [Fri, 14 Feb 2020 07:40:25 +0000 (16:40 +0900)]
mmc: add mmc_get_dma_dir() helper

Copied from Linux kernel.
include/linux/mmc/host.h

Change-Id: I56a5906ea9635137d2680a5e017ae05158909c18
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
2 years agommc: sdhci: remove unneeded casts 59/268159/2
Masahiro Yamada [Fri, 14 Feb 2020 07:40:24 +0000 (16:40 +0900)]
mmc: sdhci: remove unneeded casts

host->mmc is already (struct mmc *).

memalign() returns an opaque pointer, so there is no need for casting.

Change-Id: Ib41d929fac5145ed8b5bcad93d15ff5ca2541fa8
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
2 years agommc: sdhci: use lower_32_bit2() and upper_32_bits() for setting adma_addr 58/268158/2
Masahiro Yamada [Fri, 14 Feb 2020 07:40:23 +0000 (16:40 +0900)]
mmc: sdhci: use lower_32_bit2() and upper_32_bits() for setting adma_addr

Use {lower,upper}_32_bits() instead of the combination of cast
and shift.

Change-Id: I619fb7c4fef77e029f9b8c7d861ef4004e01cfd4
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
2 years agommc: sdhci: reduce code duplication for aligned buffer 57/268157/2
Masahiro Yamada [Fri, 14 Feb 2020 07:40:22 +0000 (16:40 +0900)]
mmc: sdhci: reduce code duplication for aligned buffer

The same code is run for both SDHCI_QUIRK_32BIT_DMA_ADDR and
define(CONFIG_FIXED_SDHCI_ALIGNED_BUFFER).

Unify the code.

Change-Id: I1c7210da5638ec5049663df5d3c6a2032ac52f66
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
2 years agommc: sdhci: put the aligned buffer pointer to struct sdhci_host 56/268156/2
Masahiro Yamada [Fri, 14 Feb 2020 07:40:21 +0000 (16:40 +0900)]
mmc: sdhci: put the aligned buffer pointer to struct sdhci_host

Using the global variable does not look nice.

Add a new field sthci::align_buffer to point to the bounce buffer.

Change-Id: I02fb5eb21c0057bf723dc7c49f03b1f8b7b7048c
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
2 years agodma-mapping: move dma_map_(un)single() to <linux/dma-mapping.h> 55/268155/2
Masahiro Yamada [Fri, 14 Feb 2020 07:40:19 +0000 (16:40 +0900)]
dma-mapping: move dma_map_(un)single() to <linux/dma-mapping.h>

The implementation of dma_map_single() and dma_unmap_single() is
exactly the same for all the architectures that support them.

Factor them out to <linux/dma-mapping.h>, and make all drivers to
include <linux/dma-mapping.h> instead of <asm/dma-mapping.h>.

If we need to differentiate them for some architectures, we can
move the generic definitions to <asm-generic/dma-mapping.h>.

Add some comments to the helpers. The concept is quite similar to
the DMA-API of Linux kernel. Drivers are agnostic about what is
going on behind the scene. Just call dma_map_single() before the
DMA, and dma_unmap_single() after it.

Change-Id: I190e0ab3cdb35d56b918dba41151344d4b97402c
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2 years agodma-mapping: fix the prototype of dma_unmap_single() 54/268154/2
Masahiro Yamada [Fri, 14 Feb 2020 07:40:18 +0000 (16:40 +0900)]
dma-mapping: fix the prototype of dma_unmap_single()

dma_unmap_single() takes the dma address, not virtual address.

Change-Id: I90d611e4236b4d9089236019bb319cc4f7685a4f
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2 years agoARM: bcm283x: change the virtual address of the XHCI PCI device base 53/268153/2
Marek Szyprowski [Thu, 17 Jun 2021 08:57:02 +0000 (10:57 +0200)]
ARM: bcm283x: change the virtual address of the XHCI PCI device base

Move the XHCI PCI device base up in the virtual address space. This fixes
initialization failure observed on newer Raspberry Pi firmware (later
than 63b1922311 ("firmware: arm_loader: Update armstubs with those from
PR 117). It looks that chosing 0xff800000 as the XHCI PCI device base
conflicts with the updated ARM/VideoCore firmware.

This also requires to reduce the size of the mapped PCI device region
from 8MiB to 4MiB to fit into 32bit address space.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: Ie4423bf47269492dc5a4198dadf820600980ed8e

2 years agopci: brcmstb: Cleanup controller state before handover 52/268152/2
Nicolas Saenz Julienne [Thu, 14 Jan 2021 15:49:01 +0000 (16:49 +0100)]
pci: brcmstb: Cleanup controller state before handover

Make sure we handover the PCIe controller in a clean state. Some of the
devices hanging from the PCIe bus might need to be properly reset
through #PERST in order for Linux to be able to initialize them.

This is specially important in order to properly initialize Raspberry Pi
4 B and 400's USB chip.

Change-Id: I1650975684d3c0315dac4dfe44f58f33e78ba0ad
Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Signed-off-by: Matthias Brugger <mbrugger@suse.com>
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
2 years agousb: usb-uclass.c: Drop le16_to_cpu() as values are already swapped 72/268172/2
Stefan Roese [Tue, 21 Jul 2020 08:46:04 +0000 (10:46 +0200)]
usb: usb-uclass.c: Drop le16_to_cpu() as values are already swapped

These values are already swapped to CPU endianess, so swapping them
again is a bug. Let's remove the swap here instead.

Change-Id: If1cd1caf6de7e720dc846261691f567f8da081eb
Signed-off-by: Stefan Roese <sr@denx.de>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
Cc: Bin Meng <bmeng.cn@gmail.com>
Cc: Marek Vasut <marex@denx.de>
2 years agoxhci: translate virtual addresses into the bus's address space 51/268151/2
Nicolas Saenz Julienne [Tue, 12 Jan 2021 12:55:28 +0000 (13:55 +0100)]
xhci: translate virtual addresses into the bus's address space

So far we've been content with passing physical addresses when
configuring memory addresses into XHCI controllers, but not all
platforms have buses with transparent mappings. Specifically the
Raspberry Pi 4 might introduce an offset to memory accesses incoming
from its PCIe port.

Introduce xhci_virt_to_bus() and xhci_bus_to_virt() to cater with these
limitations, and make sure we don't break non DM users.

Change-Id: Ifde02ea1633e2fb741793b95102a9ce866028921
Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Stefan Roese <sr@denx.de>
Tested-by: Peter Robinson <pbrobinson@gmail.com>
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
2 years agousb: xhci: Fix compare to use physical addresses in xhci_bulk_tx() 50/268150/2
Stefan Roese [Fri, 15 Jan 2021 07:52:56 +0000 (08:52 +0100)]
usb: xhci: Fix compare to use physical addresses in xhci_bulk_tx()

Testing with v2021.01 on MIPS Octeon has shown, that the latest patch
for the "short packet event trb handling" did introduce a bug on
platforms with virtual address != physical address. This patch fixes
this issue by using the correct address types in the compare (both
physical in this case).

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Aaron Williams <awilliams@marvell.com>
Cc: Chandrakala Chavva <cchavva@marvell.com>
Cc: Ran Wang <ran.wang_1@nxp.com>
Cc: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Cc: Marek Vasut <marex@denx.de>
Cc: Bin Meng <bmeng.cn@gmail.com>
[backport of mainline commit cec804251d4b4765bbcaa207f4c931fef350585e]
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: Ia5cd6ce705e4b5f330a2bdae70efa0546562df51

2 years agousb: xhci: fix lack of short packet event trb handling 49/268149/2
Ran Wang [Wed, 18 Nov 2020 07:49:02 +0000 (15:49 +0800)]
usb: xhci: fix lack of short packet event trb handling

For bulk IN transfer, the codes will set ISP flag to request event TRB
being generated by xHC for the case of short packet. So when encountering
buffer-cross-64K-boundary (which we will divide payload and enqueuqe
more than 1 transfer TRB), and the first TRB ends up with a short packet
condition it will trigger an short packet code transfer event per that
flag and cause more than 1 event TRB generated for this transfer.

However, current codes will only handle the first transfer event TRB
then mark current transfer completed, causing next transfer
failure due to event TRB mis-match.

Such issue has been observed on some Layerscape platforms (LS1028A,
LS1088A, etc) with USB ethernet device.

This patch adds a loop to make sure the event TRB for last transfer TRB
has been handled in time.

Signed-off-by: Ran Wang <ran.wang_1@nxp.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
[backport of mainline commit 621ed49d3a2ea3c45be1cf774bef48439bd566f3]
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I96681cfacd51d94c70170f397402f5956bea0ee4

2 years agousb: xhci: avoid type conversion of void * 48/268148/2
Heinrich Schuchardt [Tue, 29 Sep 2020 20:03:01 +0000 (22:03 +0200)]
usb: xhci: avoid type conversion of void *

void * can be assigned to any pointer variable. Avoid unnecessary
conversions.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
[backport of mainline commit 3fade88686e71c9acee4cbeb3ae9706bbc845608]
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I66ed937f1331ff1ea4c1df6b594a997efc26db01

2 years agousb: xhci: Add virt_to_phys() to support mapped platforms 83/268183/1
Stefan Roese [Tue, 21 Jul 2020 08:46:05 +0000 (10:46 +0200)]
usb: xhci: Add virt_to_phys() to support mapped platforms

Some platforms, like MIPS Octeon, use mapped addresses (virtual address
!= physical address). On these platforms we need to make sure, that the
local virtual addresses are converted to physical (DMA) addresses for
the xHCI controller. This patch adds the missing virt_to_phys() calls,
so that the correct addresses are used.

Signed-off-by: Stefan Roese <sr@denx.de>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
Cc: Bin Meng <bmeng.cn@gmail.com>
Cc: Marek Vasut <marex@denx.de>
[backport of mainline commit b5152a653d36c67a34b54c4c1e9eb182e7e5b9d6]
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: If1ab9d76628c347fdd9950d7c2ad5468d34144ec

2 years agousb: xhci: xhci_mem_init: Use cpu_to_le64() and not xhci_writeq() 71/268171/2
Stefan Roese [Tue, 21 Jul 2020 08:46:03 +0000 (10:46 +0200)]
usb: xhci: xhci_mem_init: Use cpu_to_le64() and not xhci_writeq()

xhci_writeq() makes the CPU->LE swapping only when addressing registers
in the xHCI controller address range and not in the local memory (RAM).
We need to use cpu_to_le64() here to ensure that the conversion is done
correctly.

Signed-off-by: Stefan Roese <sr@denx.de>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
Cc: Bin Meng <bmeng.cn@gmail.com>
Cc: Marek Vasut <marex@denx.de>
Change-Id: Ibc1cdde25805cf13400bce746711c98bcaa48fe6
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
2 years agousb: xhci: Add missing endian conversions (cpu_to_leXX / leXX_to_cpu) 70/268170/2
Stefan Roese [Tue, 21 Jul 2020 08:46:02 +0000 (10:46 +0200)]
usb: xhci: Add missing endian conversions (cpu_to_leXX / leXX_to_cpu)

While trying to use the U-Boot xHCI driver on the MIPS Octeon platform,
which is big endian, I noticed that the driver is missing a few endian
conversion calls. This patch adds these missing endian conversion
calls.

Signed-off-by: Stefan Roese <sr@denx.de>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
Cc: Bin Meng <bmeng.cn@gmail.com>
Cc: Marek Vasut <marex@denx.de>
Change-Id: Iafce8d75a4166955669e30e2e6b18bf7a0cb0537
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
2 years agoconfigs: rpi4: Enable DM_DMA across all RPi4 configurations 47/268147/1
Nicolas Saenz Julienne [Tue, 12 Jan 2021 12:55:30 +0000 (13:55 +0100)]
configs: rpi4: Enable DM_DMA across all RPi4 configurations

The DM_DMA option is needed in order to translate physical address into
bus addresses on a per-device basis.

Change-Id: Idee7f8c9f0fb0e7f95e66f3adf7ef2cceb2eca40
Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
Tested-by: Peter Robinson <pbrobinson@gmail.com>
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
2 years agodm: Introduce dev_phys_to_bus()/dev_bus_to_phys() 46/268146/1
Nicolas Saenz Julienne [Tue, 12 Jan 2021 12:55:26 +0000 (13:55 +0100)]
dm: Introduce dev_phys_to_bus()/dev_bus_to_phys()

These functions, instead of relying on hard-coded platform-specific
address translations, make use of the DMA constraints provided by the DM
core. This allows for per-device translations.

We can't yet get rid of the legacy phys_to_bus()/bus_to_phys()
implementations as some of its users are not integrated into the
device model.

Change-Id: I4a0ecc27763855d54c13dc99b5c7fcd39a20d969
Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Stefan Roese <sr@denx.de>
Tested-by: Peter Robinson <pbrobinson@gmail.com>
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
2 years agodm: Introduce DMA constraints into the core device model 45/268145/1
Nicolas Saenz Julienne [Tue, 12 Jan 2021 12:55:24 +0000 (13:55 +0100)]
dm: Introduce DMA constraints into the core device model

Calculating the DMA offset between a bus address space and CPU's every
time we call phys_to_bus() and bus_to_phys() isn't ideal performance
wise, as it implies traversing the device tree from the device's node up
to the root. Since this information is static and available before the
device's initialization, parse it before the probe call an provide the
DMA offset in 'struct udevice' for the address translation code to use
it.

Change-Id: Id3792aa7a31cc13a38fa44b79d9df7c8eddccaf0
Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
Tested-by: Peter Robinson <pbrobinson@gmail.com>
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
2 years agopower: domain: add dev_power_domain_on 44/268144/1
Peng Fan [Tue, 17 Sep 2019 09:29:19 +0000 (09:29 +0000)]
power: domain: add dev_power_domain_on

Add this new API to power on multiple domains attached
to a device.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
Changed to static inline and added a condition into C file:
Signed-off-by: Simon Glass <sjg@chromium.org>
Change-Id: I84c8dbedc89d557a47bb3f16f3e2116163434e46

2 years agocore: device: use dev_power_domain_on 43/268143/1
Peng Fan [Tue, 17 Sep 2019 09:29:22 +0000 (09:29 +0000)]
core: device: use dev_power_domain_on

When multiple power domains attached to a device, need power on
them all, so use dev_power_domain_on to do that.

Change-Id: I787048368bd438825f330821cdd84124e8090228
Signed-off-by: Peng Fan <peng.fan@nxp.com>
2 years agodm: core: Use const where possible in device.h 42/268142/1
Simon Glass [Mon, 27 Jan 2020 15:49:36 +0000 (08:49 -0700)]
dm: core: Use const where possible in device.h

Update this header file to use const devices where possible, to permit
callers to also use const.

Change-Id: I9c0bcba75fee845672234a29dfa7723b61f6bc39
Signed-off-by: Simon Glass <sjg@chromium.org>
2 years agodm: core: Add a new flag to track platform data 41/268141/1
Simon Glass [Mon, 30 Dec 2019 04:19:21 +0000 (21:19 -0700)]
dm: core: Add a new flag to track platform data

We want to avoid allocating platform data twice. This could happen if
device_probe() is called after device_ofdata_to_platdata() for the same
device.

Add a flag to track whether device_ofdata_to_platdata() has been called on
a device. Check the flag to make sure it doesn't happen twice, and clear
the flag when the data is freed.

Change-Id: Idbc90897267890b746858ca01fa5db47e9e6b202
Signed-off-by: Simon Glass <sjg@chromium.org>
2 years agodm: core: Export a new function to read platdata 40/268140/1
Simon Glass [Mon, 30 Dec 2019 04:19:20 +0000 (21:19 -0700)]
dm: core: Export a new function to read platdata

Add a new internal function, device_ofdata_to_platdata() to handle
allocating private space associated with each device and reading the
platform data from the device tree.

Call this new function from device_probe().

Change-Id: I3331c818298a0458cf1e554fcd5d663e540f8ae9
Signed-off-by: Simon Glass <sjg@chromium.org>
2 years agodm: core: Allocate parent data separate from probing parent 39/268139/1
Simon Glass [Mon, 30 Dec 2019 04:19:18 +0000 (21:19 -0700)]
dm: core: Allocate parent data separate from probing parent

At present the parent is probed before the child's ofdata_to_platdata()
method is called. Adjust the logic slightly so that probing parents is
not done until afterwards.

Change-Id: Ifa963cc3b287a746bc263a99a1526d3a36c2bbc7
Signed-off-by: Simon Glass <sjg@chromium.org>
2 years agodm: core: Move ofdata_to_platdata() call earlier 38/268138/1
Simon Glass [Mon, 30 Dec 2019 04:19:17 +0000 (21:19 -0700)]
dm: core: Move ofdata_to_platdata() call earlier

This method is supposed to extract platform data from the device tree. It
should be done before the device itself is probed. Move it earlier in the
device_probe() function.

Change-Id: Ie851eb2bdfa99233b4b832c08617012c0d78d79c
Signed-off-by: Simon Glass <sjg@chromium.org>
2 years agodm: core: Don't clear active flag twice when probe() fails 37/268137/1
Simon Glass [Mon, 30 Dec 2019 04:19:16 +0000 (21:19 -0700)]
dm: core: Don't clear active flag twice when probe() fails

Remove this duplicated code, since the 'fail' label does this immediately.

Change-Id: I445b8fc692343e071af7416989483ee39c1db94b
Signed-off-by: Simon Glass <sjg@chromium.org>
2 years agodrivers: pci: add api to get dma regions 36/268136/1
Rayagonda Kokatanur [Tue, 12 May 2020 07:59:49 +0000 (13:29 +0530)]
drivers: pci: add api to get dma regions

Add api to get dma regions.

Change-Id: I9fa039a01f0da4bc3a854b3be07f5ddf9a92fea3
Signed-off-by: Rayagonda Kokatanur <rayagonda.kokatanur@broadcom.com>
2 years agodm: Introduce xxx_get_dma_range() 35/268135/1
Nicolas Saenz Julienne [Tue, 12 Jan 2021 12:55:22 +0000 (13:55 +0100)]
dm: Introduce xxx_get_dma_range()

Add the following functions to get a specific device's DMA ranges:
 - dev_get_dma_range()
 - ofnode_get_dma_range()
 - of_get_dma_range()
 - fdt_get_dma_range()
They are specially useful in oder to be able validate a physical address
space range into a bus's and to convert addresses from and to address
spaces.

Change-Id: Ib15b8a346390bf698dbc274f58ae646ba0fd6711
Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
Tested-by: Peter Robinson <pbrobinson@gmail.com>
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
2 years agopci: pcie-brcmstb: Fix inbound window configurations 34/268134/1
Nicolas Saenz Julienne [Tue, 12 Jan 2021 12:55:21 +0000 (13:55 +0100)]
pci: pcie-brcmstb: Fix inbound window configurations

So far we've assumed a fixed configuration for inbound windows as we had
a single user for this controller. But the controller's DMA constraints
were improved starting with BCM2711's B1 revision of the SoC, notably
available in CM4 and Pi400. They allow for wider inbound windows. We can
now cover the whole address space, whereas before we where limited to
the lower 3GB.

This information is passed to us through DT's 'dma-ranges' property and
it's specially important for us to honor it since some interactions with
the board's co-processor assume we're doing so (specifically the XHCI
firmware load operation, which is handled by the co-processor after
u-boot has correctly configured the PCIe controller).

Change-Id: Ic4a66168064c67222d3d32ade482b2a76bbc0a4e
Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Tested-by: Peter Robinson <pbrobinson@gmail.com>
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
3 years agobcmgenet: fix DMA buffer management 61/245361/1 accepted/tizen/6.0/unified/20201030.105045 accepted/tizen/6.0/unified/hotfix/20201102.235414 accepted/tizen/unified/20201008.043022 submit/tizen/20201008.021146 submit/tizen_6.0/20201029.205501 submit/tizen_6.0_hotfix/20201102.192901 submit/tizen_6.0_hotfix/20201103.115101 tizen_6.0.m2_release
Jason Wessel [Fri, 17 Jul 2020 13:31:59 +0000 (06:31 -0700)]
bcmgenet: fix DMA buffer management

This commit fixes a serious issue occurring when several network
commands are run on a raspberry pi 4 board: for instance a "dhcp"
command and then one or several "tftp" commands. In this case,
packet recv callbacks were called several times on the same packets,
and send function was failing most of the time.

note: if the boot procedure is made of a single network
command, the issue is not visible.

The issue is related to management of the packet ring buffers
(producer / consumer) and DMA.
Each time a packet is received, the ethernet device stores it
in the buffer and increments an index called RDMA_PROD_INDEX.
Each time the driver outputs a received packet, it increments
another index called RDMA_CONS_INDEX.

Between each pair of network commands, as part of the driver
'start' function, previous code tried to reset both RDMA_CONS_INDEX
and RDMA_PROD_INDEX to 0. But RDMA_PROD_INDEX cannot be written from
driver side, thus its value was actually not updated, and only
RDMA_CONS_INDEX was reset to 0. This was resulting in a major
synchronization issue between the driver and the device. Most
visible behavior was that the driver seemed to receive again the
packets from the previous commands (e.g. DHCP response packets
"received" again when performing the first TFTP command).

This fix consists in setting RDMA_CONS_INDEX to the same
value as RDMA_PROD_INDEX, when resetting the driver.

The same kind of fix was needed on the TX side, and a few variables
had to be reset accordingly (c_index, tx_index, rx_index).

The rx_index and tx_index have only 256 entries so the bottom 8 bits
must be masked off.

Originated-by: Etienne Dublé <etienne.duble@imag.fr>
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Tested-by: Petr Tesarik <ptesarik@suse.com>
Signed-off-by: Matthias Brugger <mbrugger@suse.com>
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: Ia7c66c3957f1c6b5f104bf621ddef87402921da6
[backport of mainline commit ac458dc823de95e05e433d7645b960f8c6088f55]
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
3 years agorpi: perform xhci firmware upload only once 19/243819/1 accepted/tizen/unified/20200922.053354 submit/tizen/20200922.021559
Marek Szyprowski [Thu, 10 Sep 2020 08:31:09 +0000 (10:31 +0200)]
rpi: perform xhci firmware upload only once

This fixes usb stack initialization after calling "usb stop".

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: Icb3f3478c02b17c4e80cd924685492dc373b5c1f

3 years agousb: xhci: Load Raspberry Pi 4 VL805's firmware 31/240331/2
Nicolas Saenz Julienne [Tue, 5 May 2020 16:26:07 +0000 (18:26 +0200)]
usb: xhci: Load Raspberry Pi 4 VL805's firmware

When needed, RPi4's co-processor (called VideoCore) has to be instructed
to load VL805's firmware (the chip providing xHCI support). VideCore's
firmware expects the board's PCIe bus to be already configured in order
for it to load the xHCI chip firmware. So we have to make sure this
happens in between the PCIe configuration and xHCI startup.

Introduce a callback in xhci_pci_probe() to run this platform specific
routine.

Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
[mszyprow: backport of https://patchwork.ozlabs.org/project/uboot/list/?series=174860&state=%2A&archive=both
 the final mainline patch depends on DTS changes not present in vendor tree]
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I1391806cae261d1ce22137e1a8baf5e261cb865a

3 years agoarm: rpi: Add function to trigger VL805's firmware load 30/240330/2
Marek Szyprowski [Wed, 5 Aug 2020 10:03:14 +0000 (12:03 +0200)]
arm: rpi: Add function to trigger VL805's firmware load

On the Raspberry Pi 4, after a PCI reset, VL805's (a xHCI chip) firmware
may either be loaded directly from an EEPROM or, if not present, by the
SoC's VideCore (the SoC's co-processor). Introduce the function that
informs VideCore that VL805 may need its firmware loaded.

Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
[mszyprow: backport of https://patchwork.ozlabs.org/project/uboot/list/?series=174860&state=%2A&archive=both
 the final mainline patch depends on DTS changes not present in vendor tree]
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I565a81e49c0684cfc2500ecb203ed4233cce4e14

3 years agousb: xhci: move xhci.h to include usb 29/240329/2
Jean-Jacques Hiblot [Wed, 11 Sep 2019 09:33:46 +0000 (11:33 +0200)]
usb: xhci: move xhci.h to include usb

The xhci.h header file is currently located under drivers/usb/xhci
Move it to the include/usb folder to make it available to drivers that
are not under drivers/usb/xhci

Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
[backport of mainline commit 1708a12377b98397606677e117f93f07d7cd2f7e]
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I815c3a648ce06dc9d21c9b21b233d60959c4bc5c

3 years agoconfigs: rpi_3: disable configs relevant to SPL 77/240277/1
Jaehoon Chung [Wed, 5 Aug 2020 04:54:47 +0000 (13:54 +0900)]
configs: rpi_3: disable configs relevant to SPL

Disable configs relevant to SPL.
It doesn't need to enable anymore.

Change-Id: Idbe37b441e7dc3e2488a2db154522257f2c08722
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
3 years agopackaging: u-boot-rpi3: remove unnecessary files 76/240276/1
Jaehoon Chung [Wed, 5 Aug 2020 03:53:39 +0000 (12:53 +0900)]
packaging: u-boot-rpi3: remove unnecessary files

Remove unnecessary files. It was used to boot with optee.
But it doesn't use anymore because trust-firmware doesn't support.

Change-Id: I115ba5e6099b624a2113b8cdf1934699f31b6757
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
3 years agoconfigs: rpi: set NR_DRAM_BANKS to four 82/237982/1 accepted/tizen/unified/20200708.125334 submit/tizen/20200707.104031
Matthias Brugger [Fri, 29 May 2020 14:42:22 +0000 (16:42 +0200)]
configs: rpi: set NR_DRAM_BANKS to four

With the new RPi4 which has 8 GB of RAM, we can have up to four DRAM
banks. Bump up the configuration files to detect all the memory in
U-Boot.

Signed-off-by: Matthias Brugger <mbrugger@suse.com>
[sw0312.kim: cherry-pick mainline commit a61cf765f7e3 to support rpi4 8GB dram]
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Change-Id: I7d47e4ae3b70166cde96bc0c86011a8ff4f54262

3 years agoscripts: tizen: sd_fusing_rpi3: change partition size 40/236940/3
Jaehoon Chung [Tue, 23 Jun 2020 10:04:56 +0000 (19:04 +0900)]
scripts: tizen: sd_fusing_rpi3: change partition size

Change partition size to use 64bit image.
- ramdisk-recovery : 12MB -> 32MB
- system-data : 512MB -> 1.3GB
- modules : 20MB -> 32MB
- reserved1 : 64MB
- reserved2 : 128MB

Change-Id: I6bb1cca052af91e0e66f6148b76055c60670aead
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
3 years agosamsung: tizen_rpi: remove unnecessary variable and comment 58/236758/1 accepted/tizen/unified/20200623.080549 submit/tizen/20200622.213607
Jaehoon Chung [Mon, 22 Jun 2020 02:24:36 +0000 (11:24 +0900)]
samsung: tizen_rpi: remove unnecessary variable and comment

Remove unnecesarry environment variable.
ramdisksize and tizen_kernel_addr_r are set to correct value in boot
script.
Because comment was not valid, it doesn't need to keep.

Change-Id: Ica280a521ba538340b9dfbe640e6a5fd9839ab85
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
3 years agorpi: tizen-boot-rpi2: calculate tizen_kernel_addr_r with ramdisk's size 57/236757/1
Jaehoon Chung [Mon, 22 Jun 2020 02:18:46 +0000 (11:18 +0900)]
rpi: tizen-boot-rpi2: calculate tizen_kernel_addr_r with ramdisk's size

Calculate tizen_kernel_addr_r with ramdisk's size.
When ramdisk size is increased, kernel loading offset will be also
increased. It can prevent to overwrite the images.

Change-Id: Id65e084a0e076a95ffe005955ef4c12e7554fa07
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
3 years agorpi: tizen-boot-rpi3: calculate tizen_kernel_addr_r with ramdisk's size 56/236756/1
Jaehoon Chung [Mon, 22 Jun 2020 02:18:03 +0000 (11:18 +0900)]
rpi: tizen-boot-rpi3: calculate tizen_kernel_addr_r with ramdisk's size

Calculate tizen_kernel_addr_r with ramdisk's size.
When ramdisk size is increased, kernel loading offset will be also
increased. It can prevent to overwrite the images.

Change-Id: Ibbec03b4e3380028841d10eee7157c5e86fa8756
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
3 years agorpi: tizen-boot-rpi4: calculate tizen_kernel_addr_r with ramdisk's size 41/236641/2
Jaehoon Chung [Fri, 19 Jun 2020 03:56:33 +0000 (12:56 +0900)]
rpi: tizen-boot-rpi4: calculate tizen_kernel_addr_r with ramdisk's size

Calculate tizen_kernel_addr_r with ramdisk's size.
When ramdisk size is increased, kernel loading offset will be also
increased. It can prevent to overwrite the images.

Change-Id: Icc900b726f46683e5104be7f8ab31f36934f12b5
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
3 years agorpi: tizen-boot-rpi2: fix hard-coding value about ramdisksize 45/236545/1
Seung-Woo Kim [Thu, 18 Jun 2020 04:20:35 +0000 (13:20 +0900)]
rpi: tizen-boot-rpi2: fix hard-coding value about ramdisksize

Current ramdisksize is set to hard-condig value as 0xc00000 or 0x800000.
If ramdisk's size is changed to other, it also needs to change.
But we're getting the number of block about ramdisk partition.
Use its value to load a ramdisk image. Then it's more clear than now.

Change-Id: I96e1e383d4603f2375a45193a72a95f261bb996d
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
3 years agorpi: tizen-boot-rpi3: fix hard-coding value about ramdisksize 43/236543/1
Jaehoon Chung [Thu, 18 Jun 2020 04:04:18 +0000 (13:04 +0900)]
rpi: tizen-boot-rpi3: fix hard-coding value about ramdisksize

Current ramdisksize is set to hard-condig value as 0xc00000 or 0x800000.
If ramdisk's size is changed to other, it also needs to change.
But we're getting the number of block about ramdisk partition.
Use its value to load a ramdisk image. Then it's more clear than now.

Change-Id: I59e4ed5d1c49e82c2bd76474b1d4bc086fb600e1
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
3 years agorpi: tizen-boot-rpi4: fix hard-coding value about ramdisksize 93/236493/1
Jaehoon Chung [Wed, 17 Jun 2020 11:44:37 +0000 (20:44 +0900)]
rpi: tizen-boot-rpi4: fix hard-coding value about ramdisksize

Current ramdisksize is set to hard-condig value as 0xc00000 or 0x800000.
If ramdisk's size is changed to other, it also needs to change.
But we're getting the number of block about ramdisk partition.
Use its value to load a ramdisk image. Then it's more clear than now.

Change-Id: I450ace4f0e795f0a05f5ff36fcd837349bc5a4aa
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
3 years agoconfigs: rpi_4 : enable SDHCI_SDMA config 97/235797/1 accepted/tizen/unified/20200610.140844 submit/tizen/20200610.021850
Jaehoon Chung [Wed, 10 Jun 2020 00:00:27 +0000 (09:00 +0900)]
configs: rpi_4 : enable SDHCI_SDMA config

Enable SDHCI_SDMA configuration.

Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Minkyu Kang <mk7.kang@samsung.com>
Signed-off-by: Matthias Brugger <mbrugger@suse.com>
[jh80.chung: cherry picked from mainline commit c6b9fbf7566f]

Change-Id: I889d2503239d508465d498202f29a369df247137

3 years agoconfigs: rpi_4_defconfig: enable ums configuration 96/235796/1
Jaehoon Chung [Tue, 9 Jun 2020 23:32:56 +0000 (08:32 +0900)]
configs: rpi_4_defconfig: enable ums configuration

Enable ums configuration.
And CONFIG_ARCH_FIXUP_FDT_MEMORY was enabled by default.

Change-Id: I4eaebba7b3fd05bc01d125b159289056162d203a
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
3 years agotizen: sd_fusing_xu4.sh: Support for non-sdX partition names 94/235694/1
Marek Szyprowski [Tue, 9 Jun 2020 03:42:07 +0000 (12:42 +0900)]
tizen: sd_fusing_xu4.sh: Support for non-sdX partition names

Properly find partiton device names for the given block device. In
case of MMC (or loop) partition names are created in a different way
(/dev/mmcblk0p1) than for typical USB pen-drives (/dev/sdb1).

Change-Id: Ic486e97a4e04c25dc438315bcefa668945765e65
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
3 years agotizen: sd_fusing_rpi3.sh: Support for non-sdX partition names 33/235633/7
Marek Szyprowski [Mon, 8 Jun 2020 08:01:16 +0000 (10:01 +0200)]
tizen: sd_fusing_rpi3.sh: Support for non-sdX partition names

Properly find partiton device names for the given block device. In
case of MMC (or loop) partition names are created in a different way
(/dev/mmcblk0p1) than for typical USB pen-drives (/dev/sdb1).

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I4e3e272acd85bcd5a54ff8102a3978d18ea5687e

3 years agoconfigs: rpi_4: Enable CONFIG_ARCH_FIXUP_FDT_MEMORY for Tizen 67/235567/2
Marek Szyprowski [Fri, 5 Jun 2020 12:52:02 +0000 (14:52 +0200)]
configs: rpi_4: Enable CONFIG_ARCH_FIXUP_FDT_MEMORY for Tizen

On Tizen, a custom dtb loaded directly from boot partition is used instead of the one provided by the VC4 firmware, thus u-boot needs to update the
memory information in the loaded dtb. Without this option, the memory information is missing
and the loaded Linux kernel crashes early.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: Ic78d134aaef2ab272f839d305b5db3e79b0ef90b

3 years agopackaging: rpi4: add rpi4 64-bit spec file 26/235526/1
Seung-Woo Kim [Fri, 5 Jun 2020 07:46:03 +0000 (16:46 +0900)]
packaging: rpi4: add rpi4 64-bit spec file

Add rpi4 64-bit spec file.

Change-Id: I569df01d93a1d08de28f56f1ccbaf4a1600d79c0
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
3 years agorpi: tizen-boot: rpi: tizen-boot: add tizen boot script for rpi4 64bit 25/235525/1
Seung-Woo Kim [Fri, 5 Jun 2020 07:42:28 +0000 (16:42 +0900)]
rpi: tizen-boot: rpi: tizen-boot: add tizen boot script for rpi4 64bit

Add tizen boot script for rpi4 64bit.

Change-Id: I5ea641bccfa38dbabf666a783c2c3446daad4992
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
3 years agorpi: tizen-boot: rpi3: fix wrong setenv usage 24/235524/1
Seung-Woo Kim [Fri, 5 Jun 2020 07:40:52 +0000 (16:40 +0900)]
rpi: tizen-boot: rpi3: fix wrong setenv usage

The setenv does not require '='. Fix wrong setenv usage.

Change-Id: Idf1bf41655fa80837784fabc441dd2e47ac487a9
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
3 years agommc: s5p_sdhci: add Tizen specific bind codes 38/233838/4 accepted/tizen/unified/20200528.132817 submit/tizen/20200528.065747
Marek Szyprowski [Tue, 19 May 2020 12:46:43 +0000 (14:46 +0200)]
mmc: s5p_sdhci: add Tizen specific bind codes

Add Tizen specific bind codes for OdroidU3. When device is booted from SD,
SDHCI MMC controller is registered as MMC0, like it is done for DWMMC for OdroidXU3.
Based on commit 76f4fcf ("mmc: exynos_dw_mmc: add tizen specific bind codes").

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I624be4f0c6f7b1ce5a392249d73e36785649fd35

3 years agoarm: dts: exynos: Fix card-detect polarity for SD card on Odroid U3/X2 37/233837/4
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>
[backport of mainline commit 1bca28a5d98a81a9d189a46347f8a92619624f94]

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I420d44fd232431491442e50012804beea3075d6d

3 years agommc: s5p_sdhci: Read generic MMC properties from DT 36/233836/4
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>
[backport of mainline commit e27108c433a249ba8ebc59f7a3113b9b666f5d67]

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I6cbad2667a524083bdf9abc11598e80d8830a0cc

3 years agoRevert "bootstage: enable bootstage timing report to fdt" 25/233825/4
Seung-Woo Kim [Tue, 19 May 2020 10:32:17 +0000 (19:32 +0900)]
Revert "bootstage: enable bootstage timing report to fdt"

This reverts commit cc19bd066c446a91d0e1292e2e21fc9395afb92a
pratially for odroid_defconfig. From other defconfigs including
tizen_defconfig and odroid-xu3_defconfig, the options has been
already removed.

Note: the bootstage options breaks booting from odroid-u3.

Change-Id: If85a8956ed805f6221619f9462f8d672f48458bf
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
3 years agocmd: remote obsoleted nfsdown and usbdown commands 84/231984/8
Marek Szyprowski [Fri, 15 May 2020 07:45:41 +0000 (09:45 +0200)]
cmd: remote obsoleted nfsdown and usbdown commands

Gneric Tizen Downloader based on the DFU framework, provides better
replacement for those commands.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: Ia0a0ccd5fb7e1b65c12f6c5653015ef7ae05e6be

3 years agotizen: replace NFSdown with generic Tizen Download utility (NFS and USB) 17/231517/10
Marek Szyprowski [Mon, 20 Apr 2020 13:08:30 +0000 (15:08 +0200)]
tizen: replace NFSdown with generic Tizen Download utility (NFS and USB)

Tizen Download utility provides replacement for nfsdown and usbdown
commands, implemented on top of the generic u-boot's DFU framework.
It allows to flash any entity defined in dfu_alt_info, not only the ones
hardcoded in the mentioned commands.

This is useful for flashing only the selected images/entities.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: Ic4275302442b84dc96a2d7d31188eb3d7143e7ec

3 years agoarm: exynos: enable DFU's alt_info support for Tizen downloader 87/233587/6
Marek Szyprowski [Fri, 15 May 2020 09:20:53 +0000 (11:20 +0200)]
arm: exynos: enable DFU's alt_info support for Tizen downloader

dfu_alt_info env is required for Tizen downloader, so set it correctly on
all Odroid variants.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I3530d3be22b1ed76f4687198064bde3faebd6b37

3 years agocmd: add generic Tizen Download (NFS & USB) command 16/231516/10
Marek Szyprowski [Mon, 27 Apr 2020 06:45:02 +0000 (08:45 +0200)]
cmd: add generic Tizen Download (NFS & USB) command

This is a quick replacement of the NFSdown and USBdown commands, rewritten
on top of the generic DFU framework. This removes a few limitation of both
obsoleted commands.

Change-Id: Id8a311eabd2bab7d90aeee6adabbd6461897b4e3
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
[sw0312.kim: remove newline from command name]
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
3 years agoconfig: Enable support for the XHCI controller on RPI4 board 15/231515/9
Marek Szyprowski [Fri, 15 May 2020 11:40:27 +0000 (13:40 +0200)]
config: Enable support for the XHCI controller on RPI4 board

This requires enabling BRCMSTB PCIe and XHCI_PCI drivers as well as PCI
and USB commands. To get it working one has to call the following commands:
"pci enum; usb start;", thus such commands have been added to the default
"preboot" environment variable. One has to update their environment if it
is already configured to get this feature working out of the box.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: Ibef9ae32311091780e3f5243509cb066964af829

3 years agopci: Add driver for Broadcom BCM2711 SoC PCIe controller 14/231514/8
Sylwester Nawrocki [Tue, 12 May 2020 18:47:15 +0000 (20:47 +0200)]
pci: Add driver for Broadcom BCM2711 SoC PCIe controller

This patch adds basic driver PCI Express controller found on Broadcom
set-top-box SoCs, e.g. BCM2711.
The code is based on Linux upstream driver (pcie-brcmstb.c) with MSI
handling removed. The inbound access memory region is not currently
parsed from dma-ranges DT property and a fixed 3GB region is used.

The patch has been tested on RPI4 board, i.e. on BCM2711 SoC with VL805
USB Host Controller.

Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
[mszyprow: rebased onto tizen branch]
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: Ib2f4e6f3ced902b86b0283fdb0cce390d9688b1f

3 years agopci: Add some PCI Express capability register offset definitions 24/231524/7
Sylwester Nawrocki [Tue, 12 May 2020 18:47:14 +0000 (20:47 +0200)]
pci: Add some PCI Express capability register offset definitions

Add PCI Express capability definitions required by the Broadcom
STB PCIe controller driver.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I7ebba592cfe787bffeb0985ada38f11b721166f7

3 years agolinux/bitfield.h: Add primitives for manipulating bitfields both in host- and fixed... 83/231983/6
Nicolas Saenz Julienne [Tue, 12 May 2020 19:04:32 +0000 (21:04 +0200)]
linux/bitfield.h: Add primitives for manipulating bitfields both in host- and fixed-endian

Imports Al Viro's original Linux commit 00b0c9b82663a, which contains
an in depth explanation and two fixes from Johannes Berg:
 e7d4a95da86e0 "bitfield: fix *_encode_bits()",
 37a3862e12382 "bitfield: add u8 helpers".

Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
[s.nawrocki: added empty lines between functions and macros]
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I93e237f1478e59a5a44345ea68aa4ed6a4ab7bed

3 years agorpi4: add a mapping for the PCIe XHCI controller MMIO registers (ARM 32bit) 22/231522/7
Marek Szyprowski [Tue, 12 May 2020 12:44:15 +0000 (14:44 +0200)]
rpi4: add a mapping for the PCIe XHCI controller MMIO registers (ARM 32bit)

Create a non-cacheable mapping for the 0x600000000 physical memory region,
where MMIO registers for the PCIe XHCI controller are instantiated by the
PCIe bridge. Due to 32bit limit in the CPU virtual address space in ARM
32bit mode, this region is mapped at 0xff800000 CPU virtual address.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I032641c782e915fa1f999a1e208dd915a22515f7

3 years agommc: bcm283x: fix int to pointer cast 24/233724/4
Seung-Woo Kim [Fri, 15 May 2020 10:14:26 +0000 (19:14 +0900)]
mmc: bcm283x: fix int to pointer cast

On build with 32 bit, there is a warning for int-to-pointer-cast.
Fix the int to pointer cast by using uintptr_t.

Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I590d32437763e6e60f216379e4fb55814d0b1bb2

3 years agoarm: provide a function for boards init code to modify MMU virtual-physical map 86/233586/5
Marek Szyprowski [Tue, 12 May 2020 12:56:37 +0000 (14:56 +0200)]
arm: provide a function for boards init code to modify MMU virtual-physical map

Provide function for setting arbitrary virtual-physical MMU mapping for the given region.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: If10b06cc6edbdff311a1b6302112e8cd0bb5313f

3 years agorpi4: add a mapping for the PCIe XHCI controller MMIO registers (ARM 64bit) 21/231521/7
Marek Szyprowski [Tue, 12 May 2020 18:47:12 +0000 (20:47 +0200)]
rpi4: add a mapping for the PCIe XHCI controller MMIO registers (ARM 64bit)

Create a non-cacheable mapping for the 0x600000000 physical memory region,
where MMIO registers for the PCIe XHCI controller are instantiated by the
PCIe bridge.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Reviewed-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: Idcbaf78228aa87d992020b3fe0a0d4c9fdfa1329

3 years agorpi4: shorten a mapping for the DRAM 20/231520/7
Marek Szyprowski [Tue, 12 May 2020 18:47:11 +0000 (20:47 +0200)]
rpi4: shorten a mapping for the DRAM

Remove the overlap between DRAM and device's IO area.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Reviewed-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: Ie3a7bfa1dbba32d425b9145197e2e8d1f972ab33

3 years agopci: Move some PCIe register offset definitions to a common header 19/231519/7
Sylwester Nawrocki [Tue, 12 May 2020 18:47:10 +0000 (20:47 +0200)]
pci: Move some PCIe register offset definitions to a common header

Some PCI Express register offsets are currently defined in multiple
drivers, move them to a common header to avoid re-definitions and
as a pre-requisite for adding new PCIe driver.
While at it replace some spaces with tabs.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I2e06710f8ff1195b66cee7dc8d16af26cc6c6a60

3 years agousb: xhci: Use only 32-bit accesses in xhci_writeq/xhci_readq 23/231523/7
Sylwester Nawrocki [Tue, 12 May 2020 18:47:09 +0000 (20:47 +0200)]
usb: xhci: Use only 32-bit accesses in xhci_writeq/xhci_readq

There might be hardware configurations where 64-bit data accesses
to XHCI registers are not supported properly.  This patch removes
the readq/writeq so always two 32-bit accesses are used to read/write
64-bit XHCI registers, similarly as it is done in Linux kernel.

This patch fixes operation of the XHCI controller on RPI4 Broadcom
BCM2711 SoC based board, where the VL805 USB XHCI controller is
connected to the PCIe Root Complex, which is attached to the system
through the SCB bridge.

Even though the architecture is 64-bit the PCIe BAR is 32-bit and likely
the 64-bit wide register accesses initiated by the CPU are not properly
translated to a sequence of 32-bit PCIe accesses.
xhci_readq(), for example, always returns same value in upper and lower
32-bits, e.g. 0xabcd1234abcd1234 instead of 0x00000000abcd1234.

Cc: Sergey Temerkhanov <s.temerkhanov@gmail.com>
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: Ia886dcae5d63b0d23591948e571ca07907893b58

3 years agousb: xhci: Add missing cache flush in the scratchpad array initialization 18/231518/7
Sylwester Nawrocki [Fri, 24 Apr 2020 16:50:03 +0000 (18:50 +0200)]
usb: xhci: Add missing cache flush in the scratchpad array initialization

In current code there is no cache flush after initializing the scratchpad
buffer array with the scratchpad buffer pointers. This leads to a failure
of the "slot enable" command on the rpi4 board (Broadcom STB PCIe
controller + VL805 USB hub) - the very first TRB transfer on the command
ring fails and there is a timeout while waiting for the command completion
event. After adding the missing cache flush everything seems to be working
as expected.

Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I0a8a482bf452230edd754509b2f1bcdb6b1ea090

3 years agodm: pci: Update the PCI read_config() method to const dev * 85/233585/5
Simon Glass [Mon, 27 Jan 2020 15:49:37 +0000 (08:49 -0700)]
dm: pci: Update the PCI read_config() method to const dev *

At present this method uses a non-const udevice pointer, but the call
should not modify the device. Use a const pointer.

Signed-off-by: Simon Glass <sjg@chromium.org>
Conflicts:
drivers/misc/p2sb_emul.c
drivers/misc/swap_case.c
drivers/pci/pci_mpc85xx.c
drivers/pci/pci_x86.c
drivers/pci/pcie_mediatek.c
drivers/pci/pcie_phytium.c
drivers/power/acpi_pmc/pmc_emul.c

[backport of mainline commit c4e72c4ad8b7c2db9c868bd053c25344b95900b8]
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: Iee5347f9a131102f691ea79650b33bbb09c50926

3 years agodm: core: Use const where possible in device.h 84/233584/5
Simon Glass [Mon, 27 Jan 2020 15:49:36 +0000 (08:49 -0700)]
dm: core: Use const where possible in device.h

Update this header file to use const devices where possible, to permit
callers to also use const.

Signed-off-by: Simon Glass <sjg@chromium.org>
Conflicts:
drivers/core/device.c
include/dm/device.h

[backport of mainline commit fc347fbdd44a01b1aba6283dec56c1374baca383]
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: Id883506ac5c20ae7898c576316b64e64a9a52c90

3 years agoscripts: tizen: update script version to distinguish 62/234162/1
Jaehoon Chung [Fri, 22 May 2020 07:52:18 +0000 (16:52 +0900)]
scripts: tizen: update script version to distinguish

Update script minor version to distinguish.
(from 1.3 to 1.3.1)
- 1.3.1 : Enhance write performcne

Change-Id: If9bbc1cbca22d87bc837d03e60d09a3a0e6c6883
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
3 years agonet: fix build without NFS or NFS download enabled 71/233571/5
Marek Szyprowski [Fri, 15 May 2020 10:08:54 +0000 (12:08 +0200)]
net: fix build without NFS or NFS download enabled

Partial NFS download requires setting net_boot_file_{offset,size_limit}
global variables, which are available only when CONFIG_CMD_NFS is set.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I74e2dbb56c2b41078d2e5506bdcba6458299d792

3 years agoFixup "tools:mkimage_multidtb: Align less than PAD size" 70/233570/5
Marek Szyprowski [Fri, 15 May 2020 05:56:24 +0000 (07:56 +0200)]
Fixup "tools:mkimage_multidtb: Align less than PAD size"

Partially revert commit fe215b2f7ddf30f36b326f7a3fe3734a872a37fe
("tools:mkimage_multidtb: Align less than PAD size"), as it looks that the MFC hack
 accidendly sneaked into that commit.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I81c0f4713a83a8e5d888b03fb851e9c673cd1c77

3 years agoconfigs: odroid-xu3: enable NET_RANDOM_ETHADDR for proper USB ethernet support 23/233723/3
Marek Szyprowski [Mon, 18 May 2020 11:56:34 +0000 (13:56 +0200)]
configs: odroid-xu3: enable NET_RANDOM_ETHADDR for proper USB ethernet support

Odroid XU3 and XU3lite has built-in USB SMSC9512/9514 Ethernet controller, which has no
EEPROM for the board MAC address. Force using random one instead of failing.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: Ia1024f925d7b692b40cb76ef261e9c1cc8890e7b

3 years agoRevert "configs: odroid-xu3: disable ENV_VARS_UBOOT_RUNTIME_CONFIG" 22/233722/3
Marek Szyprowski [Mon, 18 May 2020 11:28:58 +0000 (13:28 +0200)]
Revert "configs: odroid-xu3: disable ENV_VARS_UBOOT_RUNTIME_CONFIG"

This reverts commit 91c1e726e5c01cbed34df700f9fdab6d6fedd4fc.

CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG is needed to properly set fdtfile
env depending on the ADC value.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: Iebcde36316117198eeca747aed112d8a9b177afd

3 years agotizen: odroid-xu3: add missing Odroid HC1 support to CONFIG_DFU_ALT_SYSTEM_2 69/233569/4
Marek Szyprowski [Fri, 15 May 2020 06:29:46 +0000 (08:29 +0200)]
tizen: odroid-xu3: add missing Odroid HC1 support to CONFIG_DFU_ALT_SYSTEM_2

Add missing exynos5422-odroidhc1.dtb to DFU_ALT_SYSTEM_2, selected when ramdisk
partition is available.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: Ie72136e5b63739abe40add42590d30463c09f3c1

3 years agoarm: dts: exynos: Extend board description 68/233568/4
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>
[backport of mainline commit a6ee3fe19d8bdf369edbd9301eb2be283458b920]

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: Idac4f4438945530bc6c652f84e0b9468236e2283

3 years agoarm: exynos: Use proper PMIC device names 67/233567/4
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>
[backport of mainline commit 4b8984e969fa8e68f2fdd79c70cd4be8f1f1378c]

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I898b9dbdbfd89b467e0a85de3158b5176fc42018

3 years agoarm: exynos: Use proper ADC device name 66/233566/4
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>
[backport of mainline commit fa06669d0181b2c92ba86fb6c40a4cb0c196b13c]

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I2f7bda9d69826b38fd6d3a193876b3fe502d8859

3 years agoscripts: sd_fusing: Increase the block size upon the image flashing 91/233991/1
Junghoon Kim [Thu, 21 May 2020 03:56:23 +0000 (12:56 +0900)]
scripts: sd_fusing: Increase the block size upon the image flashing

Fine-grained IO degrades the image flashing performance due to the IO
stack overhead. Increase the block size upon the dd operation to improve
the flashing performance.

Change-Id: I937ca401d07045f055d3f55ca9f52a3261ee4fb4
Signed-off-by: Junghoon Kim <jhoon20.kim@samsung.com>
4 years agoscripts: sd_fusing_xu4.sh: Improve the image flashing performance 64/233664/1
Junghoon Kim [Mon, 18 May 2020 06:22:47 +0000 (15:22 +0900)]
scripts: sd_fusing_xu4.sh: Improve the image flashing performance

The current dd of the pv combination degrades the flashing performance
due to the pipe overhead and is also bad to see due to the duplicate
output. This can be improved by the use of direct mode with progress
status.

Change-Id: Id682683e892181cc2608d1ba811d4ddb847048da
Signed-off-by: Junghoon Kim <jhoon20.kim@samsung.com>
4 years agoscripts: tizen: sd_fusing_rpi3: Check dd version for backward compatibility 85/233385/2
Seung-Woo Kim [Thu, 14 May 2020 08:19:36 +0000 (17:19 +0900)]
scripts: tizen: sd_fusing_rpi3: Check dd version for backward compatibility

Before dd version 8.24, "status=progress" option is not supported.
For backward compatibility, check dd version and use the option
only when it is possible.

Change-Id: Ia90668e9cd22bf2906b4b0ecd574bb45ad14fd95
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
4 years agoscripts: tizen: Improve the image flashing performance for RPI family 52/233352/3
Junghoon Kim [Thu, 14 May 2020 05:51:00 +0000 (14:51 +0900)]
scripts: tizen: Improve the image flashing performance for RPI family

The current dd of the pv combination degrades the performance due to the
pipe overhead and is also bad to see due to the duplicate output.

It can be resolved by the use of direct mode with progress status. This
reduces the flashing time of platform images by 17.5% in my environment.

Change-Id: I986ce72e0294b6f143ca95419364a0f89f289d74
Signed-off-by: Junghoon Kim <jhoon20.kim@samsung.com>