summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2023-11-05net: phy: TI DP83869 fix invalid clock delay configurationFrank de Brabander1-21/+32
Setting the clock delay from the device tree settings rx-internal-delay-ps and tx-internal-delay-ps was broken: - The expected value in the device tree is suppose to be a delay in picoseconds, but the driver only allowed an array index. - Driver converted this array index to the actual delay in picoseconds and tried to apply this in the device register. This however is not a valid register value. The actual logic here was reversed, it converted an register representation of the delay to the device tree delay in picoseconds. Only when the internal delays were NOT configured in the device tree and they default value of 7 (=2000ps) was used, a valid value was loaded in the register. Signed-off-by: Frank de Brabander <debrabander@gmail.com>
2023-11-05net: eth-uclass: Setup ROM source only when ROM reading passesMichal Simek1-3/+7
There is no reason to setup ROM source if read_rom_hwaddr hook doesn't exist or reading mac address fails. It is ending up with confusion about mac address source. It is nicely visible if you put mac address to DT as local-mac-address = [ff ff ff ff ff ff]; but also save ethaddr to variables setenv -f ethaddr 02:18:31:7e:3e:01 Before this patch U-Boot prints that source is ROM Address in ROM is ff:ff:ff:ff:ff:ff Address in environment is 02:18:31:7e:3e:01 After that source is DT: Address in DT is ff:ff:ff:ff:ff:ff Address in environment is 02:18:31:7e:3e:01 Signed-off-by: Michal Simek <michal.simek@amd.com>
2023-11-05net: add hifemac_mdio MDIO bus driver for HiSilicon platformYang Xiwen3-0/+125
It adds the driver for the internal MDIO bus of HIFEMAC Ethernet controller. It's based on the mainstream linux driver. Signed-off-by: Yang Xiwen <forbidden405@outlook.com>
2023-11-05net: add hifemac Ethernet driver for HiSilicon platformYang Xiwen3-0/+491
It adds the driver for HIFEMAC Ethernet controller found on HiSilicon SoCs like Hi3798MV200. It's based on the mainstream linux driver, but quite a lot of code gets rewritten and cleaned up to adopt u-boot driver model. Signed-off-by: Yang Xiwen <forbidden405@outlook.com>
2023-11-05net: mv88e6xxx: add Clause 45 supportRobert Marko1-2/+67
Marvell LinkStreet switches support Clause 45 MDIO on the internal bus. C45 read or writes require the register address to be written first to the SMI PHY Data register, and then a special C45 Write Address Register OP is used on the SMI PHY Register before making a C45 Read Data Register OP and being able to actually read the register. Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2023-11-05net: mv88e6xxx: use generic bitfield macros for MDIORobert Marko1-12/+13
Driver is currently defining the mask and bit shifting itself, there is no need for that as U-Boot has generic bitfield macros that help us achieve the same result but in a cleaner way. Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2023-11-05net: ftgmac100: Add reset controlDylan Hung1-0/+12
Add optional reset control, especially for the Aspeed SOC. For the hardware without a reset line, the reset assertion/deassertion will be skipped. Signed-off-by: Dylan Hung <dylan_hung@aspeedtech.com> Reviewed-by: Ryan Chen <ryan_chen@aspeedtech.com> Reviewed-by: Ramon Fried <rfried.dev@gmail.com>
2023-11-05net: Get pxe config file from dhcp option 209Sean Edmond3-0/+33
Allow dhcp server pass pxe config file full path by using option 209 Signed-off-by: Sean Edmond <seanedmond@microsoft.com>
2023-11-05net: dhcp6: Fix OPT_BOOTFILE_PARAM parsingSean Edmond1-3/+12
RFC 5970 states that OPT_BOOTFILE_PARAM (option 60) can be multiple parameters that start with a 16-bit length field followed by the parameter. For example: [ param-len 1 (16-bits) ] [ parameter 1 (variable length) ] This fix ensure we're considering "param-len 1" in the parsing. Signed-off-by: Sean Edmond <seanedmond@microsoft.com>
2023-11-05net: dw_eth_qos: Add 64-bit addressingLey Foon Tan1-16/+20
Set upper 32bit address for DMA descriptors and buffer address to support 64-bit addressing. Signed-off-by: Ley Foon Tan <leyfoon.tan@starfivetech.com>
2023-11-04Merge branch '2023-11-03-assorted-tegra-improvements'Tom Rini67-211/+2646
- Assorted improvements for Tegra platforms
2023-11-03sysreset: implement PALMAS sysreset functionsSvyatoslav Ryhel5-2/+102
PALMAS PMIC family has embedded poweroff function used by some device to initiane device power off. Implement it as sysreset driver. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2023-11-03sysreset: implement TPS65910 sysreset functionsSvyatoslav Ryhel5-1/+81
TPS65910/TPS65911 PMICs have embedded power control functions used by some device to initiane device power off. Implement it as sysreset driver. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2023-11-03sysreset: implement TPS80031 sysreset functionsSvyatoslav Ryhel5-1/+64
TPS80031/TPS80032 PMICs have embedded power control functions used by some device to initiane device power off. Implement it as sysreset driver. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2023-11-03sysreset: implement MAX77663 sysreset functionsSvyatoslav Ryhel5-1/+75
MAX77663 PMIC has embedded poweroff function used by some device to initiane device power off. Implement it as sysreset driver. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2023-11-03arm: mach-tegra: enable sysreset driverSvyatoslav Ryhel2-9/+3
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2023-11-03sysreset: tegra: create arch specific sysreset driverSvyatoslav Ryhel3-0/+52
Tegra uses built in Power Management Controller (PMC) to perform CPU reset. Code to perform this was located in mach-tegra, so lest create DM driver to handle this. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2023-11-03power: regulator: tps65911: add regulator supportSvyatoslav Ryhel3-0/+407
The driver provides regulator set/get voltage enable/disable functions for TI TPS5911 PMIC. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-11-03power: pmic: tps65910: add TPS65911 PMIC supportSvyatoslav Ryhel3-3/+134
Add support to bind the regulators/child nodes with the pmic. Also adds the pmic i2c based read/write functions to access pmic registers. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-11-03power: regulator: tps80031: add regulator supportSvyatoslav Ryhel3-0/+356
The driver provides regulator set/get voltage enable/disable functions for TI TPS80031/TPS80032 PMICs. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-11-03power: pmic: add the base TPS80031 PMIC supportSvyatoslav Ryhel5-0/+215
Add support to bind the regulators/child nodes with the pmic. Also adds the pmic i2c based read/write functions to access pmic registers. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-11-03power: regulator: max77663: add regulator supportSvyatoslav Ryhel3-0/+385
The driver provides regulator set/get voltage enable/disable functions for MAXIM MAX77663 PMICs. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
2023-11-03power: pmic: add the base MAX77663 PMIC supportSvyatoslav Ryhel5-0/+217
Add support to bind the regulators/child nodes with the pmic. Also adds the pmic i2c based read/write functions to access pmic registers. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
2023-11-03power: regulator: palmas: fix ldoln and ldousb detectionSvyatoslav Ryhel1-10/+14
dev->driver_data will carry the tail of ldo if there is a number and if there is no number it will be an error code, anyway it will not be zero. This results in a wrong ldo regulator detection. To avoid this check for non-numerical ldo first and then manipulate dev->driver_data. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2023-11-03power: pmic: palmas: support TI TPS65913 PMICSvyatoslav Ryhel1-0/+1
Existing PALMAS PMIC driver is fully compatible with TI TPS65913 PMIC found in many Tegra 4 devices, like Tegra Note 7 and ASUS TF701T. TPS65913 shares same structure of regulators like TPS659038 so data can be reused. Tested-by: Svyatoslav Ryhel <clamor95@gmail.com> # NVIDIA Tegratab Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
2023-11-03board: asus: lg: move config fragments into device boardsSvyatoslav Ryhel15-12/+0
Move ASUS Transformers, Grouper, P895 and P880 config fragments into their respective device directory in /board/../configs/ Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2023-11-03board: tegra30: remove nvidia_board_late_init callsSvyatoslav Ryhel4-47/+0
Remove nvidia_board_late_init calls from board since this setup is performed in board2 of mach-tegra. Call of nvidia_board_late_init from within the board does not provide any additional data. Tested-by: Andreas Westman Dorcsak <hedmoo@yahoo.com> # ASUS Transformer T30 Tested-by: Svyatoslav Ryhel <clamor95@gmail.com> # LG P895 T30 Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2023-11-03ARM: tegra: board2: add generic late initSvyatoslav Ryhel1-0/+43
Board specific late init allows vendors to set up different device or board specific env variables (like serial number, platform name). In case this information is missing, u-boot will lack info regards serial or platform. To avoid this prior nvidia_board_late_init internal generic function is called which fills required data. In this case platform name is obtained from get_chip and serialno is filled with SoC id. Though SoC id is not dedicated to be devices serial but it fits well in case of restriction of data about device and since SoC is basically a main chip of the device. Tested-by: Andreas Westman Dorcsak <hedmoo@yahoo.com> # ASUS Transformers Tested-by: Svyatoslav Ryhel <clamor95@gmail.com> # Nvidia Tegratab Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-11-03ARM: tegra20: tegra30: support EBTUPDATE on non-encrypted devicesSvyatoslav Ryhel2-20/+40
Re-crypt support was extended to devices without burnt SBK. In case SBK is not set, place from where it is read is filled with zeroes. This patch adds support for ebtupdate function to detect nosbk device and avoid crypto operations for it. Tested-by: Maksim Kurnosenko <asusx2@mail.ru> Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2023-11-03ARM: tegra114: enable base voltages setup from boardSvyatoslav Ryhel1-0/+5
Tegra 4, same as Tegra 3, requires configuration of CPU and CORE voltages in the SPL stage to boot properly. Expose function to be able perform this configuration in the SPL section of the device board. Tested-by: Svyatoslav Ryhel <clamor95@gmail.com> # ASUS TF701T Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2023-11-03configs: grouper: drop I2C_MUXSvyatoslav Ryhel1-2/+0
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2023-11-03ARM: dts: grouper: complete missing bindingsSvyatoslav Ryhel4-10/+16
Clean up the tree and prepare for DM PMIC migration. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2023-11-03ARM: dts: lg-x3: complete missing bindingsSvyatoslav Ryhel1-3/+8
Clean up the tree and prepare for DM PMIC migration. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2023-11-03ARM: dts: endeavoru: complete missing bindingsSvyatoslav Ryhel1-2/+13
Clean up the tree and prepare for DM PMIC migration. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2023-11-03ARM: dts: transformer-t30: complete missing bindingsSvyatoslav Ryhel1-5/+15
Clean up the tree and prepare for DM PMIC migration. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2023-11-03configs: transformer_t30: convert bootmenu optionSvyatoslav Ryhel2-7/+2
Convert refresh USB to enter console. Transformers have full size USB and a dock keyboard so access to U-Boot console would be handy. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2023-11-03board: asus: transformer-t30: remove PMIC GPIOs configurationSvyatoslav Ryhel1-25/+0
Default configuration matches values which are set in the board so this configuration is not required. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2023-11-03ARM: dts: tf201: configure dock USB phySvyatoslav Ryhel2-0/+9
TF201 unlike other transformers uses non-fused xcvr value for its dock USB port. With out it dock USB and SD reader will not work. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2023-11-03configs: transformer_t30: support booting from USBSvyatoslav Ryhel2-2/+2
Change boot logic to primary try to boot from USB in dock, then from microSD and lastly from eMMC. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2023-11-03ARM: dts: tf600t: separate from common transformers treeSvyatoslav Ryhel1-12/+148
TF600T has significant differences (Tegra DSI and DSI panel, own power supply system) which makes use of common transformer device tree complicated. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2023-11-03ARM: dts: p1801-t: separate from common transformers treeSvyatoslav Ryhel1-7/+198
P1801-T has significant differences (hdmi panel and backlight, own power supply system) which makes use of common transformer device tree complicated. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2023-11-03mmc: tegra: get default-tap and default-trim from device treeSvyatoslav Ryhel2-33/+36
Default-tap and default-trim values are used for eMMC setup mostly on T114+ devices. As for now, those values are hardcoded for T210 and ignored for all other Tegra generations. Fix this by passing tap and trim values from dts. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2023-11-03ARM: tegra210: set default-tap and default-trim values in sdhci nodesSvyatoslav Ryhel1-0/+8
Tegra MMC driver has hardcoded tap and trim values as for now. Set default-tap and default-trim values in sdhci nodes to avoid regressions in case Tegra MMC driver is upated to use dts values. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2023-11-03Merge tag 'qcom-pull-20231103' of ↵Tom Rini1-1/+3
https://source.denx.de/u-boot/custodians/u-boot-snapdragon As discussed, here is the maintainers update for Snapdragon. Sumit Garg who maintains a few of the Qualcomm platforms in U-boot has also been added as a reviewer.
2023-11-03Merge tag 'u-boot-dfu-20231103' of ↵Tom Rini3-2/+17
https://source.denx.de/u-boot/custodians/u-boot-dfu u-boot-dfu-20231103 - Fix CRC chunk size in fastboot - Make size optional for dfu on mmc
2023-11-03MAINTAINERS: update Qualcomm maintainerCaleb Connolly1-1/+3
As Ramon has been inactive for some time now, add myself and Neil Armstrong to maintain Qualcomm efforts going forwards. Add Sumit Garg who maintains several Qualcomm platforms as reviewer. Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org> Acked-by: Neil Armstrong <neil.armstrong@linaro.org>
2023-11-02Merge tag 'dm-pull-2nov23' of https://source.denx.de/u-boot/custodians/u-boot-dmTom Rini22-99/+168
Just various bugfixes, apart from the TI one
2023-11-02u_boot_pylib: Ensure subprocess is closed downSimon Glass1-3/+1
It isn't clear why we need to have two different paths for closing down the pipe. Unify them and use the Python to avoid this warning: subprocess.py:1127: ResourceWarning: subprocess 83531 is still running Note that this code appears to originally have come from [1] and was committed into the ChromeOS chromiumos/platform/crosutils repo in the bin/cros_image_to_target.py file. The addition of the extra code path came later, so that is chosen for the fixes tag. [1] https://codereview.chromium.org/3391008 Signed-off-by: Simon Glass <sjg@chromium.org> Fixes: a10fd93cbc patman: Make command methods return a CommandResult
2023-11-02buildman: Support upstream branch name containing /Simon Glass1-2/+3
Buildman assumes that branch names do not have a slash in them, since slash is used to delimit remotes, etc. This means that a branch called 'WIP/tryme' in remote dm ends up being 'tryme'. Adjust the logic a little, to try to accommodate this. For now, no tests are added for this behaviour. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@konsulko.com>
2023-11-02sandbox: eliminate unused functions from binariesHeinrich Schuchardt2-3/+3
The sandbox should closely mimic other architectures. Place each function or data in a separate section and let the linker eliminate unused ones. This will reduce the binary size. In the linker script mark that u_boot_sandbox_getopt are to be kept. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Tom Rini <trini@konsulko.com>