U-Boot
Threads by month
- ----- 2025 -----
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2004 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2003 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2002 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2001 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2000 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
December 2020
- 176 participants
- 592 discussions

17 Dec '20
Add board detection support for K2G ICE with FlagChip 1GHz silicon.
Signed-off-by: Lokesh Vutla <lokeshvutla(a)ti.com>
---
board/ti/ks2_evm/board.c | 4 ++--
board/ti/ks2_evm/board.h | 8 ++++++++
board/ti/ks2_evm/board_k2g.c | 7 +++++--
board/ti/ks2_evm/ddr3_k2g.c | 2 +-
board/ti/ks2_evm/mux-k2g.h | 2 +-
include/configs/k2g_evm.h | 2 ++
6 files changed, 19 insertions(+), 6 deletions(-)
diff --git a/board/ti/ks2_evm/board.c b/board/ti/ks2_evm/board.c
index c7be540028..53bc12791d 100644
--- a/board/ti/ks2_evm/board.c
+++ b/board/ti/ks2_evm/board.c
@@ -48,11 +48,11 @@ int dram_init(void)
gd->ram_size = get_ram_size((long *)CONFIG_SYS_SDRAM_BASE,
CONFIG_MAX_RAM_BANK_SIZE);
#if defined(CONFIG_TI_AEMIF)
- if (!board_is_k2g_ice())
+ if (!(board_is_k2g_ice() || board_is_k2g_i1()))
aemif_init(ARRAY_SIZE(aemif_configs), aemif_configs);
#endif
- if (!board_is_k2g_ice()) {
+ if (!(board_is_k2g_ice() || board_is_k2g_i1())) {
if (ddr3_size)
ddr3_init_ecc(KS2_DDR3A_EMIF_CTRL_BASE, ddr3_size);
else
diff --git a/board/ti/ks2_evm/board.h b/board/ti/ks2_evm/board.h
index d0cfbf5a75..93fc3887f4 100644
--- a/board/ti/ks2_evm/board.h
+++ b/board/ti/ks2_evm/board.h
@@ -25,6 +25,10 @@ static inline int board_is_k2g_ice(void)
{
return board_ti_is("66AK2GIC");
}
+static inline int board_is_k2g_i1(void)
+{
+ return board_ti_is("66AK2GI1");
+}
#else
static inline int board_is_k2g_gp(void)
{
@@ -34,6 +38,10 @@ static inline int board_is_k2g_ice(void)
{
return false;
}
+static inline int board_is_k2g_i1(void)
+{
+ return false;
+}
#endif
void spl_init_keystone_plls(void);
diff --git a/board/ti/ks2_evm/board_k2g.c b/board/ti/ks2_evm/board_k2g.c
index a71024bcbc..2be86d6d26 100644
--- a/board/ti/ks2_evm/board_k2g.c
+++ b/board/ti/ks2_evm/board_k2g.c
@@ -248,7 +248,8 @@ int board_fit_config_name_match(const char *name)
else if (!strcmp(name, "keystone-k2g-evm") &&
(board_ti_is("66AK2GGP") || board_ti_is("66AK2GG1")))
return 0;
- else if (!strcmp(name, "keystone-k2g-ice") && board_ti_is("66AK2GIC"))
+ else if (!strcmp(name, "keystone-k2g-ice") &&
+ (board_ti_is("66AK2GIC") || board_is_k2g_i1()))
return 0;
else
return -1;
@@ -322,7 +323,7 @@ int embedded_dtb_select(void)
BIT(9));
setbits_le32(K2G_GPIO1_BANK2_BASE + K2G_GPIO_SETDATA_OFFSET,
BIT(9));
- } else if (board_is_k2g_ice()) {
+ } else if (board_is_k2g_ice() || board_is_k2g_i1()) {
/* GBE Phy workaround. For Phy to latch the input
* configuration, a GPIO reset is asserted at the
* Phy reset pin to latch configuration correctly after SoC
@@ -364,6 +365,8 @@ int board_late_init(void)
env_set("board_name", "66AK2GG1\0");
else if (board_is_k2g_ice())
env_set("board_name", "66AK2GIC\0");
+ else if (board_is_k2g_i1())
+ env_set("board_name", "66AK2GI1\0");
#endif
return 0;
}
diff --git a/board/ti/ks2_evm/ddr3_k2g.c b/board/ti/ks2_evm/ddr3_k2g.c
index 563c5e9950..3000d7245e 100644
--- a/board/ti/ks2_evm/ddr3_k2g.c
+++ b/board/ti/ks2_evm/ddr3_k2g.c
@@ -174,7 +174,7 @@ u32 ddr3_init(void)
} else if (board_is_k2g_gp()) {
ddr3_init_ddrphy(KS2_DDR3A_DDRPHYC, &ddr3phy_800_2g);
ddr3_init_ddremif(KS2_DDR3A_EMIF_CTRL_BASE, &ddr3_800_2g);
- } else if (board_is_k2g_ice()) {
+ } else if (board_is_k2g_ice() || board_is_k2g_i1()) {
ddr3_init_ddrphy(KS2_DDR3A_DDRPHYC, &ddr3phy_800_512mb);
ddr3_init_ddremif(KS2_DDR3A_EMIF_CTRL_BASE, &ddr3_800_512mb);
}
diff --git a/board/ti/ks2_evm/mux-k2g.h b/board/ti/ks2_evm/mux-k2g.h
index 3ecf571c5c..fa6c92cbdf 100644
--- a/board/ti/ks2_evm/mux-k2g.h
+++ b/board/ti/ks2_evm/mux-k2g.h
@@ -377,7 +377,7 @@ void k2g_mux_config(void)
configure_pin_mux(k2g_generic_pin_cfg);
} else if (board_is_k2g_gp() || board_is_k2g_g1()) {
configure_pin_mux(k2g_evm_pin_cfg);
- } else if (board_is_k2g_ice()) {
+ } else if (board_is_k2g_ice() || board_is_k2g_i1()) {
configure_pin_mux(k2g_ice_evm_pin_cfg);
} else {
puts("Unknown board, cannot configure pinmux.");
diff --git a/include/configs/k2g_evm.h b/include/configs/k2g_evm.h
index 83466b9e0c..4471eb4f6a 100644
--- a/include/configs/k2g_evm.h
+++ b/include/configs/k2g_evm.h
@@ -35,6 +35,8 @@
"setenv name_fdt keystone-k2g-evm.dtb; " \
"else if test $board_name = 66AK2GIC; then " \
"setenv name_fdt keystone-k2g-ice.dtb; " \
+ "else if test $board_name = 66AK2GI1; then " \
+ "setenv name_fdt keystone-k2g-ice.dtb; " \
"else if test $name_fdt = undefined; then " \
"echo WARNING: Could not determine device tree to use;"\
"fi;fi;fi;fi; setenv fdtfile ${name_fdt}\0" \
--
2.29.2
1
0
Show the interface name (i.e. 'mmc') in the information string to ease
user checking which device is exported via USB Mass Storage protocol.
Signed-off-by: Marek Szyprowski <m.szyprowski(a)samsung.com>
---
cmd/usb_mass_storage.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/cmd/usb_mass_storage.c b/cmd/usb_mass_storage.c
index cf2f55994e..14fa7233c7 100644
--- a/cmd/usb_mass_storage.c
+++ b/cmd/usb_mass_storage.c
@@ -115,8 +115,8 @@ static int ums_init(const char *devtype, const char *devnums_part_str)
ums[ums_count].name = name;
ums[ums_count].block_dev = *block_dev;
- printf("UMS: LUN %d, dev %d, hwpart %d, sector %#x, count %#x\n",
- ums_count, ums[ums_count].block_dev.devnum,
+ printf("UMS: LUN %d, dev %s %d, hwpart %d, sector %#x, count %#x\n",
+ ums_count, devtype, ums[ums_count].block_dev.devnum,
ums[ums_count].block_dev.hwpart,
ums[ums_count].start_sector,
ums[ums_count].num_sectors);
--
2.17.1
2
1
Does anyone have any experience with RK3399 DSI and panel bringup in u-
boot? I believe I have the vopl and mipi configured - I can see the
backlight come on at least - but I think I need a panel-specific
driver. Simple-panel doesn't send dsi commands so the panel never
inits. And I'm not clear if I need the dsi-host driver bound to the
vopl in the way the stm32f469 does it.
I have a BSP that uses an old u-boot with backported Linux DRM code
that supposedly works but I've not been able to get that working
either. I found a dsi panel driver there but it wants a
mipi_dsi_device to send dsi commands and I'm not sure how to configure
one of those.
Any pointers would be appreciated. Thanks.
--
Michael J. Hammel <uboot(a)graphics-muse.org>
2
1

AT91 - SAMA5D27 adding a new board - common initialisation code and file names
by Tim Small 17 Dec '20
by Tim Small 17 Dec '20
17 Dec '20
Hi,
I'm in the process of adding support to U-Boot for an AT91 SAMA5D27
based board. There may be a USB port configuration change pending, but
otherwise it's functionally complete.
The design is quite similar to the Microchip SAMA5D2 Xplained Board, to
the extent that I have only 6 lines of code changes out of the ~180
lines of (non-comment) code inÂ
board/atmel/sama5d2_xplained/sama5d2_xplained.c
In particular the clocks and memory setup code is non-trivial, but
identical. With this in mind I was wondering whether (and to what
extent) an acceptable patch to support this board would require
factoring out this common code?
The (non-comment) diff between my interim init code for the new board,
and eval/reference board is currently:
Â
--- board/atmel/sama5d2_xplained/sama5d2_xplained.c 2020-12-15 10:52:32.175616057 +0000
+++ board/scs/cubemb1/cubemb1.c 2020-12-17 14:42:42.399610818 +0000
@@ -30,10 +30,6 @@
#ifdef CONFIG_BOARD_LATE_INIT
int board_late_init(void)
{
-#ifdef CONFIG_DM_VIDEO
- at91_video_show_board_info();
-#endif
- at91_pda_detect();
return 0;
}
#endif
@@ -83,13 +79,13 @@
return 0;
}
-#define AT24MAC_MAC_OFFSET 0x9a
+#define MAC24AA_MAC_OFFSET 0xfa
#ifdef CONFIG_MISC_INIT_R
int misc_init_r(void)
{
#ifdef CONFIG_I2C_EEPROM
- at91_set_ethaddr(AT24MAC_MAC_OFFSET);
+ at91_set_ethaddr(MAC24AA_MAC_OFFSET);
#endif
return 0;
I'm also uncertain about file naming - there seem to be a number of
different conventions in use for file and directory names (different
combinations of SoC, board, architecture, and manufacturer).
The new board is:
mfr: South Coast Science
model: Cube MB v1
Do the following file and directory names look reasonable?
arch/arm/dts/Makefile | 3 +++
arch/arm/dts/at91-sama5d27_cubemb1.dts | 263 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
arch/arm/mach-at91/Kconfig | 8 +++++++
board/scs/cubemb1/Kconfig | 15 +++++++++++++
board/scs/cubemb1/MAINTAINERS | 6 ++++++
board/scs/cubemb1/Makefile | 8 +++++++
board/scs/cubemb1/cubemb1.c | 198 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
configs/cubemb1_emmc_defconfig | 104 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
configs/cubemb1_sdcard_defconfig | 104 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
include/configs/cubemb1.h | 9 ++++++++
10 files changed, 718 insertions(+)
Cheers,
Tim.
--
South East Open Source Solutions Limited
Registered in England and Wales with company number 06134732. Registered Office: 2 Powell Gardens, Redhill, Surrey, RH1 1TQ
VAT number: GB 900 6633 53 http://seoss.co.uk/ +44-(0)1273-808309
2
1

17 Dec '20
Set the default bus for the onboard SPI flash to 1.
This fixes booting from U-Boot in SPI flash on the
roc-pc-rk3399 board and it's mezzanine variant.
Signed-off-by: Markus Reichl <m.reichl(a)fivetechno.de>
---
configs/roc-pc-mezzanine-rk3399_defconfig | 1 +
configs/roc-pc-rk3399_defconfig | 1 +
2 files changed, 2 insertions(+)
diff --git a/configs/roc-pc-mezzanine-rk3399_defconfig b/configs/roc-pc-mezzanine-rk3399_defconfig
index ae16f3558a..8aa5a15518 100644
--- a/configs/roc-pc-mezzanine-rk3399_defconfig
+++ b/configs/roc-pc-mezzanine-rk3399_defconfig
@@ -42,6 +42,7 @@ CONFIG_MMC_DW=y
CONFIG_MMC_DW_ROCKCHIP=y
CONFIG_MMC_SDHCI=y
CONFIG_MMC_SDHCI_ROCKCHIP=y
+CONFIG_SF_DEFAULT_BUS=1
CONFIG_SPI_FLASH_WINBOND=y
CONFIG_DM_ETH=y
CONFIG_ETH_DESIGNWARE=y
diff --git a/configs/roc-pc-rk3399_defconfig b/configs/roc-pc-rk3399_defconfig
index 774707b115..927b57685d 100644
--- a/configs/roc-pc-rk3399_defconfig
+++ b/configs/roc-pc-rk3399_defconfig
@@ -41,6 +41,7 @@ CONFIG_MMC_DW=y
CONFIG_MMC_DW_ROCKCHIP=y
CONFIG_MMC_SDHCI=y
CONFIG_MMC_SDHCI_ROCKCHIP=y
+CONFIG_SF_DEFAULT_BUS=1
CONFIG_SPI_FLASH_WINBOND=y
CONFIG_DM_ETH=y
CONFIG_ETH_DESIGNWARE=y
--
2.29.2
1
0
Hi Tom,
https://gitlab.denx.de/u-boot/custodians/u-boot-dm/-/pipelines/5567
Note this is for the 'next' tree.
It includes the rename series which would be good to get in early.
Regards,
Simon
The following changes since commit ddaa94978583d07ec515e7226e397221d8cc44c8:
Merge tag 'efi-next' of
https://gitlab.denx.de/u-boot/custodians/u-boot-efi into next
(2020-12-10 13:54:33 -0500)
are available in the Git repository at:
git://git.denx.de/u-boot-dm.git tags/dm-pull-14dec20
for you to fetch changes up to b7bbd553de0d9752f919dfc616f560f6f2504c14:
checkpatch: Add warnings for unexpected struct names (2020-12-13
16:51:09 -0700)
----------------------------------------------------------------
Driver model tidy-up for livetree
Driver model big rename for consistency
Python 3 clean-ups for patman
Update sandbox serial driver to use membuff
----------------------------------------------------------------
Heinrich Schuchardt (4):
sandbox: add handler for exceptions
cmd: sandbox: implement exception command
efi_selftest: implement exception test for sandbox
test: unit test for exception command
Simon Glass (28):
fdt: Use an Enum for the data type
patman: Drop unicode helper functions
patman: Drop tools.ToByte()
patman: Drop tools.ToChar() and ToChars()
dtoc: Tidy up Python style in dtb_platdata
serial: sandbox: Drop unnecessary #ifdefs
sandbox: serial: Convert to livetree
sandbox: serial: Update to use membuff
dm: core: Rename device_bind() to device_bind_offset()
dm: core: Rename device_bind_ofnode() to device_bind()
dm: core: Add a livetree function to check node status
dm: Remove uses of device_bind_offset()
dm: Drop uses of dev_set_of_offset()
dm: core: Drop dev_set_of_offset()
dm: core: Drop device_bind_offset()
dm: core: Add an ofnode function to get the devicetree root
dm: core: Combine the flattree and livetree binding code
dm: core: Drop unused parameter from dm_scan_fdt()
dm: core: Drop unused parameter from dm_extended_scan_fdt()
dtoc: Tidy up more Python style in dtb_platdata
dm: treewide: Rename auto_alloc_size members to be shorter
dm: treewide: Rename 'platdata' variables to just 'plat'
dm: Rename 'platdata_size' to 'plat_size'
dm: treewide: Rename dev_get_platdata() to dev_get_plat()
dm: treewide: Rename ofdata_to_platdata() to of_to_plat()
dm: treewide: Update 'auto' declarations to be on one line
dm: treewide: Rename ..._platdata variables to just ..._plat
checkpatch: Add warnings for unexpected struct names
arch/Kconfig | 1 +
arch/arm/include/asm/arch-hi6220/gpio.h | 2 +-
arch/arm/include/asm/arch-imx8/power-domain.h | 2 +-
arch/arm/include/asm/arch-imx8m/power-domain.h | 2 +-
arch/arm/include/asm/arch-vf610/gpio.h | 2 +-
arch/arm/include/asm/omap_gpio.h | 2 +-
arch/arm/include/asm/omap_i2c.h | 2 +-
arch/arm/include/asm/omap_musb.h | 2 +-
arch/arm/mach-at91/arm926ejs/at91sam9260_devices.c | 2 +-
arch/arm/mach-at91/arm926ejs/at91sam9m10g45_devices.c | 2 +-
arch/arm/mach-at91/include/mach/atmel_serial.h | 2 +-
arch/arm/mach-at91/include/mach/gpio.h | 2 +-
arch/arm/mach-bcm283x/include/mach/gpio.h | 4 +-
arch/arm/mach-imx/mx6/soc.c | 2 +-
arch/arm/mach-imx/mx7/soc.c | 2 +-
arch/arm/mach-ipq40xx/clock-ipq4019.c | 2 +-
arch/arm/mach-ipq40xx/pinctrl-snapdragon.c | 2 +-
arch/arm/mach-lpc32xx/devices.c | 4 +-
arch/arm/mach-nexell/include/mach/display.h | 4 +-
arch/arm/mach-omap2/am33xx/board.c | 12 +--
arch/arm/mach-omap2/omap3/board.c | 2 +-
arch/arm/mach-rockchip/px30/syscon_px30.c | 8 +-
arch/arm/mach-rockchip/rk3188/syscon_rk3188.c | 8 +-
arch/arm/mach-rockchip/rk3288/syscon_rk3288.c | 10 +--
arch/arm/mach-rockchip/rk3368/syscon_rk3368.c | 10 +--
arch/arm/mach-rockchip/rk3399/syscon_rk3399.c | 12 +--
arch/arm/mach-rockchip/spl-boot-order.c | 4 +-
arch/arm/mach-snapdragon/clock-snapdragon.c | 2 +-
arch/arm/mach-snapdragon/pinctrl-snapdragon.c | 2 +-
arch/arm/mach-stm32mp/bsec.c | 36 ++++----
arch/arm/mach-stm32mp/pwr_regulator.c | 18 ++--
arch/arm/mach-tegra/board.c | 2 +-
arch/riscv/include/asm/arch-fu540/gpio.h | 2 +-
arch/riscv/include/asm/arch-generic/gpio.h | 2 +-
arch/sandbox/Kconfig | 9 ++
arch/sandbox/cpu/os.c | 40 +++++++++
arch/sandbox/cpu/start.c | 4 +
arch/sandbox/lib/interrupts.c | 35 ++++++++
arch/x86/cpu/acpi_gpe.c | 6 +-
arch/x86/cpu/apollolake/hostbridge.c | 16 ++--
arch/x86/cpu/apollolake/pmc.c | 14 +--
arch/x86/cpu/apollolake/spl.c | 8 +-
arch/x86/cpu/apollolake/uart.c | 24 ++---
arch/x86/cpu/broadwell/adsp.c | 4 +-
arch/x86/cpu/broadwell/cpu_full.c | 2 +-
arch/x86/cpu/broadwell/sata.c | 14 +--
arch/x86/cpu/cpu_x86.c | 2 +-
arch/x86/cpu/intel_common/itss.c | 12 +--
arch/x86/cpu/intel_common/p2sb.c | 17 ++--
arch/x86/cpu/irq.c | 2 +-
arch/x86/cpu/mp_init.c | 4 +-
arch/x86/cpu/qfw_cpu.c | 4 +-
arch/x86/cpu/slimbootloader/serial.c | 10 +--
arch/x86/cpu/tangier/pinmux.c | 2 +-
arch/x86/include/asm/arch-broadwell/gpio.h | 2 +-
arch/x86/include/asm/gpio.h | 2 +-
arch/x86/include/asm/intel_pinctrl.h | 7 +-
arch/x86/lib/acpi_table.c | 2 +-
arch/x86/lib/fsp/fsp_graphics.c | 4 +-
arch/x86/lib/mpspec.c | 2 +-
arch/x86/lib/pmu.c | 2 +-
arch/x86/lib/scu.c | 2 +-
arch/x86/lib/sfi.c | 2 +-
board/armltd/integrator/integrator.c | 4 +-
board/armltd/total_compute/total_compute.c | 4 +-
board/armltd/vexpress64/vexpress64.c | 4 +-
board/bluewater/gurnard/gurnard.c | 6 +-
board/bluewater/snapper9260/snapper9260.c | 4 +-
board/cadence/xtfpga/xtfpga.c | 2 +-
board/cavium/thunderx/thunderx.c | 8 +-
board/compulab/cm_fx6/cm_fx6.c | 4 +-
board/davinci/da8xxevm/omapl138_lcdk.c | 8 +-
board/freescale/ls1012afrdm/eth.c | 4 +-
board/freescale/ls1012aqds/eth.c | 4 +-
board/freescale/ls1012ardb/eth.c | 4 +-
board/freescale/lx2160a/lx2160a.c | 8 +-
board/gateworks/gw_ventana/gw_ventana.c | 4 +-
board/hisilicon/hikey/hikey.c | 6 +-
board/hisilicon/hikey960/hikey960.c | 4 +-
board/hisilicon/poplar/poplar.c | 4 +-
board/intel/galileo/galileo.c | 2 +-
board/isee/igep00x0/igep00x0.c | 2 +-
board/lg/sniper/sniper.c | 4 +-
board/nokia/rx51/rx51.c | 2 +-
board/renesas/ulcb/cpld.c | 2 +-
board/siemens/corvus/board.c | 4 +-
board/st/stv0991/stv0991.c | 4 +-
board/sysam/amcore/amcore.c | 4 +-
board/ti/am335x/board.c | 12 +--
board/timll/devkit8000/devkit8000.c | 2 +-
board/toradex/apalis_imx6/apalis_imx6.c | 4 +-
board/toradex/colibri-imx6ull/colibri-imx6ull.c | 4 +-
board/toradex/colibri_imx6/colibri_imx6.c | 4 +-
board/toradex/colibri_pxa270/colibri_pxa270.c | 8 +-
cmd/Kconfig | 4 +-
cmd/Makefile | 1 +
cmd/button.c | 2 +-
cmd/cpu.c | 2 +-
cmd/demo.c | 4 +-
cmd/host.c | 2 +-
cmd/i2c.c | 4 +-
cmd/led.c | 2 +-
cmd/lsblk.c | 2 +-
cmd/pci.c | 4 +-
cmd/regulator.c | 50 +++++------
cmd/remoteproc.c | 2 +-
cmd/sandbox/Makefile | 3 +
cmd/sandbox/exception.c | 41 +++++++++
common/lcd_simplefb.c | 4 +-
common/usb_hub.c | 6 +-
common/usb_storage.c | 14 +--
doc/driver-model/debugging.rst | 2 +-
doc/driver-model/design.rst | 104
++++++++++-----------
doc/driver-model/ethernet.rst | 12 +--
doc/driver-model/of-plat.rst | 40 ++++-----
doc/driver-model/remoteproc-framework.rst | 2 +-
doc/driver-model/spi-howto.rst | 32 +++----
doc/driver-model/usb-info.rst | 18 ++--
doc/imx/clk/ccf.txt | 2 +-
drivers/adc/adc-uclass.c | 52 +++++------
drivers/adc/exynos-adc.c | 8 +-
drivers/adc/meson-saradc.c | 8 +-
drivers/adc/rockchip-saradc.c | 10 +--
drivers/adc/sandbox.c | 8 +-
drivers/adc/stm32-adc-core.c | 2 +-
drivers/adc/stm32-adc.c | 8 +-
drivers/ata/ahci-uclass.c | 2 +-
drivers/ata/ahci.c | 8 +-
drivers/ata/dwc_ahci.c | 6 +-
drivers/ata/dwc_ahsata.c | 6 +-
drivers/ata/fsl_sata.c | 18 ++--
drivers/ata/mtk_ahci.c | 6 +-
drivers/ata/sata_ceva.c | 6 +-
drivers/ata/sata_mv.c | 46 +++++-----
drivers/ata/sata_sil.c | 14 +--
drivers/axi/ihs_axi.c | 2 +-
drivers/axi/sandbox_store.c | 2 +-
drivers/block/blk-uclass.c | 28 +++---
drivers/block/ide.c | 6 +-
drivers/block/sandbox.c | 14 +--
drivers/bootcount/bootcount.c | 2 +-
drivers/bootcount/i2c-eeprom.c | 2 +-
drivers/bootcount/rtc.c | 2 +-
drivers/bootcount/spi-flash.c | 2 +-
drivers/button/button-gpio.c | 6 +-
drivers/button/button-uclass.c | 4 +-
drivers/cache/cache-v5l2.c | 14 +--
drivers/clk/altera/clk-agilex.c | 54 +++++------
drivers/clk/altera/clk-arria10.c | 24 ++---
drivers/clk/aspeed/clk_ast2500.c | 6 +-
drivers/clk/at91/compat.c | 86 +++++++++---------
drivers/clk/at91/sckc.c | 2 +-
drivers/clk/clk-cdce9xx.c | 2 +-
drivers/clk/clk-hsdk-cgu.c | 2 +-
drivers/clk/clk-ti-sci.c | 2 +-
drivers/clk/clk.c | 2 +-
drivers/clk/clk_bcm6345.c | 2 +-
drivers/clk/clk_boston.c | 10 +--
drivers/clk/clk_fixed_factor.c | 8 +-
drivers/clk/clk_fixed_rate.c | 6 +-
drivers/clk/clk_octeon.c | 2 +-
drivers/clk/clk_pic32.c | 2 +-
drivers/clk/clk_sandbox.c | 2 +-
drivers/clk/clk_sandbox_test.c | 2 +-
drivers/clk/clk_stm32f.c | 2 +-
drivers/clk/clk_stm32h7.c | 2 +-
drivers/clk/clk_stm32mp1.c | 2 +-
drivers/clk/clk_versal.c | 2 +-
drivers/clk/clk_vexpress_osc.c | 2 +-
drivers/clk/clk_zynq.c | 2 +-
drivers/clk/clk_zynqmp.c | 2 +-
drivers/clk/exynos/clk-exynos7420.c | 4 +-
drivers/clk/ics8n3qv01.c | 2 +-
drivers/clk/mediatek/clk-mt7622.c | 16 ++--
drivers/clk/mediatek/clk-mt7623.c | 12 +--
drivers/clk/mediatek/clk-mt7629.c | 14 +--
drivers/clk/mediatek/clk-mt8512.c | 8 +-
drivers/clk/mediatek/clk-mt8516.c | 6 +-
drivers/clk/mediatek/clk-mt8518.c | 6 +-
drivers/clk/meson/axg.c | 2 +-
drivers/clk/meson/g12a.c | 2 +-
drivers/clk/meson/gxbb.c | 2 +-
drivers/clk/mpc83xx_clk.c | 2 +-
drivers/clk/mtmips/clk-mt7628.c | 2 +-
drivers/clk/mvebu/armada-37xx-periph.c | 2 +-
drivers/clk/mvebu/armada-37xx-tbg.c | 2 +-
drivers/clk/owl/clk_owl.c | 2 +-
drivers/clk/renesas/r8a774a1-cpg-mssr.c | 2 +-
drivers/clk/renesas/r8a774b1-cpg-mssr.c | 2 +-
drivers/clk/renesas/r8a774c0-cpg-mssr.c | 2 +-
drivers/clk/renesas/r8a774e1-cpg-mssr.c | 2 +-
drivers/clk/renesas/r8a7790-cpg-mssr.c | 2 +-
drivers/clk/renesas/r8a7791-cpg-mssr.c | 2 +-
drivers/clk/renesas/r8a7792-cpg-mssr.c | 2 +-
drivers/clk/renesas/r8a7794-cpg-mssr.c | 2 +-
drivers/clk/renesas/r8a7795-cpg-mssr.c | 2 +-
drivers/clk/renesas/r8a7796-cpg-mssr.c | 2 +-
drivers/clk/renesas/r8a77965-cpg-mssr.c | 2 +-
drivers/clk/renesas/r8a77970-cpg-mssr.c | 2 +-
drivers/clk/renesas/r8a77980-cpg-mssr.c | 2 +-
drivers/clk/renesas/r8a77990-cpg-mssr.c | 2 +-
drivers/clk/renesas/r8a77995-cpg-mssr.c | 2 +-
drivers/clk/rockchip/clk_px30.c | 12 +--
drivers/clk/rockchip/clk_rk3036.c | 6 +-
drivers/clk/rockchip/clk_rk3128.c | 6 +-
drivers/clk/rockchip/clk_rk3188.c | 10 +--
drivers/clk/rockchip/clk_rk322x.c | 6 +-
drivers/clk/rockchip/clk_rk3288.c | 10 +--
drivers/clk/rockchip/clk_rk3308.c | 6 +-
drivers/clk/rockchip/clk_rk3328.c | 6 +-
drivers/clk/rockchip/clk_rk3368.c | 10 +--
drivers/clk/rockchip/clk_rk3399.c | 20 ++---
drivers/clk/rockchip/clk_rv1108.c | 6 +-
drivers/clk/sifive/fu540-prci.c | 2 +-
drivers/clk/sunxi/clk_a10.c | 2 +-
drivers/clk/sunxi/clk_a10s.c | 2 +-
drivers/clk/sunxi/clk_a23.c | 2 +-
drivers/clk/sunxi/clk_a31.c | 2 +-
drivers/clk/sunxi/clk_a64.c | 2 +-
drivers/clk/sunxi/clk_a80.c | 2 +-
drivers/clk/sunxi/clk_a83t.c | 2 +-
drivers/clk/sunxi/clk_h3.c | 2 +-
drivers/clk/sunxi/clk_h6.c | 2 +-
drivers/clk/sunxi/clk_r40.c | 2 +-
drivers/clk/sunxi/clk_v3s.c | 2 +-
drivers/clk/uniphier/clk-uniphier-core.c | 2 +-
drivers/core/acpi.c | 2 +-
drivers/core/device-remove.c | 20 ++---
drivers/core/device.c | 110
++++++++++-------------
drivers/core/devres.c | 2 +-
drivers/core/dump.c | 2 +-
drivers/core/ofnode.c | 10 +++
drivers/core/regmap.c | 4 +-
drivers/core/root.c | 111
+++++++----------------
drivers/core/simple-bus.c | 6 +-
drivers/core/simple-pm-bus.c | 2 +-
drivers/core/syscon-uclass.c | 6 +-
drivers/core/uclass.c | 8 +-
drivers/cpu/at91_cpu.c | 10 +--
drivers/cpu/bmips_cpu.c | 4 +-
drivers/cpu/cpu-uclass.c | 2 +-
drivers/cpu/cpu_sandbox.c | 2 +-
drivers/cpu/imx8_cpu.c | 20 ++---
drivers/cpu/mpc83xx_cpu.c | 2 +-
drivers/cpu/riscv_cpu.c | 2 +-
drivers/crypto/fsl/rng.c | 2 +-
drivers/ddr/altera/sdram_agilex.c | 2 +-
drivers/ddr/altera/sdram_gen5.c | 14 +--
drivers/ddr/altera/sdram_s10.c | 2 +-
drivers/ddr/altera/sdram_soc64.c | 24 ++---
drivers/ddr/altera/sdram_soc64.h | 16 ++--
drivers/demo/demo-pdata.c | 10 +--
drivers/demo/demo-shape.c | 12 +--
drivers/demo/demo-simple.c | 8 +-
drivers/demo/demo-uclass.c | 2 +-
drivers/dma/bcm6348-iudma.c | 2 +-
drivers/dma/dma-uclass.c | 2 +-
drivers/dma/sandbox-dma-test.c | 2 +-
drivers/dma/ti-edma3.c | 6 +-
drivers/dma/ti/k3-udma.c | 2 +-
drivers/firmware/scmi/mailbox_agent.c | 2 +-
drivers/firmware/scmi/sandbox-scmi_agent.c | 2 +-
drivers/firmware/scmi/sandbox-scmi_devices.c | 2 +-
drivers/firmware/scmi/scmi_agent-uclass.c | 4 +-
drivers/firmware/scmi/smccc_agent.c | 2 +-
drivers/firmware/ti_sci.c | 2 +-
drivers/gpio/74x164_gpio.c | 2 +-
drivers/gpio/altera_pio.c | 20 ++---
drivers/gpio/at91_gpio.c | 6 +-
drivers/gpio/atmel_pio4.c | 8 +-
drivers/gpio/bcm2835_gpio.c | 12 +--
drivers/gpio/bcm6345_gpio.c | 2 +-
drivers/gpio/cortina_gpio.c | 2 +-
drivers/gpio/da8xx_gpio.c | 12 +--
drivers/gpio/da8xx_gpio.h | 2 +-
drivers/gpio/dwapb_gpio.c | 24 ++---
drivers/gpio/gpio-rcar.c | 2 +-
drivers/gpio/gpio-rza1.c | 2 +-
drivers/gpio/gpio-uclass.c | 14 +--
drivers/gpio/gpio-uniphier.c | 2 +-
drivers/gpio/hi6220_gpio.c | 4 +-
drivers/gpio/hsdk-creg-gpio.c | 2 +-
drivers/gpio/imx_rgpio2p.c | 14 +--
drivers/gpio/intel_broadwell_gpio.c | 12 +--
drivers/gpio/intel_gpio.c | 4 +-
drivers/gpio/intel_ich6_gpio.c | 12 +--
drivers/gpio/iproc_gpio.c | 30 +++----
drivers/gpio/lpc32xx_gpio.c | 2 +-
drivers/gpio/mpc83xx_spisel_boot.c | 16 ++--
drivers/gpio/mpc8xxx_gpio.c | 16 ++--
drivers/gpio/mscc_sgpio.c | 2 +-
drivers/gpio/msm_gpio.c | 6 +-
drivers/gpio/mt7621_gpio.c | 25 +++---
drivers/gpio/mvebu_gpio.c | 2 +-
drivers/gpio/mxc_gpio.c | 12 +--
drivers/gpio/mxs_gpio.c | 14 +--
drivers/gpio/nx_gpio.c | 34 +++----
drivers/gpio/octeon_gpio.c | 2 +-
drivers/gpio/omap_gpio.c | 18 ++--
drivers/gpio/pca953x_gpio.c | 18 ++--
drivers/gpio/pcf8575_gpio.c | 16 ++--
drivers/gpio/pic32_gpio.c | 2 +-
drivers/gpio/pm8916_gpio.c | 12 +--
drivers/gpio/rk_gpio.c | 2 +-
drivers/gpio/s5p_gpio.c | 16 ++--
drivers/gpio/sandbox.c | 6 +-
drivers/gpio/sifive-gpio.c | 20 ++---
drivers/gpio/stm32_gpio.c | 2 +-
drivers/gpio/sunxi_gpio.c | 23 +++--
drivers/gpio/tegra186_gpio.c | 13 ++-
drivers/gpio/tegra_gpio.c | 14 +--
drivers/gpio/vybrid_gpio.c | 12 +--
drivers/gpio/xilinx_gpio.c | 100
++++++++++-----------
drivers/gpio/zynq_gpio.c | 64 ++++++-------
drivers/hwspinlock/stm32_hwspinlock.c | 2 +-
drivers/i2c/Kconfig | 2 +-
drivers/i2c/acpi_i2c.c | 4 +-
drivers/i2c/acpi_i2c.h | 2 +-
drivers/i2c/ast_i2c.c | 6 +-
drivers/i2c/at91_i2c.c | 8 +-
drivers/i2c/cros_ec_tunnel.c | 6 +-
drivers/i2c/davinci_i2c.c | 2 +-
drivers/i2c/designware_i2c.c | 6 +-
drivers/i2c/designware_i2c.h | 2 +-
drivers/i2c/designware_i2c_pci.c | 8 +-
drivers/i2c/exynos_hs_i2c.c | 6 +-
drivers/i2c/fsl_i2c.c | 6 +-
drivers/i2c/i2c-cdns.c | 6 +-
drivers/i2c/i2c-cortina.c | 6 +-
drivers/i2c/i2c-emul-uclass.c | 21 +++--
drivers/i2c/i2c-gpio.c | 6 +-
drivers/i2c/i2c-uclass.c | 40 ++++-----
drivers/i2c/i2c-uniphier-f.c | 2 +-
drivers/i2c/i2c-uniphier.c | 2 +-
drivers/i2c/i2c-versatile.c | 2 +-
drivers/i2c/ihs_i2c.c | 2 +-
drivers/i2c/imx_lpi2c.c | 2 +-
drivers/i2c/intel_i2c.c | 2 +-
drivers/i2c/iproc_i2c.c | 6 +-
drivers/i2c/lpc32xx_i2c.c | 10 +--
drivers/i2c/meson_i2c.c | 2 +-
drivers/i2c/muxes/i2c-arb-gpio-challenge.c | 2 +-
drivers/i2c/muxes/i2c-mux-gpio.c | 2 +-
drivers/i2c/muxes/i2c-mux-uclass.c | 10 +--
drivers/i2c/muxes/pca954x.c | 6 +-
drivers/i2c/mv_i2c.c | 2 +-
drivers/i2c/mvtwsi.c | 6 +-
drivers/i2c/mxc_i2c.c | 2 +-
drivers/i2c/nx_i2c.c | 2 +-
drivers/i2c/ocores_i2c.c | 2 +-
drivers/i2c/octeon_i2c.c | 2 +-
drivers/i2c/omap24xx_i2c.c | 12 +--
drivers/i2c/rcar_i2c.c | 2 +-
drivers/i2c/rcar_iic.c | 2 +-
drivers/i2c/rk_i2c.c | 6 +-
drivers/i2c/s3c24x0_i2c.c | 6 +-
drivers/i2c/sandbox_i2c.c | 4 +-
drivers/i2c/stm32f7_i2c.c | 6 +-
drivers/i2c/tegra186_bpmp_i2c.c | 2 +-
drivers/i2c/tegra_i2c.c | 2 +-
drivers/i2c/xilinx_xiic.c | 2 +-
drivers/input/cros_ec_keyb.c | 2 +-
drivers/input/i8042.c | 2 +-
drivers/input/keyboard-uclass.c | 2 +-
drivers/input/tegra-kbc.c | 2 +-
drivers/led/led-uclass.c | 4 +-
drivers/led/led_bcm6328.c | 6 +-
drivers/led/led_bcm6358.c | 6 +-
drivers/led/led_bcm6858.c | 6 +-
drivers/led/led_cortina.c | 28 +++---
drivers/led/led_gpio.c | 6 +-
drivers/mailbox/k3-sec-proxy.c | 2 +-
drivers/mailbox/sandbox-mbox-test.c | 2 +-
drivers/mailbox/sandbox-mbox.c | 2 +-
drivers/mailbox/stm32-ipcc.c | 2 +-
drivers/mailbox/tegra-hsp.c | 2 +-
drivers/mailbox/zynqmp-ipi.c | 2 +-
drivers/memory/stm32-fmc2-ebi.c | 2 +-
drivers/misc/altera_sysid.c | 12 +--
drivers/misc/atsha204a-i2c.c | 6 +-
drivers/misc/cros_ec.c | 2 +-
drivers/misc/cros_ec_i2c.c | 4 +-
drivers/misc/cros_ec_sandbox.c | 2 +-
drivers/misc/fs_loader.c | 18 ++--
drivers/misc/gdsys_ioep.c | 2 +-
drivers/misc/gdsys_rxaui_ctrl.c | 2 +-
drivers/misc/gdsys_soc.c | 2 +-
drivers/misc/i2c_eeprom.c | 16 ++--
drivers/misc/i2c_eeprom_emul.c | 20 ++---
drivers/misc/ihs_fpga.c | 2 +-
drivers/misc/imx8/scu.c | 6 +-
drivers/misc/irq_sandbox.c | 2 +-
drivers/misc/k3_avs.c | 2 +-
drivers/misc/microchip_flexcom.c | 10 +--
drivers/misc/misc_sandbox.c | 2 +-
drivers/misc/mpc83xx_serdes.c | 2 +-
drivers/misc/p2sb-uclass.c | 19 ++--
drivers/misc/p2sb_emul.c | 18 ++--
drivers/misc/p2sb_sandbox.c | 2 +-
drivers/misc/rockchip-efuse.c | 12 +--
drivers/misc/rockchip-otp.c | 16 ++--
drivers/misc/sandbox_adder.c | 4 +-
drivers/misc/sifive-otp.c | 14 +--
drivers/misc/swap_case.c | 14 +--
drivers/misc/tegra186_bpmp.c | 2 +-
drivers/mmc/am654_sdhci.c | 22 ++---
drivers/mmc/arm_pl180_mmci.c | 12 +--
drivers/mmc/aspeed_sdhci.c | 8 +-
drivers/mmc/atmel_sdhci.c | 8 +-
drivers/mmc/bcm2835_sdhci.c | 8 +-
drivers/mmc/bcm2835_sdhost.c | 8 +-
drivers/mmc/bcmstb_sdhci.c | 8 +-
drivers/mmc/ca_dw_mmc.c | 12 +--
drivers/mmc/davinci_mmc.c | 14 +--
drivers/mmc/exynos_dw_mmc.c | 8 +-
drivers/mmc/fsl_esdhc.c | 18 ++--
drivers/mmc/fsl_esdhc_imx.c | 18 ++--
drivers/mmc/ftsdc010_mci.c | 12 +--
drivers/mmc/gen_atmel_mci.c | 18 ++--
drivers/mmc/hi6220_dw_mmc.c | 12 +--
drivers/mmc/iproc_sdhci.c | 8 +-
drivers/mmc/jz_mmc.c | 14 +--
drivers/mmc/meson_gx_mmc.c | 18 ++--
drivers/mmc/meson_gx_mmc.h | 2 +-
drivers/mmc/mmc-uclass.c | 8 +-
drivers/mmc/mmc.c | 2 +-
drivers/mmc/mmc_spi.c | 8 +-
drivers/mmc/mmc_write.c | 4 +-
drivers/mmc/msm_sdhci.c | 12 +--
drivers/mmc/mtk-sd.c | 26 +++---
drivers/mmc/mv_sdhci.c | 8 +-
drivers/mmc/mxsmmc.c | 22 ++---
drivers/mmc/nexell_dw_mmc.c | 12 +--
drivers/mmc/octeontx_hsmmc.c | 2 +-
drivers/mmc/omap_hsmmc.c | 16 ++--
drivers/mmc/pci_mmc.c | 12 +--
drivers/mmc/pic32_sdhci.c | 8 +-
drivers/mmc/pxa_mmc_gen.c | 10 +--
drivers/mmc/renesas-sdhi.c | 6 +-
drivers/mmc/rockchip_dw_mmc.c | 12 +--
drivers/mmc/rockchip_sdhci.c | 12 +--
drivers/mmc/s5p_sdhci.c | 8 +-
drivers/mmc/sandbox_mmc.c | 6 +-
drivers/mmc/sdhci-cadence.c | 12 +--
drivers/mmc/sh_mmcif.c | 8 +-
drivers/mmc/sh_sdhi.c | 8 +-
drivers/mmc/snps_dw_mmc.c | 12 +--
drivers/mmc/socfpga_dw_mmc.c | 12 +--
drivers/mmc/sti_sdhci.c | 14 +--
drivers/mmc/stm32_sdmmc2.c | 8 +-
drivers/mmc/sunxi_mmc.c | 12 +--
drivers/mmc/tangier_sdhci.c | 8 +-
drivers/mmc/tegra_mmc.c | 8 +-
drivers/mmc/tmio-common.c | 4 +-
drivers/mmc/uniphier-sd.c | 4 +-
drivers/mmc/xenon_sdhci.c | 12 +--
drivers/mmc/zynq_sdhci.c | 12 +--
drivers/mtd/altera_qspi.c | 26 +++---
drivers/mtd/hbmc-am654.c | 2 +-
drivers/mtd/mtd-uclass.c | 2 +-
drivers/mtd/nand/raw/arasan_nfc.c | 2 +-
drivers/mtd/nand/raw/brcmnand/bcm63158_nand.c | 2 +-
drivers/mtd/nand/raw/brcmnand/bcm6368_nand.c | 2 +-
drivers/mtd/nand/raw/brcmnand/bcm68360_nand.c | 2 +-
drivers/mtd/nand/raw/brcmnand/bcm6838_nand.c | 2 +-
drivers/mtd/nand/raw/brcmnand/bcm6858_nand.c | 2 +-
drivers/mtd/nand/raw/davinci_nand.c | 2 +-
drivers/mtd/nand/raw/denali_dt.c | 2 +-
drivers/mtd/nand/raw/mxs_nand_dt.c | 2 +-
drivers/mtd/nand/raw/octeontx_bch.c | 4 +-
drivers/mtd/nand/raw/octeontx_nand.c | 6 +-
drivers/mtd/nand/raw/pxa3xx_nand.c | 2 +-
drivers/mtd/nand/raw/stm32_fmc2_nand.c | 2 +-
drivers/mtd/nand/raw/tegra_nand.c | 2 +-
drivers/mtd/nand/raw/vf610_nfc.c | 2 +-
drivers/mtd/nand/raw/zynq_nand.c | 2 +-
drivers/mtd/nand/spi/core.c | 2 +-
drivers/mtd/spi/Kconfig | 4 +-
drivers/mtd/spi/sandbox.c | 18 ++--
drivers/mtd/spi/sf-uclass.c | 2 +-
drivers/mtd/spi/sf_dataflash.c | 2 +-
drivers/mtd/spi/sf_probe.c | 2 +-
drivers/mux/mux-uclass.c | 2 +-
drivers/net/ag7xxx.c | 14 +--
drivers/net/altera_tse.c | 14 +--
drivers/net/bcm6348-eth.c | 10 +--
drivers/net/bcm6368-eth.c | 6 +-
drivers/net/bcmgenet.c | 14 +--
drivers/net/dc2114x.c | 8 +-
drivers/net/designware.c | 20 ++---
drivers/net/designware.h | 2 +-
drivers/net/dwc_eth_qos.c | 8 +-
drivers/net/dwmac_s700.c | 10 +--
drivers/net/dwmac_socfpga.c | 16 ++--
drivers/net/e1000.c | 10 +--
drivers/net/eepro100.c | 8 +-
drivers/net/eth-phy-uclass.c | 2 +-
drivers/net/ethoc.c | 14 +--
drivers/net/fec_mxc.c | 16 ++--
drivers/net/fm/eth.c | 6 +-
drivers/net/fm/fm.c | 2 +-
drivers/net/fm/memac_phy.c | 4 +-
drivers/net/fsl-mc/mc.c | 2 +-
drivers/net/fsl_enetc.c | 16 ++--
drivers/net/fsl_enetc_mdio.c | 2 +-
drivers/net/fsl_ls_mdio.c | 2 +-
drivers/net/fsl_mcdmafec.c | 14 +--
drivers/net/fsl_mdio.c | 4 +-
drivers/net/ftgmac100.c | 16 ++--
drivers/net/ftmac100.c | 14 +--
drivers/net/gmac_rockchip.c | 40 ++++-----
drivers/net/higmacv300.c | 10 +--
drivers/net/ks8851_mll.c | 14 +--
drivers/net/ldpaa_eth/ldpaa_eth.c | 10 +--
drivers/net/macb.c | 20 ++---
drivers/net/mcffec.c | 14 +--
drivers/net/mdio-ipq4019.c | 2 +-
drivers/net/mdio_mux_i2creg.c | 2 +-
drivers/net/mdio_mux_sandbox.c | 2 +-
drivers/net/mdio_sandbox.c | 2 +-
drivers/net/mscc_eswitch/jr2_switch.c | 8 +-
drivers/net/mscc_eswitch/luton_switch.c | 8 +-
drivers/net/mscc_eswitch/ocelot_switch.c | 8 +-
drivers/net/mscc_eswitch/serval_switch.c | 8 +-
drivers/net/mscc_eswitch/servalt_switch.c | 8 +-
drivers/net/mt7628-eth.c | 6 +-
drivers/net/mtk_eth.c | 14 +--
drivers/net/mvgbe.c | 16 ++--
drivers/net/mvmdio.c | 2 +-
drivers/net/mvneta.c | 18 ++--
drivers/net/mvpp2.c | 12 +--
drivers/net/octeontx/bgx.c | 2 +-
drivers/net/octeontx/nic_main.c | 2 +-
drivers/net/octeontx/nicvf_main.c | 12 +--
drivers/net/octeontx2/cgx.c | 2 +-
drivers/net/octeontx2/nix.c | 2 +-
drivers/net/octeontx2/rvu_af.c | 2 +-
drivers/net/octeontx2/rvu_pf.c | 6 +-
drivers/net/pch_gbe.c | 10 +--
drivers/net/pcnet.c | 8 +-
drivers/net/pfe_eth/pfe_eth.c | 10 +--
drivers/net/pic32_eth.c | 8 +-
drivers/net/qe/dm_qe_uec.c | 16 ++--
drivers/net/qe/dm_qe_uec_phy.c | 2 +-
drivers/net/ravb.c | 18 ++--
drivers/net/rtl8139.c | 10 +--
drivers/net/rtl8169.c | 12 +--
drivers/net/sandbox-raw.c | 16 ++--
drivers/net/sandbox.c | 12 +--
drivers/net/sh_eth.c | 18 ++--
drivers/net/smc911x.c | 14 +--
drivers/net/sni_ave.c | 16 ++--
drivers/net/sun8i_emac.c | 16 ++--
drivers/net/sunxi_emac.c | 14 +--
drivers/net/ti/am65-cpsw-nuss.c | 14 +--
drivers/net/ti/cpsw.c | 16 ++--
drivers/net/ti/davinci_emac.c | 4 +-
drivers/net/ti/keystone_net.c | 24 ++---
drivers/net/tsec.c | 8 +-
drivers/net/xilinx_axi_emac.c | 12 +--
drivers/net/xilinx_emaclite.c | 12 +--
drivers/net/zynq_gem.c | 14 +--
drivers/nvme/nvme.c | 12 +--
drivers/pch/sandbox_pch.c | 2 +-
drivers/pci/pci-aardvark.c | 8 +-
drivers/pci/pci-emul-uclass.c | 10 +--
drivers/pci/pci-rcar-gen2.c | 6 +-
drivers/pci/pci-rcar-gen3.c | 22 ++---
drivers/pci/pci-uclass.c | 51 ++++++-----
drivers/pci/pci_mpc85xx.c | 6 +-
drivers/pci/pci_mvebu.c | 18 ++--
drivers/pci/pci_octeontx.c | 6 +-
drivers/pci/pci_rom.c | 8 +-
drivers/pci/pci_sandbox.c | 5 +-
drivers/pci/pci_tegra.c | 6 +-
drivers/pci/pcie_brcmstb.c | 6 +-
drivers/pci/pcie_dw_mvebu.c | 8 +-
drivers/pci/pcie_dw_ti.c | 8 +-
drivers/pci/pcie_ecam_generic.c | 8 +-
drivers/pci/pcie_fsl.c | 6 +-
drivers/pci/pcie_imx.c | 6 +-
drivers/pci/pcie_intel_fpga.c | 6 +-
drivers/pci/pcie_iproc.c | 2 +-
drivers/pci/pcie_layerscape_ep.c | 2 +-
drivers/pci/pcie_layerscape_gen4.c | 2 +-
drivers/pci/pcie_layerscape_rc.c | 2 +-
drivers/pci/pcie_mediatek.c | 8 +-
drivers/pci/pcie_phytium.c | 8 +-
drivers/pci/pcie_rockchip.c | 2 +-
drivers/pci/pcie_xilinx.c | 8 +-
drivers/pci_endpoint/pcie-cadence-ep.c | 2 +-
drivers/pci_endpoint/sandbox-pci_ep.c | 2 +-
drivers/phy/allwinner/phy-sun4i-usb.c | 6 +-
drivers/phy/bcm6318-usbh-phy.c | 2 +-
drivers/phy/bcm6348-usbh-phy.c | 2 +-
drivers/phy/bcm6358-usbh-phy.c | 2 +-
drivers/phy/bcm6368-usbh-phy.c | 2 +-
drivers/phy/keystone-usb-phy.c | 2 +-
drivers/phy/marvell/comphy_core.c | 2 +-
drivers/phy/meson-g12a-usb2.c | 2 +-
drivers/phy/meson-g12a-usb3-pcie.c | 2 +-
drivers/phy/meson-gxbb-usb2.c | 2 +-
drivers/phy/meson-gxl-usb2.c | 2 +-
drivers/phy/msm8916-usbh-phy.c | 2 +-
drivers/phy/mt76x8-usb-phy.c | 2 +-
drivers/phy/nop-phy.c | 2 +-
drivers/phy/omap-usb2-phy.c | 2 +-
drivers/phy/phy-bcm-sr-pcie.c | 4 +-
drivers/phy/phy-mtk-tphy.c | 2 +-
drivers/phy/phy-qcom-ipq4019-usb.c | 4 +-
drivers/phy/phy-rcar-gen2.c | 2 +-
drivers/phy/phy-rcar-gen3.c | 2 +-
drivers/phy/phy-stm32-usbphyc.c | 2 +-
drivers/phy/phy-ti-am654.c | 4 +-
drivers/phy/rockchip/phy-rockchip-inno-usb2.c | 2 +-
drivers/phy/rockchip/phy-rockchip-pcie.c | 2 +-
drivers/phy/rockchip/phy-rockchip-typec.c | 2 +-
drivers/phy/sandbox-phy.c | 2 +-
drivers/phy/sti_usb_phy.c | 2 +-
drivers/phy/ti-pipe3-phy.c | 2 +-
drivers/pinctrl/aspeed/pinctrl_ast2500.c | 2 +-
drivers/pinctrl/ath79/pinctrl_ar933x.c | 2 +-
drivers/pinctrl/ath79/pinctrl_qca953x.c | 2 +-
drivers/pinctrl/broadcom/pinctrl-bcm283x.c | 8 +-
drivers/pinctrl/broadcom/pinctrl-bcm6838.c | 2 +-
drivers/pinctrl/exynos/pinctrl-exynos7420.c | 2 +-
drivers/pinctrl/intel/pinctrl.c | 9 +-
drivers/pinctrl/intel/pinctrl_apl.c | 20 ++---
drivers/pinctrl/mediatek/pinctrl-mt7622.c | 2 +-
drivers/pinctrl/mediatek/pinctrl-mt7623.c | 2 +-
drivers/pinctrl/mediatek/pinctrl-mt7629.c | 2 +-
drivers/pinctrl/mediatek/pinctrl-mt8512.c | 2 +-
drivers/pinctrl/mediatek/pinctrl-mt8516.c | 2 +-
drivers/pinctrl/mediatek/pinctrl-mt8518.c | 2 +-
drivers/pinctrl/meson/pinctrl-meson-axg.c | 2 +-
drivers/pinctrl/meson/pinctrl-meson-g12a.c | 2 +-
drivers/pinctrl/meson/pinctrl-meson-gxbb.c | 2 +-
drivers/pinctrl/meson/pinctrl-meson-gxl.c | 2 +-
drivers/pinctrl/meson/pinctrl-meson.c | 5 +-
drivers/pinctrl/mscc/pinctrl-jr2.c | 4 +-
drivers/pinctrl/mscc/pinctrl-luton.c | 4 +-
drivers/pinctrl/mscc/pinctrl-ocelot.c | 4 +-
drivers/pinctrl/mscc/pinctrl-serval.c | 4 +-
drivers/pinctrl/mscc/pinctrl-servalt.c | 4 +-
drivers/pinctrl/mtmips/pinctrl-mt7628.c | 6 +-
drivers/pinctrl/mvebu/pinctrl-armada-37xx.c | 10 +--
drivers/pinctrl/mvebu/pinctrl-mvebu.c | 2 +-
drivers/pinctrl/nexell/pinctrl-s5pxx18.c | 2 +-
drivers/pinctrl/nxp/pinctrl-imx5.c | 2 +-
drivers/pinctrl/nxp/pinctrl-imx6.c | 2 +-
drivers/pinctrl/nxp/pinctrl-imx7.c | 2 +-
drivers/pinctrl/nxp/pinctrl-imx7ulp.c | 2 +-
drivers/pinctrl/nxp/pinctrl-imx8.c | 2 +-
drivers/pinctrl/nxp/pinctrl-imx8m.c | 2 +-
drivers/pinctrl/nxp/pinctrl-imxrt.c | 2 +-
drivers/pinctrl/nxp/pinctrl-mxs.c | 2 +-
drivers/pinctrl/nxp/pinctrl-vf610.c | 2 +-
drivers/pinctrl/pinctrl-at91-pio4.c | 8 +-
drivers/pinctrl/pinctrl-at91.c | 2 +-
drivers/pinctrl/pinctrl-kendryte.c | 2 +-
drivers/pinctrl/pinctrl-qe-io.c | 14 +--
drivers/pinctrl/pinctrl-sandbox.c | 2 +-
drivers/pinctrl/pinctrl-single.c | 12 +--
drivers/pinctrl/pinctrl-sti.c | 10 +--
drivers/pinctrl/pinctrl-stmfx.c | 14 +--
drivers/pinctrl/pinctrl_pic32.c | 2 +-
drivers/pinctrl/pinctrl_stm32.c | 2 +-
drivers/pinctrl/renesas/pfc-r7s72100.c | 8 +-
drivers/pinctrl/renesas/pfc.c | 2 +-
drivers/pinctrl/rockchip/pinctrl-px30.c | 2 +-
drivers/pinctrl/rockchip/pinctrl-rk3036.c | 2 +-
drivers/pinctrl/rockchip/pinctrl-rk3128.c | 2 +-
drivers/pinctrl/rockchip/pinctrl-rk3188.c | 2 +-
drivers/pinctrl/rockchip/pinctrl-rk322x.c | 2 +-
drivers/pinctrl/rockchip/pinctrl-rk3288.c | 2 +-
drivers/pinctrl/rockchip/pinctrl-rk3308.c | 2 +-
drivers/pinctrl/rockchip/pinctrl-rk3328.c | 2 +-
drivers/pinctrl/rockchip/pinctrl-rk3368.c | 2 +-
drivers/pinctrl/rockchip/pinctrl-rk3399.c | 2 +-
drivers/pinctrl/rockchip/pinctrl-rv1108.c | 2 +-
drivers/pinctrl/uniphier/pinctrl-uniphier-ld11.c | 2 +-
drivers/pinctrl/uniphier/pinctrl-uniphier-ld20.c | 2 +-
drivers/pinctrl/uniphier/pinctrl-uniphier-ld4.c | 2 +-
drivers/pinctrl/uniphier/pinctrl-uniphier-ld6b.c | 2 +-
drivers/pinctrl/uniphier/pinctrl-uniphier-pro4.c | 2 +-
drivers/pinctrl/uniphier/pinctrl-uniphier-pro5.c | 2 +-
drivers/pinctrl/uniphier/pinctrl-uniphier-pxs2.c | 2 +-
drivers/pinctrl/uniphier/pinctrl-uniphier-pxs3.c | 2 +-
drivers/pinctrl/uniphier/pinctrl-uniphier-sld8.c | 2 +-
drivers/power/acpi_pmc/acpi-pmc-uclass.c | 4 +-
drivers/power/acpi_pmc/pmc_emul.c | 14 +--
drivers/power/acpi_pmc/sandbox.c | 4 +-
drivers/power/domain/bcm6328-power-domain.c | 2 +-
drivers/power/domain/imx8-power-domain-legacy.c | 22 ++---
drivers/power/domain/imx8m-power-domain.c | 16 ++--
drivers/power/domain/meson-ee-pwrc.c | 2 +-
drivers/power/domain/meson-gx-pwrc-vpu.c | 2 +-
drivers/power/domain/mtk-power-domain.c | 2 +-
drivers/power/domain/sandbox-power-domain-test.c | 2 +-
drivers/power/domain/sandbox-power-domain.c | 2 +-
drivers/power/domain/ti-sci-power-domain.c | 2 +-
drivers/power/pmic/i2c_pmic_emul.c | 14 +--
drivers/power/pmic/pm8916.c | 2 +-
drivers/power/pmic/pmic-uclass.c | 2 +-
drivers/power/pmic/rk8xx.c | 2 +-
drivers/power/regulator/act8846.c | 4 +-
drivers/power/regulator/as3722_regulator.c | 8 +-
drivers/power/regulator/bd71837.c | 26 +++---
drivers/power/regulator/da9063.c | 12 +--
drivers/power/regulator/fan53555.c | 20 ++---
drivers/power/regulator/fixed.c | 28 +++---
drivers/power/regulator/gpio-regulator.c | 32 +++----
drivers/power/regulator/lp873x_regulator.c | 24 ++---
drivers/power/regulator/lp87565_regulator.c | 12 +--
drivers/power/regulator/max77686.c | 8 +-
drivers/power/regulator/palmas_regulator.c | 28 +++---
drivers/power/regulator/pbias_regulator.c | 10 +--
drivers/power/regulator/pfuze100.c | 24 ++---
drivers/power/regulator/pwm_regulator.c | 10 +--
drivers/power/regulator/regulator-uclass.c | 47 +++++-----
drivers/power/regulator/regulator_common.c | 9 +-
drivers/power/regulator/regulator_common.h | 11 +--
drivers/power/regulator/rk8xx.c | 12 +--
drivers/power/regulator/s2mps11_regulator.c | 8 +-
drivers/power/regulator/s5m8767.c | 8 +-
drivers/power/regulator/sandbox.c | 16 ++--
drivers/power/regulator/stm32-vrefbuf.c | 2 +-
drivers/power/regulator/stpmic1.c | 28 +++---
drivers/power/regulator/tps62360_regulator.c | 8 +-
drivers/power/regulator/tps65090_regulator.c | 4 +-
drivers/power/regulator/tps65910_regulator.c | 40 ++++-----
drivers/power/regulator/tps65941_regulator.c | 24 ++---
drivers/pwm/exynos_pwm.c | 6 +-
drivers/pwm/pwm-imx.c | 6 +-
drivers/pwm/pwm-meson.c | 6 +-
drivers/pwm/pwm-mtk.c | 2 +-
drivers/pwm/pwm-sifive.c | 6 +-
drivers/pwm/rk_pwm.c | 6 +-
drivers/pwm/sandbox_pwm.c | 2 +-
drivers/pwm/sunxi_pwm.c | 6 +-
drivers/pwm/tegra_pwm.c | 6 +-
drivers/ram/aspeed/sdram_ast2500.c | 6 +-
drivers/ram/bmips_ram.c | 2 +-
drivers/ram/imxrt_sdram.c | 12 +--
drivers/ram/k3-am654-ddrss.c | 2 +-
drivers/ram/k3-j721e/k3-j721e-ddrss.c | 2 +-
drivers/ram/mediatek/ddr3-mt7629.c | 2 +-
drivers/ram/mpc83xx_sdram.c | 6 +-
drivers/ram/octeon/octeon_ddr.c | 2 +-
drivers/ram/rockchip/dmc-rk3368.c | 26 +++---
drivers/ram/rockchip/sdram_px30.c | 2 +-
drivers/ram/rockchip/sdram_rk3128.c | 2 +-
drivers/ram/rockchip/sdram_rk3188.c | 25 +++---
drivers/ram/rockchip/sdram_rk322x.c | 23 +++--
drivers/ram/rockchip/sdram_rk3288.c | 25 +++---
drivers/ram/rockchip/sdram_rk3308.c | 2 +-
drivers/ram/rockchip/sdram_rk3328.c | 23 +++--
drivers/ram/rockchip/sdram_rk3399.c | 23 +++--
drivers/ram/sifive/fu540_ddr.c | 6 +-
drivers/ram/stm32_sdram.c | 12 +--
drivers/ram/stm32mp1/stm32mp1_ram.c | 2 +-
drivers/remoteproc/k3_system_controller.c | 2 +-
drivers/remoteproc/rproc-uclass.c | 15 ++--
drivers/remoteproc/sandbox_testproc.c | 20 ++---
drivers/remoteproc/stm32_copro.c | 2 +-
drivers/remoteproc/ti_k3_arm64_rproc.c | 2 +-
drivers/remoteproc/ti_k3_dsp_rproc.c | 2 +-
drivers/remoteproc/ti_k3_r5f_rproc.c | 4 +-
drivers/remoteproc/ti_power_proc.c | 8 +-
drivers/reset/reset-ast2500.c | 2 +-
drivers/reset/reset-bcm6345.c | 2 +-
drivers/reset/reset-hisilicon.c | 2 +-
drivers/reset/reset-hsdk.c | 2 +-
drivers/reset/reset-imx7.c | 2 +-
drivers/reset/reset-ipq4019.c | 2 +-
drivers/reset/reset-mediatek.c | 2 +-
drivers/reset/reset-meson.c | 2 +-
drivers/reset/reset-mtmips.c | 6 +-
drivers/reset/reset-rockchip.c | 2 +-
drivers/reset/reset-sifive.c | 2 +-
drivers/reset/reset-socfpga.c | 2 +-
drivers/reset/reset-sunxi.c | 2 +-
drivers/reset/reset-syscon.c | 2 +-
drivers/reset/reset-ti-sci.c | 2 +-
drivers/reset/reset-uniphier.c | 2 +-
drivers/reset/sandbox-reset-test.c | 2 +-
drivers/reset/sandbox-reset.c | 2 +-
drivers/reset/sti-reset.c | 2 +-
drivers/reset/stm32-reset.c | 2 +-
drivers/rng/meson-rng.c | 18 ++--
drivers/rng/msm_rng.c | 2 +-
drivers/rng/rockchip_rng.c | 18 ++--
drivers/rng/stm32mp1_rng.c | 20 ++---
drivers/rtc/ds3232.c | 2 +-
drivers/rtc/emul_rtc.c | 2 +-
drivers/rtc/i2c_rtc_emul.c | 20 ++---
drivers/rtc/mvrtc.c | 12 +--
drivers/rtc/pcf2127.c | 2 +-
drivers/rtc/pl031.c | 14 +--
drivers/rtc/stm32_rtc.c | 2 +-
drivers/scsi/scsi-uclass.c | 2 +-
drivers/scsi/scsi.c | 16 ++--
drivers/serial/altera_jtag_uart.c | 18 ++--
drivers/serial/altera_uart.c | 18 ++--
drivers/serial/atmel_usart.c | 6 +-
drivers/serial/lpc32xx_hsuart.c | 6 +-
drivers/serial/ns16550.c | 36 ++++----
drivers/serial/sandbox.c | 83 +++++++----------
drivers/serial/serial-uclass.c | 2 +-
drivers/serial/serial_ar933x.c | 2 +-
drivers/serial/serial_arc.c | 18 ++--
drivers/serial/serial_bcm283x_mu.c | 10 +--
drivers/serial/serial_bcm283x_pl011.c | 10 +--
drivers/serial/serial_bcm6345.c | 2 +-
drivers/serial/serial_coreboot.c | 10 +--
drivers/serial/serial_cortina.c | 6 +-
drivers/serial/serial_efi.c | 2 +-
drivers/serial/serial_intel_mid.c | 10 +--
drivers/serial/serial_linflexuart.c | 6 +-
drivers/serial/serial_lpuart.c | 42 ++++-----
drivers/serial/serial_mcf.c | 18 ++--
drivers/serial/serial_meson.c | 20 ++---
drivers/serial/serial_msm.c | 6 +-
drivers/serial/serial_mtk.c | 6 +-
drivers/serial/serial_mvebu_a3700.c | 20 ++---
drivers/serial/serial_mxc.c | 18 ++--
drivers/serial/serial_omap.c | 10 +--
drivers/serial/serial_owl.c | 6 +-
drivers/serial/serial_pic32.c | 2 +-
drivers/serial/serial_pl01x.c | 14 +--
drivers/serial/serial_pl01x_internal.h | 2 +-
drivers/serial/serial_pxa.c | 10 +--
drivers/serial/serial_rockchip.c | 20 ++---
drivers/serial/serial_s5p.c | 20 ++---
drivers/serial/serial_sh.c | 14 +--
drivers/serial/serial_sifive.c | 38 ++++----
drivers/serial/serial_sti_asc.c | 2 +-
drivers/serial/serial_stm32.c | 20 ++---
drivers/serial/serial_stm32.h | 2 +-
drivers/serial/serial_uniphier.c | 2 +-
drivers/serial/serial_xen.c | 2 +-
drivers/serial/serial_xuartlite.c | 18 ++--
drivers/serial/serial_zynq.c | 38 ++++----
drivers/soc/soc_ti_k3.c | 10 +--
drivers/soc/ti/k3-navss-ringacc.c | 2 +-
drivers/sound/broadwell_i2s.c | 2 +-
drivers/sound/hda_codec.c | 2 +-
drivers/sound/i2s-uclass.c | 2 +-
drivers/sound/ivybridge_sound.c | 6 +-
drivers/sound/max98088.c | 2 +-
drivers/sound/max98090.c | 2 +-
drivers/sound/max98095.c | 2 +-
drivers/sound/max98357a.c | 4 +-
drivers/sound/rt5677.c | 2 +-
drivers/sound/samsung-i2s.c | 4 +-
drivers/sound/sandbox.c | 6 +-
drivers/sound/sound-uclass.c | 2 +-
drivers/sound/tegra_ahub.c | 2 +-
drivers/sound/wm8994.c | 2 +-
drivers/spi/altera_spi.c | 16 ++--
drivers/spi/atcspi200_spi.c | 8 +-
drivers/spi/ath79_spi.c | 4 +-
drivers/spi/atmel-quadspi.c | 2 +-
drivers/spi/atmel_spi.c | 20 ++---
drivers/spi/bcm63xx_hsspi.c | 8 +-
drivers/spi/bcm63xx_spi.c | 8 +-
drivers/spi/bcmstb_spi.c | 14 +--
drivers/spi/cadence_qspi.c | 20 ++---
drivers/spi/cadence_qspi.h | 12 +--
drivers/spi/cadence_qspi_apb.c | 18 ++--
drivers/spi/cf_spi.c | 22 ++---
drivers/spi/davinci_spi.c | 18 ++--
drivers/spi/designware_spi.c | 16 ++--
drivers/spi/exynos_spi.c | 20 ++---
drivers/spi/fsl_dspi.c | 30 +++----
drivers/spi/fsl_espi.c | 14 +--
drivers/spi/fsl_qspi.c | 6 +-
drivers/spi/ich.c | 38 ++++----
drivers/spi/kirkwood_spi.c | 24 ++---
drivers/spi/meson_spifc.c | 2 +-
drivers/spi/mpc8xxx_spi.c | 22 ++---
drivers/spi/mscc_bb_spi.c | 4 +-
drivers/spi/mt7621_spi.c | 2 +-
drivers/spi/mtk_snfi_spi.c | 2 +-
drivers/spi/mvebu_a3700_spi.c | 24 ++---
drivers/spi/mxc_spi.c | 16 ++--
drivers/spi/mxs_spi.c | 14 +--
drivers/spi/nxp_fspi.c | 8 +-
drivers/spi/octeon_spi.c | 4 +-
drivers/spi/omap3_spi.c | 16 ++--
drivers/spi/pic32_spi.c | 6 +-
drivers/spi/pl022_spi.c | 12 +--
drivers/spi/renesas_rpc_spi.c | 14 +--
drivers/spi/rk_spi.c | 26 +++---
drivers/spi/sh_qspi.c | 12 +--
drivers/spi/soft_spi.c | 24 ++---
drivers/spi/spi-qup.c | 4 +-
drivers/spi/spi-sifive.c | 10 +--
drivers/spi/spi-sunxi.c | 18 ++--
drivers/spi/spi-uclass.c | 26 +++---
drivers/spi/stm32_qspi.c | 4 +-
drivers/spi/stm32_spi.c | 6 +-
drivers/spi/tegra114_spi.c | 18 ++--
drivers/spi/tegra20_sflash.c | 18 ++--
drivers/spi/tegra20_slink.c | 18 ++--
drivers/spi/tegra210_qspi.c | 20 ++---
drivers/spi/tegra_spi.h | 2 +-
drivers/spi/ti_qspi.c | 16 ++--
drivers/spi/uniphier_spi.c | 20 ++---
drivers/spi/xilinx_spi.c | 6 +-
drivers/spi/zynq_qspi.c | 18 ++--
drivers/spi/zynq_spi.c | 22 ++---
drivers/spi/zynqmp_gqspi.c | 18 ++--
drivers/spmi/spmi-msm.c | 2 +-
drivers/spmi/spmi-sandbox.c | 2 +-
drivers/sysinfo/gazerbeam.c | 2 +-
drivers/sysinfo/sandbox.c | 2 +-
drivers/sysreset/poweroff_gpio.c | 2 +-
drivers/sysreset/sysreset-ti-sci.c | 2 +-
drivers/sysreset/sysreset_gpio.c | 2 +-
drivers/sysreset/sysreset_octeon.c | 2 +-
drivers/sysreset/sysreset_resetctl.c | 2 +-
drivers/sysreset/sysreset_socfpga.c | 2 +-
drivers/sysreset/sysreset_sti.c | 2 +-
drivers/sysreset/sysreset_syscon.c | 2 +-
drivers/sysreset/sysreset_watchdog.c | 2 +-
drivers/sysreset/sysreset_x86.c | 8 +-
drivers/tee/optee/core.c | 14 +--
drivers/tee/sandbox.c | 2 +-
drivers/tee/tee-uclass.c | 2 +-
drivers/thermal/imx_scu_thermal.c | 14 +--
drivers/thermal/imx_thermal.c | 6 +-
drivers/thermal/imx_tmu.c | 20 ++---
drivers/thermal/ti-bandgap.c | 2 +-
drivers/timer/ag101p_timer.c | 14 +--
drivers/timer/altera_timer.c | 14 +--
drivers/timer/arc_timer.c | 2 +-
drivers/timer/ast_timer.c | 6 +-
drivers/timer/atcpit100_timer.c | 14 +--
drivers/timer/atmel_pit_timer.c | 14 +--
drivers/timer/cadence-ttc.c | 6 +-
drivers/timer/dw-apb-timer.c | 6 +-
drivers/timer/mchp-pit64b-timer.c | 2 +-
drivers/timer/mpc83xx_timer.c | 2 +-
drivers/timer/mtk_timer.c | 2 +-
drivers/timer/nomadik-mtu-timer.c | 2 +-
drivers/timer/omap-timer.c | 6 +-
drivers/timer/ostm_timer.c | 6 +-
drivers/timer/rockchip_timer.c | 10 +--
drivers/timer/sti-timer.c | 2 +-
drivers/timer/stm32_timer.c | 2 +-
drivers/timer/timer-uclass.c | 6 +-
drivers/tpm/cr50_i2c.c | 8 +-
drivers/tpm/tpm-uclass.c | 2 +-
drivers/tpm/tpm2_ftpm_tee.c | 2 +-
drivers/tpm/tpm2_tis_sandbox.c | 2 +-
drivers/tpm/tpm2_tis_spi.c | 2 +-
drivers/tpm/tpm_tis_infineon.c | 2 +-
drivers/tpm/tpm_tis_lpc.c | 2 +-
drivers/tpm/tpm_tis_sandbox.c | 2 +-
drivers/tpm/tpm_tis_st33zp24_i2c.c | 2 +-
drivers/tpm/tpm_tis_st33zp24_spi.c | 12 +--
drivers/ufs/ufs-uclass.c | 2 +-
drivers/ufs/ufs.c | 4 +-
drivers/usb/cdns3/cdns3-ti.c | 6 +-
drivers/usb/cdns3/core.c | 4 +-
drivers/usb/dwc3/dwc3-generic.c | 28 +++---
drivers/usb/dwc3/dwc3-meson-g12a.c | 8 +-
drivers/usb/dwc3/dwc3-meson-gxl.c | 8 +-
drivers/usb/emul/sandbox_flash.c | 16 ++--
drivers/usb/emul/sandbox_hub.c | 17 ++--
drivers/usb/emul/sandbox_keyb.c | 6 +-
drivers/usb/emul/usb-emul-uclass.c | 22 ++---
drivers/usb/eth/asix.c | 10 +--
drivers/usb/eth/asix88179.c | 8 +-
drivers/usb/eth/lan75xx.c | 10 +--
drivers/usb/eth/lan78xx.c | 10 +--
drivers/usb/eth/mcs7830.c | 8 +-
drivers/usb/eth/r8152.c | 10 +--
drivers/usb/eth/smsc95xx.c | 10 +--
drivers/usb/gadget/dwc2_udc_otg.c | 59 ++++++------
drivers/usb/gadget/ether.c | 8 +-
drivers/usb/gadget/max3420_udc.c | 6 +-
drivers/usb/host/dwc2.c | 6 +-
drivers/usb/host/dwc3-of-simple.c | 6 +-
drivers/usb/host/dwc3-sti-glue.c | 22 ++---
drivers/usb/host/ehci-atmel.c | 4 +-
drivers/usb/host/ehci-exynos.c | 16 ++--
drivers/usb/host/ehci-fsl.c | 8 +-
drivers/usb/host/ehci-generic.c | 2 +-
drivers/usb/host/ehci-marvell.c | 4 +-
drivers/usb/host/ehci-msm.c | 10 +--
drivers/usb/host/ehci-mx5.c | 12 +--
drivers/usb/host/ehci-mx6.c | 14 +--
drivers/usb/host/ehci-omap.c | 12 +--
drivers/usb/host/ehci-pci.c | 4 +-
drivers/usb/host/ehci-tegra.c | 10 +--
drivers/usb/host/ehci-vf.c | 10 +--
drivers/usb/host/ehci-zynq.c | 10 +--
drivers/usb/host/ohci-da8xx.c | 2 +-
drivers/usb/host/ohci-generic.c | 2 +-
drivers/usb/host/ohci-pci.c | 4 +-
drivers/usb/host/r8a66597-hcd.c | 6 +-
drivers/usb/host/usb-sandbox.c | 2 +-
drivers/usb/host/usb-uclass.c | 32 +++----
drivers/usb/host/xhci-brcm.c | 10 +--
drivers/usb/host/xhci-dwc3.c | 10 +--
drivers/usb/host/xhci-exynos5.c | 16 ++--
drivers/usb/host/xhci-fsl.c | 4 +-
drivers/usb/host/xhci-mtk.c | 2 +-
drivers/usb/host/xhci-mvebu.c | 16 ++--
drivers/usb/host/xhci-pci.c | 4 +-
drivers/usb/host/xhci-rcar.c | 18 ++--
drivers/usb/mtu3/mtu3_plat.c | 6 +-
drivers/usb/musb-new/da8xx.c | 56 ++++++------
drivers/usb/musb-new/mt85xx.c | 4 +-
drivers/usb/musb-new/omap2430.c | 75 ++++++++--------
drivers/usb/musb-new/pic32.c | 4 +-
drivers/usb/musb-new/sunxi.c | 4 +-
drivers/usb/musb-new/ti-musb.c | 72 +++++++--------
drivers/video/am335x-fb.c | 12 +--
drivers/video/atmel_hlcdfb.c | 10 +--
drivers/video/atmel_lcdfb.c | 14 +--
drivers/video/backlight_gpio.c | 6 +-
drivers/video/bcm2835.c | 2 +-
drivers/video/bridge/anx6345.c | 10 +--
drivers/video/bridge/ps862x.c | 2 +-
drivers/video/bridge/video-bridge-uclass.c | 2 +-
drivers/video/broadwell_igd.c | 22 ++---
drivers/video/console_truetype.c | 2 +-
drivers/video/coreboot.c | 2 +-
drivers/video/display-uclass.c | 6 +-
drivers/video/dw_mipi_dsi.c | 2 +-
drivers/video/efi.c | 2 +-
drivers/video/exynos/exynos_dp.c | 6 +-
drivers/video/exynos/exynos_fb.c | 10 +--
drivers/video/fsl_dcu_fb.c | 4 +-
drivers/video/ihs_video_out.c | 2 +-
drivers/video/imx/mxc_ipuv3_fb.c | 8 +-
drivers/video/ivybridge_igd.c | 4 +-
drivers/video/lg4573.c | 6 +-
drivers/video/logicore_dp_tx.c | 2 +-
drivers/video/mali_dp.c | 6 +-
drivers/video/meson/meson_dw_hdmi.c | 2 +-
drivers/video/meson/meson_plane.c | 2 +-
drivers/video/meson/meson_vpu.c | 6 +-
drivers/video/mvebu_lcd.c | 6 +-
drivers/video/mxsfb.c | 6 +-
drivers/video/nexell_display.c | 25 +++---
drivers/video/orisetech_otm8009a.c | 18 ++--
drivers/video/pwm_backlight.c | 10 +--
drivers/video/raydium-rm68200.c | 16 ++--
drivers/video/rockchip/rk3288_hdmi.c | 12 +--
drivers/video/rockchip/rk3288_mipi.c | 8 +-
drivers/video/rockchip/rk3288_vop.c | 2 +-
drivers/video/rockchip/rk3399_hdmi.c | 10 +--
drivers/video/rockchip/rk3399_mipi.c | 8 +-
drivers/video/rockchip/rk3399_vop.c | 2 +-
drivers/video/rockchip/rk_edp.c | 8 +-
drivers/video/rockchip/rk_hdmi.c | 2 +-
drivers/video/rockchip/rk_hdmi.h | 4 +-
drivers/video/rockchip/rk_lvds.c | 8 +-
drivers/video/rockchip/rk_vop.c | 6 +-
drivers/video/sandbox_dsi_host.c | 2 +-
drivers/video/sandbox_osd.c | 2 +-
drivers/video/sandbox_sdl.c | 10 +--
drivers/video/simple_panel.c | 6 +-
drivers/video/simplefb.c | 2 +-
drivers/video/stm32/stm32_dsi.c | 4 +-
drivers/video/stm32/stm32_ltdc.c | 6 +-
drivers/video/sunxi/sunxi_de2.c | 10 +--
drivers/video/sunxi/sunxi_dw_hdmi.c | 4 +-
drivers/video/sunxi/sunxi_lcd.c | 2 +-
drivers/video/tda19988.c | 2 +-
drivers/video/tegra.c | 10 +--
drivers/video/tegra124/display.c | 6 +-
drivers/video/tegra124/dp.c | 14 +--
drivers/video/tegra124/sor.c | 6 +-
drivers/video/vesa.c | 4 +-
drivers/video/vidconsole-uclass.c | 2 +-
drivers/video/video-uclass.c | 12 +--
drivers/virtio/virtio-uclass.c | 2 +-
drivers/virtio/virtio_blk.c | 6 +-
drivers/virtio/virtio_mmio.c | 6 +-
drivers/virtio/virtio_net.c | 8 +-
drivers/virtio/virtio_pci_legacy.c | 4 +-
drivers/virtio/virtio_pci_modern.c | 4 +-
drivers/virtio/virtio_rng.c | 2 +-
drivers/virtio/virtio_sandbox.c | 4 +-
drivers/w1-eeprom/ds24xxx.c | 2 +-
drivers/w1-eeprom/ds2502.c | 2 +-
drivers/w1-eeprom/w1-eeprom-uclass.c | 4 +-
drivers/w1/mxc_w1.c | 18 ++--
drivers/w1/w1-gpio.c | 14 +--
drivers/w1/w1-uclass.c | 8 +-
drivers/watchdog/armada-37xx-wdt.c | 2 +-
drivers/watchdog/ast_wdt.c | 6 +-
drivers/watchdog/at91sam9_wdt.c | 2 +-
drivers/watchdog/bcm6345_wdt.c | 2 +-
drivers/watchdog/cdns_wdt.c | 6 +-
drivers/watchdog/designware_wdt.c | 2 +-
drivers/watchdog/imx_watchdog.c | 2 +-
drivers/watchdog/mt7621_wdt.c | 2 +-
drivers/watchdog/mtk_wdt.c | 2 +-
drivers/watchdog/octeontx_wdt.c | 2 +-
drivers/watchdog/omap_wdt.c | 2 +-
drivers/watchdog/orion_wdt.c | 6 +-
drivers/watchdog/rti_wdt.c | 2 +-
drivers/watchdog/sbsa_gwdt.c | 6 +-
drivers/watchdog/sp805_wdt.c | 6 +-
drivers/watchdog/stm32mp_wdt.c | 2 +-
drivers/watchdog/xilinx_tb_wdt.c | 44 ++++-----
drivers/watchdog/xilinx_wwdt.c | 22 ++---
drivers/xen/pvblock.c | 30 +++----
include/adc.h | 4 +-
include/atmel_lcd.h | 4 +-
include/blk.h | 2 +-
include/cpu.h | 6 +-
include/dm/device-internal.h | 22 ++---
include/dm/device.h | 87 +++++++++---------
include/dm/lists.h | 2 +-
include/dm/ofnode.h | 23 +++++
include/dm/pci.h | 2 +-
include/dm/platdata.h | 10 +--
include/dm/platform_data/fsl_espi.h | 2 +-
include/dm/platform_data/lpc32xx_hsuart.h | 4 +-
include/dm/platform_data/pxa_mmc_gen.h | 2 +-
include/dm/platform_data/serial_bcm283x_mu.h | 2 +-
include/dm/platform_data/serial_coldfire.h | 4 +-
include/dm/platform_data/serial_mxc.h | 2 +-
include/dm/platform_data/serial_pl01x.h | 2 +-
include/dm/platform_data/serial_pxa.h | 4 +-
include/dm/platform_data/serial_sh.h | 2 +-
include/dm/platform_data/spi_coldfire.h | 4 +-
include/dm/platform_data/spi_davinci.h | 2 +-
include/dm/platform_data/spi_pl022.h | 2 +-
include/dm/root.h | 14 ++-
include/dm/uclass.h | 24 ++---
include/dwmmc.h | 4 +-
include/fs_loader.h | 2 +-
include/i2c.h | 12 +--
include/linux/clk-provider.h | 2 +-
include/net.h | 2 +-
include/ns16550.h | 10 +--
include/os.h | 17 ++++
include/p2sb.h | 4 +-
include/pci.h | 6 +-
include/power/acpi_pmc.h | 2 +-
include/power/regulator.h | 26 +++---
include/regmap.h | 6 +-
include/remoteproc.h | 2 +-
include/scsi.h | 4 +-
include/sdhci.h | 4 +-
include/spi.h | 21 +++--
include/syscon.h | 2 +-
include/usb.h | 18 ++--
include/vbe.h | 4 +-
include/video.h | 10 +--
lib/acpi/acpi_device.c | 6 +-
lib/efi_driver/efi_block_device.c | 22 ++---
lib/efi_loader/efi_device_path.c | 14 +--
lib/efi_loader/efi_disk.c | 2 +-
lib/efi_selftest/efi_selftest_miniapp_exception.c | 2 +
lib/smbios.c | 2 +-
net/eth-uclass.c | 14 +--
net/mdio-mux-uclass.c | 8 +-
net/mdio-uclass.c | 2 +-
scripts/checkpatch.pl | 38 ++++++++
test/dm/acpi.c | 14 +--
test/dm/adc.c | 2 +-
test/dm/blk.c | 2 +-
test/dm/bus.c | 69 +++++++-------
test/dm/core.c | 52 +++++------
test/dm/devres.c | 4 +-
test/dm/gpio.c | 2 +-
test/dm/mux-emul.c | 2 +-
test/dm/of_platdata.c | 30 +++----
test/dm/ofnode.c | 12 +++
test/dm/ofread.c | 2 +-
test/dm/regmap.c | 2 +-
test/dm/regulator.c | 18 ++--
test/dm/test-driver.c | 6 +-
test/dm/test-fdt.c | 56 ++++++------
test/dm/test-main.c | 8 +-
test/dm/test-uclass.c | 11 ++-
test/dm/video.c | 8 +-
test/py/tests/test_sandbox_exit.py | 24 +++++
tools/binman/elf.py | 6 +-
tools/binman/etype/fmap.py | 2 +-
tools/binman/fdt_test.py | 14 +--
tools/binman/fmap_util.py | 3 +-
tools/dtoc/dtb_platdata.py | 185
++++++++++++++++++++------------------
tools/dtoc/fdt.py | 58 +++++++-----
tools/dtoc/test_dtoc.py | 142
++++++++++++++---------------
tools/dtoc/test_fdt.py | 34 +++----
tools/patman/func_test.py | 13 ++-
tools/patman/gitutil.py | 3 +-
tools/patman/series.py | 4 +-
tools/patman/settings.py | 5 +-
tools/patman/test_checkpatch.py | 28 ++++++
tools/patman/tools.py | 85 +-----------------
1201 files changed, 5482 insertions(+), 5374 deletions(-)
create mode 100644 cmd/sandbox/Makefile
create mode 100644 cmd/sandbox/exception.c
2
4

17 Dec '20
Add the board specific code for reading built-in ethernet MAC address
from efuse.
Signed-off-by: Marek Szyprowski <m.szyprowski(a)samsung.com>
---
board/amlogic/vim3/vim3.c | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/board/amlogic/vim3/vim3.c b/board/amlogic/vim3/vim3.c
index 09ef39ff30..a36df61583 100644
--- a/board/amlogic/vim3/vim3.c
+++ b/board/amlogic/vim3/vim3.c
@@ -11,6 +11,7 @@
#include <net.h>
#include <asm/io.h>
#include <asm/arch/eth.h>
+#include <asm/arch/sm.h>
#include <i2c.h>
#include "khadas-mcu.h"
@@ -129,9 +130,27 @@ int meson_ft_board_setup(void *blob, struct bd_info *bd)
return 0;
}
+#define EFUSE_MAC_OFFSET 0
+#define EFUSE_MAC_SIZE 6
+
int misc_init_r(void)
{
+ uint8_t mac_addr[EFUSE_MAC_SIZE];
+ ssize_t len;
+
meson_eth_init(PHY_INTERFACE_MODE_RGMII, 0);
+ if (!eth_env_get_enetaddr("ethaddr", mac_addr)) {
+ len = meson_sm_read_efuse(EFUSE_MAC_OFFSET,
+ mac_addr, EFUSE_MAC_SIZE);
+ if (len != EFUSE_MAC_SIZE)
+ return 0;
+
+ if (is_valid_ethaddr(mac_addr))
+ eth_env_set_enetaddr("ethaddr", mac_addr);
+ else
+ meson_generate_serial_ethaddr();
+ }
+
return 0;
}
--
2.17.1
3
2
Hi,
I am playing with an orange pi zero plus + latest armbian buster available
image.
When booting, i see the following error message from u-boot:
*** Reading file would overwrite reserved memory **Failed to load
'/boot/boot.bmp'*
*There is no valid bmp file at the given address*
The file itself (*/boot/boot.bmp*) exists.
I took a look at the u-boot code and saw the bitmap must be loaded at a
given address:
*loadaddr* if defined or *CONFIG_SYS_LOAD_ADDR*.
In the u-boot shell, i checked if *loadaddr* is defined:
*=> print loadaddr*
*## Error: "loadaddr" not defined*
According to this feedback, i checked in u-boot code the value of
*CONFIG_SYS_LOAD_ADDR*. It seems to be defined in
*./include/configs/sunxi-common.h*. There are two possible values here :
0x22000000 or 0x42000000 so i tried both:
*=> load mmc 0 0x22000000 /boot/boot.bmp** Reading file would overwrite
reserved memory **Failed to load '/boot/boot.bmp'*
*=> load mmc 0 0x42000000 /boot/boot.bmp230454 bytes read in 20 ms (11
MiB/s)*
Is there any chance the address used for loading is wrong or am i
misunderstanding something?
Regards,
Orel
1
0

[PATCH] drivers/net: Add support for 10G Base-R IP core version to xilinx_axi_enet driver
by Alessandro Temil 17 Dec '20
by Alessandro Temil 17 Dec '20
17 Dec '20
diff --git a/drivers/net/xilinx_axi_emac.c b/drivers/net/xilinx_axi_emac.c
index 8af3711204..3b739bd407 100644
--- a/drivers/net/xilinx_axi_emac.c
+++ b/drivers/net/xilinx_axi_emac.c
@@ -1,5 +1,6 @@
// SPDX-License-Identifier: GPL-2.0+
/*
+ * Copyright (C) 2020 Waymo LLC
* Copyright (C) 2011 Michal Simek <monstr(a)monstr.eu>
* Copyright (C) 2011 PetaLogix
* Copyright (C) 2010 Xilinx, Inc. All rights reserved.
@@ -72,10 +73,25 @@ DECLARE_GLOBAL_DATA_PTR;
#define XAXIDMA_BD_CTRL_TXSOF_MASK 0x08000000 /* First tx packet */
#define XAXIDMA_BD_CTRL_TXEOF_MASK 0x04000000 /* Last tx packet */
+/* Bitmasks for the XXV Ethernet MAC */
+#define XXV_TC_TX_MASK 0x00000001
+#define XXV_TC_FCS_MASK 0x00000002
+#define XXV_RCW1_RX_MASK 0x00000001
+#define XXV_RCW1_FCS_MASK 0x00000002
+
#define DMAALIGN 128
+#define XXV_MIN_PKT_SIZE 60
+
static u8 rxframe[PKTSIZE_ALIGN] __attribute((aligned(DMAALIGN)));
+static u8 txminframe[XXV_MIN_PKT_SIZE] __attribute((aligned(DMAALIGN)));
+
+enum emac_variant {
+ EMAC_1G = 0,
+ EMAC_10G_25G,
+};
+
/* Reflect dma offsets */
struct axidma_reg {
u32 control; /* DMACR */
@@ -97,6 +113,7 @@ struct axidma_priv {
struct mii_dev *bus;
u8 eth_hasnobuf;
int phy_of_handle;
+ enum emac_variant mactype;
};
/* BD descriptors */
@@ -143,6 +160,14 @@ struct axi_regs {
u32 uaw1; /* 0x704: Unicast address word 1 */
};
+struct xxv_axi_regs {
+ u32 gt_reset; /* 0x0 */
+ u32 reserved[2];
+ u32 tc; /* 0xC: Tx Configuration */
+ u32 reserved2;
+ u32 rcw1; /* 0x14: Rx Configuration Word 1 */
+};
+
/* Use MII register 1 (MII status register) to detect PHY */
#define PHY_DETECT_REG 1
@@ -191,6 +216,8 @@ static inline void axienet_dma_write(struct
axidma_bd *bd, u32 *desc)
static u32 phyread(struct axidma_priv *priv, u32 phyaddress, u32 registernum,
u16 *val)
{
+ if (priv->mactype == EMAC_10G_25G) return 0;
+
struct axi_regs *regs = priv->iobase;
u32 mdioctrlreg = 0;
@@ -217,6 +244,8 @@ static u32 phyread(struct axidma_priv *priv, u32
phyaddress, u32 registernum,
static u32 phywrite(struct axidma_priv *priv, u32 phyaddress, u32 registernum,
u32 data)
{
+ if (priv->mactype == EMAC_10G_25G) return 0;
+
struct axi_regs *regs = priv->iobase;
u32 mdioctrlreg = 0;
@@ -374,6 +403,29 @@ static void axiemac_stop(struct udevice *dev)
debug("axiemac: Halted\n");
}
+static int xxv_axi_ethernet_init(struct axidma_priv *priv)
+{
+ struct xxv_axi_regs *regs = priv->iobase;
+
+ int val = readl(®s->rcw1) & ~XXV_RCW1_FCS_MASK;
+ val |= XXV_RCW1_FCS_MASK;
+ writel(val, ®s->rcw1);
+
+ val = readl(®s->tc) & ~XXV_TC_FCS_MASK;
+ val |= XXV_TC_FCS_MASK;
+ writel(val, ®s->tc);
+
+ val = readl(®s->tc) & ~XXV_TC_TX_MASK;
+ val |= XXV_TC_TX_MASK;
+ writel(val, ®s->tc);
+
+ val = readl(®s->rcw1) & ~XXV_RCW1_RX_MASK;
+ val |= XXV_RCW1_RX_MASK;
+ writel(val, ®s->rcw1);
+
+ return 0;
+}
+
static int axi_ethernet_init(struct axidma_priv *priv)
{
struct axi_regs *regs = priv->iobase;
@@ -427,6 +479,9 @@ static int axiemac_write_hwaddr(struct udevice *dev)
{
struct eth_pdata *pdata = dev_get_platdata(dev);
struct axidma_priv *priv = dev_get_priv(dev);
+
+ if (priv->mactype == EMAC_10G_25G) return 0;
+
struct axi_regs *regs = priv->iobase;
/* Set the MAC address */
@@ -466,7 +521,6 @@ static void axi_dma_init(struct axidma_priv *priv)
static int axiemac_start(struct udevice *dev)
{
struct axidma_priv *priv = dev_get_priv(dev);
- struct axi_regs *regs = priv->iobase;
u32 temp;
debug("axiemac: Init started\n");
@@ -479,8 +533,13 @@ static int axiemac_start(struct udevice *dev)
axi_dma_init(priv);
/* Initialize AxiEthernet hardware. */
- if (axi_ethernet_init(priv))
- return -1;
+ if (priv->mactype == EMAC_1G) {
+ if (axi_ethernet_init(priv))
+ return -1;
+ } else {
+ if (xxv_axi_ethernet_init(priv))
+ return -1;
+ }
/* Disable all RX interrupts before RxBD space setup */
temp = readl(&priv->dmarx->control);
@@ -514,15 +573,29 @@ static int axiemac_start(struct udevice *dev)
/* Rx BD is ready - start */
axienet_dma_write(&rx_bd, &priv->dmarx->tail);
- /* Enable TX */
- writel(XAE_TC_TX_MASK, ®s->tc);
- /* Enable RX */
- writel(XAE_RCW1_RX_MASK, ®s->rcw1);
-
- /* PHY setup */
- if (!setup_phy(dev)) {
- axiemac_stop(dev);
- return -1;
+ if (priv->mactype == EMAC_1G) {
+ struct axi_regs *regs = priv->iobase;
+ /* Enable TX */
+ writel(XAE_TC_TX_MASK, ®s->tc);
+ /* Enable RX */
+ writel(XAE_RCW1_RX_MASK, ®s->rcw1);
+
+ /* PHY setup */
+ if (!setup_phy(dev)) {
+ axiemac_stop(dev);
+ return -1;
+ }
+ } else {
+ struct xxv_axi_regs *regs = priv->iobase;
+ /* Enable TX */
+ temp = readl(®s->tc) & ~XXV_TC_TX_MASK;
+ temp |= XXV_TC_TX_MASK;
+ writel(temp, ®s->tc);
+
+ /* Enable RX */
+ temp = readl(®s->rcw1) & ~XXV_RCW1_RX_MASK;
+ temp |= XXV_RCW1_RX_MASK;
+ writel(temp, ®s->rcw1);
}
debug("axiemac: Init complete\n");
@@ -537,6 +610,15 @@ static int axiemac_send(struct udevice *dev, void
*ptr, int len)
if (len > PKTSIZE_ALIGN)
len = PKTSIZE_ALIGN;
+ /* If size is less than min packet size, pad to min size */
+ if (priv->mactype == EMAC_10G_25G
+ && len < XXV_MIN_PKT_SIZE) {
+ memset(txminframe, 0, XXV_MIN_PKT_SIZE);
+ memcpy(txminframe, ptr, len);
+ len = XXV_MIN_PKT_SIZE;
+ ptr = txminframe;
+ }
+
/* Flush packet to main memory to be trasfered by DMA */
flush_cache((phys_addr_t)ptr, len);
@@ -621,7 +703,7 @@ static int axiemac_recv(struct udevice *dev, int
flags, uchar **packetp)
temp = readl(&priv->dmarx->control);
temp &= ~XAXIDMA_IRQ_ALL_MASK;
writel(temp, &priv->dmarx->control);
- if (!priv->eth_hasnobuf)
+ if ((!priv->eth_hasnobuf) && priv->mactype == EMAC_1G)
length = rx_bd.app4 & 0xFFFF; /* max length mask */
else
length = rx_bd.status & XAXIDMA_BD_STS_ACTUAL_LEN_MASK;
@@ -701,7 +783,8 @@ static int axi_emac_probe(struct udevice *dev)
if (ret)
return ret;
- axiemac_phy_init(dev);
+ if (priv->mactype == EMAC_1G)
+ axiemac_phy_init(dev);
return 0;
}
@@ -736,6 +819,7 @@ static int axi_emac_ofdata_to_platdata(struct udevice *dev)
pdata->iobase = dev_read_addr(dev);
priv->iobase = (struct axi_regs *)pdata->iobase;
+ priv->mactype = dev_get_driver_data(dev);
offset = fdtdec_lookup_phandle(gd->fdt_blob, node,
"axistream-connected");
@@ -760,7 +844,11 @@ static int axi_emac_ofdata_to_platdata(struct udevice *dev)
priv->phy_of_handle = offset;
}
- phy_mode = fdt_getprop(gd->fdt_blob, node, "phy-mode", NULL);
+ if (priv->mactype == EMAC_1G)
+ phy_mode = fdt_getprop(gd->fdt_blob, node, "phy-mode", NULL);
+ else
+ phy_mode = "";
+
if (phy_mode)
pdata->phy_interface = phy_get_interface_by_name(phy_mode);
if (pdata->phy_interface == -1) {
@@ -779,7 +867,8 @@ static int axi_emac_ofdata_to_platdata(struct udevice *dev)
}
static const struct udevice_id axi_emac_ids[] = {
- { .compatible = "xlnx,axi-ethernet-1.00.a" },
+ { .compatible = "xlnx,axi-ethernet-1.00.a", .data = (uintptr_t)EMAC_1G },
+ { .compatible = "xlnx,xxv-ethernet-1.0", .data = (uintptr_t)EMAC_10G_25G },
{ }
};
3
6

17 Dec '20
From: Alice Guo <alice.guo(a)nxp.com>
Supported boot device types in iMX8MQ: MMC, DHCP.
CONFIG_CMD_PART is added for command part and CONFIG_CMD_FS_GENERIC is
for command fstype.
scriptaddr is the location in RAM where boot.scr.uimg/boot.scr will be
loaded to prior to execution.
kernel_addr_r is the location in RAM where the kernel will be loaded to.
Delete unnecessary environment variables because "run distro_bootcmd" is
set to be the default boot mode.
Signed-off-by: Alice Guo <alice.guo(a)nxp.com>
---
configs/imx8mq_evk_defconfig | 2 +
include/configs/imx8mq_evk.h | 78 ++++++------------------------------
2 files changed, 14 insertions(+), 66 deletions(-)
diff --git a/configs/imx8mq_evk_defconfig b/configs/imx8mq_evk_defconfig
index de91a76d41..901841ea36 100644
--- a/configs/imx8mq_evk_defconfig
+++ b/configs/imx8mq_evk_defconfig
@@ -36,6 +36,8 @@ CONFIG_CMD_EXT2=y
CONFIG_CMD_EXT4=y
CONFIG_CMD_EXT4_WRITE=y
CONFIG_CMD_FAT=y
+CONFIG_CMD_PART=y
+CONFIG_CMD_FS_GENERIC=y
CONFIG_OF_CONTROL=y
CONFIG_ENV_OVERWRITE=y
CONFIG_ENV_IS_IN_MMC=y
diff --git a/include/configs/imx8mq_evk.h b/include/configs/imx8mq_evk.h
index 3f9a3bc100..1f740f0745 100644
--- a/include/configs/imx8mq_evk.h
+++ b/include/configs/imx8mq_evk.h
@@ -74,80 +74,26 @@
#define IMX_FEC_BASE 0x30BE0000
#endif
-#define CONFIG_MFG_ENV_SETTINGS \
- "mfgtool_args=setenv bootargs console=${console},${baudrate} " \
- "rdinit=/linuxrc " \
- "g_mass_storage.stall=0 g_mass_storage.removable=1 " \
- "g_mass_storage.idVendor=0x066F g_mass_storage.idProduct=0x37FF "\
- "g_mass_storage.iSerialNumber=\"\" "\
- "clk_ignore_unused "\
- "\0" \
- "initrd_addr=0x43800000\0" \
- "bootcmd_mfg=run mfgtool_args;booti ${loadaddr} ${initrd_addr} ${fdt_addr};\0" \
+#ifndef CONFIG_SPL_BUILD
+#define BOOT_TARGET_DEVICES(func) \
+ func(MMC, mmc, 0) \
+ func(MMC, mmc, 1) \
+ func(DHCP, dhcp, na)
+
+#include <config_distro_bootcmd.h>
+#endif
+
/* Initial environment variables */
#define CONFIG_EXTRA_ENV_SETTINGS \
- CONFIG_MFG_ENV_SETTINGS \
- "script=boot.scr\0" \
+ BOOTENV \
+ "scriptaddr=0x43500000\0" \
+ "kernel_addr_r=0x40880000\0" \
"image=Image\0" \
"console=ttymxc0,115200\0" \
"fdt_addr=0x43000000\0" \
- "boot_fdt=try\0" \
"fdt_file=imx8mq-evk.dtb\0" \
- "initrd_addr=0x43800000\0" \
- "bootm_size=0x10000000\0" \
- "mmcdev="__stringify(CONFIG_SYS_MMC_ENV_DEV)"\0" \
"mmcpart=" __stringify(CONFIG_SYS_MMC_IMG_LOAD_PART) "\0" \
"mmcroot=" CONFIG_MMCROOT " rootwait rw\0" \
- "mmcautodetect=yes\0" \
- "mmcargs=setenv bootargs console=${console} root=${mmcroot}\0 " \
- "loadbootscript=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \
- "bootscript=echo Running bootscript from mmc ...; " \
- "source\0" \
- "loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}\0" \
- "loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}\0" \
- "mmcboot=echo Booting from mmc ...; " \
- "run mmcargs; " \
- "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
- "if run loadfdt; then " \
- "booti ${loadaddr} - ${fdt_addr}; " \
- "else " \
- "echo WARN: Cannot load the DT; " \
- "fi; " \
- "else " \
- "echo wait for boot; " \
- "fi;\0" \
- "netargs=setenv bootargs console=${console} " \
- "root=/dev/nfs " \
- "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \
- "netboot=echo Booting from net ...; " \
- "run netargs; " \
- "if test ${ip_dyn} = yes; then " \
- "setenv get_cmd dhcp; " \
- "else " \
- "setenv get_cmd tftp; " \
- "fi; " \
- "${get_cmd} ${loadaddr} ${image}; " \
- "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
- "if ${get_cmd} ${fdt_addr} ${fdt_file}; then " \
- "booti ${loadaddr} - ${fdt_addr}; " \
- "else " \
- "echo WARN: Cannot load the DT; " \
- "fi; " \
- "else " \
- "booti; " \
- "fi;\0"
-
-#define CONFIG_BOOTCOMMAND \
- "mmc dev ${mmcdev}; if mmc rescan; then " \
- "if run loadbootscript; then " \
- "run bootscript; " \
- "else " \
- "if run loadimage; then " \
- "run mmcboot; " \
- "else run netboot; " \
- "fi; " \
- "fi; " \
- "else booti ${loadaddr} - ${fdt_addr}; fi"
/* Link Definitions */
#define CONFIG_LOADADDR 0x40480000
--
2.17.1
1
1