summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-05-17usb: Move SPL_USB_STORAGE Kconfig symbol to drivers/usb/Marek Vasut
To avoid piling up all the various Kconfig symbols in one place, i.e. common/spl/Kconfig, move the USB Kconfig symbols into drivers/usb/ . This commit moves SPL_USB_STORAGE and matching SYS_USB_FAT_BOOT_PARTITION . Signed-off-by: Marek Vasut <marex@denx.de> Reviewed-by: Tom Rini <trini@konsulko.com>
2023-05-17usb: Move SPL_USB_HOST Kconfig symbol to drivers/usb/Marek Vasut
To avoid piling up all the various Kconfig symbols in one place, i.e. common/spl/Kconfig, move the USB Kconfig symbols into drivers/usb/ . This commit moves SPL_USB_HOST and updates help text of both USB_HOST and SPL_USB_HOST . Signed-off-by: Marek Vasut <marex@denx.de> Reviewed-by: Tom Rini <trini@konsulko.com>
2023-05-15Merge branch '2023-05-15-build-system-updates' into nextTom Rini
- Bring in a few kbuild changes from upstream Linux to fix running the checker (make C=1/C=2), and clean up some of the logic related to how choose what device trees to build.
2023-05-15Fix sparse checks processingChristophe Leroy
A lot of errors are encountered when building with sparse checking activated (make C=1 or make C=2). Many of them are fixed in Linux. Resynchronise Makefile and include/linux/build_bug.h with Linux kernel sources by porting the following Linux commits into u-boot: - 6c49f359ca14 ("kbuild: disable sparse warnings about unknown attributes") - 80591e61a0f7 ("kbuild: tell sparse about the $ARCH") - 8788994376d8 ("linux/build_bug.h: change type to int") - 527edbc18a70 ("build_bug.h: remove most of dummy BUILD_BUG_ON stubs for Sparse") - c60d3b79423a ("build_bug.h: remove negative-array fallback for BUILD_BUG_ON()") - 14e83077d55f ("include: drop pointless __compiler_offsetof indirection") Also revert commit aa9e891c63 ("include/linux/stddef.h: avoid 'warning: preprocessor token offsetof redefined'") because the error it creates is worse than the warning it is trying to fix. Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
2023-05-15kbuild: Allow DTB overlays to built from .dtso named source filesRasmus Villemoes
[Linux commit 363547d2191c] Currently DTB Overlays (.dtbo) are build from source files with the same extension (.dts) as the base DTs (.dtb). This may become confusing and even lead to wrong results. For example, a composite DTB (created from a base DTB and a set of overlays) might have the same name as one of the overlays that create it. Different files should be generated from differently named sources. .dtb <-> .dts .dtbo <-> .dtso We do not remove the ability to compile DTBO files from .dts files here, only add a new rule allowing the .dtso file name. The current .dts named overlays can be renamed with time. After all have been renamed we can remove the other rule. [Import notes: Adapt to U-Boot by using the cmd_dtco function instead of cmd_dtc just like the current .dts -> .dtbo rule.] Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-05-15kbuild: add dtc as dependency on .dtb filesRasmus Villemoes
[Linux commit b8fc5b2157b1] If dtc is rebuilt, we should rebuild .dtb files with the new dtc. [Import notes: Back then there was no .dtbo rule in Linux's Makefile.lib, but the current .dtbo rules in Linux also have the $(DTC) dependency, so also add it to our .dtbo rule.] Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-05-15scripts/Makefile.dts: tweak logic for deciding which dtbs to buildRasmus Villemoes
The idea in 3609e1dc5f4d (dts: automatically build necessary .dtb files) was fine, but the implementation was suboptimal due to some misunderstandings on my part (and possibly defects in some defconfig files): - Sometimes DEFAULT_DEVICE_TREE is not included in OF_LIST or SPL_OF_LIST - SPL_OF_LIST is not always a subset of OF_LIST - While SPL_OF_LIST governs the list of dtbs relevant to SPL (i.e., may be built into an SPL-with-bunch-of-dtbs-to-choose-between-at-runtime), those dtbs are not actually _built_ during the SPL build phase, i.e. when $(SPL_) would expand to SPL_. fdtgrep runs on the artifacts produced during the ordinary U-Boot build. Tweak the logic so that we simply add the union of all dtbs mentioned in either DEFAULT_DEVICE_TREE, OF_LIST and SPL_OF_LIST to dtb-y. That should, for real, ensure that we always build all the dtbs that is relevant to the current board, and should in turn enable us to massively simplify arch/*/dts/Makefile. Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk> Tested-by: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-05-15scripts: dtc-version: support git version strings tooMartin Hundebøll
Building dtc from git causes the version number to start with a 'v' (e.g. v1.7.0). printf then fails to parse 'v1' as a decimal value, and prints '000700' instead of '010700'. Subsequently, the build fails, because '000700' is less than the required '010400' version. Signed-off-by: Martin Hundebøll <martin@geanix.com>
2023-05-11Merge branch '2023-05-11-CONFIG_IS_ENABLED-vs-IS_ENABLED-cleanups' into nextTom Rini
- Bring in some of the clean-ups to use IS_ENABLED rather than CONFIG_IS_ENABLED to make the code less error-prone.
2023-05-10power: pmic: add dm style definitions if not CONFIG_IS_ENABLED(POWER_LEGACY)Troy Kisky
This avoids an error in converting to CONFIG_IS_ENABLED(DM_PMIC). Many boards SPL code needs these definitions to compile, even if the functions are not linked. Signed-off-by: Troy Kisky <troykiskyboundary@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-05-10arm: mach-imx: use CONFIG_$(SPL_)SATA instead of CONFIG_SATATroy Kisky
This avoid an error with enable_sata_clock when defined(CONFIG_SATA) is changed to CONFIG_IS_ENABLED(SATA). Signed-off-by: Troy Kisky <troykiskyboundary@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-05-10wandboard: use CONFIG_IS_ENABLED(SATA) instead of ifdef CONFIG_SATATroy Kisky
Prepare for linking setup_sata only when CONFIG_SATA/CONFIG_SPL_SATA is defined. Signed-off-by: Troy Kisky <troykiskyboundary@gmail.com>
2023-05-10solidrun: mx6cuboxi: use CONFIG_IS_ENABLED(SATA) instead of ifdef CONFIG_SATATroy Kisky
Prepare for linking setup_sata only when CONFIG_SATA/CONFIG_SPL_SATA is defined. Signed-off-by: Troy Kisky <troykiskyboundary@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-05-10freescale: common: pfuze: define pfuze_mode_init only if defined(CONFIG_DM_PMIC)Troy Kisky
pfuze_mode_init calls pmic_reg_read which is only available from obj-$(CONFIG_$(SPL_TPL_)DM_PMIC) += pmic-uclass.o Prepare for conversion of defined(CONFIG_DM_PMIC) to CONFIG_IS_ENABLED(DM_PMIC). Signed-off-by: Troy Kisky <troykiskyboundary@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-05-10m53menlo: define ft_board_setup only if CONFIG_IS_ENABLED(OF_LIBFDT)Troy Kisky
The function ft_board_setup calls do_fixup_by_path_string which is only available on CONFIG_IS_ENABLED(OF_LIBFDT). This prepares for the conversion. ft_board_setup is only called from image-fdt which is linked by obj-$(CONFIG_$(SPL_TPL_)OF_LIBFDT) += image-fdt.o Signed-off-by: Troy Kisky <troykiskyboundary@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-05-10ofnode: fdt_support definitions needed if OF_CONTROL is enabledTroy Kisky
With the use of CONFIG_IS_ENABLED in code, instead of at the preprocessor level, these defines are still needed if OF_CONTROL is enabled. Signed-off-by: Troy Kisky <troykiskyboundary@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-05-10config_distro_bootcmd: remove booting environment variables from SPL environmentTroy Kisky
SPL environments don't need commands that they can never use. Avoid errors with CONFIG_IS_ENABLED conversions by skipping them now. Signed-off-by: Troy Kisky <troykiskyboundary@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-05-10x86: cpu: qemu: qemu: remove SPL use with CONFIG_IS_ENABLEDTroy Kisky
CONFIG_IS_ENABLED(SPL_X86_32BIT_INIT) would check for CONFIG_SPL_SPL_X86_32BIT_INIT for SPL builds Signed-off-by: Troy Kisky <troykiskyboundary@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-05-09cmd: nvedit: remove error check, handle with KconfigTroy Kisky
Avoid error messages when SPL,TPL,VPL build don't have the environment options of the main build. This is needed when defined(CONFIG_ENV_IS_IN_xxx) is changed to CONFIG_IS_ENABLED(ENV_IS_IN_xxx). Signed-off-by: Troy Kisky <troykiskyboundary@gmail.com>
2023-05-08Merge branch 'master' into nextTom Rini
2023-05-08Prepare v2023.07-rc2v2023.07-rc2Tom Rini
Signed-off-by: Tom Rini <trini@konsulko.com>
2023-05-08configs: Resync with savedefconfigTom Rini
Rsync all defconfig files using moveconfig.py Signed-off-by: Tom Rini <trini@konsulko.com>
2023-05-08board: ti: am64x: Add support for AM64B SKJudith Mendez
The AM64x SR2.0 SK board uses "AM64B-SKEVM" as the EEPROM identifier. This board is similar to the AM64x SKEVM except that it has a new PMIC that will be enabled in the future and consequently could use a different device tree file in the future. For now we treat the board same as an AM64x SK. Signed-off-by: Judith Mendez <jm@ti.com> Acked-by: Andrew Davis <afd@ti.com> Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
2023-05-08common: spl: spl: Remove video driver before u-boot properNikhil M Jain
Add method to remove video driver before loading u-boot proper. When bootstage changes from SPL to u-boot proper, noo method is called to remove video driver, and at u-boot proper if video driver is not enabled, the video driver starts displaying garbage on the screen, because there is no reserved space for video and the frame buffer gets u-boot proper data written. Signed-off-by: Nikhil M Jain <n-jain1@ti.com>
2023-05-08board: ti: am62x: evm: Add necessary functions to call splash screenNikhil M Jain
To enable splash screen on AM62x at a53 SPL setup DRAM, set page table, enable cache to allow copying of bmp image to frame buffer and display it using splash_display. Signed-off-by: Nikhil M Jain <n-jain1@ti.com>
2023-05-08board: ti: am62x: am62x: Change splashimage and splashsourceNikhil M Jain
Change splashimage which is bmp image loadaddr to 0x80200000 since stack is situated at 0x80477660 as splash framework requires bmp image to be present above stack. Change splashsource to sf to support loading bmp image from ospi flash memory. Signed-off-by: Nikhil M Jain <n-jain1@ti.com>
2023-05-08configs: am62x_evm_a53_defconfig: Changes in memory to support SPL splash screenNikhil M Jain
To enable splash at A53 SPL, need to do memory map changes which involves locate stack above malloc and have enough space to load bmp image above stack. To load a 1920X1200 image a minimum of 8.8MB space is needed, to support it move malloc down to 0x80b80000 from 0x80480000 and bss to 0x80c80000 to have 1MB buffer between malloc and BSS. Observed SPL size 195KB, CONFIG_SPL_SIZE_LIMIT set to 256KB. Observed stack size 1904Bytes, CONFIG_SPL_SIZE_LIMIT_PROVIDE_STACK set to 2KB. CONFIG_SPL_SYS_REPORT_STACK_F_USAGE config sets stack above the malloc and reports for stack overflow. Memory map at A53 SPL before splash screen 0x80000000+---------------------+ | Empty 512 KB | | | 0x80080000+---------------------+ | Text Base | | 352 KB | | | 0x800D8000+---------------------+ | | | | | Empty 3.6MB | | | | | 0x80477660+---------------------+ | Stack 2 KB | 0x80477e60+---------------------+ | GD 416 Bytes | 0x80478000+---------------------+ | Malloc 352 KB | | | 0x80480000+---------------------+ | | | | | | | | | Empty 5.5 MB | | | | | | | | | 0x80a00000+---------------------+ | | | BSS 512 KB | | | 0x80a80000+---------------------+ | | | | | | | | | Empty 5.5 MB | | | | | | | | | 0x81000000+---------------------+FIT Image load address New memory map with splash screen at SPL 0x80000000+---------------------+ | Empty 512 KB | | | 0x80080000+---------------------+ | Text Base | | 352 KB | | | 0x800D8000+---------------------+ | Empty 1.1MB | | | 0x80200000+---------------------+ | | | | | | | BMP Image Load | | | | 9.4 MB | | | | | | | | | | | | | 0x80b77660+---------------------+ | Stack 2KB | 0x80b77e60+---------------------+ | GD 416 Bytes | 0x80b78000+---------------------+ | | | Malloc 352KB | 0x80b80000+---------------------+ | | | Empty 1 MB | | | 0x80c80000+---------------------+ | BSS 512 KB | | | 0x80d00000+---------------------+ | | | | | Empty 3.0 MB | | | | | | | 0x81000000+---------------------+FIT Image load addressi Signed-off-by: Nikhil M Jain <n-jain1@ti.com>
2023-05-08btrfs: fix offset when reading compressed extentsDominique Martinet
btrfs_read_extent_reg correctly computed the extent offset in the BTRFS_COMPRESS_NONE case, but did not account for the 'offset - key.offset' part correctly in the compressed case, making the function read incorrect data. In the case I examined, the last 4k of a file was corrupted and contained data from a few blocks prior, e.g. reading a 10k file with a single extent: btrfs_file_read() -> btrfs_read_extent_reg (aligned part loop, until 8k) -> read_and_truncate_page -> btrfs_read_extent_reg (re-reads the last extent from 8k to the end, incorrectly reading the first 2k of data) This can be reproduced as follow: $ truncate -s 200M btr $ mount btr -o compress /mnt $ pat() { dd if=/dev/zero bs=1M count=$1 iflag=count_bytes status=none | tr '\0' "\\$2"; } $ { pat 4K 1; pat 4K 2; pat 2K 3; } > /mnt/file $ sync $ filefrag -v /mnt/file File size of /mnt/file is 10240 (3 blocks of 4096 bytes) ext: logical_offset: physical_offset: length: expected: flags: 0: 0.. 2: 3328.. 3330: 3: last,encoded,eof $ umount /mnt Then in u-boot: => load scsi 0 2000000 file 10240 bytes read in 3 ms (3.3 MiB/s) => md 2001ff0 02001ff0: 02020202 02020202 02020202 02020202 ................ 02002000: 01010101 01010101 01010101 01010101 ................ 02002010: 01010101 01010101 01010101 01010101 ................ (02002000 onwards should contain '03' pattern but went back to 01, start of the extent) After patch, data is read properly: => md 2001ff0 02001ff0: 02020202 02020202 02020202 02020202 ................ 02002000: 03030303 03030303 03030303 03030303 ................ 02002010: 03030303 03030303 03030303 03030303 ................ Note that the code previously (before commit e3427184f38a ("fs: btrfs: Implement btrfs_file_read()")) did not split that read in two, so this is a regression even if the previous code might not have been handling offsets correctly either (something that booted now fails to boot) Fixes: a26a6bedafcf ("fs: btrfs: Introduce btrfs_read_extent_inline() and btrfs_read_extent_reg()") Signed-off-by: Dominique Martinet <dominique.martinet@atmark-techno.com> Reviewed-by: Qu Wenruo <wqu@suse.com>
2023-05-08Merge https://source.denx.de/u-boot/custodians/u-boot-marvellTom Rini
- cmd: tlv_eeprom: Misc cleanups & improvements (Josua)
2023-05-08cmd: tlv_eeprom: enable 'dev' subcommand before 'read'Josua Mayer
Move the handler for "tlv_eeprom dev X" command to the beginning of do_tlv_eeprom, to allow using it before issuing a "read" command for currently selected eeprom. Also remove the check if eeprom exists, since that can only work after the first execution of read_eeprom triggered device lookup. Instead accept values up to the defined array size (MAX_TLV_DEVICES). Signed-off-by: Josua Mayer <josua@solid-run.com> Reviewed-by: Stefan Roese <sr@denx.de> Cc: Stefan Roese <sr@denx.de> Cc: Baruch Siach <baruch@tkos.co.il> Cc: Heinrich Schuchardt <xypron.glpk@gmx.de>
2023-05-08cmd: tlv_eeprom: handle -ENODEV error from read_eeprom functionJosua Mayer
When tlv eeprom does not exist, return error code instead of quietly making up tlv structure in memory. Signed-off-by: Josua Mayer <josua@solid-run.com> Reviewed-by: Stefan Roese <sr@denx.de> Cc: Stefan Roese <sr@denx.de> Cc: Baruch Siach <baruch@tkos.co.il> Cc: Heinrich Schuchardt <xypron.glpk@gmx.de>
2023-05-08cmd: tlv_eeprom: remove use of global variable has_been_readJosua Mayer
has_been_read is only used as an optimization for do_tlv_eeprom. Explicitly use and set inside this function, thus making read_eeprom stateless. Signed-off-by: Josua Mayer <josua@solid-run.com> Reviewed-by: Stefan Roese <sr@denx.de> Cc: Stefan Roese <sr@denx.de> Cc: Baruch Siach <baruch@tkos.co.il> Cc: Heinrich Schuchardt <xypron.glpk@gmx.de>
2023-05-08cmd: tlv_eeprom: remove use of global variable current_devJosua Mayer
Make tlv_eeprom command device selection an explicit parameter of all function calls. Signed-off-by: Josua Mayer <josua@solid-run.com> Cc: Stefan Roese <sr@denx.de> Cc: Baruch Siach <baruch@tkos.co.il> Cc: Heinrich Schuchardt <xypron.glpk@gmx.de>
2023-05-07Merge branch 'for-2023.07-2' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-mpc8xx This pull request adds misc fixes for cssi boards and activates CPM relocation in order to enable the use of SCC4 in QMC (QUICC Multi-Channel) mode.
2023-05-06Merge branch '2023-05-05-networking-updates'Tom Rini
- Cleanup NFS support, add NFSv1 support, assorted IPv6 improvements, PHY cleanups and improvements, ksz9477, ldpaa and rtl8169 improvements, overall network performance improvements.
2023-05-05net: phy: Request rgmii-id phy reset gpio as outputStefan Herbrechtsmeier
Request the reset gpio of the rgmii-id phy as output to be consistent with the eth-phy-uclass driver. Signed-off-by: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com> Reviewed-by: Michal Simek <michal.simek@amd.com>
2023-05-05net: rtl8169: add minimal support for 8125B variantEugen Hristev
Add minimal support for 8125B version. Changes are based on the Linux driver. Tested on Radxa Rock 5B Rk3588 board. Connection to a laptop worked fine in 100 Mbps mode. 1000 Mbps mode is not working at the moment. Signed-off-by: Eugen Hristev <eugen.hristev@collabora.com> Reviewed-by: Ramon Fried <rfried.dev@gmail.com>
2023-05-05test: eth: IPv6 network discovery unit testEhsan Mohandesi
Test router advertisement validation and processing functions. Signed-off-by: Ehsan Mohandesi <emohandesi@linux.microsoft.com> Reviewed-by: Viacheslav Mitrofanov <v.v.mitrofanov@yadro.com>
2023-05-05test/py: IPv6 network discovery testEhsan Mohandesi
Test the IPv6 network discovery feature if indicated by boardenv file. Signed-off-by: Ehsan Mohandesi <emohandesi@linux.microsoft.com> Reviewed-by: Viacheslav Mitrofanov <v.v.mitrofanov@yadro.com>
2023-05-05net: ipv6: Add support for default gateway discovery.Ehsan Mohandesi
In IPv6, the default gateway and prefix length are determined by receiving a router advertisement as defined in - https://www.rfc-editor.org/rfc/rfc4861. Add support for sending router solicitation (RS) and processing router advertisements (RA). If the RA has prefix info option and following conditions are met, then gatewayip6 and net_prefix_length of ip6addr env variables are initialized. These are later consumed by IPv6 code for non-local destination IP. - "Router Lifetime" != 0 - Prefix is NOT link-local prefix (0xfe80::/10) - L flag is 1 - "Valid Lifetime" != 0 Timing Parameters: - MAX_RTR_SOLICITATION_DELAY (0-1s) - RTR_SOLICITATION_INTERVAL (4s) (min retransmit delay) - MAX_RTR_SOLICITATIONS (3 RS transmissions) The functionality is enabled by CONFIG_IPV6_ROUTER_DISCOVERY and invoked automatically from net_init_loop(). Signed-off-by: Ehsan Mohandesi <emohandesi@linux.microsoft.com> Tested-by: Viacheslav Mitrofanov <v.v.mitrofanov@yadro.com>Reviewed-by: Tested-by: Viacheslav Mitrofanov <v.v.mitrofanov@yadro.com> Reviewed-by: Viacheslav Mitrofanov <v.v.mitrofanov@yadro.com> Tested-by: Sergei Antonov <saproj@gmail.com> Reviewed-by: Sergei Antonov <saproj@gmail.com>
2023-05-05net: phy: Make phy_interface_is_rgmii a switch statementNishanth Menon
Recent commit 75d28899e3e9 ("net: phy: Synchronize PHY interface modes with Linux") reordered the enum definitions. This exposed a problem in range checking functions to identify the interface type. Though this specific api wasn't impacted (all the RGMII definitions remained within range), this experience should be used to never to have to face this kind of challenge again. While it is possible for the phy drivers to use the enums directly, drivers such as dp83867, dp83869, marvell, micrel_ksz90x1 etc use this api. Reported-by: Tom Rini <trini@konsulko.com> Reviewed-by: Marek Vasut <marek.vasut+renesas@mailbox.org> Reviewed-by: Marek Behún <kabel@kernel.org> Signed-off-by: Nishanth Menon <nm@ti.com> Reviewed-by: Ramon Fried <rfried.dev@gmail.com>
2023-05-05net: phy: Drop phy_interface_is_sgmiiNishanth Menon
Recent commit 75d28899e3e9 ("net: phy: Synchronize PHY interface modes with Linux") reordered the enum definitions. This caused the range of enums that this api was checking to go bad. There aren't anymore users of phy_interface_is_sgmii, so, just drop it. Also the protocols are so very different that it makes no sense to provide a helper wrapper in the hope of reuse for phy drivers. Reported-by: Tom Rini <trini@konsulko.com> Suggested-by: Marek Vasut <marek.vasut+renesas@mailbox.org> Suggested-by: Marek Behún <kabel@kernel.org> Link: https://lore.kernel.org/all/20230414103852.38705065@dellmb/ Signed-off-by: Nishanth Menon <nm@ti.com> Reviewed-by: Ramon Fried <rfried.dev@gmail.com>
2023-05-05net: phy: dp83867: Explicitly check against sgmiiNishanth Menon
dp83867 driver only supports sgmii and not all the newer protocols. Drop the usage of the generic phy_interface_is_sgmii function and just matchup to the specific mode supported. Reported-by: Tom Rini <trini@konsulko.com> Suggested-by: Marek Vasut <marek.vasut+renesas@mailbox.org> Suggested-by: Marek Behún <kabel@kernel.org> Link: https://lore.kernel.org/all/b82ac325-4818-8e72-054b-640268dbf806@mailbox.org/ Signed-off-by: Nishanth Menon <nm@ti.com> Reviewed-by: Ramon Fried <rfried.dev@gmail.com>
2023-05-05net: share fastboot boot handle logic between transportsDmitrii Merkurev
Introduce reboot, boot and continue commands support to TCP fastboot by moving existing UDP logic into the common module. Signed-off-by: Dmitrii Merkurev <dimorinny@google.com> Cc: Ying-Chun Liu (PaulLiu) <paul.liu@linaro.org> Cc: Simon Glass <sjg@chromium.org> Сс: Joe Hershberger <joe.hershberger@ni.com> Сс: Ramon Fried <rfried.dev@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Ramon Fried <rfried.dev@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-05-05net: add fastboot TCP supportDmitrii Merkurev
Known limitations are 1. fastboot reboot doesn't work (answering OK but not rebooting) 2. flashing isn't supported (TCP transport only limitation) The command syntax is fastboot tcp Signed-off-by: Dmitrii Merkurev <dimorinny@google.com> Cc: Ying-Chun Liu (PaulLiu) <paul.liu@linaro.org> Cc: Simon Glass <sjg@chromium.org> Сс: Joe Hershberger <joe.hershberger@ni.com> Сс: Ramon Fried <rfried.dev@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-05-05net: support being a TCP server to unblock TCP fastbootDmitrii Merkurev
Make following changes to unblock TCP fastboot support: 1. Implement being a TCP server support 2. Introduce dedicated TCP traffic handler (get rid of UDP signature) 3. Ensure seq_num and ack_num are respected in net_send_tcp_packet function (make sure existing wget_cmd code is reflected with the fix) Signed-off-by: Dmitrii Merkurev <dimorinny@google.com> Cc: Ying-Chun Liu (PaulLiu) <paul.liu@linaro.org> Cc: Simon Glass <sjg@chromium.org> Сс: Joe Hershberger <joe.hershberger@ni.com> Сс: Ramon Fried <rfried.dev@gmail.com> Reviewed-by: Ying-Chun Liu (PaulLiu) <paul.liu@linaro.org> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Ramon Fried <rfried.dev@gmail.com>
2023-05-05net: dhcp6: Add a sandbox test for dhcp6Sean Edmond
Requires proper environment with DHCP6 server provisioned. Signed-off-by: Sean Edmond <seanedmond@microsoft.com> Reviewed-by: Ramon Fried <rfried.dev@gmail.com>
2023-05-05net: dhcp6: pxe: Add DHCP/PXE commands for IPv6Sean Edmond
Adds commands to support DHCP and PXE with IPv6. New configs added: - CMD_DHCP6 - DHCP6_PXE_CLIENTARCH - DHCP6_PXE_DHCP_OPTION - DHCP6_ENTERPRISE_ID New commands added (when IPv6 is enabled): - dhcp6 - pxe get -ipv6 - pxe boot -ipv6 Signed-off-by: Sean Edmond <seanedmond@microsoft.com> Reviewed-by: Ramon Fried <rfried.dev@gmail.com>
2023-05-05net: dhcp6: Add DHCPv6 (DHCP for IPv6)Sean Edmond
Adds DHCPv6 protocol to u-boot. Allows for address assignement with DHCPv6 4-message exchange (SOLICIT->ADVERTISE->REQUEST->REPLY). Includes DHCPv6 options required by RFC 8415. Also adds DHCPv6 options required for PXE boot. Possible enhancements: - Duplicate address detection on DHCPv6 assigned address - IPv6 address assignement through SLAAC - Sending/parsing other DHCPv6 options (NTP, DNS, etc...) Signed-off-by: Sean Edmond <seanedmond@microsoft.com> Reviewed-by: Ramon Fried <rfried.dev@gmail.com>
2023-05-05phy: realtek: don't duplicate genphy_startupRasmus Villemoes
rtl8211e_startup() is an exact copy of genphy_startup(). Use that instead of duplicating it. Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk>