]> git.dujemihanovic.xyz Git - u-boot.git/log
u-boot.git
4 years agomtd: sf: Drop plat from sf_probe
Jagan Teki [Thu, 14 May 2020 11:07:57 +0000 (16:37 +0530)]
mtd: sf: Drop plat from sf_probe

dm_spi_slave_platdata used in sf_probe for printing
plat->cs value and there is no relevant usage apart
from this.

We have enough debug messages available in SPI and SF
areas so drop this plat get and associated bug statement.

Cc: Simon Glass <sjg@chromium.org>
Cc: Vignesh R <vigneshr@ti.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
4 years agoenv: sf: Free the old env_flash
Jagan Teki [Wed, 13 May 2020 11:02:42 +0000 (16:32 +0530)]
env: sf: Free the old env_flash

env_flash is a global flash pointer, and the probe would
happen only if env_flash is NULL, but there is no checking
and free the pointer if is not NULL.

So, this patch frees the old env_flash, and get the probed
flash in to env_flash pointer and finally check if is not NULL.

Cc: Simon Glass <sjg@chromium.org>
Cc: Vignesh R <vigneshr@ti.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
4 years agocmd: sf Drop reassignment of new into flash
Jagan Teki [Wed, 13 May 2020 10:58:01 +0000 (16:28 +0530)]
cmd: sf Drop reassignment of new into flash

The new pointer points to flash found and that would
assign it to global 'flash' pointer for further flash
operations and also keep track of old flash pointer.

This would happen if the probe is successful or even
failed, but current code assigning new into flash before
and after checking the new.

So, drop the assignment after new checks so flash always
latest new pointer even if probe failed or succeed.

Cc: Simon Glass <sjg@chromium.org>
Cc: Vignesh R <vigneshr@ti.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
4 years agomtd: spi: Call sst_write in _write ops
Jagan Teki [Wed, 13 May 2020 10:02:23 +0000 (15:32 +0530)]
mtd: spi: Call sst_write in _write ops

Currently spi-nor code is assigning _write ops for SST
and other flashes separately. 

Just call the sst_write from generic write ops and return
if SST flash found, this way it avoids the confusion of
multiple write ops assignment during the scan and makes
it more feasible for code readability.

No functionality changes.

Cc: Simon Glass <sjg@chromium.org>
Cc: Vignesh R <vigneshr@ti.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
4 years agosf: Drop spl_flash_get_sw_write_prot
Jagan Teki [Wed, 13 May 2020 12:46:39 +0000 (18:16 +0530)]
sf: Drop spl_flash_get_sw_write_prot

The get_sw_write_prot API is used to get the write-protected
bits of flash by reading the status register and other wards
it's API for reading register bits.

1) This kind of requirement can be achieved using existing
   flash operations and flash locking API calls instead of
   making a separate flash API.
2) Technically there is no real hardware user for this API to
   use in the source tree.
3) Having a flash operations API for simple register read bits
   also make difficult to extend the flash operations.
4) Instead of touching generic code, it is possible to have
   this functionality inside spinor operations in the form of
   flash hooks or fixups for associated flash chips.

Considering all these points, this patch drops the get_sw_write_prot
and associated code bases.

Cc: Simon Glass <sjg@chromium.org>
Cc: Vignesh R <vigneshr@ti.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
4 years agomtd: spi: Use CONFIG_IS_ENABLED to prevent ifdef
Jagan Teki [Tue, 12 May 2020 18:41:27 +0000 (00:11 +0530)]
mtd: spi: Use CONFIG_IS_ENABLED to prevent ifdef

Use CONFIG_IS_ENABLED to prevent ifdef in sf_probe.c

Cc: Simon Glass <sjg@chromium.org>
Cc: Vignesh R <vigneshr@ti.com>
Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
4 years agospi: Zap sh_spi driver
Jagan Teki [Mon, 25 May 2020 18:53:51 +0000 (00:23 +0530)]
spi: Zap sh_spi driver

sh_spi driver is deprecated, no active updates and
no board user, hence dropped the same.

Cc: Marek Vasut <marex@denx.de>
Cc: Tom Rini <trini@konsulko.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
4 years agospi: Kconfig: Move MSCC_BB_SPI, FSL_QSPI into DM_SPI
Jagan Teki [Mon, 25 May 2020 18:54:19 +0000 (00:24 +0530)]
spi: Kconfig: Move MSCC_BB_SPI, FSL_QSPI into DM_SPI

- MSCC_BB_SPI
- FSL_QSPI

Both are fully dm-driven, let's move them into DM_SPI
side definition.

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
4 years agospi: Kconfig: Drop redundant CF_SPI definition
Jagan Teki [Mon, 25 May 2020 18:45:25 +0000 (00:15 +0530)]
spi: Kconfig: Drop redundant CF_SPI definition

CF_SPI kconfig option defined twice with DM_SPI
and non DM_SPI.

Drop the non DM_SPI side kconfig definition.

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
4 years agospi Drop spi_init()
Jagan Teki [Mon, 25 May 2020 18:22:23 +0000 (23:52 +0530)]
spi Drop spi_init()

spi_init doesn't exist anywhere in the code.

Drop it.

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
4 years agomtd: spinand: toshiba: Support for new Kioxia Serial NAND
Yoshio Furuyama [Sun, 10 May 2020 20:06:42 +0000 (22:06 +0200)]
mtd: spinand: toshiba: Support for new Kioxia Serial NAND

Add support for new Kioxia products.
The new Kioxia products support program load x4 command, and have
HOLD_D bit which is equivalent to QE bit.

Signed-off-by: Yoshio Furuyama <ytc-mb-yfuruyama7@kioxia.com>
Reviewed-by: Frieder Schrempf <frieder.schrempf@kontron.de>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Link: https://lore.kernel.org/linux-mtd/aa69e455beedc5ce0d7141359b9364ed8aec9e65.1584949601.git.ytc-mb-yfuruyama7@kioxia.com
Signed-off-by: Robert Marko <robert.marko@sartura.hr>
Cc: Luka Perkov <luka.perkov@sartura.hr>
Reviewed-by: Jagan Teki <jagan@amarulasolutions.com>
4 years agomtd: spinand: toshiba: Rename function name to change suffix and prefix (8Gbit)
Yoshio Furuyama [Sun, 10 May 2020 20:06:41 +0000 (22:06 +0200)]
mtd: spinand: toshiba: Rename function name to change suffix and prefix (8Gbit)

The suffix was changed from "G" to "J" to classify between 1st generation
and 2nd generation serial NAND devices (which now belong to the Kioxia
brand).
As reference that's
1st generation device of 1Gbit product is "TC58CVG0S3HRAIG"
2nd generation device of 1Gbit product is "TC58CVG0S3HRAIJ".

The 8Gbit type "TH58CxG3S0HRAIJ" is new to Kioxia's serial NAND lineup and
the prefix was changed from "TC58" to "TH58".

Thus the functions were renamed from tc58cxgxsx_*() to tx58cxgxsxraix_*().

Signed-off-by: Yoshio Furuyama <ytc-mb-yfuruyama7@kioxia.com>
Reviewed-by: Frieder Schrempf <frieder.schrempf@kontron.de>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Link: https://lore.kernel.org/linux-mtd/0dedd9869569a17625822dba87878254d253ba0e.1584949601.git.ytc-mb-yfuruyama7@kioxia.com
Signed-off-by: Robert Marko <robert.marko@sartura.hr>
Cc: Luka Perkov <luka.perkov@sartura.hr>
Reviewed-by: Jagan Teki <jagan@amarulasolutions.com>
4 years agoMerge https://gitlab.denx.de/u-boot/custodians/u-boot-marvell
Tom Rini [Wed, 27 May 2020 14:56:25 +0000 (10:56 -0400)]
Merge https://gitlab.denx.de/u-boot/custodians/u-boot-marvell

- Fix SPI boot on ds414 (Ezra)
- Fix PHY mode definition on armada-3720-uDPU (Jakov)
- Convert CRS305-1G-4S to generic version (Luka)

4 years agoMerge https://gitlab.denx.de/u-boot/custodians/u-boot-x86
Tom Rini [Wed, 27 May 2020 14:55:55 +0000 (10:55 -0400)]
Merge https://gitlab.denx.de/u-boot/custodians/u-boot-x86

- Use device tree for FSP-M and FSP-S configuration on Intel Apollo Lake
- Add SMBIOS cbmem entry parsing for coreboot
- Various clean-ups to CBFS implementation

4 years agocbfs: Don't require the CBFS size with cbfs_init_mem()
Simon Glass [Sun, 24 May 2020 23:38:24 +0000 (17:38 -0600)]
cbfs: Don't require the CBFS size with cbfs_init_mem()

The size is not actually used since it is present in the header. Drop this
parameter. Also tidy up error handling while we are here.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
4 years agocbfs: Allow reading a file from a CBFS given its base addr
Simon Glass [Sun, 24 May 2020 23:38:23 +0000 (17:38 -0600)]
cbfs: Allow reading a file from a CBFS given its base addr

Currently we support reading a file from CBFS given the address of the end
of the ROM. Sometimes we only know the start of the CBFS. Add a function
to find a file given that.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
4 years agocbfs: Change file_cbfs_find_uncached() to return an error
Simon Glass [Sun, 24 May 2020 23:38:22 +0000 (17:38 -0600)]
cbfs: Change file_cbfs_find_uncached() to return an error

This function currently returns a node pointer so there is no way to know
the error code. Also it uses data in BSS which seems unnecessary since the
caller might prefer to use a local variable.

Update the function and split its body out into a separate function so we
can use it later.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
4 years agocbfs: Return the error code from file_cbfs_init()
Simon Glass [Sun, 24 May 2020 23:38:21 +0000 (17:38 -0600)]
cbfs: Return the error code from file_cbfs_init()

We may as well return the error code and use it directly in the command
code. CBFS still uses its own error enum which we may be able to remove,
but leave it for now.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
4 years agocbfs: Record the start address in cbfs_priv
Simon Glass [Sun, 24 May 2020 23:38:20 +0000 (17:38 -0600)]
cbfs: Record the start address in cbfs_priv

The start address of the CBFS is used when scanning for files. It makes
sense to put this in our cbfs_priv struct and calculate it when we read
the header.

Update the code accordingly.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
4 years agocbfs: Use void * for the position pointers
Simon Glass [Sun, 24 May 2020 23:38:19 +0000 (17:38 -0600)]
cbfs: Use void * for the position pointers

It doesn't make sense to use u8 * as the pointer type for accessing the
CBFS since we do not access it as bytes, but via structures. Change it to
void *, which allows us to avoid a cast.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
4 years agocbfs: Unify the two header loaders
Simon Glass [Sun, 24 May 2020 23:38:18 +0000 (17:38 -0600)]
cbfs: Unify the two header loaders

These two functions have mostly the same code. Pull this out into a common
function.

Also make this function zero the private data so that callers don't have
to do it. Finally, update cbfs_load_header_ptr() to take the base of the
ROM as its parameter, which makes more sense than passing the address of
the header within the ROM.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
4 years agocbfs: Adjust cbfs_load_header_ptr() to use cbfs_priv
Simon Glass [Sun, 24 May 2020 23:38:17 +0000 (17:38 -0600)]
cbfs: Adjust cbfs_load_header_ptr() to use cbfs_priv

This function is strange at the moment in that it takes a header pointer
but then accesses the cbfs_s global. Currently clients have their own priv
pointer, so update the function to take that as a parameter instead.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
4 years agocbfs: Adjust file_cbfs_load_header() to use cbfs_priv
Simon Glass [Sun, 24 May 2020 23:38:16 +0000 (17:38 -0600)]
cbfs: Adjust file_cbfs_load_header() to use cbfs_priv

This function is strange at the moment in that it takes a header pointer
but then accesses the cbfs_s global. Currently clients have their own priv
pointer, so update the function to take that as a parameter instead.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
4 years agocbfs: Adjust return value of file_cbfs_next_file()
Simon Glass [Sun, 24 May 2020 23:38:15 +0000 (17:38 -0600)]
cbfs: Adjust return value of file_cbfs_next_file()

At present this uses a true return to indicate it found a file. Adjust it
to use 0 for this, so it is consistent with other functions.

Update its callers accordingly and add a check for malloc() failure in
file_cbfs_fill_cache().

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
4 years agocbfs: Use bool type for whether initialised
Simon Glass [Sun, 24 May 2020 23:38:14 +0000 (17:38 -0600)]
cbfs: Use bool type for whether initialised

At present this uses an int type. U-Boot now supports bool so use this
instead.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
4 years agocbfs: Use ulong consistently
Simon Glass [Sun, 24 May 2020 23:38:13 +0000 (17:38 -0600)]
cbfs: Use ulong consistently

U-Boot uses ulong for addresses but there are a few places in this driver
that don't use it. Convert this driver over to follow this convention
fully.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
4 years agocbfs: Rename the result variable
Simon Glass [Sun, 24 May 2020 23:38:12 +0000 (17:38 -0600)]
cbfs: Rename the result variable

At present the result variable in the cbfs_priv is called 'result' as is
the local variable in a few functions. Change the latter to 'ret' which is
more common in U-Boot and avoids confusion.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
4 years agocbfs: drop file_cbfs_result declaration
Christian Gmeiner [Tue, 19 May 2020 09:01:59 +0000 (11:01 +0200)]
cbfs: drop file_cbfs_result declaration

It is not definded anywhere.

Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Reviewed-by: Heinrich Schuchardt <xypron.gpk@gmx.de>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
4 years agox86: coreboot: add SMBIOS cbmem entry parsing
Christian Gmeiner [Thu, 14 May 2020 13:16:22 +0000 (15:16 +0200)]
x86: coreboot: add SMBIOS cbmem entry parsing

Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
4 years agox86: apl: Use devicetree for FSP-S configuration
Bernhard Messerklinger [Mon, 18 May 2020 10:33:35 +0000 (12:33 +0200)]
x86: apl: Use devicetree for FSP-S configuration

A the moment the FSP-S configuration is a mix of hard coded values and
devicetree properties.

This patch makes FSP-S full configurable from devicetree by
adding binding properties for all FSP-S parameters.

Co-developed-by: Wolfgang Wallner <wolfgang.wallner@br-automation.com>
Signed-off-by: Wolfgang Wallner <wolfgang.wallner@br-automation.com>
Signed-off-by: Bernhard Messerklinger <bernhard.messerklinger@br-automation.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Tested-by: Simon Glass <sjg@chromium.org> (Tested on coral)
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
4 years agox86: apl: Use devicetree for FSP-M configuration
Bernhard Messerklinger [Mon, 18 May 2020 10:33:34 +0000 (12:33 +0200)]
x86: apl: Use devicetree for FSP-M configuration

A the moment the FSP-M configuration is a mix of hard coded values and
devicetree properties.

This patch makes FSP-M full configurable from devicetree by adding
binding properties for all FSP-M parameters.

Co-developed-by: Wolfgang Wallner <wolfgang.wallner@br-automation.com>
Signed-off-by: Wolfgang Wallner <wolfgang.wallner@br-automation.com>
Signed-off-by: Bernhard Messerklinger <bernhard.messerklinger@br-automation.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Tested-by: Simon Glass <sjg@chromium.org> (Tested on coral)
[sjg: Fix a build error for coral]
Signed-off-by: Simon Glass <sjg@chromium.org>
[bmeng: Add __maybe_unused to fsp_update_config_from_dtb()]
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
4 years agox86: apl: Only load VBT if CONFIG_HAVE_VBT is enabled
Bernhard Messerklinger [Mon, 18 May 2020 10:33:33 +0000 (12:33 +0200)]
x86: apl: Only load VBT if CONFIG_HAVE_VBT is enabled

Only load VBT if it's present in the u-boot.rom.

Signed-off-by: Bernhard Messerklinger <bernhard.messerklinger@br-automation.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Tested-by: Simon Glass <sjg@chromium.org> (Tested on coral)
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
4 years agox86: mtrr: Drop the mask display when changing an mtrr
Simon Glass [Thu, 7 May 2020 14:12:52 +0000 (08:12 -0600)]
x86: mtrr: Drop the mask display when changing an mtrr

We don't need to print this information since it is shown when the MTRRs
are displayed. Drop it.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
4 years agoarm: mvebu: Convert CRS305-1G-4S board to CRS3xx-98DX3236
Luka Kovacic [Tue, 26 May 2020 18:17:50 +0000 (20:17 +0200)]
arm: mvebu: Convert CRS305-1G-4S board to CRS3xx-98DX3236

Convert the CRS305-1G-4S board to CRS3xx-98DX3236 to enable easier
implementation of new CRS3xx series boards, based on Marvell Prestera
98DX3236.

Signed-off-by: Luka Kovacic <luka.kovacic@sartura.hr>
Reviewed-by: Stefan Roese <sr@denx.de>
Cc: Luka Perkov <luka.perkov@sartura.hr>
Cc: Jakov Petrina <jakov.petrina@sartura.hr>
4 years agoarm: mvebu: armada-3720-uDPU: fix PHY mode definition to sgmii-2500
Jakov Petrina [Tue, 12 May 2020 10:02:47 +0000 (12:02 +0200)]
arm: mvebu: armada-3720-uDPU: fix PHY mode definition to sgmii-2500

Commit f49ac7e1c4 switched the default PHY speed to 3.125Gbit to resolve
issues with SFP modules. However, U-Boot does not have a "2500base-x"
phy-mode.

Resolve this by using "sgmii-2500" instead.

Signed-off-by: Jakov Petrina <jakov.petrina@sartura.hr>
Signed-off-by: Vladimir Vid <vladimir.vid@sartura.hr>
Reviewed-by: Stefan Roese <sr@denx.de>
Cc: Luka Perkov <luka.perkov@sartura.hr>
Cc: Stefan Roese <sr@denx.de>
4 years agoarm: mvebu: ds414: define CONFIG_SYS_U_BOOT_OFFS
Ezra Buehler [Sat, 9 May 2020 20:05:39 +0000 (22:05 +0200)]
arm: mvebu: ds414: define CONFIG_SYS_U_BOOT_OFFS

Without CONFIG_SYS_U_BOOT_OFFS set to CONFIG_SYS_SPI_U_BOOT_OFFS, U-Boot
will be located at address 0x16000. But, SPL will try to load the
payload from 0x24000 causing the boot to hang.

Signed-off-by: Ezra Buehler <ezra@easyb.ch>
Reviewed-by: Stefan Roese <sr@denx.de>
4 years agoarm: mvebu: ds414: add u-boot,dm-pre-reloc to spi0
Ezra Buehler [Sat, 9 May 2020 20:05:38 +0000 (22:05 +0200)]
arm: mvebu: ds414: add u-boot,dm-pre-reloc to spi0

Without this U-Boot-specific property, booting on the Synology DS414
(or DS214+) fails in SPL. The spi0 DT node is not scanned, as a result
the SPI flash cannot be found.

Signed-off-by: Ezra Buehler <ezra@easyb.ch>
Reviewed-by: Stefan Roese <sr@denx.de>
4 years agoMerge https://gitlab.denx.de/u-boot/custodians/u-boot-riscv
Tom Rini [Tue, 26 May 2020 19:27:04 +0000 (15:27 -0400)]
Merge https://gitlab.denx.de/u-boot/custodians/u-boot-riscv

- sifive: fix palmer's email address.
- Move all SMP related SBI calls to SBI_v01.

4 years agoconfigs: Resync with savedefconfig
Tom Rini [Tue, 26 May 2020 12:32:25 +0000 (08:32 -0400)]
configs: Resync with savedefconfig

Rsync all defconfig files using moveconfig.py

Signed-off-by: Tom Rini <trini@konsulko.com>
4 years agosifive: fix palmer's email address
Pragnesh Patel [Thu, 30 Apr 2020 14:42:03 +0000 (20:12 +0530)]
sifive: fix palmer's email address

Fix Palmer's email address

Signed-off-by: Pragnesh Patel <pragnesh.patel@sifive.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Palmer Dabbelt <palmerdabbelt@google.com>
4 years agoriscv: Move all SMP related SBI calls to SBI_v01
Atish Patra [Tue, 21 Apr 2020 21:51:57 +0000 (14:51 -0700)]
riscv: Move all SMP related SBI calls to SBI_v01

SMP support for S-mode U-Boot is enabled only if SBI_V01 is enabled.
There is no point in supporting SMP related (IPI and fences) SBI calls
when SBI_V02 is enabled.

Modify all the SMP related SBI calls to be defined only for SBI_V01.

Signed-off-by: Atish Patra <atish.patra@wdc.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
4 years agoPrepare v2020.07-rc3
Tom Rini [Tue, 26 May 2020 00:34:01 +0000 (20:34 -0400)]
Prepare v2020.07-rc3

Signed-off-by: Tom Rini <trini@konsulko.com>
4 years agoMerge tag 'ti-v2020.07-rc3' of https://gitlab.denx.de/u-boot/custodians/u-boot-ti
Tom Rini [Mon, 25 May 2020 18:09:42 +0000 (14:09 -0400)]
Merge tag 'ti-v2020.07-rc3' of https://gitlab.denx.de/u-boot/custodians/u-boot-ti

- Enable DM_ETH on omap3_logic board
- Enable Caches in SPL for K3 platforms
- Enable backup boot mode support for J721E
- Update the DDR timings for AM654 EVM
- Add automated tests for RX-51

4 years agoMerge branch '2020-05-25-misc-fixes'
Tom Rini [Mon, 25 May 2020 15:56:57 +0000 (11:56 -0400)]
Merge branch '2020-05-25-misc-fixes'

- A few minor Kconfig migrations / corrections
- DFU doc fixes/improvements
- Bugfix for ARMv8, env userspace building, more NULL checks in generic
  PHY code

4 years agosandbox: move compression option to Kconfig
Michael Walle [Fri, 22 May 2020 12:07:38 +0000 (14:07 +0200)]
sandbox: move compression option to Kconfig

CONFIG_BZIP2 and CONFIG_GZIP_COMPRESSED are Kconfig options. Select them
by CONFIG_SANDBOX instead of setting them in configs/sandbox.h.

Signed-off-by: Michael Walle <michael@walle.cc>
Reviewed-by: Simon Glass <sjg@chromium.org>
4 years agocmd: zip: fix implicit declaration warning
Michael Walle [Fri, 22 May 2020 12:07:37 +0000 (14:07 +0200)]
cmd: zip: fix implicit declaration warning

Fix the following warning:

cmd/zip.c: In function ‘do_zip’:
cmd/zip.c:30:6: warning: implicit declaration of function ‘gzip’; did you mean ‘do_zip’? [-Wimplicit-function-declaration]
  if (gzip((void *) dst, &dst_len, (void *) src, src_len) != 0)
      ^~~~
      do_zip

Include gzip.h header which declares the gzip() function.

Signed-off-by: Michael Walle <michael@walle.cc>
Reviewed-by: Simon Glass <sjg@chromium.org>
4 years agocmd: zip: automatically pull in gzip()
Michael Walle [Fri, 22 May 2020 12:07:36 +0000 (14:07 +0200)]
cmd: zip: automatically pull in gzip()

Move the CONFIG_GZIP_COMPRESSED from a config.h macro to a Kconfig menu
item. It is not selectable by a user because there is no reason to do
so. Instead it will be automatically selected by the stuff which uses
gzip(), like the zip command.

Remove it from the config_whitelist.txt. Also remove
CONFIG_GZIP_COMPRESS_DEF_SZ as this was never used on any board. The
default seems to be sane, otherwise it should be added as a Kconfig
option.

Signed-off-by: Michael Walle <michael@walle.cc>
Reviewed-by: Simon Glass <sjg@chromium.org>
4 years agocmd: unzip: automatically select CONFIG_GZIP
Michael Walle [Fri, 22 May 2020 12:07:35 +0000 (14:07 +0200)]
cmd: unzip: automatically select CONFIG_GZIP

unzip calls gzwrite() which is provided in lib/gunzip.c. Make sure it is
automatically pulled in if the user selects CMD_UNZIP.

Signed-off-by: Michael Walle <michael@walle.cc>
Reviewed-by: Heinrich Schuchardt <xypron.glkp@gmx.de>
4 years agoenv: Convert ENV_ACCESS_IGNORE_FORCE to Kconfig
Marek Vasut [Thu, 21 May 2020 23:10:14 +0000 (01:10 +0200)]
env: Convert ENV_ACCESS_IGNORE_FORCE to Kconfig

Convert ENV_ACCESS_IGNORE_FORCE to Kconfig, no functional change.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Tom Rini <trini@konsulko.com>
4 years agotools/env/fw_env.h: remove env.h
Romain Naour [Thu, 21 May 2020 21:22:06 +0000 (23:22 +0200)]
tools/env/fw_env.h: remove env.h

As reported by Nicolas Carrier on the Buildroot mailing list [1],
there is a new build issue while building a program which interacts with
the u-boot environment. This program uses the headers of the ubootenv
library provided by uboot-tools.

This is a recent change from uboot [2] adding "#include <env.h>" to
fw_env.h. Adding env.h require a board configuration to build since
it also include compiler.h (and others uboot internal includes).

env.h include seems not needed since env_set() is not used in fw_env tool.

Nicolas removed env.h from fw_env tool and fixed it's build issue.

This problem is present since uboot v2019.10.

[1] http://lists.busybox.net/pipermail/buildroot/2020-April/280307.html
[2] https://gitlab.denx.de/u-boot/u-boot/-/commit/9fb625ce05539fe6876a59ce1dcadb76b33c6f6e

Reported-by: Nicolas Carrier <nicolas.carrier@orolia.com>
Signed-off-by: Romain Naour <romain.naour@gmail.com>
4 years agoConvert CONFIG_CMD_MMC to Kconfig
Tom Rini [Thu, 21 May 2020 20:26:03 +0000 (16:26 -0400)]
Convert CONFIG_CMD_MMC to Kconfig

This converts the following to Kconfig:
   CONFIG_CMD_MMC

Signed-off-by: Tom Rini <trini@konsulko.com>
4 years agophy: Fix possible NULL pointer deference
Vignesh Raghavendra [Wed, 20 May 2020 17:05:41 +0000 (22:35 +0530)]
phy: Fix possible NULL pointer deference

It is possible that users of generic_phy_*() APIs may pass a valid
struct phy pointer but phy->dev can be NULL, leading to NULL pointer
deference in phy_dev_ops().

So call generic_phy_valid() to verify that phy and phy->dev are both
valid.

Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
4 years agoMAINTAINERS: add dfu.h and dfu.rst to DFU
Heinrich Schuchardt [Sun, 24 May 2020 10:02:14 +0000 (12:02 +0200)]
MAINTAINERS: add dfu.h and dfu.rst to DFU

include/dfu.h and doc/api/dfu.rst belong to the device firmware update
sub-system. So let's add them to DFU in MAINTAINERS.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Acked-by: Lukasz Majewski <lukma@denx.de>
4 years agodoc: dfu: describe more DFU function
Heinrich Schuchardt [Sat, 23 May 2020 12:24:40 +0000 (14:24 +0200)]
doc: dfu: describe more DFU function

Add some of the missing DFU function descriptions.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Acked-by: Lukasz Majewski <lukma@denx.de>
4 years agodoc: dfu: fix typos in README.dfu
Heinrich Schuchardt [Sat, 23 May 2020 11:48:07 +0000 (13:48 +0200)]
doc: dfu: fix typos in README.dfu

Fix some typos.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Acked-by: Lukasz Majewski <lukma@denx.de>
4 years agodoc: dfu: add DFU to HTML documentation
Heinrich Schuchardt [Sat, 23 May 2020 10:01:08 +0000 (12:01 +0200)]
doc: dfu: add DFU to HTML documentation

Add the device firmware update functions to the generated HTML
documentation.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Acked-by: Lukasz Majewski <lukma@denx.de>
4 years agodoc: dfu: describe eMMC partition number parameter
Heinrich Schuchardt [Sat, 23 May 2020 09:36:49 +0000 (11:36 +0200)]
doc: dfu: describe eMMC partition number parameter

In dfu_alt_info for eMMC the eMMC partition number can be specified.

The separator in dfu_alt_info is a semicolon not a comma.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Acked-by: Lukasz Majewski <lukma@denx.de>
4 years agoMAINTAINERS: add doc/driver-model/ to DRIVER MODEL
Heinrich Schuchardt [Wed, 20 May 2020 21:24:52 +0000 (23:24 +0200)]
MAINTAINERS: add doc/driver-model/ to DRIVER MODEL

The documentation should rest with the same maintainer as the code.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
4 years agoarmv8: cache_v8: fix mmu_set_region_dcache_behaviour
Peng Fan [Mon, 11 May 2020 08:41:07 +0000 (16:41 +0800)]
armv8: cache_v8: fix mmu_set_region_dcache_behaviour

The enum dcache_optoion contains a shift left 2 bits in the armv8 case
already.  The PMD_ATTRINDX(option) macro will perform a left shift of 2
bits.  Perform a right shift so that in the end we get the correct
value.

[trini: Reword the commit message]
Reviewed-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
4 years agoMerge git://git.denx.de/u-boot-usb
Tom Rini [Sat, 23 May 2020 02:58:50 +0000 (22:58 -0400)]
Merge git://git.denx.de/u-boot-usb

- DM support for OMAP
- DWC3 fix
- Typo fix in eth/r8152

4 years agoMerge branch 'net' of git://git.denx.de/u-boot-socfpga
Tom Rini [Sat, 23 May 2020 02:58:16 +0000 (22:58 -0400)]
Merge branch 'net' of git://git.denx.de/u-boot-socfpga

- ks8851 cleanups and DM migration

4 years agonet: ks8851: Add Kconfig entries
Marek Vasut [Wed, 25 Mar 2020 18:08:59 +0000 (19:08 +0100)]
net: ks8851: Add Kconfig entries

Convert CONFIG_KS8851_MLL and CONFIG_KS8851_MLL_BASEADDR to Kconfig

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Eugen Hristev <eugen.hristev@microchip.com>
Cc: Joe Hershberger <joe.hershberger@ni.com>
4 years agonet: ks8851: Add DM support
Marek Vasut [Wed, 25 Mar 2020 17:00:35 +0000 (18:00 +0100)]
net: ks8851: Add DM support

Add support for U-Boot DM and DT probing.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Eugen Hristev <eugen.hristev@microchip.com>
Cc: Joe Hershberger <joe.hershberger@ni.com>
4 years agonet: ks8851: Receive one packet per recv call
Marek Vasut [Wed, 25 Mar 2020 17:47:10 +0000 (18:47 +0100)]
net: ks8851: Receive one packet per recv call

Instead of reading out the entire FIFO and possibly overwriting U-Boot
memory, read out one packet per recv call, pass it to U-Boot network
stack, and repeat. It is however necessary to cache RXFC value, because
reading that one out clears it.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Eugen Hristev <eugen.hristev@microchip.com>
Cc: Joe Hershberger <joe.hershberger@ni.com>
4 years agonet: ks8851: Split non-DM specific bits from common code
Marek Vasut [Wed, 25 Mar 2020 16:54:45 +0000 (17:54 +0100)]
net: ks8851: Split non-DM specific bits from common code

Split network handling functions into non-DM specific parts and
common code in preparation for conversion to DM.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Eugen Hristev <eugen.hristev@microchip.com>
Cc: Joe Hershberger <joe.hershberger@ni.com>
4 years agonet: ks8851: Pass around driver private data
Marek Vasut [Wed, 25 Mar 2020 16:35:00 +0000 (17:35 +0100)]
net: ks8851: Pass around driver private data

Introduce a private data structure for this driver with embedded
struct eth_device and pass it around. This prepares the driver to
work with both DM and non-DM systems.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Eugen Hristev <eugen.hristev@microchip.com>
Cc: Joe Hershberger <joe.hershberger@ni.com>
4 years agonet: ks8851: Checkpatch cleanup
Marek Vasut [Wed, 25 Mar 2020 16:25:29 +0000 (17:25 +0100)]
net: ks8851: Checkpatch cleanup

Fix various checkpatch complaints.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Eugen Hristev <eugen.hristev@microchip.com>
Cc: Joe Hershberger <joe.hershberger@ni.com>
4 years agonet: ks8851: Clean up chip ID readout
Marek Vasut [Wed, 25 Mar 2020 17:15:46 +0000 (18:15 +0100)]
net: ks8851: Clean up chip ID readout

There is only one chip ID in the table of chip IDs for this chip.
Read out the chip ID instead and mask off the last "revision" bit
to check the chip ID, this works for all chips in the family. Then
drop the chip ID passing around.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Eugen Hristev <eugen.hristev@microchip.com>
Cc: Joe Hershberger <joe.hershberger@ni.com>
4 years agonet: ks8851: Remove type_frame_head
Marek Vasut [Wed, 25 Mar 2020 16:23:11 +0000 (17:23 +0100)]
net: ks8851: Remove type_frame_head

The packet status and length information should be extracted from the
FIFO per-packet. Adjust the code such that it reads the packet meta
data and then the packet afterward, if applicable.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Eugen Hristev <eugen.hristev@microchip.com>
Cc: Joe Hershberger <joe.hershberger@ni.com>
4 years agonet: ks8851: Trim down struct ks_net
Marek Vasut [Wed, 25 Mar 2020 16:18:55 +0000 (17:18 +0100)]
net: ks8851: Trim down struct ks_net

Most of the entries in the structure are useless, remove them. Inline
the rest of uses where applicable.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Eugen Hristev <eugen.hristev@microchip.com>
Cc: Joe Hershberger <joe.hershberger@ni.com>
4 years agonet: ks8851: Use 16bit RXQCR access
Marek Vasut [Wed, 25 Mar 2020 16:02:51 +0000 (17:02 +0100)]
net: ks8851: Use 16bit RXQCR access

Per KS8851-16MLL, the RXQCR is a 16bit register. Use 16bit accessors
to it consistently and drop the ks_wrreg8() function altogether, as
it is not used anymore.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Eugen Hristev <eugen.hristev@microchip.com>
Cc: Joe Hershberger <joe.hershberger@ni.com>
4 years agonet: ks8851: Remove RXQCR cache
Marek Vasut [Wed, 25 Mar 2020 16:02:21 +0000 (17:02 +0100)]
net: ks8851: Remove RXQCR cache

The cached RXQCR value is never updated, remove the cache and just use
the bits in the cache directly in the code.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Eugen Hristev <eugen.hristev@microchip.com>
Cc: Joe Hershberger <joe.hershberger@ni.com>
4 years agonet: ks8851: Replace malloc()+memset() with calloc()
Marek Vasut [Wed, 25 Mar 2020 15:52:38 +0000 (16:52 +0100)]
net: ks8851: Replace malloc()+memset() with calloc()

Replace combination of malloc()+memset() with calloc() as the behavior
is exactly the same and the amount of code is reduced. Moreover, remove
printf() in the fail path, as it is useless, and return proper -ENOMEM
return code.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Eugen Hristev <eugen.hristev@microchip.com>
Cc: Joe Hershberger <joe.hershberger@ni.com>
4 years agoMerge tag 'u-boot-rockchip-20200522' of https://gitlab.denx.de/u-boot/custodians...
Tom Rini [Fri, 22 May 2020 14:28:38 +0000 (10:28 -0400)]
Merge tag 'u-boot-rockchip-20200522' of https://gitlab.denx.de/u-boot/custodians/u-boot-rockchip

- Fix rk3288 chromebook veyron support;
- Add pcie driver support for rk3399;
- other fixes for rk3399 boards

4 years agoMerge tag 'imx8qxp-fixes' of https://gitlab.denx.de/u-boot/custodians/u-boot-video
Tom Rini [Fri, 22 May 2020 14:28:26 +0000 (10:28 -0400)]
Merge tag 'imx8qxp-fixes' of https://gitlab.denx.de/u-boot/custodians/u-boot-video

- Fix i.MX8QXP boot hang when getting CPU temperature

4 years agoMerge tag 'efi-2020-07-rc3-2' of https://gitlab.denx.de/u-boot/custodians/u-boot-efi
Tom Rini [Fri, 22 May 2020 14:27:24 +0000 (10:27 -0400)]
Merge tag 'efi-2020-07-rc3-2' of https://gitlab.denx.de/u-boot/custodians/u-boot-efi

Pull request for UEFI sub-system for efi-2020-07-rc3 (2)

Problems fixed with these patches are:

* UEFI sub-system not working with virtio block devices
* Missing SATA support in UEFI sub-system
* A superfluous debug statement

4 years agoMerge tag 'uniphier-v2020.07' of https://gitlab.denx.de/u-boot/custodians/u-boot...
Tom Rini [Fri, 22 May 2020 14:27:06 +0000 (10:27 -0400)]
Merge tag 'uniphier-v2020.07' of https://gitlab.denx.de/u-boot/custodians/u-boot-uniphier

UniPhier SoC updates for v2020.07

 - De-assert write protect for Denali NAND driver

 - Clean up include directives

 - Migrate to DM_ETH, and remove legacy board_eth_init()

4 years agoeth/r8152: fix typo in register name
Hayes Wang [Fri, 22 May 2020 08:54:11 +0000 (16:54 +0800)]
eth/r8152: fix typo in register name

The PAL_BDC_CR should be PLA_BDC_CR.

Signed-off-by: Hayes Wang <hayeswang@realtek.com>
4 years agousb: dwc3: fix NULL pointer issue
Chunfeng Yun [Thu, 14 May 2020 05:55:11 +0000 (13:55 +0800)]
usb: dwc3: fix NULL pointer issue

The phy_bulk pointer *usb_phys is used before allocated,
fix it by using a phy_bulk variable instead in
xhci_dwc3_platdata struct

Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
4 years agousb: ehci-omap: Add Support for DM_USB and OF_CONTROL
Adam Ford [Sat, 16 May 2020 06:19:53 +0000 (01:19 -0500)]
usb: ehci-omap: Add Support for DM_USB and OF_CONTROL

The omap3.dtsi file shows the usbhshost node with two sub-nodes
for ohci and ehci.  This patch file creates the usbhshost, and
pulls the portX-mode information.  It then locates the EHCI
sub-node, and initializes the EHCI controller with the info
pulled from the usbhshost node.

There is still more to do since there isn't an actual link
between the 'phys' reference and the corresponding phy driver,
and there is no nop-xceiv driver yet.

In the meantime, the older style reference to
CONFIG_OMAP_EHCI_PHYx_RESET_GPIO is still needed to pull
the phy out of reset until the phy driver is completed and the
phandle reference is made.

Signed-off-by: Adam Ford <aford173@gmail.com>
4 years agorockchip: rk3328: rock64 - fix gen3 SPL hang
Kurt Miller [Wed, 13 May 2020 19:55:20 +0000 (15:55 -0400)]
rockchip: rk3328: rock64 - fix gen3 SPL hang

Use the same approach as ROC-RK3328-CC which enables SPL GPIO,
pinctl and regulator support. This allows the gen3 board to
boot through SPL and does not break gen2 in the process.

Signed-off-by: Kurt Miller <kurt@intricatesoftware.com>
Acked-by: Matwey V. Kornilov <matwey.kornilov@gmail.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 years agodefconfig: veyron: no need for CONFIG_SPL_PINCTRL_FULL
Urja Rannikko [Wed, 13 May 2020 19:15:23 +0000 (19:15 +0000)]
defconfig: veyron: no need for CONFIG_SPL_PINCTRL_FULL

Veyrons do not need full pinctrl support for SPL.
The full pinctrl support does nothing when enabled with OF_PLATDATA,
thus was already unused.
This frees about 4kB of SPL size.

Signed-off-by: Urja Rannikko <urjaman@gmail.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 years agorockchip: spl-boot-order: do not attempt to access fdt if OF_PLATDATA
Urja Rannikko [Wed, 13 May 2020 19:15:22 +0000 (19:15 +0000)]
rockchip: spl-boot-order: do not attempt to access fdt if OF_PLATDATA

gd->fdt_blob is null if using OF_PLATDATA in SPL, which causes a hang
after f0921f5098 ("fdt: Sync up to the latest libfdt").
We use the same test that is used in spl_common_init on whether to call
fdtdec_setup to unconditionally avoid linking in the fdt-using code
when not necessary and thus reduce SPL size.

Signed-off-by: Urja Rannikko <urjaman@gmail.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 years agorockchip: veyron: move board_early_init_f to _r (after reloc)
Urja Rannikko [Wed, 13 May 2020 19:15:21 +0000 (19:15 +0000)]
rockchip: veyron: move board_early_init_f to _r (after reloc)

Previously veyron_init() was called in board_init() context, which is
called after relocation. Moving it to veyron.c used board_early_init_f
which is called way earlier, and causes veyron_init to hang.
Using board_early_init_r instead fixes this.

Fixes: b678f2790c ("rockchip: rk3288: Move veyron_init() back to veyron.c")
Signed-off-by: Urja Rannikko <urjaman@gmail.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 years agorockchip: spl: veyron speedy boots from SPI
Urja Rannikko [Wed, 13 May 2020 19:15:20 +0000 (19:15 +0000)]
rockchip: spl: veyron speedy boots from SPI

Apparently speedy was forgotten from this list of veyron devices.

Fixes: 49105fb7ed ("rockchip: add common spl board file")
Signed-off-by: Urja Rannikko <urjaman@gmail.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 years agotools: value checks in rkcommon_check_params()
Heinrich Schuchardt [Sat, 9 May 2020 19:31:03 +0000 (21:31 +0200)]
tools: value checks in rkcommon_check_params()

Building with -Wtype-limits yields

tools/rkcommon.c: In function ‘rkcommon_check_params’:
tools/rkcommon.c:158:27: warning: comparison of
unsigned expression < 0 is always false [-Wtype-limits]
  158 |  if (spl_params.init_size < 0)
      |                           ^
tools/rkcommon.c:165:28: warning: comparison of
unsigned expression < 0 is always false [-Wtype-limits]
  165 |   if (spl_params.boot_size < 0)
      |

Fix the value checks.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 years agorockchip: Enable PCIe/M.2 on rock960 board
Jagan Teki [Sat, 9 May 2020 16:56:24 +0000 (22:26 +0530)]
rockchip: Enable PCIe/M.2 on rock960 board

Due to board limitation some SSD's would work
on rock960 PCIe M.2 only with 1.8V IO domain.

So, this patch enables grf io_sel explicitly to
make PCIe/M.2 to work.

Cc: Tom Cubie <tom@radxa.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Acked-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 years agorockchip: Enable PCIe/M.2 on rk3399 board w/ M.2
Jagan Teki [Sat, 9 May 2020 16:56:23 +0000 (22:26 +0530)]
rockchip: Enable PCIe/M.2 on rk3399 board w/ M.2

Enable PCIe/M.2 support on
- NanoPC-T4
- ROC-RK3399-PC Mezzanine boards.

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Tested-by: Suniel Mahesh <sunil@amarulasolutions.com> #roc-rk3399-pc
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 years agopci: Add Rockchip PCIe PHY controller driver
Jagan Teki [Sat, 9 May 2020 16:56:22 +0000 (22:26 +0530)]
pci: Add Rockchip PCIe PHY controller driver

Yes, it is possible to have a dedicated UCLASS PHY driver
for this Rockchip PCIe PHY but there are some issues on
Generic PHY framework to support the same.

The Generic PHY framework is unable to get the PHY if
the PHY parent is of a different uclass.

Say if we try to get the PCIe PHY then the phy-uclass
will look for PHY in the first instance if it is not
in the root node it will try to probe the parent by
assuming that the actual PHY is inside the parent PHY
of UCLASS_PHY. But, in rk3399 hardware representation
PHY like emmc, usb and pcie are part of syscon which
is completely a different of UCLASS_SYSCON.

Example:

grf: syscon@ff770000 {
   compatible = "rockchip,rk3399-grf", "syscon", "simple-mfd";
   reg = <0x0 0xff770000 0x0 0x10000>;
   #address-cells = <1>;
   #size-cells = <1>;

   pcie_phy: pcie-phy {
       compatible = "rockchip,rk3399-pcie-phy";
       clocks = <&cru SCLK_PCIEPHY_REF>;
       clock-names = "refclk";
       #phy-cells = <1>;
       resets = <&cru SRST_PCIEPHY>;
       drive-impedance-ohm = <50>;
       reset-names = "phy";
       status = "disabled";
   };
};

Due to this limitation, this patch adds a separate PHY
driver for Rockchip PCIe. This might be removed in future
once Generic PHY supports this limitation.

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Tested-by: Suniel Mahesh <sunil@amarulasolutions.com> #roc-rk3399-pc
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 years agopci: Add Rockchip PCIe controller driver
Jagan Teki [Sat, 9 May 2020 16:56:21 +0000 (22:26 +0530)]
pci: Add Rockchip PCIe controller driver

Add Rockchip PCIe controller driver for rk3399 platform.

Driver support Gen1 by operating as a Root complex.

Thanks to Patrick for initial work.

Signed-off-by: Patrick Wildt <patrick@blueri.se>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
Tested-by: Suniel Mahesh <sunil@amarulasolutions.com> #roc-rk3399-pc
4 years agoclk: rk3399: Enable/Disable the PCIEPHY clk
Jagan Teki [Sat, 9 May 2020 16:56:20 +0000 (22:26 +0530)]
clk: rk3399: Enable/Disable the PCIEPHY clk

Enable/Disable the PCIEPHY clk for rk3399.

CLK is clear in both enable and disable functionality.

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Tested-by: Suniel Mahesh <sunil@amarulasolutions.com> #roc-rk3399-pc
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 years agoclk: rk3399: Add enable/disable clks
Jagan Teki [Sat, 9 May 2020 16:56:19 +0000 (22:26 +0530)]
clk: rk3399: Add enable/disable clks

Yes, most of the high speed peripheral clocks
in rk3399 enabled by default.

But it would be better to handle them via clk
enable/disable API for handling proper reset
conditions like 'usb reset' over command line.

So, enable USB, GMAC clock via enable/disable ops.

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Tested-by: Suniel Mahesh <sunil.m@amarulasolutions.com> # roc-rk3399-pc
Tested-by: Suniel Mahesh <sunil@amarulasolutions.com> #roc-rk3399-pc
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 years agorockpro64: Enable HDMI output on rockpro64 board
Andrius Štikonas [Fri, 24 Apr 2020 21:03:29 +0000 (22:03 +0100)]
rockpro64: Enable HDMI output on rockpro64 board

Reference to commit that adds HDMI to other rk3399 boards:
commit 9778edae5576 ("rockchip: Enable HDMI output on rk3399 board w/ HDMI")

Signed-off-by: Andrius Štikonas <andrius@stikonas.eu>
Cc: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Cc: Jagan Teki <jagan@amarulasolutions.com>
Cc: Kever Yang <kever.yang@rock-chips.com>
Tested-by: Mark Kettenis <kettenis@openbsd.org>
Reviewed-by: Jagan Teki <jagan@amarulasolutions.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 years agothermal: imx_scu_thermal: prevent boot hang with zero pdata
Anatolij Gustschin [Wed, 20 May 2020 08:21:53 +0000 (10:21 +0200)]
thermal: imx_scu_thermal: prevent boot hang with zero pdata

Should initialization of pdata values have failed for some reason,
we end up in endless loop when getting the CPU temperature value
and can not boot. Check alert value in pdata and only retry reading
temperature if alert value is not zero. Also shorten the temperature
info string.

Signed-off-by: Anatolij Gustschin <agust@denx.de>
4 years agocpu: imx8: use intended cpu-thermal device when getting temp value
Anatolij Gustschin [Tue, 19 May 2020 23:31:44 +0000 (01:31 +0200)]
cpu: imx8: use intended cpu-thermal device when getting temp value

This fixes getting DT alert and critical pdata values in imx_scu_thermal
driver. On i.MX8QXP using not initialized alert pdata value resulted in
boot hang and endless loop outputting:
CPU Temperature (47200C) has beyond alert (0C), close to critical (0C) waiting...

While at it, preset CPU type values once to avoid multiple calls
of device_is_compatible() for same property.

Fixes: 3ee6ea443eb4 ("cpu: imx_cpu: Print the CPU temperature for iMX8QM A72")
Signed-off-by: Anatolij Gustschin <agust@denx.de>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
4 years agocpu: imx8: fix type and rate detection
Anatolij Gustschin [Sat, 16 May 2020 20:34:19 +0000 (22:34 +0200)]
cpu: imx8: fix type and rate detection

CPU type and rate detection is broken, for A35 cpu we get A53:
...
sc_pm_get_clock_rate: resource:0 clk:2: res:3
Could not read CPU frequency: -22
CPU:   NXP i.MX8QXP RevB A53 at 0 MHz at 47C

Fixes: 55bc96f3b675 ("cpu: imx8: fix get core name and rate")
Signed-off-by: Anatolij Gustschin <agust@denx.de>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
4 years agorockchip: rk3399: enable spl-fifo-mode for sdmmc
Deepak Das [Wed, 15 Apr 2020 03:25:24 +0000 (08:55 +0530)]
rockchip: rk3399: enable spl-fifo-mode for sdmmc

adapting commit fa2047c47310 ("rockchip: rk3328: enable spl-fifo-mode
for emmc and sdmmc") for rk3399.
Since mmc to sram can't do dma, add patch to prevent aborts transferring
TF-A parts.

Signed-off-by: Deepak Das <deepakdas.linux@gmail.com>
4 years agoboard: puma: use dtb given on the commandline instead of using u-boot.dtb
Heiko Stuebner [Wed, 6 May 2020 11:06:56 +0000 (13:06 +0200)]
board: puma: use dtb given on the commandline instead of using u-boot.dtb

The make_fit_spl scripts get the dtb to use as commandline option,
so use it for puma as well.

Signed-off-by: Heiko Stuebner <heiko.stuebner@theobroma-systems.com>
4 years agoARM: uniphier: remove board_eth_init()
Masahiro Yamada [Wed, 20 May 2020 03:31:28 +0000 (12:31 +0900)]
ARM: uniphier: remove board_eth_init()

This platform completely migrated to CONFIG_DM_ETH.

board_eth_init() is only called from net/eth_legacy.c

Remove the legacy hook.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
4 years agoARM: uniphier: delete or replace <common.h> includes
Masahiro Yamada [Wed, 20 May 2020 03:31:27 +0000 (12:31 +0900)]
ARM: uniphier: delete or replace <common.h> includes

<common.h> pulls in a lot of bloat. <common.h> is unneeded in most of
places.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Reviewed-by: Simon Glass <sjg@chromium.org>