Tom Rini [Fri, 28 Jun 2019 12:00:22 +0000 (08:00 -0400)]
Merge tag 'u-boot-imx-
20190628' of https://gitlab.denx.de/u-boot/custodians/u-boot-imx
Fixes for 2019.07
- menlo board
- allow SDB on Sabre
- HAB for mx6sl
- apalis board
Tom Rini [Fri, 28 Jun 2019 11:59:38 +0000 (07:59 -0400)]
Merge tag 'u-boot-stm32-
20190628' of https://gitlab.denx.de/u-boot/custodians/u-boot-stm
STM32 MCU fixes/cleanup:
- Fix SPL console for STM32F769 Discovery
- Fix Memory Protection Unit size for STM32F4 series
- Cleanup DT for STM32F746 Discovery
Patrice Chotard [Tue, 25 Jun 2019 11:24:03 +0000 (13:24 +0200)]
mach-stm32: Fix MPU region size dedicated to SDRAM for STM32F4
The MPU region dedicated for SDRAM for STM32F4 SoCs family
was set to 16MB, but STM32F429 Evaluation board have 32MB of SDRAM.
When kernel starts, only first 16MB of SDRAM are configured with XN
(eXecute Never) bit disabled, whereas kernel is using 32MB.
To avoid such situation in the future, extend this MPU region to 512MB
as for STM32F7/H7.
It fixes the following user land exception on STM32F429 Evaluation
board :
[ 1.713002] VFS: Mounted root (ext4 filesystem) readonly on device 179:2.
[ 1.722605] devtmpfs: mounted
[ 1.733057] Freeing unused kernel memory: 72K
[ 1.737622] This architecture does not have kernel memory protection.
[ 1.744070] Run /sbin/init as init process
[ 1.906850]
[ 1.906850] Unhandled exception: IPSR =
00000004 LR =
fffffffd
[ 1.914282] CPU: 0 PID: 1 Comm: init Not tainted
5.1.0-00002-gcf9ca5719954 #6
[ 1.921433] Hardware name: STM32 (Device Tree Support)
[ 1.926601] PC is at 0x1a00b64
[ 1.929642] LR is at (null)
[ 1.932669] pc : [<
01a00b64>] lr : [<
00000000>] psr:
01000000
[ 1.938993] sp :
01a5cfb0 ip :
00000000 fp :
00000000
[ 1.944269] r10:
01a43b00 r9 :
00000000 r8 :
00000000
[ 1.949564] r7 :
00000000 r6 :
00000000 r5 :
00000000 r4 :
00000000
[ 1.956168] r3 :
00000000 r2 :
00000000 r1 :
00000000 r0 :
00000000
[ 1.962701] xPSR:
01000000
[ 1.965506] CPU: 0 PID: 1 Comm: init Not tainted
5.1.0-00002-gcf9ca5719954 #6
[ 1.972658] Hardware name: STM32 (Device Tree Support)
[ 1.978132] [<
0000c009>] (unwind_backtrace) from [<
0000b24f>] (show_stack+0xb/0xc)
[ 1.986024] [<
0000b24f>] (show_stack) from [<
0000b947>] (__invalid_entry+0x4b/0x4c)
Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
Patrice Chotard [Tue, 25 Jun 2019 08:06:06 +0000 (10:06 +0200)]
ARM: dts: stm32: Remove useless u-boot, dm-pre-reloc in stm32f746-disco-u-boot.dtsi
As in stm32f7-u-boot.dtsi these nodes already have "u-bootdm-pre-reloc"
property, no need to add them again in stm32f746-disco-u-boot.dtsi.
Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
Patrice Chotard [Tue, 25 Jun 2019 08:06:05 +0000 (10:06 +0200)]
ARM: dts: stm32: Add u-boot, dm-pre-reloc for usart1_pins_a for stm32f769-disco
This allow to get console output in SPL for stm32f769-disco.
Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
Igor Opaniuk [Mon, 24 Jun 2019 08:39:14 +0000 (11:39 +0300)]
apalis_imx6: increase phy autoneg timeout
Default value (4000ms) of PHY_ANEG_TIMEOUT for Micrel KSZ9031 contoller
isn't sufficient to finish auto-negotiation, which sometimes leads to
timeout errors:
Apalis iMX6 # dhcp
FEC Waiting for PHY auto negotiation to complete......... TIMEOUT !
Increase the auto-negotiation time-out to 15000ms.
Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Reviewed-by: Philippe Schenker <philippe.schenker@toradex.com>
Marek Vasut [Sun, 9 Jun 2019 16:46:46 +0000 (18:46 +0200)]
ARM: imx: m53menlo: Convert to DM VIDEO
Enable DM Video support on iMX53 M53Menlo and fix minor details
to restore previous behavior of the system.
Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Stefano Babic <sbabic@denx.de>
Marek Vasut [Sun, 9 Jun 2019 16:46:44 +0000 (18:46 +0200)]
ARM: imx: m53menlo: Convert MMC, USB and block to DM
Enable DM block and DM MMC and DM USB support on iMX53 M53Menlo .
Convert board code to match the DM support. This also enables DM
pincontrol to configure the SDHI pins.
Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Stefano Babic <sbabic@denx.de>
Marek Vasut [Sun, 9 Jun 2019 16:46:43 +0000 (18:46 +0200)]
ARM: imx: m53menlo: Enable DM GPIO
Enable DM GPIO support on iMX53 M53Menlo and fix up board code where
applicable. Enable MALLOC_F to let the GPIO controllers bind early on.
Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Stefano Babic <sbabic@denx.de>
Marek Vasut [Sun, 9 Jun 2019 16:46:42 +0000 (18:46 +0200)]
ARM: dts: imx: m53menlo: Import M53Menlo DT from Linux
Import iMX53 M53Menlo device tree from Linux next-
20190607 3f310e51ceb1 .
Enable DT control in full U-Boot . Add U-Boot extras into separate DTSi,
the GPIO controllers need to be inited early, otherwise m53_set_clock()
won't be able to detect the correct CPU clock frequency by reading the
GPIO.
Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Stefano Babic <sbabic@denx.de>
Marek Vasut [Sun, 9 Jun 2019 16:46:41 +0000 (18:46 +0200)]
ARM: dts: imx: imx53: Synchronize iMX53 DT with Linux
Synchronize iMX53 device tree from Linux next-
20190607 3f310e51ceb1 ,
this is needed to get NFC, UART, USBOTG DT nodes.
Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Stefano Babic <sbabic@denx.de>
Pierre-Jean Texier [Tue, 7 May 2019 21:53:48 +0000 (23:53 +0200)]
pico-imx7d: remove unused 'script' variable
Since the pico-pi uses the distroboot,
this commit remove the 'script' variable (cf boot_scripts).
Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
Breno Matheus Lima [Tue, 7 May 2019 20:19:17 +0000 (20:19 +0000)]
mx6sl: hab: Fix pu_irom_mmu_enabled address
According to hab.c code we have to notify the ROM code if the MMU is
enabled or not. This is achieved by setting the "pu_irom_mmu_enabled"
to 0x1.
The current address in hab.c code is wrong for i.MX6SL, according to ROM
map file the correct address is 0x00901c60.
As we are writing in the wrong address the ROM code is not flushing the
caches when needed, and the following HAB event is observed in certain
scenarios:
--------- HAB Event 1 -----------------
event data:
0xdb 0x00 0x14 0x41 0x33 0x18 0xc0 0x00
0xca 0x00 0x0c 0x00 0x01 0xc5 0x00 0x00
0x00 0x00 0x07 0xe4
STS = HAB_FAILURE (0x33)
RSN = HAB_INV_SIGNATURE (0x18)
CTX = HAB_CTX_COMMAND (0xC0)
ENG = HAB_ENG_ANY (0x00)
Update MX6SL_PU_IROM_MMU_EN_VAR to address this issue.
Reported-by: Frank Zhang <frank.zhang@nxp.com>
Signed-off-by: Breno Lima <breno.lima@nxp.com>
Reviewed-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
Fabio Estevam [Fri, 26 Apr 2019 12:36:23 +0000 (09:36 -0300)]
pico-imx7d: README: Adjust the binary name after DM conversion
After the conversion to DM the U-Boot binary is called u-boot-dtb.imx,
so fix the README file accordingly.
Signed-off-by: Fabio Estevam <festevam@gmail.com>
Acked-by: Joris Offouga <offougajoris@gmail.com>
Igor Opaniuk [Tue, 25 Jun 2019 11:48:06 +0000 (14:48 +0300)]
apalis_imx6: fix set_emmcargs wrapper
Fix set_emmcargs wrapper, which prepares proper bootargs for booting
from eMMC.
Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Reviewed-by: Philippe Schenker <philippe.schenker@toradex.com>
Frieder Schrempf [Tue, 4 Jun 2019 19:56:29 +0000 (21:56 +0200)]
usb: gadget: f_sdp: Allow SPL to load and boot FIT via SDP
Add support for loading u-boot FIT images over the USB SDP protocol in
the SPL
Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
[Various build fixes]
Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
Tested-by: Fabio Estevam <festevam@gmail.com>
Tested-by: Lukasz Majewski <lukma@denx.de>
Tom Rini [Thu, 27 Jun 2019 11:34:14 +0000 (07:34 -0400)]
Merge tag 'rockchip-for-v2019.07-rc5' of https://gitlab.denx.de/u-boot/custodians/u-boot-rockchip
- new board: rk3328 rock64
- rk3328 SPL support
- rk3399 spl/tpl board init cleanup
- use environment to get ATF binary for rk3399
- build u-boot.itb target by default for rockchip
- rk3399 board init fix after pinctrl patch set merged
Mark Kettenis [Fri, 21 Jun 2019 20:57:20 +0000 (22:57 +0200)]
rockchip: rk3399: Fix enabling boot-on regulators
The new common rockchip pinctrl driver does not support explicit
requests for a particular pinctrl function. As a result, the
board_init() function bails out early before enabling the boot-on
regulators. Fix this by simply removing the request for pwm0, pwm2
and pwm3. The generic DM code already does the necessary
configuration if necessary.
Reported-by: Levin Du <djw@t-chip.com.cn>
Signed-of-by: Mark Kettenis <kettenis@openbsd.org>
Jagan Teki [Thu, 20 Jun 2019 18:55:06 +0000 (00:25 +0530)]
rockchip: rk3399: Enable TPL_BOARD_INIT
Enable TPL_BOARD_INIT, this would help us to show
TPL boot prints.
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
Jagan Teki [Thu, 20 Jun 2019 18:55:05 +0000 (00:25 +0530)]
rockchip: rk3399: tpl: Mark printascii into debug
Now, we have spl_board_init which has TPL banner prints.
So mark the 'U-Boot TPL board init' print into debug.
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
Jagan Teki [Thu, 20 Jun 2019 18:55:04 +0000 (00:25 +0530)]
rockchip: rk3399: tpl: Add spl_board_init
Add spl_board_init for TPL, that have TPL banner will help
to print tpl boot prints.
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
Jagan Teki [Thu, 20 Jun 2019 18:55:03 +0000 (00:25 +0530)]
rockchip: rk3399: Enable SPL_BOARD_INIT
Enable SPL_BOARD_INIT globally to rk3399, this would
help to print the SPL banner during bootup.
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
Jagan Teki [Thu, 20 Jun 2019 18:55:02 +0000 (00:25 +0530)]
rockchip: rk3399: Move u-boot, dm-pre-reloc of uart0, uart2
u-boot,dm-pre-reloc for uart0, uart2 indeed u-boot specific
properties. Move them into rk3399-u-boot.dtsi so the boards
which enabled these node will available during SPL.
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
Jagan Teki [Thu, 20 Jun 2019 18:55:01 +0000 (00:25 +0530)]
rockchip: rk3399: spl: Mark printascii into debug
Now, we have spl_board_init with preloader_console_init that
indeed show SPL banner.
So mark the 'U-Boot SPL board init' print into debug.
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
Jagan Teki [Thu, 20 Jun 2019 18:55:00 +0000 (00:25 +0530)]
rockchip: rk3399: Support common spl_board_init
Support common spl_board_init by moving code from puma
board file into, common rk3399-board-spl.c.
Part of the code has sysreset-gpio, regulators_enable_boot_on
but right now only puma board is using this with relevant
config options rest remains common for all targets.
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
Jagan Teki [Thu, 20 Jun 2019 18:54:59 +0000 (00:24 +0530)]
board: rk3399: Drop explicit uart enablement in spl_board_init
preloader_console_init is used for printing SPL boot banner that
usually called from spl_board_init.
The current spl_board_init in evb and rock960 is enabling explicit
pinctrl, debug uart prior to calling preloader_console_init which
eventually not required since board_init_f is already enabled
debug uart.
So, drop those explicit enablement calls from spl_board_init of
evb, rock960.
Tested this by enabling CONFIG_SPL_BOARD_INIT and adding
u-boot,dm-pre-reloc property for uart node.
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
Jagan Teki [Thu, 20 Jun 2019 10:07:40 +0000 (15:37 +0530)]
Kconfig: Add u-boot.itb BUILD_TARGET for Rockchip
Add u-boot.itb BUILD_TARGET for Rockchip platform when SPL_LOAD_FIT
is being used.
This can get rid of building itb explicitly with 'make u-boot.itb'
so, from now all required images will build just by make.
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
Jagan Teki [Thu, 20 Jun 2019 10:07:39 +0000 (15:37 +0530)]
board: puma: Get bl31.bin via BL31 and rk3399m0.bin via PMUM0
Right now puma rk3399 board need to copy bl31-rk3399.bin and
rk3399m0.bin into u-boot source directory to make use of building
u-boot.itb.
So, add environment variable
- BL31 for bl31.bin (instead of bl31-rk3399.bin to compatible with other
platform BL31 env)
- PMUM0 for rk3399m0.bin
If the builds are not exporting BL31, PMUM0 env, the fit_spl_atf.sh will
notify with warning about which document to refer for more information
like this:
WARNING: BL31 file bl31.bin NOT found, resulting binary is non-functional
Please read Building section in doc/README.rockchip
WARNING: PMUM0 file rk3399m0.bin NOT found, resulting binary is non-functional
Please read Building section in doc/README.rockchip
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
Jagan Teki [Thu, 20 Jun 2019 10:59:22 +0000 (16:29 +0530)]
rockchip: rk3399: Get bl31.elf via BL31
Right now rockchip platform need to copy bl31.elf into u-boot
source directory to make use of building u-boot.itb.
So, add environment variable BL31 like Allwinner SoC so-that the
bl31.elf would available via BL31.
If the builds are not exporting BL31 env, the make_fit_atf.py
explicitly create dummy bl31.elf in u-boot root directory to
satisfy travis builds and it will show the warning on console as
WARNING: BL31 file bl31.elf NOT found, resulting binary is non-functional
WARNING: Please read Building section in doc/README.rockchip
Note, that the dummy bl31 files were created during not exporting
BL31 case would be removed via clean target in Makefile.
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Jagan Teki [Tue, 7 May 2019 18:52:12 +0000 (00:22 +0530)]
travis.yml: Add pyelftools install entry
Currently rockchip platform is using explicit 'make u-boot.itb' for
building u-boot.itb but if we enable CONFIG_BUILD_TARGET as 'u-boot.itb'
then the resulting u-boot.itb directly will create by make.
But, that indeed make travis build fail since it require python-pyelftools
host package.
So add pyelftools install entry as 'pip install pyelftools', this would
create pyelftools on travis host which are required to build rk3399 itb.
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
Jagan Teki [Tue, 7 May 2019 18:52:11 +0000 (00:22 +0530)]
Makefile: clean bl31_*.bin
Rockchip platform has its python script that would generate various
bl31_*bin for creating u-boot.itb file by taking bl31.elf as input.
These bl31_*.bin files are generated in u-boot root directory and
have no rule to clean it up. so add support for it by adding in
command entry of clean target in Makefile.
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
Jagan Teki [Tue, 7 May 2019 18:52:10 +0000 (00:22 +0530)]
Makefile: clean image.map
binman tools for creating single image build will create image.map
at the end, which has information about binman image node details.
current u-boot, is unable to clean this image.map so add a command
entry in clean target in Makefile.
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
Matwey V. Kornilov [Sat, 8 Jun 2019 21:27:18 +0000 (00:27 +0300)]
doc: rockchip: Add note for Pine64 Rock64 board
Add build notes for Pine64 Rock64 board.
Signed-off-by: Matwey V. Kornilov <matwey.kornilov@gmail.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
Matwey V. Kornilov [Sat, 8 Jun 2019 21:27:17 +0000 (00:27 +0300)]
rockchip: rk3328: add rock64-rk3328_defconfig
The ROCK64 is a credit card size SBC based on Rockchip RK3328
Quad-Core ARM Cortex A53.
This series allow building u-boot SPL and u-boot.itb for Rock64
board. The proprietary TPL is stil required for deploy:
./tools/mkimage -n rk3328 -T rksd \
-d ./rkbin/bin/rk33/rk3328_ddr_333MHz_v1.16.bin idbloader.img
cat ./spl/u-boot-spl.bin >> idbloader.img
dd if=idbloader.img of=/dev/sdcard seek=64 conv=notrunc
dd if=u-boot.itb of=/dev/sdcard seek=16384 conv=notrunc
Signed-off-by: Matwey V. Kornilov <matwey.kornilov@gmail.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
Matwey V. Kornilov [Sat, 8 Jun 2019 21:27:16 +0000 (00:27 +0300)]
rockchip: dts: rk3328: add rk3328-rock64.dts
rk3328-rock64.dts has been taken from Linux kernel commit
cff6d1d6f88b ("arm64: dts: rockchip: enable HS200 for eMMC on rock64")
with minor modifications (drop nodes not known by rk3328.dtsi).
Signed-off-by: Matwey V. Kornilov <matwey.kornilov@gmail.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
Kever Yang [Sat, 8 Jun 2019 21:27:15 +0000 (00:27 +0300)]
rockchip: Kconfig: enable SPL support for rk3328
Enable SPL support and some related option in Kconfig.
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
[cherry picked from https://github.com/rockchip-linux/u-boot/commit/
430b01462bf3f24aaf7920ae2587a6943c39ab5d with minor modifications]
Signed-off-by: Matwey V. Kornilov <matwey.kornilov@gmail.com>
Kever Yang [Sat, 8 Jun 2019 21:27:14 +0000 (00:27 +0300)]
rockchip: rk3328: add SPL support
Add SPL support for rk3328, default with of-platdata enabled.
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
[cherry picked from https://github.com/rockchip-linux/u-boot/commit/
cb2b7a1bc75ebb116b1eb9b0ae0223e84d86fc4b with minor modifications]
Signed-off-by: Matwey V. Kornilov <matwey.kornilov@gmail.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
Kever Yang [Sat, 8 Jun 2019 21:27:13 +0000 (00:27 +0300)]
rockchip: rk3328: add SPL board file support
rk3328 SPL is locate at dram, so do not have strict size limit,
suppose to enable storage media controller driver, load ATF and
U-Boot, then boot into ATF.
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
[cherry picked from https://github.com/rockchip-linux/u-boot/commit/
4ebe3968b683190cb8e5741aa7227b4fa7497874 with minor modifications]
Signed-off-by: Matwey V. Kornilov <matwey.kornilov@gmail.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
Tom Rini [Sat, 22 Jun 2019 16:09:33 +0000 (12:09 -0400)]
Merge https://gitlab.denx.de/u-boot/custodians/u-boot-x86
- boot failure fix for Intel edison
- tangier wdt conversion to driver model
Andy Shevchenko [Fri, 21 Jun 2019 10:28:08 +0000 (13:28 +0300)]
watchdog: tangier: Convert to use WDT class
Convert legacy driver to use watchdog class.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Stefan Roese <sr@denx.de>
Andy Shevchenko [Fri, 21 Jun 2019 10:28:07 +0000 (13:28 +0300)]
watchdog: tangier: Replace unused constant with a comment
The default timeout value had been left in order to leave some traces
about default setup of watchdog done by firmware.
For better understanding and compiler burden, replace it with a comment.
Suggested-by: Stefan Roese <sr@denx.de>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Andy Shevchenko [Tue, 18 Jun 2019 16:06:34 +0000 (19:06 +0300)]
x86: Revert "Don't set up MTRRs in SPL"
This breaks Intel Edison to work. It gets laggish and unable to boot kernel.
Reverts commit
665cb18ea64aabbeb03d27a4c92ddec1baccb87a for now
till better solution will be proposed.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: Bin Meng <bmeng.cn@gmail.com>
Tom Rini [Fri, 21 Jun 2019 18:12:28 +0000 (14:12 -0400)]
Merge tag 'efi-2019-07-rc5-3' of https://gitlab.denx.de/u-boot/custodians/u-boot-efi
Pull request for UEFI sub-system for v2019.07-rc5 (3)
This pull request provides error fixes for the graphical output protocol,
the text output protocol, and the extended text input protocol.
Setting the boot device for the bootefi command is now not only supported
by the 'load' command but also for the file system specific commands like
'fatload'.
Tom Rini [Fri, 21 Jun 2019 18:11:11 +0000 (14:11 -0400)]
Merge branch '2019-06-21-master-imports'
- Assorted small fixes
- Bugfix RSA handling code to reject images with unknown padding.
- Some boards disabled unused features to turn off DM warnings.
Tom Rini [Fri, 21 Jun 2019 14:11:23 +0000 (10:11 -0400)]
configs: Resync with savedefconfig
Rsync all defconfig files using moveconfig.py
Signed-off-by: Tom Rini <trini@konsulko.com>
Felix Brack [Tue, 11 Jun 2019 08:39:52 +0000 (10:39 +0200)]
arm: am335x-pdu001: Remove watchdog support
This board does not require watchdog support.
Signed-off-by: Felix Brack <fb@ltec.ch>
Peng Fan [Thu, 6 Jun 2019 07:59:16 +0000 (07:59 +0000)]
lib: Makefile: build fdtdec_common.c when OF_LIBFDT selected
When build SPL_OF_PLATDATA on i.MX6, meet issue the fdtdec_get_int
not defined, however fdtdec.c will use fdtdec_get_int, so let's
compile fdtdec_common.c when OF_LIBFDT selected.
Since there is also SPL_OF_LIBFDT, so need to use
CONFIG_$(SPL_TPL_)OF_LIBFDT.
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Bin Meng [Wed, 5 Jun 2019 14:26:44 +0000 (07:26 -0700)]
pci: Avoid assigning PCI resources that are below 0x1000
commit
b7598a43f2b4 ("[PATCH] Avoid assigning PCI resources from
zero address") only moved the bus lower address to 0x1000 if the
given bus start address is zero. The comment said 0x1000 is a
reasonable starting value, hence we'd better apply the same
adjustment when the given bus start address is below 0x1000.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Stefan Roese <sr@denx.de>
Joshua Watt [Thu, 20 Jun 2019 21:31:35 +0000 (16:31 -0500)]
config_distro_bootcmd: Init IDE devices
IDE devices are no longer automatically probed by u-boot, so it should
be done by the distro boot command before attempting to boot from IDE
(just like scsi and nvme)
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Michal Simek [Thu, 20 Jun 2019 06:02:46 +0000 (08:02 +0200)]
arm64: zynqmp: Cover ultra96 dts file by MAINTAINERS fragment
Avnet Ultra96 dts file should be also cover by MAINTAINERS fragment.
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Prabhakar Kushwaha [Wed, 19 Jun 2019 12:17:12 +0000 (17:47 +0530)]
travis.yml: Add buildman support for NXP's LS1028 & LX2160
NXP's LS1028 and LX2160 platform build support added via buildman
in travis.yml.
Signed-off-by: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
Robert Hancock [Tue, 18 Jun 2019 15:53:04 +0000 (09:53 -0600)]
disk: part: Don't skip partition init
blk_get_device_by_str was skipping part_init when hw partition 0 was
selected because it is the default. However, this caused issues when
switching to a non-zero partition and then back to partition zero, as
stale data from the wrong partition was returned.
Remove this optimization and call part_init regardless of the selected
partition.
Signed-off-by: Robert Hancock <hancock@sedsystems.ca>
Moses Christopher [Tue, 18 Jun 2019 13:54:02 +0000 (13:54 +0000)]
am335x, guardian: update the maintainer list
Signed-off-by: Moses Christopher <BollavarapuMoses.Christopher@in.bosch.com>
Masahiro Yamada [Tue, 18 Jun 2019 03:25:51 +0000 (12:25 +0900)]
vexpress64: fix a typo of SPDX-License-Identifier
Misspelling of SPDX-License-Identifier is rather fatal than other
general typos, so must be fixed.
This file spells SPDX-Licence-Identifier.
^
I also moved it to the very top of the file with // comment style.
Detected by grepping the source tree:
$ git grep --not -e SPDX-License-Identifier --and -e SPDX-
board/armltd/vexpress64/pcie.c: * SPDX-Licence-Identifier: GPL-2.0+
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Acked-by: Liviu Dudau <liviu.dudau@foss.arm.com>
Oleksandr Zhadan [Mon, 17 Jun 2019 20:10:23 +0000 (16:10 -0400)]
board: Arcturus: DM: Disable drivers without DM support.
Extra "not DM" controllers support is disabled.
u-boot BSP still good enough to upgrade and run images.
Signed-off-by: Oleksandr Zhadan <oleks@arcturusnetworks.com>
Signed-off-by: Michael Durrant <mdurrant@arcturusnetworks.com>
Anatolij Gustschin [Mon, 17 Jun 2019 13:33:55 +0000 (15:33 +0200)]
cmd/led.c: fix typos in online help
Remove square brackets around label in state command description.
Fixes:
ea41b15617fa ("cmd/led: check subcommand "list" instead "l"")
Signed-off-by: Anatolij Gustschin <agust@denx.de>
Reviewed-by: Heiko Schocher <hs@denx.de>
Patrick Doyle [Fri, 14 Jun 2019 17:43:38 +0000 (13:43 -0400)]
rsa: reject images with unknown padding
Previously we would store NULL in info->padding and jump to an illegal
instruction if an unknown value for "padding" was specified in the
device tree.
Signed-off-by: Patrick Doyle <pdoyle@irobot.com>
Tom Rini [Fri, 21 Jun 2019 01:52:31 +0000 (21:52 -0400)]
Merge branch '2019-06-20-master-imports'
- Assorted minor fixes
Heinrich Schuchardt [Thu, 20 Jun 2019 10:03:53 +0000 (12:03 +0200)]
efi_loader: fix typo in efi_variable.c
%s/efi_efi_/efi_/
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Heinrich Schuchardt [Thu, 20 Jun 2019 10:59:45 +0000 (12:59 +0200)]
efi_loader: consistent error handling in efidebug.c
If a variable cannot be set, always show an information message.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Heinrich Schuchardt [Thu, 20 Jun 2019 10:48:04 +0000 (12:48 +0200)]
efi_loader: consistent types in efidebug.c
efi_status_t and int are of different size. Use separate variables for
return codes of different type.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Mian Yousaf Kaukab [Tue, 18 Jun 2019 13:03:44 +0000 (15:03 +0200)]
fs: do_load: pass device path for efi payload
fatload command can be used to load the EFI payload since EFI system
partition is always a FAT partition. Call into EFI code from do_load()
to set the device path from which the last binary was loaded. An EFI
application like grub2 can’t find its configuration file without the
device path set.
Since device path is now set in do_load() there is no need to set it
in do_load_wrapper() for the load command.
Signed-off-by: Mian Yousaf Kaukab <ykaukab@suse.de>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Heinrich Schuchardt [Mon, 17 Jun 2019 20:00:13 +0000 (22:00 +0200)]
efi_loader: Delete() return EFI_WARN_DELETE_FAILURE
If EFI_FILE_PROTOCOL.Delete() fails, always close the handle and return
EFI_WARN_DELETE_FAILURE.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Heinrich Schuchardt [Mon, 17 Jun 2019 18:46:29 +0000 (20:46 +0200)]
efi_loader: ListPackageLists() return EFI_NOT_FOUND
If no matching package list is found in ListPackageLists(), return
EFI_NOT_FOUND.
If we do not support a package type, we will not find a matching package
list. Remove the unreachable EFI_PRINTF() statements.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Heinrich Schuchardt [Sun, 16 Jun 2019 20:33:20 +0000 (22:33 +0200)]
efi_loader: console incorrectly advertised left logo key
Avoid to signal that the left logo key is pressed, when it is not.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Heinrich Schuchardt [Sun, 16 Jun 2019 19:41:13 +0000 (21:41 +0200)]
efi_loader: alternative scan codes for F5, END, HOME
Depending on the key board alternative scan codes are used for F5, END, and
HOME.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Heinrich Schuchardt [Sat, 15 Jun 2019 12:52:53 +0000 (14:52 +0200)]
efi_loader: GOP: provide accurate mode information
For 5:6:5 modes provide correct frame buffer information.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Heinrich Schuchardt [Sat, 15 Jun 2019 12:52:53 +0000 (14:52 +0200)]
efi_loader: SetMode() must blank screen
EFI_GRAPHICS_OUTPUT_PROTOCOL.SetMode() must blank the screen.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Heinrich Schuchardt [Sat, 15 Jun 2019 12:51:06 +0000 (14:51 +0200)]
efi_loader: system table setup
When setting up the system table avoid superfluous void * conversions.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Heinrich Schuchardt [Sat, 15 Jun 2019 12:47:25 +0000 (14:47 +0200)]
efi_loader: EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL definition
EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL.Reset() is a function and not a void *
pointer.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Heinrich Schuchardt [Sat, 15 Jun 2019 12:07:40 +0000 (14:07 +0200)]
efi_loader: QueryMode() must allocate buffer
EFI_GRAPHICS_OUTPUT_PROTOCOL.QueryMode() must allocate a buffer for the
mode information structure.
Adjust the unit test to free the buffer.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Heinrich Schuchardt [Sat, 15 Jun 2019 10:58:30 +0000 (12:58 +0200)]
efi_loader: SetMode() parameters check
If EFI_GRAPHICS_OUTPUT_PROTOCOL.SetMode() is called with an invalid mode,
return EFI_UNSUPPORTED.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Heinrich Schuchardt [Sat, 15 Jun 2019 10:52:35 +0000 (12:52 +0200)]
efi_loader: QueryMode() check parameters
Check the parameters of EFI_GRAPHICS_OUTPUT_PROTOCOL.QueryMode().
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Heinrich Schuchardt [Sat, 15 Jun 2019 10:42:46 +0000 (12:42 +0200)]
efi_loader: Blt() with incorrect BltOperation
If EFI_GRAPHICS_OUTPUT_PROTOCOL.Blt() is called with an invalid value of
BltOperation return EFI_INVALID_PARAMETER.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Shannon Barber [Fri, 7 Jun 2019 20:48:19 +0000 (20:48 +0000)]
Fix watchdog timeout setup for mt7623
Signed-off-by: Shannon Barber <sbarber@dataspeedinc.com>
Alex Kiernan [Wed, 12 Jun 2019 14:27:55 +0000 (15:27 +0100)]
fw_env: Add missing write failure check
If flash_write fails, whilst we propagate this up to our caller, we need
to avoid swapping in the new file (if we're on a filesystem) in this
case.
Fixes:
dbc34323796b ("tools: env: Implement atomic replace for filesystem")
Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Breno Matheus Lima [Wed, 5 Jun 2019 18:18:30 +0000 (18:18 +0000)]
doc: Remove duplicated documentation directory
Commit
ad7061ed742e ("doc: Move device tree bindings documentation to
doc/device-tree-bindings") moved all device tree binding documentation
to doc/device-tree-bindings directory.
The current U-Boot project still have two documentation directories:
- doc/
- Documentation/
Move all documentation and sphinx files to doc directory so all content
can be in a common place.
Signed-off-by: Breno Lima <breno.lima@nxp.com>
Joel Stanley [Thu, 6 Jun 2019 07:38:45 +0000 (17:08 +0930)]
aspeed/watchdog: Correct timeout value
The driver was using milliseconds and programming it into a register
which takes ticks of the watchdog clock, which runs at 1MHz. This meant
we were off by 1000 with the desired value.
When
06985289d452 ("watchdog: Implement generic watchdog_reset()
version") was added the aspeed board would leave the watchdog running,
causing it to bite before u-boot was done.
Discovered by booting in qemu:
$ qemu-system-arm -M ast2500-evb -drive file=test.img,format=raw,if=mtd -nographic -no-reboot -d cpu_reset
U-Boot
2019.07-rc3-00091-g2253e40caef5 (Jun 06 2019 - 16:53:23 +0930)
Model: Aspeed BMC
DRAM: 496 MiB
WDT: Started with servicing (60s timeout)
MMC:
In: serial@
1e784000
Out: serial@
1e784000
Err: serial@
1e784000
Watchdog timer expired.
Fixes:
06985289d452 ("watchdog: Implement generic watchdog_reset() version")
Signed-off-by: Joel Stanley <joel@jms.id.au>
Mian Yousaf Kaukab [Thu, 13 Jun 2019 12:46:44 +0000 (14:46 +0200)]
armv8: fix typo in LINUX_KERNEL_IMAGE_HEADER check
Fixes:
8163faf952 ARMv8: add optional Linux kernel image header
Signed-off-by: Mian Yousaf Kaukab <ykaukab@suse.de>
Reviewed-by: Stephen Warren <swarren@nvidia.com>
Tested-by: Andreas Färber <afaerber@suse.de>
Bin Meng [Wed, 19 Jun 2019 03:40:54 +0000 (20:40 -0700)]
MAINTAINERS: Update git repo links
Update all git repo links with the new gitlab ones.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Acked-by: Wolfgang Denk <wd@denx.de>
Marek Vasut [Thu, 16 May 2019 20:16:54 +0000 (22:16 +0200)]
sh: Add myself as SH maintainer
Add myself as an SH maintainer.
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
Cc: Tom Rini <trini@konsulko.com>
Tom Rini [Thu, 20 Jun 2019 13:14:35 +0000 (09:14 -0400)]
Merge https://gitlab.denx.de/u-boot/custodians/u-boot-mpc85xx
- PCIe driver change to support DM model
- T2080QDS migrated to use PCIe DM model
Tom Rini [Thu, 20 Jun 2019 13:14:03 +0000 (09:14 -0400)]
Merge tag 'u-boot-stm32-
20190619' of https://gitlab.denx.de/u-boot/custodians/u-boot-stm
- Update STM32MP entry in MAINTAINERS
- Handle correctly binding for g-tx-fifo-size for USB DWC2 driver
- Fix trusted STM32MP1 defconfig with correct ethernet driver
Tom Rini [Thu, 20 Jun 2019 13:13:27 +0000 (09:13 -0400)]
Merge tag 'mmc-6-19' of https://github.com/MrVan/u-boot
- Avoid HS400 mode when accessing boot partitions
Hou Zhiqiang [Sat, 27 Apr 2019 16:55:22 +0000 (00:55 +0800)]
configs: T2080QDS: Enable PCIe driver
Enable the DM PCIe driver in T2080QDS defconfig.
Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Signed-off-by: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
Hou Zhiqiang [Thu, 20 Jun 2019 03:20:47 +0000 (11:20 +0800)]
powerpc: T208xQDS: Disable legacy PCIe driver when DM_PCI is enabled
Disable legacy PCIe driver and unused PCIe macros when DM_PCI enabled.
Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
Hou Zhiqiang [Wed, 24 Apr 2019 14:33:02 +0000 (22:33 +0800)]
dm: pci: add Freescale PowerPC PCIe driver
Add PCIe DM driver for Freescale PowerPC PCIe controllers.
Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Reviewed-by: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
Hou Zhiqiang [Wed, 24 Apr 2019 15:41:07 +0000 (23:41 +0800)]
t2080: dts: Added PCIe DT nodes
T2080 integrated 4 PCIe controllers, which is compatible with
the PCI Express™ Base Specification, Revision 3.0, and this
patch is to add DT node for each PCIe controller.
Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
Hou Zhiqiang [Mon, 22 Apr 2019 13:58:13 +0000 (21:58 +0800)]
powerpc: T208xQDS: Compile the legacy PCIe routines conditionally
Compile the legacy PCIe initialization reoutines only when DM_PCI
is not enabled.
Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
Hou Zhiqiang [Mon, 22 Apr 2019 13:50:34 +0000 (21:50 +0800)]
powerpc: mpc85xx: Update the condition to compile PCI routines
Compile the routines of mpc85xx/pci.c when both FSL_PCI_INIT
and DM_PCI are not enabled.
Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
Hou Zhiqiang [Thu, 23 May 2019 03:52:44 +0000 (11:52 +0800)]
powerpc: mpc85xx: Move CONFIG_FSL_PCIE_RESET to Kconfig
Use the Kconfig option to select the PCIe reset errata.
Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Reviewed-by: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
Hou Zhiqiang [Wed, 22 May 2019 14:46:03 +0000 (22:46 +0800)]
powerpc: mpc85xx: Move CONFIG_FSL_PCIE_DISABLE_ASPM to Kconfig
Use the Kconfig option to select the PCIe ASPM errata.
Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Reviewed-by: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
Tom Rini [Wed, 19 Jun 2019 18:01:11 +0000 (14:01 -0400)]
Merge https://gitlab.denx.de/u-boot/custodians/u-boot-fsl-qoriq
- LS1046AFRWY support
- USB errata fix and secure boot defconfig support for LS1028A
- Enabled SDHC and SATA for LX2160
- LS1046A serdes fixes
- other minor fixes
Patrick Delaunay [Tue, 18 Jun 2019 14:57:18 +0000 (16:57 +0200)]
usb: dwc2: allow peripheral mode for OTG configuration
Allow device mode in DWC2 driver when device tree select the dr_mode
"peripheral" or "otg".
The device mode is not allowed when dr_mode = "host" in device tree.
Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
Reviewed-by: Marek Vasut <marex@denx.de>
Patrick Delaunay [Tue, 18 Jun 2019 14:57:17 +0000 (16:57 +0200)]
ARM: dts: stm32mp1: remove override for g-tx-fifo-size
Remove the override for usbotg_hs on g-tx-fifo-size as the correct
binding, used in the kernel device tree, is now supported in dwc2
device driver.
Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
Patrick Delaunay [Tue, 18 Jun 2019 14:57:16 +0000 (16:57 +0200)]
usb: dwc2: correctly handle binding for g-tx-fifo-size
Manage g-tx-fifo-size as a array as specify in the binding.
Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
Reviewed-by: Marek Vasut <marex@denx.de>
Udit Agarwal [Tue, 11 Jun 2019 09:37:49 +0000 (09:37 +0000)]
board/freescale/common: secure_boot: Set bootdelay to -2.
Uboot prompt must not be available while running
secure boot. TO ensure this bootdelay must be set
to -2.
Signed-off-by: Udit Agarwal <udit.agarwal@nxp.com>
Reviewed-by: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
Vabhav Sharma [Thu, 6 Jun 2019 12:35:28 +0000 (12:35 +0000)]
armv8: ls1046afrwy: Add support for LS1046AFRWY platform
LS1046AFRWY board supports LS1046A family SoCs. This patch
add base support for this board.
Board support's 4GB ddr memory, i2c, micro-click module,microSD card,
serial console,qspi nor flash,ifc nand flash,qsgmii network interface,
usb 3.0 and serdes interface to support two x1gen3 pcie interface.
Signed-off-by: Camelia Groza <camelia.groza@nxp.com>
Signed-off-by: Madalin Bucur <madalin.bucur@nxp.com>
Signed-off-by: Pankit Garg <pankit.garg@nxp.com>
Signed-off-by: Pramod Kumar <pramod.kumar_1@nxp.com>
Signed-off-by: Rajesh Bhagat <rajesh.bhagat@nxp.com>
Signed-off-by: Vabhav Sharma <vabhav.sharma@nxp.com>
Reviewed-by: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
Wasim Khan [Mon, 10 Jun 2019 10:17:29 +0000 (10:17 +0000)]
armv8: ls2088ardb: Fix MC firmware loading during SD boot
During SD boot, MC firmware and DPC are copied from SD card to DDR.
Size reserved between MC and DPC firmware on DDR is 1MB.
If the size of MC firmware(load address 0x80000000) is more than 1 MB
then part of MC firmware will be overwritten by DPC firmware (load
address 0x80100000).
Fix: Update the MC/DPL/DPC firmware's DDR address as per their
respective addresses in SD card.
Signed-off-by: Wasim Khan <wasim.khan@nxp.com>
Reviewed-by: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
Wasim Khan [Mon, 10 Jun 2019 10:17:27 +0000 (10:17 +0000)]
armv8: ls2088aqds: Fix MC firmware loading during SD boot
During SD boot, MC firmware and DPC are copied from SD card to DDR.
Size reserved between MC and DPC firmware on DDR is 1MB.
If the size of MC firmware(load address 0x80000000) is more than 1 MB
then part of MC firmware will be overwritten by DPC firmware (load
address 0x80100000).
Fix: Update the MC/DPL/DPC firmware's DDR address as per their
respective addresses in SD card.
Signed-off-by: Wasim Khan <wasim.khan@nxp.com>
Reviewed-by: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>