Heiko Schocher [Mon, 2 Mar 2020 14:43:59 +0000 (15:43 +0100)]
bootcounter: add DM support for memory based bootcounter
add DM/DTS support for the memory based bootcounter
in drivers/bootcount/bootcount.c.
Let the old implementation in, so boards which have
not yet convert to DM/DTS do not break.
Signed-off-by: Heiko Schocher <hs@denx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
Jun Chen [Mon, 2 Mar 2020 08:58:57 +0000 (16:58 +0800)]
i2c: designware_i2c: add 'hs_hcnt' and 'hs_lcnt' for high speed
Add support for high speed if scl_sda_cfg exist.
Signed-off-by: Jun Chen <ptchentw@gmail.com>
Signed-off-by: Jun Chen <jun.chen@vatics.com>
Jun Chen [Mon, 2 Mar 2020 08:58:56 +0000 (16:58 +0800)]
i2c: designware_i2c: remove 'has_high_speed'
Remove 'has_high_speed' config since we can check high speed support
from IC_COMP_PARAM_1 register.
Signed-off-by: Jun Chen <ptchentw@gmail.com>
Signed-off-by: Jun Chen <jun.chen@vatics.com>
Jun Chen [Mon, 2 Mar 2020 08:58:55 +0000 (16:58 +0800)]
i2c: designware_i2c: check is high speed possible support
To read IC_COMP_PARAM_1[3:2] to check is high speed possible,
and fall back to fast mode if not.
Signed-off-by: Jun Chen <ptchentw@gmail.com>
Signed-off-by: Jun Chen <jun.chen@vatics.com>
Jun Chen [Mon, 2 Mar 2020 08:58:54 +0000 (16:58 +0800)]
i2c: designware_i2c: Fix IC_CON register setting for high speed mode
IC_CON[2:1] should be 3 for high speed mode
Signed-off-by: Jun Chen <ptchentw@gmail.com>
Signed-off-by: Jun Chen <jun.chen@vatics.com>
Masahiro Yamada [Fri, 28 Feb 2020 13:04:14 +0000 (22:04 +0900)]
misc: i2c_eeprom: store pagesize instead of pagewidth in i2c_eeprom_drv_data
Associate the pagesize with compatible strings, and copy it to
priv->pagesize. This is more straight-forward.
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Masahiro Yamada [Fri, 28 Feb 2020 13:04:13 +0000 (22:04 +0900)]
misc: i2c_eeprom: remove pagewidth field from i2c_eeprom
This struct member is not used in any effective way. Remove it.
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Heiko Schocher [Mon, 16 Mar 2020 06:55:06 +0000 (07:55 +0100)]
dm: i2c-gpio: add support for clock stretching
This adds support for clock stretching to the i2c-gpio driver. This is
accomplished by switching the GPIO used for the SCL line to an input
when it should be driven high, and polling on the SCL line value until
it goes high (indicating that the I2C slave is no longer pulling it
low).
This is enabled by default; for gpios which cannot be configured as
inputs, the i2c-gpio,scl-output-only property can be used to fall back
to the previous behavior.
Signed-off-by: Michael Auchter <michael.auchter@ni.com>
Cc: Heiko Schocher <hs@denx.de>
Reviewed-by: Heiko Schocher <hs@denx.de>
Michael Auchter [Fri, 7 Feb 2020 16:55:31 +0000 (10:55 -0600)]
dm: i2c-gpio: rework gpio get/set functions
This patch reworks i2c-gpio to make it easier to switch out the
implementation of the sda/scl get/set functions. This is in preparation
for a patch to conditionally implement clock stretching support.
Signed-off-by: Michael Auchter <michael.auchter@ni.com>
Cc: Heiko Schocher <hs@denx.de>
Reviewed-by: Heiko Schocher <hs@denx.de>
Marek Vasut [Tue, 18 Feb 2020 17:24:42 +0000 (18:24 +0100)]
doc: i2c: gpio: Document deblock sequence on probe
Document the gpio-i2c deblocking sequence binding.
Signed-off-by: Marek Vasut <marex@denx.de>
Reviewed-by: Heiko Schocher <hs@denx.de>
Marek Vasut [Fri, 7 Feb 2020 15:57:52 +0000 (16:57 +0100)]
i2c: gpio: Run deblock sequence on probe
Add deblock dequence for the I2C bus, needed on some devices. This sequence
is issued once, when probing the driver, and is controlled by DT property,
"i2c-gpio,deblock".
Signed-off-by: Marek Vasut <marex@denx.de>
Reviewed-by: Heiko Schocher <hs@denx.de>
Marek Vasut [Fri, 7 Feb 2020 15:57:51 +0000 (16:57 +0100)]
i2c: Add option to send start condition after deblocking
Add option to send start condition after deblocking SDA.
Signed-off-by: Marek Vasut <marex@denx.de>
Reviewed-by: Heiko Schocher <hs@denx.de>
Marek Vasut [Fri, 7 Feb 2020 15:57:50 +0000 (16:57 +0100)]
i2c: Export i2c_deblock_gpio_loop()
Export the i2c_deblock_gpio_loop() so it can be used in other places in
U-Boot. In particular, this is useful in the GPIO I2C driver, which claims
the SDA/SCL GPIOs and thus prevents the i2c_deblock() implementation from
claiming the pins as GPIOs again.
Signed-off-by: Marek Vasut <marex@denx.de>
Reviewed-by: Heiko Schocher <hs@denx.de>
Marek Vasut [Fri, 7 Feb 2020 15:57:49 +0000 (16:57 +0100)]
i2c: Make deblock delay and SCL clock configurable
Make the delay between SCL line changes and the number of SCL clock
changes configurable as a parameter of the deblock function. No
functional change.
Signed-off-by: Marek Vasut <marex@denx.de>
Reviewed-by: Heiko Schocher <hs@denx.de>
Tom Rini [Thu, 12 Mar 2020 16:45:27 +0000 (12:45 -0400)]
Merge branch '2020-03-12-rsa-improvements' into next
(Description from AKASHI Takahiro)
extend rsa_verify() for UEFI secure boot:
The current rsa_verify() requires five parameters for a RSA public key
for efficiency while RSA, in theory, requires only two. In addition,
those parameters are expected to come from FIT image.
So this function won't fit very well when we want to use it for the
purpose of implementing UEFI secure boot, in particular, image
authentication as well as variable authentication, where the essential
two parameters are set to be retrieved from one of X509 certificates in
signature database.
So, in this patch, additional three parameters will be calculated on the
fly when rsa_verify() is called without fdt which should contain
parameters above.
This calculation heavily relies on "big-number (or multi-precision)
library." Therefore some routines from BearSSL under MIT license are
imported in this implementation.
AKASHI Takahiro [Fri, 21 Feb 2020 06:13:01 +0000 (15:13 +0900)]
test: enable RSA library test on sandbox
We want to always run RSA library test on sandbox build in Travis CI.
Just adding CONFIG_RSA_VERIFY_WITH_PKEY would be good enough for this
purpose.
Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org>
AKASHI Takahiro [Fri, 21 Feb 2020 06:13:00 +0000 (15:13 +0900)]
test: add rsa_verify() unit test
In this patch, a very simple test is added to verify that rsa_verify()
using rsa_verify_with_pkey() work correctly.
To keep the code simple, all the test data, either public key and
verified binary data, are embedded in the source.
Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org>
AKASHI Takahiro [Fri, 21 Feb 2020 06:12:59 +0000 (15:12 +0900)]
lib: rsa: add rsa_verify_with_pkey()
This function, and hence rsa_verify(), will perform RSA verification
with two essential parameters for a RSA public key in contract of
rsa_verify_with_keynode(), which requires additional three parameters
stored in FIT image.
It will be used in implementing UEFI secure boot, i.e. image authentication
and variable authentication.
Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
AKASHI Takahiro [Fri, 21 Feb 2020 06:12:58 +0000 (15:12 +0900)]
lib: rsa: generate additional parameters for public key
In the current implementation of FIT_SIGNATURE, five parameters for
a RSA public key are required while only two of them are essential.
(See rsa-mod-exp.h and uImage.FIT/signature.txt)
This is a result of considering relatively limited computer power
and resources on embedded systems, while such a assumption may not
be quite practical for other use cases.
In this patch, added is a function, rsa_gen_key_prop(), which will
generate additional parameters for other uses, in particular
UEFI secure boot, on the fly.
Note: the current code uses some "big number" routines from BearSSL
for the calculation.
Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org>
AKASHI Takahiro [Fri, 21 Feb 2020 06:12:57 +0000 (15:12 +0900)]
include: image.h: add key info to image_sign_info
For FIT verification, all the properties of a public key come from
"control fdt" pointed to by fdt_blob. In UEFI secure boot, on the other
hand, a public key is located and retrieved from dedicated signature
database stored as UEFI variables.
Added two fields may hold values of a public key if fdt_blob is NULL, and
will be used in rsa_verify_with_pkey() to verify a signature in UEFI
sub-system.
Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
AKASHI Takahiro [Fri, 21 Feb 2020 06:12:56 +0000 (15:12 +0900)]
rsa: add CONFIG_RSA_VERIFY_WITH_PKEY config
In the next couple of commits, under new CONFIG_RSA_VERIFY_WITH_PKEY,
rsa_verify() will be extended to be able to perform RSA decryption without
additional RSA key properties from FIT image, i.e. rr and n0inv.
Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
AKASHI Takahiro [Fri, 21 Feb 2020 06:12:55 +0000 (15:12 +0900)]
lib: rsa: decouple rsa from FIT image verification
Introduce new configuration, CONFIG_RSA_VERIFY which will decouple building
RSA functions from FIT verification and allow for adding a RSA-based
signature verification for other file formats, in particular PE file
for UEFI secure boot.
Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Eugeniu Rosca [Sun, 8 Mar 2020 00:11:18 +0000 (01:11 +0100)]
image.h: isolate android_image_* functions from tooling
On Feb. 16, 2020, Tom reported [1] build failure of U-Boot in-tree
tooling after applying https://patchwork.ozlabs.org/cover/
1229663/
("[v6,0/7] rsa: extend rsa_verify() for UEFI secure boot").
Later on, Heinrich stressed the urgency of the issue in
https://patchwork.ozlabs.org/patch/
1250858/#
2379069:
>>>>>>>>>
We should finalize the topic as it stops EFI patches from being merged
>>>>>>>>>
On the surface, the problem is caused by U-Boot commits [2-3], which
employed 'u32' in 'include/image.h', while historically U-Boot tooling
stayed agnostic on the {u,s}{8,16,32} types.
Thanks to Tom, Yamada-san and Heinrich, the following solutions have
been put head-to-head ('+' pros, '-' cons):
A. Use an equivalent fixed-size type, i.e. s/u32/uint32_t/ in both
android function prototypes (image.h) and definitions (c file):
+ quick and low-line-count
- creates a 'soup' of fixed-sized types in the Android C file
- will confuse contributors
- is going against Linux kernel best practices [4]
B. Guard Android functions by '!defined(USE_HOSTCC)' in image.h:
+ quick and low-line-count
+ reflects the reality (no android function is used by tooling)
+ zero impact on other subsystems
- ifdeffery may look annoying (pre-existing problem of image.h)
C. Make {u8,u16,u32} available in U-Boot tooling:
+ quick and low-line-count
+ [Yamada-san][5]:
* forbidding u32 for tools is questionable to me
* Linux kernel and Barebox use {u8,u16,u32} for the tools space
- breaks U-Boot tradition?
- has larger impact than [A] and [B]
- adds type complexity/inconsistency in the tooling space
D. [Yamada-san] Refactor the headers to minimize the code shared
between U-Boot space and tooling space:
+ probably the long-term solution
- high effort
- can be seen/done as an incremental update on top of [B]
Looking at the above, [B] looks like the natural way to go forward.
[1] https://patchwork.ozlabs.org/patch/
1238245/#
2363052
[2] commit
7f2531502c74c0 ("image: android: Add routine to get dtbo params")
[3] commit
c3bfad825a71ea ("image: android: Add functions for handling dtb field")
[4] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=
e6176fa4728fb6d
("checkpatch: add --strict warning for c99 fixed size typedefs : int<size>_t")
[5] https://patchwork.ozlabs.org/patch/
1238245/#
2363340
Cc: Masahiro Yamada <masahiroy@kernel.org>
Cc: Heinrich Schuchardt <xypron.glpk@gmx.de>
Cc: Sam Protsenko <joe.skb7@gmail.com>
Cc: Lokesh Vutla <lokeshvutla@ti.com>
Cc: Simon Glass <sjg@chromium.org>
Cc: AKASHI Takahiro <takahiro.akashi@linaro.org>
Reported-by: Tom Rini <trini@konsulko.com>
Signed-off-by: Eugeniu Rosca <erosca@de.adit-jv.com>
Tested-by: Heinrich Schuchardt <xpyron.glpk@gmx.de>
Tom Rini [Wed, 11 Mar 2020 01:13:26 +0000 (21:13 -0400)]
Merge tag 'mmc-2020-3-9' of https://gitlab.denx.de/u-boot/custodians/u-boot-mmc
- DM support for CAxxxx SoCs
- eMMC board for presidio-asic
- Add defer probe for mmc sdhci
- TI SoCs mmc misc update
Sam Shih [Wed, 4 Mar 2020 12:03:48 +0000 (20:03 +0800)]
arm: mediatek: remove unused binman config
The binman-option BINMAN_FDT is introduced by this commit:
commit
3c10dc95bdd0 ("binman: Add a library to access binman entries")
BINMAN_FDT being selected when BINMAN=y that resulting in mt7623
and mt7622 are unable to boot. The root cause of this issue is commit:
commit
cbd2fba1eca1 ("arm: MediaTek: add basic support for MT7629 boards")
select BINMAN=y in all mediatek SoCs, and others mediatek SoCs not
expect to use BINMAN_FDT.
This patch remove BINMAN=y option when ARCH_MEDIATEK=y and
move this to the specify SoCs part config.
Signed-off-by: Sam Shih <sam.shih@mediatek.com>
Tested-by: Frank Wunderlich <frank-w@public-files.de>
Anatolij Gustschin [Mon, 17 Feb 2020 08:42:11 +0000 (09:42 +0100)]
power-domain: fix hang in endless loop on i.MX8
Currently when booting the kernel on i.MX8 U-Boot hangs in an
endless loop when switching off dma, connectivity or lsio power
domains during device removal. It hapens first when removing
gpio0 (gpio@
5d080000) device, here its power domain device
'lsio_gpio0' is obtained for switching off power. Since the
obtained 'lsio_gpio0' device is removed afterwards, its power
domain is also switched off and here the parent power domain
device 'lsio_power_domain' is optained for switching off the
power. Thereafter, when the obtained 'lsio_power_domain' is
removed, device_remove() removes its first child 'lsio_gpio0'.
During this child removal the 'lsio_power_domain' device is
obtained again for switching and when removing it later,
the same child removal is repeated, so we are stuck in an
endless loop. Below is a snippet from dm tree on i.MX8QXP
for better illustration of the DM devices relationship:
Class Index Probed Driver Name
-----------------------------------------------------------
root 0 [ + ] root_driver root_driver
...
simple_bus 0 [ + ] generic_simple_bus |-- imx8qx-pm
power_doma 0 [ + ] imx8_power_domain | |-- lsio_power_domain
power_doma 1 [ + ] imx8_power_domain | | |-- lsio_gpio0
power_doma 2 [ + ] imx8_power_domain | | |-- lsio_gpio1
Do not remove a power domain device if it is a parent of the
currently controlled device.
Fixes:
52edfed65de9 ("dm: core: device: switch off power domain after device removal")
Signed-off-by: Anatolij Gustschin <agust@denx.de>
Reported-by: Oliver Graute <oliver.graute@gmail.com>
Reported-by: Fabio Estevam <festevam@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
Tested-by: Fabio Estevam <festevam@gmail.com>
Tom Rini [Tue, 10 Mar 2020 17:13:08 +0000 (13:13 -0400)]
Merge tag 'u-boot-imx-
20200310' of https://gitlab.denx.de/u-boot/custodians/u-boot-imx
Fixes for 2020.04
-----------------
- DM : mx6sabresd
- mx6ul_14x14_evk: fix video
- mx8qxp; fix console for booting
- sync DTS with kernel (imx6sx)
- drop obsolete woodburn (mx35)
Travis: https://travis-ci.org/sbabic/u-boot-imx/builds/
660550811
Tom Rini [Tue, 10 Mar 2020 17:12:21 +0000 (13:12 -0400)]
Merge tag 'u-boot-atmel-fixes-2020.04-a' of https://gitlab.denx.de/u-boot/custodians/u-boot-atmel
First set of u-boot-atmel fixes for 2020.04 cycle:
- Includes two small configuration fixes that will solve the SPL booting
on sama5d3_xplained board.
Tom Rini [Tue, 10 Mar 2020 11:51:56 +0000 (07:51 -0400)]
Merge branch 'master' of https://gitlab.denx.de/u-boot/custodians/u-boot-net
Pedro Jardim [Thu, 13 Feb 2020 12:25:32 +0000 (09:25 -0300)]
mx6slevk: Convert to DM_ETH
This fixes the following warning:
===================== WARNING ======================
This board does not use CONFIG_DM_ETH (Driver Model
for Ethernet drivers). Please update the board to use
CONFIG_DM_ETH before the v2020.07 release. Failure to
update by the deadline may result in board removal.
See doc/driver-model/migration.rst for more info.
====================================================
Signed-off-by: Pedro Jardim <jardim.c.pedro@gmail.com>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
Pedro Jardim [Thu, 13 Feb 2020 17:59:43 +0000 (14:59 -0300)]
mx6sabreauto: Convert to DM_ETH
This fixes the following warning:
===================== WARNING ======================
This board does not use CONFIG_DM_ETH (Driver Model
for Ethernet drivers). Please update the board to use
CONFIG_DM_ETH before the v2020.07 release. Failure to
update by the deadline may result in board removal.
See doc/driver-model/migration.rst for more info.
====================================================
Signed-off-by: Pedro Jardim <jardim.c.pedro@gmail.com>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
Fabio Estevam [Tue, 18 Feb 2020 19:09:59 +0000 (16:09 -0300)]
mx7dsabresd: Boot in non secure by default
Booting a mainline kernel in secure mode on i.MX7D causes only
one CPU to be brought up.
Change it to booting in non secure mode by default, which
allows the two CPUs to be brought up.
It does have a side effect of not probing the CAAM driver.
If CAAM driver is needed then a secure world OS such as OPTEE needs
to be used.
Signed-off-by: Fabio Estevam <festevam@gmail.com>
Oliver Graute [Wed, 12 Feb 2020 12:01:17 +0000 (12:01 +0000)]
imx: imx8qm: enable relocation of fdt and initrd
Set CONFIG_SYS_BOOTMAPSZ to the amount of memory available which is needed
to relocate the kernel, device tree and initrd.
Remove 'fdt_high' and 'initrd_high' environment variables from default
environment which prevents relocation of FDT and initrd.
Signed-off-by: Oliver Graute <oliver.graute@kococonnector.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Fabio Estevam <festevam@gmail.com>
Cc: Peng Fan <peng.fan@nxp.com>
Cc: Simon Glass <sjg@chromium.org>
Cc: Ye Li <ye.li@nxp.com>
Cc: uboot-imx <uboot-imx@nxp.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Alifer Moraes [Fri, 14 Feb 2020 19:18:50 +0000 (16:18 -0300)]
arm: dts: imx8mq-evk: add phy-reset-gpios for fec1
Instead of resetting the ethernet phy through functions in imx8mq_evk.c, let the
driver reset the phy via dts description adding a reset duration of 10 ms
following atheros 8031's datasheet recommendation.
Signed-off-by: Alifer Moraes <alifer.wsdm@gmail.com>
Alifer Moraes [Mon, 10 Feb 2020 14:28:01 +0000 (11:28 -0300)]
mx6sabresd: Convert ethernet to driver model
Convert imx6sabresd ethernet to driver model to fix the following warning:
===================== WARNING ======================
This board does not use CONFIG_DM_ETH (Driver Model
for Ethernet drivers). Please update the board to use
CONFIG_DM_ETH before the v2020.07 release. Failure to
update by the deadline may result in board removal.
See doc/driver-model/migration.rst for more info.
====================================================
Signed-off-by: Alifer Moraes <alifer.wsdm@gmail.com>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
Fabien Lehoussel [Mon, 24 Feb 2020 15:45:31 +0000 (16:45 +0100)]
board: sama5d3_xplained: Fix uboot size when loaded from NAND by SPL
Uboot size is incorrect.
Uboot SPL use CONFIG_SYS_MONITOR_LEN to read uboot from NAND : 0x80000
With sama5d3_xplained_nandflash_defconfig : u-boot.bin size is ~800Ko 0xC0000
So I increased size to 1MB : 0x100000
Signed-off-by: Fabien Lehoussel <fabien.lehoussel@medianesysteme.com>
Fabien Lehoussel [Mon, 24 Feb 2020 15:28:32 +0000 (16:28 +0100)]
board: sama5d3_xplained: Fix SPL DTB read from NAND
SPL boot cannot find dtb if CONFIG_SPL_SEPARATE_BSS is disabled :
CONFIG_SPL_SEPARATE_BSS=n
RomBOOT
<debug_uart> Missing DTB
### ERROR ### Please RESET the board ###
RomBOOT
CONFIG_SPL_SEPARATE_BSS=y
RomBOOT
<debug_uart>
U-Boot SPL 2019.04-linux4sam_6.2-icp-dirty (Feb 24 2020 - 15:34:35 +0100)
Trying to boot from NAND
<debug_uart>
Signed-off-by: Fabien Lehoussel <fabien.lehoussel@medianesysteme.com>
Clemens Gruber [Mon, 24 Feb 2020 19:52:20 +0000 (20:52 +0100)]
net: phy: marvell: Unify 88E151x series phy_driver
The PHY models of the Marvell 88E151x series are not reliably
distinguishable by their uid / PHY identifiers.
The
88E1510,
88E1512,
88E1514 and
88E1518 all have the same OUI and
model number and bits 3:0 in the PHY Identifier 2 (Page 0, Reg 3) are
described as HW revision number, but both
88E1510 and
88E1518 PHYs were
observed with the same HW rev number (1).
Before commit
83cfbeb0df9f ("net: phy: Fix mask so that we can identify
Marvell
88E1518"), the 88E151x were detected because the HW revision
bits were masked from the uid. After that change,
88E1510/12/18 were all
detected as
88E1518 and the
88E1510 specific code was no longer run.
I modified the mask to again ignore all four HW revision bits, removed
the
88E1510 specific code (board-specific LED/INTn setup), which was not
called since late 2016 anyway and renamed the config function and
phy_driver struct to the better fitting 88e151x.
The uid and mask bits 3:0 are now again the same as in the Linux kernel.
Signed-off-by: Clemens Gruber <clemens.gruber@pqgruber.com>
Heinrich Schuchardt [Sat, 22 Feb 2020 07:43:40 +0000 (08:43 +0100)]
net: tftp: use correct printf codes
When printing unsigned numbers use %u.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Michal Simek [Tue, 18 Feb 2020 12:51:02 +0000 (13:51 +0100)]
net: phy: dp83867: Add SGMII mode type switching
This patch adds ability to switch beetween two PHY SGMII modes.
Some hardware, for example, FPGA IP designs may use 6-wire mode
which enables differential SGMII clock to MAC.
Patch description, dt flags have been done in mainline Linux by
commit
a2111c460c0c ("net: phy: dp83867: Add documentation for SGMII mode type")
and by commit
507ddd5c0d47 ("net: phy: dp83867: Add SGMII mode type switching")
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Michal Simek [Mon, 17 Feb 2020 09:38:57 +0000 (10:38 +0100)]
dt-bindings: net: dp83867: Remove binding doc from U-Boot tree
U-Boot is having DT which doesn't cover all options currently supported by
driver. DT binding is aligned with Linux kernel version available here.
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/net/ti,dp83867.txt
Based on my talk with Grygorii Strashko better will be to remove it.
Also Linux kernel bindings are being converted to yaml that's another
reason to do it only at one place.
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Grygorii Strashko <grygorii.strashko@ti.com>
Alex Marginean [Thu, 9 Jan 2020 08:50:05 +0000 (10:50 +0200)]
net: phy: add XFI, USXGMII types to is_10g_interface() helper
The helper is used to reset PHYs on connect and it determines the clause
to use (C22/C45) based on interface type. This fixes 'PHY reset timed out'
warnings in console for USXGMII/XFI PHYs.
Signed-off-by: Alex Marginean <alexandru.marginean@nxp.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Andre Przywara [Fri, 3 Jan 2020 22:08:47 +0000 (22:08 +0000)]
net: phy: Fix overlong PHY timeout
Commit
27c3f70f3b50 ("net: phy: Increase link up delay in
genphy_update_link()") increased the per-iteration waiting time from
1ms to 50ms, without adjusting the timeout counter. This lead to the
timeout increasing from the typical 4 seconds to over three minutes.
Adjust the timeout counter evaluation by that factor of 50 to bring the
timeout back to the intended value.
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Fixes: net: phy: Increase link up delay in genphy_update_link() ("
27c3f70f3b50")
Reviewed-by: Stefan Roese <sr@denx.de>
Tested-by: Matthias Brugger <mbrugger@suse.com>
Tested-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Andre Przywara [Mon, 25 Nov 2019 01:32:15 +0000 (01:32 +0000)]
doc: net: Rewrite network driver documentation
doc/README.drivers.eth seems like a good source for understanding
U-Boot's network subsystem, but is only talking about legacy network
drivers. This is particularly sad as proper documentation would help in
porting drivers over to the driver model.
Rewrite the document to describe network drivers in the new driver model
world. Most driver callbacks/methods are almost identical in their
semantic, but recv() differs in some important details.
Also keep some parts of the original text at the end, to help
understanding old drivers. Add some hints on how to port drivers over.
This also uses the opportunity to reformat the document in reST, on the
way moving it into doc/driver-model and adding it into the structure
there.
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Alex Marginean [Wed, 4 Dec 2019 13:32:16 +0000 (15:32 +0200)]
drivers: net: phy: aquantia: make it less verbose
The driver now unconditionally prints some information that's not
universally useful. Replace printf with debug.
Signed-off-by: Alex Marginean <alexandru.marginean@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Alex Marginean [Wed, 4 Dec 2019 13:32:15 +0000 (15:32 +0200)]
drivers: net: phy: aquantia: drop XGMII as a valid system interface proto
Use either USXGMII or XFI in aquantia_set_proto and drop XGMII as a valid
protocol configuration. The PHY doesn't support it, it's just used as an
alias for one of the other two protocols.
Signed-off-by: Florin Chiculita <florinlaurentiu.chiculita@nxp.com>
Signed-off-by: Alex Marginean <alexandru.marginean@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Pankit Garg [Tue, 19 Nov 2019 09:49:31 +0000 (09:49 +0000)]
env: Update env_addr for mmc environment driver
Make sure the gd struct is up-to-date.
Signed-off-by: Pankit Garg <pankit.garg@nxp.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Samuel Mendoza-Jonas [Tue, 18 Jun 2019 01:37:18 +0000 (11:37 +1000)]
phy: Include NC-SI in phy setup
Add NC-SI to the usual phy handling. This makes two notable changes:
- Somewhat similar to a fixed phy, phy_connect() will create an NC-SI
phy if CONFIG_PHY_NCSI is defined.
- An early return is added to phy_read() and phy_write() to handle a
case like the NC-SI phy which does not define a bus.
Signed-off-by: Samuel Mendoza-Jonas <sam@mendozajonas.com>
Reviewed-by: Joel Stanley <joel@jms.id.au>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Samuel Mendoza-Jonas [Tue, 18 Jun 2019 01:37:17 +0000 (11:37 +1000)]
phy: Add support for the NC-SI protocol
This introduces support for the NC-SI protocol, modelled as a phy driver
for other ethernet drivers to consume.
NC-SI (Network Controller Sideband Interface) is a protocol to manage a
sideband connection to a proper network interface, for example a BMC
(Baseboard Management Controller) sharing the NIC of the host system.
Probing and configuration occurs by communicating with the "remote" NIC
via NC-SI control frames (Ethernet header 0x88f8).
This implementation is roughly based on the upstream Linux
implementation[0], with a reduced feature set and an emphasis on getting
a link up as fast as possible rather than probing the full possible
topology of the bus.
The current phy model relies on the network being "up", sending NC-SI
command frames via net_send_packet() and receiving them from the
net_loop() loop (added in a following patch).
The ncsi-pkt.h header[1] is copied from the Linux kernel for consistent
field definitions.
[0]: https://github.com/torvalds/linux/tree/master/net/ncsi
[1]: https://github.com/torvalds/linux/blob/master/net/ncsi/ncsi-pkt.h
Signed-off-by: Samuel Mendoza-Jonas <sam@mendozajonas.com>
Reviewed-by: Joel Stanley <joel@jms.id.au>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Tom Rini [Mon, 9 Mar 2020 17:01:57 +0000 (13:01 -0400)]
Azure/Travis: Re-sync jobs and clarify exclusions
We keep both of these jobs in sync as much as possible even when the
primary motivation is to keep Travis from exceeding the build time limit
there. With that in mind:
- Use "rk" not "rockchip" to get all Rockchip SoC platforms in one job,
rather than just all Rockchip vendor platforms.
- The NXP LX216* SoCs have their own job, exclude them from the AArch64
generic job.
- SoCFPGA SoCs have their own job, exclude them from the AArch64 generic
job.
Signed-off-by: Tom Rini <trini@konsulko.com>
Oliver Graute [Thu, 19 Dec 2019 14:25:53 +0000 (14:25 +0000)]
imx: imx8qm_rom7720: added missing USDHC Base address defines
Added missing USDHC Base address defines
Signed-off-by: Oliver Graute <oliver.graute@kococonnector.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Fabio Estevam <festevam@gmail.com>
Cc: Peng Fan <peng.fan@nxp.com>
Cc: Simon Glass <sjg@chromium.org>
Cc: Ye Li <ye.li@nxp.com>
Cc: uboot-imx <uboot-imx@nxp.com>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
Max Krummenacher [Fri, 14 Feb 2020 12:36:44 +0000 (14:36 +0200)]
ARM: dts: imx8mm-verdin: drop rgmii_rxc_dly/txc_dly
The FEC in the i.MX8MM doesn't support this feature. So don't pretend one
can use it.
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Acked-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
Igor Opaniuk [Fri, 14 Feb 2020 12:36:43 +0000 (14:36 +0200)]
ARM: dts: imx8mm-verdin: dm-spl for pinctrl_usdhc1 node
Let pinctrl configuration for eMMC node (usdhc1) also be
accessible in SPL.
Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
Giulio Benetti [Fri, 31 Jan 2020 13:39:47 +0000 (14:39 +0100)]
serial_lpuart: make clock failure less verbose
Some device may enable CONFIG_CLK but not still support this clock in
CC, so better use debug() in place of dev_warn() otherwise a lot of
boards will throw useless dev_warn()s.
Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Frieder Schrempf [Wed, 5 Feb 2020 11:45:28 +0000 (11:45 +0000)]
imx8mm/mn: Add missing root clock entry for ARM core clock
The current implementation in arch/arm/mach-imx/cpu.c uses non-DM
code to retrieve the core clock frequency. As the root clock is not
listed we currently get:
CPU: Freescale i.MX8MMQ rev1.0 at 0 MHz
Fix this by adding the missing entry, which results in:
CPU: Freescale i.MX8MMQ rev1.0 at 1200 MHz
Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
Baruch Siach [Tue, 4 Feb 2020 16:57:08 +0000 (18:57 +0200)]
mx6cuboxi: don't disable fdt relocation
fdt_high value of 0xffffffff disables fdt relocation on boot. We don't
need that for Cubox-i/Hummingboard. Rely on generic code to find the
optimal fdt location at boot time.
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Oliver Graute [Wed, 26 Feb 2020 12:15:24 +0000 (12:15 +0000)]
imx: Makefile: added missing ahab.o
added missing ahab.o in Makefile
Signed-off-by: Oliver Graute <oliver.graute@kococonnector.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Fabio Estevam <festevam@gmail.com>
Cc: Peng Fan <peng.fan@nxp.com>
Cc: Simon Glass <sjg@chromium.org>
Cc: Ye Li <ye.li@nxp.com>
Cc: uboot-imx <uboot-imx@nxp.com>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
Fabio Estevam [Wed, 19 Feb 2020 12:56:28 +0000 (09:56 -0300)]
mx6sxsabresd: Enable DM_PCI
Enale DM_PCI support in order to avoid board removal from
the project.
Signed-off-by: Fabio Estevam <festevam@gmail.com>
Giulio Benetti [Sat, 1 Feb 2020 14:29:45 +0000 (15:29 +0100)]
configs: imxrt1050-evk: enable D/I cache
Soc supports cache so let's enable it.
Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Anatolij Gustschin [Wed, 5 Feb 2020 16:49:59 +0000 (17:49 +0100)]
imx: mx6ul_14x14_evk: configure for 24bpp display
Before DM_VIDEO conversion this board used 24bpp
display configuration, so use it again.
Signed-off-by: Anatolij Gustschin <agust@denx.de>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
Fabio Estevam [Wed, 19 Feb 2020 12:56:27 +0000 (09:56 -0300)]
ARM: dts: imx6sx-sdb: Sync with kernel 5.4.16
Sync the imx6sx-sdb dts files with kernel 5.4.16.
Signed-off-by: Fabio Estevam <festevam@gmail.com>
Fabio Estevam [Wed, 19 Feb 2020 12:56:26 +0000 (09:56 -0300)]
ARM: dts: imx6sx: Sync with kernel 5.4.16
Sync the imx6sx dts files with kernel 5.4.16.
Signed-off-by: Fabio Estevam <festevam@gmail.com>
Fabio Estevam [Thu, 27 Feb 2020 17:58:55 +0000 (14:58 -0300)]
imx8qxp_mek: Add myself as maintainer
I would like to help co-maintaining this board.
Signed-off-by: Fabio Estevam <festevam@gmail.com>
Fabio Estevam [Thu, 27 Feb 2020 17:58:54 +0000 (14:58 -0300)]
mx7dsabresd: Add myself as maintainer
I would like to help co-maintaining this board.
Signed-off-by: Fabio Estevam <festevam@gmail.com>
Fabio Estevam [Mon, 17 Feb 2020 18:17:01 +0000 (15:17 -0300)]
imx8qxp_mek: Fix the console command line string
Currently the expansion of the console variable leads to
the following kernel command line:
console=ttyLP0,${baudrate} earlycon root=/dev/mmcblk1p2 rootwait rw
, which causes the console to not show characters after the LPUART driver
is probed as the 'baudrate' variable is not properly translated.
Fix it by splitting the console variable in two parts: one for the
ttyLP0 part and the other one for the baudrate, which matches the way
it is done on other i.MX targets.
Tested by successfully booting a mainline kernel on a i.MX8QXP MEK
board.
Signed-off-by: Fabio Estevam <festevam@gmail.com>
Stefano Babic [Wed, 19 Feb 2020 13:36:25 +0000 (14:36 +0100)]
imx: remove woodburn board
Board is not longer used, remove it.
Signed-off-by: Stefano Babic <sbabic@denx.de>
Heiko Schocher [Mon, 2 Mar 2020 08:44:03 +0000 (09:44 +0100)]
imx6, aristainetos2c: add da9063 pmic setup
On the aristainetos2c boards the PMIC needs to be initialized,
because the Ethernet PHY uses a different regulator that is not
setup per hardware default. This does not influence the other
versions as this regulator isn't used there at all.
Signed-off-by: Heiko Schocher <hs@denx.de>
Faiz Abbas [Wed, 26 Feb 2020 08:14:39 +0000 (13:44 +0530)]
configs: j721e_evm: Add Support for eMMC boot
Enable configs to support eMMC boot.
Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Faiz Abbas [Wed, 26 Feb 2020 08:14:38 +0000 (13:44 +0530)]
configs: am65x_evm: Add CONFIG_SUPPORT_EMMC_BOOT
With CONFIG_SUPPORT_EMMC_BOOT moved to Kconfig, move it to defconfig
files.
Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Faiz Abbas [Wed, 26 Feb 2020 08:14:37 +0000 (13:44 +0530)]
arm: dts: k3-j721e-r5-common-proc-board: Use unique names for dummy clocks
Update the dummy clock names to use unique identifiers. Otherwise the
previous node just gets overwitten by the next one with the same name.
This fixes eMMC boot not working on J721e-evm.
Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
Faiz Abbas [Wed, 26 Feb 2020 08:14:36 +0000 (13:44 +0530)]
arm: K3: sysfw-loader: Add a config_pm_pre_callback()
System firmware does not guarantee that clocks going out of the device
will be stable during power management configuration. There are some
DCRC errors when SPL tries to get the next stage during eMMC boot after
sysfw pm configuration.
Therefore add a config_pm_pre_callback() to switch off the eMMC clock
before power management and restart it after it is done.
Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Faiz Abbas [Wed, 26 Feb 2020 08:14:35 +0000 (13:44 +0530)]
spl: mmc: Fix spl_mmc_get_uboot_raw_sector() implementation
The call to spl_mmc_get_uboot_raw_sector() completely ignores and
overwrites the raw_sect value passed from the caller of spl_mmc_load().
Fix this by passing raw_sect to the function and returning the same
value in the default case.
Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Faiz Abbas [Wed, 26 Feb 2020 08:14:34 +0000 (13:44 +0530)]
mmc: am654_sdhci: Implement workaround for card detect
The 4 bit MMC controllers have an internal debounce for the SDCD line
with a debounce delay of 1 second. Therefore, after clocks to the IP are
enabled, software has to wait for this time before it can power on the
controller.
Add a deferred_probe() callback which polls on sdcd for a maximum of 2 seconds
before switching on power to the controller or (in the case of no card)
returning a ENOMEDIUM. This pushes the 1 second wait time to when the
card is actually needed rather than at every probe() making sure that
users who don't insert an SD card in the slot don't have to wait such a
long time.
Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Faiz Abbas [Wed, 26 Feb 2020 08:14:33 +0000 (13:44 +0530)]
mmc: am654_sdhci: Update output tap delay writes
With the latest RIOT, there is a different otap delay value for each
speed mode. Add a new binding with every supported speed mode. Also
disable a given speed mode in the host caps if its corresponding
otap-del-sel is not present.
Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Faiz Abbas [Wed, 26 Feb 2020 08:14:32 +0000 (13:44 +0530)]
mmc: Merge SD_LEGACY and MMC_LEGACY bus modes
MMC_LEGACY & SD_LEGACY are not differentiated timings in the spec and
don't have any meaningful differences. Therefore, get rid of all
references to SD_LEGACY and use MMC_LEGACY to mean both of them.
Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Faiz Abbas [Wed, 26 Feb 2020 08:14:31 +0000 (13:44 +0530)]
sdhci: Add sdhci_deferred_probe() API
Add the sdhci_deferred_probe() function to register as the
deferred_probe() callback to the mmc core. It will in turn call the
deferred_probe() callback of the platform drivers as declared in the
sdhci_ops.
Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
Faiz Abbas [Wed, 26 Feb 2020 08:14:30 +0000 (13:44 +0530)]
mmc: Add a deferred_probe() API
Add a deferred_probe() API for platforms that want to do some
configurations just before starting to enumerate the device.
Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
Faiz Abbas [Wed, 26 Feb 2020 08:14:29 +0000 (13:44 +0530)]
mmc: Add a saved_clock member
Add a saved_clock member to struct mmc to store the previous clock speed
in the clock needs to be stopped for some time.
Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Masahiro Yamada [Mon, 24 Feb 2020 17:25:30 +0000 (02:25 +0900)]
mmc: make <mmc.h> self-contained
This header uses bd_t without including its definition.
Change it to (struct bd_info), and add the forward declaration
to specify it as a structure.
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
Alex Nemirovsky [Fri, 21 Feb 2020 02:19:36 +0000 (18:19 -0800)]
board: presidio-asic: Add eMMC board support
Add initial eMMC support for Cortina Access Presidio
Engineering Board
Signed-off-by: Alex Nemirovsky <alex.nemirovsky@cortina-access.com>
Arthur Li [Fri, 21 Feb 2020 02:19:35 +0000 (18:19 -0800)]
mmc: ca_dw_mmc: add DesignWare based DM support for CAxxxx SoCs
Initial DesignWare based DM support for Cortina Access CAxxxx SoCs.
Signed-off-by: Arthur Li <arthur.li@cortina-access.com>
Signed-off-by: Alex Nemirovsky <alex.nemirovsky@cortina-access.com>
Samuel Mescoff [Mon, 15 Apr 2019 10:28:26 +0000 (12:28 +0200)]
Makefile: fix processing of default environment file
Allow the default environment file to contain long lines split into
multiples lines.
Leading white spaces can be added for readability as well.
Signed-off-by: Samuel Mescoff <samuel@mescoff.fr>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Tom Rini [Thu, 5 Mar 2020 12:51:12 +0000 (07:51 -0500)]
Merge https://gitlab.denx.de/u-boot/custodians/u-boot-x86
- Revert "x86: use invd instead of wbinvd in real mode start code"
- Convert toradex boards README to reST
- serial: ns16550: Move PCI access from ofdata_to_platdata() to probe()
- x86: apl: Use cpu_x86_get_count() for cpu_ops.get_count
Wolfgang Wallner [Tue, 25 Feb 2020 12:19:48 +0000 (13:19 +0100)]
x86: apl: Use cpu_x86_get_count() for cpu_ops.get_count
Use cpu_x86_get_count() to read the number of cores.
cpu_x86_get_count() reads the number of CPUs from the device tree.
Using this function we can support multiple Apollo Lake
variants, e.g.: E3940 (4 cores) and E3930 (2 cores).
This was tested on the E3940 and E3930 Apollo Lake variants.
Signed-off-by: Wolfgang Wallner <wolfgang.wallner@br-automation.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Wolfgang Wallner [Tue, 25 Feb 2020 12:19:47 +0000 (13:19 +0100)]
x86: cpu_x86: Make cpu_x86_get_count() non-static
The function cpu_x86_get_count() is also useful for other modules.
Make it non-static and add a prototype + description.
Signed-off-by: Wolfgang Wallner <wolfgang.wallner@br-automation.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Wolfgang Wallner [Fri, 21 Feb 2020 11:20:09 +0000 (12:20 +0100)]
doc: Chromebook Coral: Fix typo for "Top of CAR region"
The value for "Top of CAR region" should be
fefc0000, not
fefc000. This matches the Kconfig default values, as
SYS_CAR_ADDR and SYS_CAR_SIZE are 0xfef00000 and 0xc0000
respectively.
Signed-off-by: Wolfgang Wallner <wolfgang.wallner@br-automation.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Wolfgang Wallner [Tue, 18 Feb 2020 14:32:10 +0000 (15:32 +0100)]
x86: p2sb: Drop 'apl' prefix
Drop the Apollo Lake prefix 'apl' from the functions, types and
variables in the P2SB driver.
The P2SB is not Apollo Lake specific, and as such it was moved in
commit
2999846c1127 ("x86: Move P2SB from Apollo Lake to a more generic
location") from the Apollo Lake folder to the intel_common folder.
Signed-off-by: Wolfgang Wallner <wolfgang.wallner@br-automation.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Wolfgang Wallner [Mon, 2 Mar 2020 13:41:14 +0000 (14:41 +0100)]
serial: ns16550: Move PCI access from ofdata_to_platdata() to probe()
Currently the ofdata_to_platdata() method calls dev_read_addr_pci(),
which potentially accesses the parent PCI bus. If this happens before
the parent PCI bus is probed the resulting address will be wrong.
This behavior was triggered by commit
82de42fa1468 ("dm: core:
Allocate parent data separate from probing parent").
According to a comment in drivers/pci/pci-uclass.c [1] accessing
the PCI parent bus in ofdata_to_platdata() is not allowed, and the
access should be moved to the probe() function.
Move the call to dev_read_addr_pci() and the related handling of the
'addr' value from the ofdata_to_platdata() to its own function,
which is then called from the probe() method.
While moving the code, the comment /* try Processor Local Bus device
first */ was dropped. It was initially added with commit
3db886a5bf38
("serial: ns16550: Support ns16550 compatible pci uart devices") and
later made obsolete with commit
33c215af4b9d ("dm: pci: Add a function
to read a PCI BAR").
[1] Comment in drivers/pci/pci-uclass.c:
"A common cause of this problem is that this function is called in the
ofdata_to_platdata() method of @dev. Accessing the PCI bus in that
method is not allowed, since it has not yet been probed. To fix this,
move that access to the probe() method of @dev instead."
Fixes:
82de42fa1468 ("dm: core: Allocate parent data separate from probing parent")
Signed-off-by: Wolfgang Wallner <wolfgang.wallner@br-automation.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com> # Tested on Intel Galileo
Andy Shevchenko [Mon, 17 Feb 2020 15:30:12 +0000 (17:30 +0200)]
Revert "x86: use invd instead of wbinvd in real mode start code"
This reverts commit
0d67fac29f3187e67f4fd3ef15f73e91be2fad12.
As real hardware testing (*) shows the above mentioned commit
breaks U-Boot on it. Revert for the upcoming release. We may get
more information in the future and optimize the code accordingly.
(*) on Intel Edison board.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: Bin Meng <bmeng.cn@gmail.com>
[bmeng: fix a typo in the commit message]
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Heinrich Schuchardt [Sat, 15 Feb 2020 20:22:00 +0000 (21:22 +0100)]
x86: remove dead code in intel_clk_get_rate()
If all branches of a switch statement have a return instruction, all
subsequent lines are unreachable.
Identified with cppcheck.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Lukasz Majewski <lukma@denx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
Igor Opaniuk [Wed, 12 Feb 2020 15:14:32 +0000 (17:14 +0200)]
toradex: MAINTAINERS: entries for new reST docs
Add entries for the newly created documentation files in reST
format.
Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Igor Opaniuk [Wed, 12 Feb 2020 15:14:31 +0000 (17:14 +0200)]
doc: board: colibri-imx8x: convert readme to reST
Convert README to reStructuredText format.
Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
Igor Opaniuk [Wed, 12 Feb 2020 15:14:30 +0000 (17:14 +0200)]
doc: board: apalis-imx8: convert readme to reST
Convert README to reStructuredText format.
Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
Igor Opaniuk [Wed, 12 Feb 2020 15:14:29 +0000 (17:14 +0200)]
doc: board: verdin-imx8mm: convert readme to reST
Convert README to reStructuredText format.
Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
[bmeng: spell out U-Boot correctly]
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Igor Opaniuk [Wed, 12 Feb 2020 15:14:28 +0000 (17:14 +0200)]
doc: board: toradex: add colibri_imx7.rst
- add initial index for toradex boards reST documentation
- add initial colibri_imx7.rst doc file which provides all needed
information for obtaining a workable image ready for flashing
for both eMMC/NAND versions of Colibri iMX7.
Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
[bmeng: make title underline the same length as the title itself]
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Simon Glass [Sun, 2 Feb 2020 20:37:06 +0000 (13:37 -0700)]
x86: Correct error return value in mrccache_get_region()
This function doesn't use uclass_find_first_device() correctly. Add a
check that the device is found so we don't try to read properties from a
NULL device.
The fixes booting on minnoxmax.
Fixes:
87f1084a630 ("x86: Adjust mrccache_get_region() to use livetree")
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tom Rini [Thu, 5 Mar 2020 00:21:00 +0000 (19:21 -0500)]
Merge branch 'master' of git://git.denx.de/u-boot-sh
- Limit bootloader size to 1 MiB on R-Car Gen3
Tom Rini [Wed, 4 Mar 2020 15:41:41 +0000 (10:41 -0500)]
Merge branch 'master' of git://git.denx.de/u-boot-socfpga
- ABB SECU board
- Assorted minor fixes
Tom Rini [Wed, 4 Mar 2020 15:41:27 +0000 (10:41 -0500)]
Merge branch 'master' of git://git.denx.de/u-boot-usb
- DFU / Thor fixes
Tom Rini [Wed, 4 Mar 2020 02:48:49 +0000 (21:48 -0500)]
Merge tag 'dm-pull-3mar20' of git://git.denx.de/u-boot-dm
Fixes for power domain on device removal