Merge branch '2020-03-13-master-imports'

- Address the regression with the 'gpio' command
- Fix mcfuart regression
- Other minor fixes
This commit is contained in:
Tom Rini 2020-03-13 13:21:17 -04:00
commit 50be9f0e1c
8 changed files with 93 additions and 36 deletions

View file

@ -329,8 +329,21 @@ F: drivers/usb/host/ehci-msm.c
ARM STI
M: Patrice Chotard <patrice.chotard@st.com>
S: Maintained
T: git https://gitlab.denx.de/u-boot/custodians/u-boot-stm.git
F: arch/arm/mach-sti/
F: arch/arm/include/asm/arch-sti*/
F: drivers/phy/sti_usb_phy.c
F: drivers/pinctrl/pinctrl-sti.c
F: drivers/mmc/sti_sdhci.c
F: drivers/reset/sti-reset.c
F: drivers/serial/serial_sti_asc.c
F: drivers/sysreset/sysreset_sti.c
F: drivers/timer/sti-timer.c
F: drivers/usb/host/dwc3-sti-glue.c
F: include/dwc3-sti-glue.h
F: include/dt-bindings/clock/stih407-clks.h
F: include/dt-bindings/clock/stih410-clks.h
F: include/dt-bindings/reset/stih407-resets.h
ARM STM SPEAR
#M: Vipin Kumar <vipin.kumar@st.com>

View file

@ -903,7 +903,7 @@ ifneq ($(CONFIG_BUILD_TARGET),)
ALL-y += $(CONFIG_BUILD_TARGET:"%"=%)
endif
ifdef CONFIG_INIT_SP_RELATIVE
ifeq ($(CONFIG_INIT_SP_RELATIVE)$(CONFIG_OF_SEPARATE),yy)
ALL-y += init_sp_bss_offset_check
endif
@ -1208,7 +1208,7 @@ binary_size_check: u-boot-nodtb.bin FORCE
fi \
fi
ifdef CONFIG_INIT_SP_RELATIVE
ifeq ($(CONFIG_INIT_SP_RELATIVE)$(CONFIG_OF_SEPARATE),yy)
ifneq ($(CONFIG_SYS_MALLOC_F_LEN),)
subtract_sys_malloc_f_len = space=$$(($${space} - $(CONFIG_SYS_MALLOC_F_LEN)))
else

View file

@ -248,7 +248,12 @@ static int do_gpio(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
if (ret != -EBUSY)
gpio_free(gpio);
return CMD_RET_SUCCESS;
/*
* Whilst wrong, the legacy gpio input command returns the pin
* value, or CMD_RET_FAILURE (which is indistinguishable from a
* valid pin value).
*/
return (sub_cmd == GPIOC_INPUT) ? value : CMD_RET_SUCCESS;
err:
if (ret != -EBUSY)

View file

@ -1011,8 +1011,10 @@ int fit_image_get_data_and_size(const void *fit, int noffset,
if (external_data) {
debug("External Data\n");
ret = fit_image_get_data_size(fit, noffset, &len);
*data = fit + offset;
*size = len;
if (!ret) {
*data = fit + offset;
*size = len;
}
} else {
ret = fit_image_get_data(fit, noffset, data, size);
}

View file

@ -39,7 +39,7 @@ obj-$(CONFIG_COREBOOT_SERIAL) += serial_coreboot.o
obj-$(CONFIG_CORTINA_UART) += serial_cortina.o
obj-$(CONFIG_EFI_APP) += serial_efi.o
obj-$(CONFIG_LPC32XX_HSUART) += lpc32xx_hsuart.o
obj-$(CONFIG_MCFUART) += mcfuart.o
obj-$(CONFIG_MCFUART) += serial_mcf.o
obj-$(CONFIG_SYS_NS16550) += ns16550.o
obj-$(CONFIG_S5P) += serial_s5p.o
obj-$(CONFIG_MXC_UART) += serial_mxc.o

View file

@ -85,6 +85,8 @@ static int coldfire_serial_probe(struct udevice *dev)
{
struct coldfire_serial_platdata *plat = dev->platdata;
plat->port = dev->seq;
return mcf_serial_init_common((uart_t *)plat->base,
plat->port, plat->baudrate);
}
@ -148,8 +150,6 @@ static int coldfire_ofdata_to_platdata(struct udevice *dev)
return -ENODEV;
plat->base = (uint32_t)addr_base;
plat->port = dev->seq;
plat->baudrate = gd->baudrate;
return 0;

View file

@ -24,15 +24,15 @@ config HW_WATCHDOG
config WATCHDOG_RESET_DISABLE
bool "Disable reset watchdog"
help
Disable reset watchdog, which can let WATCHDOG_RESET invalid, so
that the watchdog will not be fed in u-boot.
Disable reset watchdog, which can let WATCHDOG_RESET invalid, so
that the watchdog will not be fed in u-boot.
config IMX_WATCHDOG
bool "Enable Watchdog Timer support for IMX and LSCH2 of NXP"
select HW_WATCHDOG if !WDT
help
Select this to enable the IMX and LSCH2 of Layerscape watchdog
driver.
Select this to enable the IMX and LSCH2 of Layerscape watchdog
driver.
config OMAP_WATCHDOG
bool "TI OMAP watchdog driver"
@ -50,8 +50,8 @@ config DESIGNWARE_WATCHDOG
bool "Designware watchdog timer support"
select HW_WATCHDOG if !WDT
help
Enable this to support Designware Watchdog Timer IP, present e.g.
on Altera SoCFPGA SoCs.
Enable this to support Designware Watchdog Timer IP, present e.g.
on Altera SoCFPGA SoCs.
config WDT
bool "Enable driver model for watchdog timer drivers"
@ -68,10 +68,10 @@ config WDT_ARMADA_37XX
bool "Marvell Armada 37xx watchdog timer support"
depends on WDT && ARMADA_3700
help
Enable this to support Watchdog Timer on Marvell Armada 37xx SoC.
There are 4 possible clocks which can be used on these SoCs. This
driver uses the second clock (ID 1), assuming that so will also
Linux's driver.
Enable this to support Watchdog Timer on Marvell Armada 37xx SoC.
There are 4 possible clocks which can be used on these SoCs. This
driver uses the second clock (ID 1), assuming that so will also
Linux's driver.
config WDT_ASPEED
bool "Aspeed ast2400/ast2500 watchdog timer support"
@ -88,8 +88,8 @@ config WDT_AT91
bool "AT91 watchdog timer support"
depends on WDT
help
Select this to enable Microchip watchdog timer, which can be found on
some AT91 devices.
Select this to enable Microchip watchdog timer, which can be found on
some AT91 devices.
config WDT_BCM6345
bool "BCM6345 watchdog timer support"
@ -105,8 +105,8 @@ config WDT_CDNS
depends on WDT
imply WATCHDOG
help
Select this to enable Cadence watchdog timer, which can be found on some
Xilinx Microzed Platform.
Select this to enable Cadence watchdog timer, which can be found on some
Xilinx Microzed Platform.
config WDT_CORTINA
bool "Cortina Access CAxxxx watchdog timer support"
@ -114,21 +114,21 @@ config WDT_CORTINA
help
Cortina Access CAxxxx watchdog timer support.
This driver support all CPU ISAs supported by Cortina
Access CAxxxx SoCs.
Access CAxxxx SoCs.
config WDT_MPC8xx
bool "MPC8xx watchdog timer support"
depends on WDT && MPC8xx
select HW_WATCHDOG
help
Select this to enable mpc8xx watchdog timer
Select this to enable mpc8xx watchdog timer
config WDT_MT7621
bool "MediaTek MT7621 watchdog timer support"
depends on WDT && SOC_MT7628
help
Select this to enable Ralink / Mediatek watchdog timer,
which can be found on some MediaTek chips.
Select this to enable Ralink / Mediatek watchdog timer,
which can be found on some MediaTek chips.
config WDT_MTK
bool "MediaTek watchdog timer support"
@ -139,10 +139,10 @@ config WDT_MTK
It performs full SoC reset.
config WDT_OMAP3
bool "TI OMAP watchdog timer support"
depends on WDT && ARCH_OMAP2PLUS
default y if AM33XX
help
bool "TI OMAP watchdog timer support"
depends on WDT && ARCH_OMAP2PLUS
default y if AM33XX
help
This enables OMAP3+ watchdog timer driver, which can be
found on some TI chipsets and inline with driver model.
@ -151,8 +151,8 @@ config WDT_ORION
depends on WDT
select CLK
help
Select this to enable Orion watchdog timer, which can be found on some
Marvell Armada chips.
Select this to enable Orion watchdog timer, which can be found on some
Marvell Armada chips.
config WDT_SANDBOX
bool "Enable Watchdog Timer support for Sandbox"
@ -166,8 +166,8 @@ config WDT_SP805
bool "SP805 watchdog timer support"
depends on WDT
help
Select this to enable SP805 watchdog timer, which can be found on some
nxp layerscape chips.
Select this to enable SP805 watchdog timer, which can be found on some
nxp layerscape chips.
config WDT_STM32MP
bool "IWDG watchdog driver for STM32 MP's family"
@ -182,8 +182,8 @@ config XILINX_TB_WATCHDOG
depends on WDT
imply WATCHDOG
help
Select this to enable Xilinx Axi watchdog timer, which can be found on some
Xilinx Microblaze Platforms.
Select this to enable Xilinx Axi watchdog timer, which can be found on some
Xilinx Microblaze Platforms.
config WDT_TANGIER
bool "Intel Tangier watchdog timer support"

View file

@ -0,0 +1,37 @@
# SPDX-License-Identifier: GPL-2.0+
import pytest
@pytest.mark.boardspec('sandbox')
@pytest.mark.buildconfigspec('cmd_gpio')
def test_gpio_input(u_boot_console):
"""Test that gpio input correctly returns the value of a gpio pin."""
response = u_boot_console.run_command('gpio input 0; echo rc:$?')
expected_response = 'rc:0'
assert(expected_response in response)
response = u_boot_console.run_command('gpio toggle 0; gpio input 0; echo rc:$?')
expected_response = 'rc:1'
assert(expected_response in response)
@pytest.mark.boardspec('sandbox')
@pytest.mark.buildconfigspec('cmd_gpio')
def test_gpio_exit_statuses(u_boot_console):
"""Test that non-input gpio commands correctly return the command
success/failure status."""
expected_response = 'rc:0'
response = u_boot_console.run_command('gpio clear 0; echo rc:$?')
assert(expected_response in response)
response = u_boot_console.run_command('gpio set 0; echo rc:$?')
assert(expected_response in response)
response = u_boot_console.run_command('gpio toggle 0; echo rc:$?')
assert(expected_response in response)
response = u_boot_console.run_command('gpio status -a; echo rc:$?')
assert(expected_response in response)
expected_response = 'rc:1'
response = u_boot_console.run_command('gpio nonexistent-command; echo rc:$?')
assert(expected_response in response)
response = u_boot_console.run_command('gpio input 200; echo rc:$?')
assert(expected_response in response)