summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-12-13librem5: Add addresses for compressed kernel loadArnaud Ferraris
The "booti" command to load arm64 Linux kernels supports automatic decompression of zipped kernel images, but relies on some environment variables to point to usable buffer RAM. Add those variables and let them point to some default values, that should cover most use-cases. Signed-off-by: Arnaud Ferraris <[email protected]>
2023-12-13librem5: properly set the `fdtfile` env variableArnaud Ferraris
In order to use the generic "distro boot" using an extlinux.conf file, the `fdtfile` environment variable is mandatory. This commit ensure this variable is properly constructed based on the detected board revision. Signed-off-by: Arnaud Ferraris <[email protected]>
2023-12-13configs: imx8mn_beacon: Disable the WDT autostartAdam Ford
Auto-starting the WDT can cause false reboots when the user is not intentionally trying to use the WDT, so leave it off until it is requested. Signed-off-by: Adam Ford <[email protected]>
2023-12-13configs: imx8mn_beacon: Do not set SYS_CONSOLE_IS_IN_ENVAdam Ford
The hardware only supports a specific console port, so remove the option to change the console location in the environment. Signed-off-by: Adam Ford <[email protected]>
2023-12-13configs: imx8mm_beacon: Disable the WDT autostartAdam Ford
Auto-starting the WDT can cause false reboots when the user is not intentionally trying to use the WDT, so leave it off until it is requested. Signed-off-by: Adam Ford <[email protected]>
2023-12-13configs: imx8mm_beacon: Enable fastboot downloadingAdam Ford
Fastboot is necessary to use UUU enhanced functions, so enable it. Signed-off-by: Adam Ford <[email protected]>
2023-12-13configs: imx8mp_beacon: Do not set SYS_CONSOLE_IS_IN_ENVAdam Ford
The hardware only supports a specific console port, so remove the option to change the console location in the environment. Signed-off-by: Adam Ford <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2023-12-13MAINTAINERS: Remove non-working address from MAINTAINERSHugo Villeneuve
The address [email protected] is no longer working: A message that you sent could not be delivered to one or more of its recipients. This is a permanent error. The following address(es) failed: [email protected] host mx.collabora.co.uk [46.235.227.165] SMTP error from remote mail server after RCPT TO:<[email protected]>: 550 5.1.1 <[email protected]>: Recipient address rejected: undeliverable address: host mail.collabora.co.uk[46.235.227.172] said: 550 5.1.1 <[email protected]>: Recipient address rejected: User unknown in local recipient table (in reply to RCPT TO command) Remove this address from MAINTAINERS. Signed-off-by: Hugo Villeneuve <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2023-12-13imx8mn-var-som: Simplify FEC initializationHugo Villeneuve
With DM enabled, there is no need for board code to initialize the FEC interface. The ethernet PHYs on the symphony carrier board have a dedicated crystal/oscillator. If the SOM has the EC configuration option (onboard ethernet PHY), it also has a dedicated crystal/oscillator. So in all cases, there is no need to enable the RGMII TX clk output. This follows a similar change introduced by Fabio Estevam: Link: https://lore.kernel.org/u-boot/[email protected]/ Signed-off-by: Hugo Villeneuve <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2023-12-13imx8mn_var_som: Add myself to MAINTAINERSHugo Villeneuve
I would like to help maintaining the imx8mn_var_som symphony board. Add myself to MAINTAINERS. Signed-off-by: Hugo Villeneuve <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2023-12-13clock_imx8mm: Add a stub for imx8mp_fec_interface_init()Fabio Estevam
When CONFIG_DWC_ETH_QOS_IMX=y and CONFIG_FEC_MXC is not selected, the following warning is seen: arch/arm/mach-imx/imx8m/clock_imx8mm.c: In function 'board_interface_eth_init': arch/arm/mach-imx/imx8m/clock_imx8mm.c:914:24: warning: implicit declaration of function 'imx8mp_fec_interface_init; did you mean 'imx8mp_eqos_interface_init'? [-Wimplicit-function-declaration] Fix it by adding a stub for imx8mp_fec_interface_init() to handle this case. This follows the same approach done on imx8mp_eqos_interface_init(). Signed-off-by: Fabio Estevam <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2023-12-13imx8mp_evk: Remove unneeded header filesFabio Estevam
Cleanup the file by removing unneeded header files. Signed-off-by: Fabio Estevam <[email protected]> Reviewed-by: Hugo Villeneuve <[email protected]>
2023-12-13imx8mp_evk: Simplify Ethernet initializationFabio Estevam
With DM enabled, there is no need for board code to initialize the Ethernet interfaces. The RTL8211FDI Ethernet PHYs have 25MHz oscillator, so there is no need to enable the RGMII TX clk output. Also, there is no need for describing the deprecated phy-reset FEC properties, nor passing reset properties to the EQOS interface in u-boot.dtsi. Remove all these unneeded pieces. Tested both Ethernet interfaces after these changes. Signed-off-by: Fabio Estevam <[email protected]> Reviewed-by: Hugo Villeneuve <[email protected]>
2023-12-13phy: phy-imx8mq-usb: Remove .exit operationFabio Estevam
Currently, when running "ums 0 mmc 2" and breaking it via CTRL + C, the following message is seen: u-boot=> ums 0 mmc 1 UMS: LUN 0, dev mmc 1, hwpart 0, sector 0x0, count 0x1dacc00 CTRL+C - Operation aborted clk usb_phy_root_clk already disabled The USB PHY clock is disabled twice: first it gets disabled inside imx8mq_usb_phy_power_off(), then it is disabled again inside imx8mq_usb_phy_exit(). Let the USB PHY clock be disabled only once inside imx8mq_usb_phy_power_off() by removing the .exit operation. Signed-off-by: Fabio Estevam <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2023-12-13arm: dts: imx8mp: Sync with linux-next 20231019Fabio Estevam
Sync imx8mp.dtsi and imx8mp-clock.h with linux-next 20231019. Signed-off-by: Fabio Estevam <[email protected]>
2023-12-13arm: dts: imx8mn: Sync with linux-next 20231019Fabio Estevam
Sync imx8mn.dtsi with linux-next 20231019. Signed-off-by: Fabio Estevam <[email protected]>
2023-12-13arm: dts: imx8mm: Sync with linux-next 20231019Fabio Estevam
Sync imx8mm.dtsi with linux-next 20231019. The motivation for doing this sync was a bug when doing "ums 0 mmc 1" on imx8mm-evk. It worked well for the first time, but after doing a CTRL+C and launching the ums again, the command did not work. Adam Ford suggested to sync imx8mm.dtsi with the Linux dts, as there was a recent USB power domain reorganization there. After syncing the imx8mm.dtsi with Linux, the ums command works without problem after a CTRL+C. Suggested-by: Adam Ford <[email protected]> Signed-off-by: Fabio Estevam <[email protected]> Acked-by: Tim Harvey <[email protected]>
2023-12-13imx8mp_evk: Add myself to MAINTAINERSFabio Estevam
I would like to help maintaining the imx8mp_evk board. Add myself to MAINTAINERS. Signed-off-by: Fabio Estevam <[email protected]> Acked-by: Peng Fan <[email protected]>
2023-12-13imx8mp_evk: Convert to DM_PMICFabio Estevam
Currently, the imx8mp_evk uses the non-DM code to initialize the PMIC. Convert to DM_PMIC, which is the recommended way to access the PMIC. While at it, fix multi-line comments style. Signed-off-by: Fabio Estevam <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2023-12-13arm: dts: imx8mp-venice-gw73xx: add TPM deviceTim Harvey
Add the TPM device found on the GW73xx revision F PCB. This hangs off of SPI2, uses gpio1_10 as a CS and gpio1_11 as RST#. Signed-off-by: Tim Harvey <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2023-12-13arm: dts: imx8mm-venice-gw73xx: add TPM deviceTim Harvey
Add the TPM device found on the GW73xx revision F PCB. This hangs off of SPI2, uses gpio1_10 as a CS and gpio1_11 as RST#. Signed-off-by: Tim Harvey <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2023-12-13imx8mn-var-som: add manufacturer to target descriptionHugo Villeneuve
Add Variscite manufacturer to the IMX8MN_VAR_SOM target menu label as the majority of targets include the manufacturer as part of their menu description/label and it helps when looking for a particular manufacturer/board. Signed-off-by: Hugo Villeneuve <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2023-12-13arm: dts: imx93-evk: remove wrong eqos compatible stringSébastien Szymanski
The correct compatible string for i.MX93 variant of DWC EQoS MAC is now "nxp,imx93-dwmac-eqos". Signed-off-by: Sébastien Szymanski <[email protected]>
2023-12-13net: phy: realtek: Add support for RTL8211F(D)(I)-VD-CGSébastien Szymanski
Add support for the RTL8211F(D)(I)-VD-CG PHY present on the i.MX93 EVK board. Signed-off-by: Sébastien Szymanski <[email protected]>
2023-12-13net: dwc_eth_qos: Add board_interface_eth_init() for i.MX93Sébastien Szymanski
Add a common board_interface_eth_init() called by the DWC MAC driver to setup the MAC <-> PHY interface according to the PHY mode obtained from DT. Remove the board-side configuration in the i.MX93 EVK files. Signed-off-by: Sébastien Szymanski <[email protected]>
2023-12-13net: dwc_eth_qos: add i.MX93 supportSébastien Szymanski
Add support for DWC EQoS MAC on i.MX93. Signed-off-by: Sébastien Szymanski <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2023-12-13ARM: imx8ulp: support env in fat and ext4Ricardo Salveti
Change boot device logic to also allow environment stored in fat and in ext4 when booting from SD or eMMC. As the boot device check for SD and for eMMC was depending on ENV_IS_IN_MMC being defined, change the ifdef blocks at env_get_location to use IS_ENABLED instead for all modes, returning NOWHERE when no valid mode is found. Signed-off-by: Ricardo Salveti <[email protected]> Co-developed-by: Oleksandr Suvorov <[email protected]> Signed-off-by: Oleksandr Suvorov <[email protected]>
2023-12-13imx: imx8: ahab: refactor do_ahab_close commandIgor Opaniuk
Move an OEM closing logic to ahab_close() function to be able to use it directly without calling a u-boot command. Signed-off-by: Igor Opaniuk <[email protected]> Co-developed-by: Oleksandr Suvorov <[email protected]> Signed-off-by: Oleksandr Suvorov <[email protected]>
2023-12-13arm: mxs: Fix ICOLL macro name typoMarek Vasut
The interrupt collector macro name for i.MX23 is MXS_ICOLL_BASE, this is correct and matches the documentation of both i.MX23 and i.MX28. Align the i.MX28 macro accordingly. No functional change. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Lukasz Majewski <[email protected]>
2023-12-13arm: dts: imx8mm-phyboard-polis-rdk: Sync dts files with kernelCem Tenruh
Sync the devicetree files used in the kernel for the imx8mm-phyboard-polis with the corresponding devicetree files in U-Boot. Replaced phycore-imx8mm.dts with kernel dts imx8mm-phyboard-polis-rdk.dts Synced with kernel 6.5.0-rc1 commit e752a4f9589c (arm64: dts: freescale: imx8mm-phyboard: Add I2C4 pinmuxing) Signed-off-by: Cem Tenruh <[email protected]>
2023-12-13imx7d-sdb: Sync devicetree with kernel 6.5-rc1Fabio Estevam
Commit 0aea5dda2928 ("ARM: dts: imx7d-sdb-u-boot: Fix usdhc1 UHS operation") did a temporary workaround by addng the usdhc1 fix inside the -u-boot.dtsi file. The imx7d-sdb.dts from kernel 6.5-rc1 contains the proper UHS fix, so sync the devicetree tree and remove the previous fix from -u-boot.dtsi. Also, adjust the PMIC node name inside pmic_get() to match the devicetree update. Signed-off-by: Fabio Estevam <[email protected]>
2023-12-13imx: imx8mp: Add support for Polyhex Debix Model A SBCGilles Talis
Add support for the Polyhex Debix Model A SBC board. It is an industrial grade single board computer based on NXP's i.MX 8M Plus. Currently supported interfaces are: - Serial console - Micro SD - eQOS and FEC Ethernet imx8mp-debix-model-a.dts is taken from Linux 6.3. Signed-off-by: Gilles Talis <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2023-12-13imx8qm_dmsse20a1: Improve SPL memory configurationFabio Estevam
Currently, building imx8qm_dmsse20a1_defconfig leads to the following warning: aarch64-linux-ld.bfd: invalid origin for memory region .sdram Fix it by using the same SPL memory layout as done in the imx8mq_evk. Reported-by: Tom Rini <[email protected]> Signed-off-by: Fabio Estevam <[email protected]> Tested-by: Oliver Graute <[email protected]>
2023-12-13ddr: imx: Save the FW loading if it hasn't changedShawn Guo
Function ddr_load_train_firmware() is called 4 times in a loop by ddr_cfg_phy(). The first 3 calls are all '1D' type and just loading the same FWs. Let's add a type check and save 2 of them. This helps to reduce DDRPHY training time from 269 ms down to 212 ms, and thus speed up boot time ~ 50 ms. Signed-off-by: Shawn Guo <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2023-12-13dts: zynqmp: add missing destination mailbox compatibleTanmay Shah
The commit in linux kernel 81186dc16101 ("dt-bindings: zynqmp: add destination mailbox compatible") make compatible string for child nodes mandatory that's why add it. Signed-off-by: Tanmay Shah <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]>
2023-12-13mailbox: zynqmp: support mulitple mboxes via device-treeTanmay Shah
As of now only one mailbox agent is supported by mailbox driver. On zynqmp platform there are about 7 mailbox agents which can communicate over same IPI channel to U-Boot. This patch series introduces new "zynqmp_ipi_dest" driver which adds one to multi-channel mailbox support. Following format in device-tree is expected as per latest bindings: zynqmp-ipi { compatible = "xlnx,zynqmp-ipi-mailbox"; mbox_1: mailbox@1 { /* New compatible for child node */ compatible = "xlnx,zynqmp-ipi-dest-mailbox"; ... }; ... mbox_n: mailbox@n { compatible = "xlnx,zynqmp-ipi-dest-mailbox"; ... } }; Then mailbox client uses child mailbox node as following: ipi-dest-1 { ... mboxes = <mbox_1 0>, <mbox_1 1>; mbox-names = "tx", "rx"; ... }; New "zynqmp_ipi_dest" driver is for devices with "xlnx,zynqmp-ipi-dest-mailbox" compatible string. This driver will take care of mailbox send recv ops and it replaces previous "zynqmp_ipi" driver. Now "zynqmp_ipi" driver simply binds each child device with "zynqmp_ipi_dest" driver. However, its important to maintain backward comaptibility with previous bindings where child node does not have compatible string. In such case, new driver isn't probed by U-Boot during boot and system fails to boot. To resolve this issue firmware-zynqmp.c driver probes all the IPI parent node driver which binds each child node device with "zynqmp_ipi_dest" driver. This makes sure corresponding child driver will be probed when requested using mbox_get_by_name or mbox_get_by_idx framework calls. This way multiple mailbox agents are supported in device-tree without breaking previous binding support. Signed-off-by: Tanmay Shah <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]>
2023-12-13mailbox: add el3 support only for zynqmp platformTanmay Shah
If U-Boot is running in Exception Level 3 then use hardcode register values for mailbox message passing with PMU. This is only supported for zynqmp platform. Signed-off-by: Tanmay Shah <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]>
2023-12-13mailbox: zynqmp: support smc calls to TF-ATanmay Shah
Use SMC calls to TF-A to operate IPI for execution level below 3. For EL3 use hardcode IPI registers as TF-A isn't available in EL3. Hence, in EL3 remote and local IPI ids retrieved using xlnx,ipi-id property are unused. Signed-off-by: Tanmay Shah <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]>
2023-12-13ARM: zynq: Remove deprecated device_type propertyMichal Simek
Based on DT specification device_type property is deprecated and should be used only for cpu and memory nodes. That's why remove other usage. In this case ethernet-phy. Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/70201ca4ad49ace6f7c27015af9df58a335d2a1f.1700831800.git.michal.simek@amd.com
2023-12-13arm64: zynqmp: Add multiboot support for SPL/SPI offset calculationMichal Simek
In case of A/B update systems there should be an option to load the same binary/binaries to different location and they should work. Before this patch boot.bin with U-Boot SPL can be added to whatever 32k offset in SPI and SPL finds u-boot.itb at CONFIG_SYS_SPI_U_BOOT_OFFS offset. In case of A/B update systems that means that SPL is at different locations but it still points to the same u-boot.itb which is not correct. That's why include multiboot value to offset calculation to be able to point to image from the same base. It doesn't affect any current system which starts from 0 offset. This patch also change Kria defconfig which uses A/B setup. Partition A starts at multiboot 64, partition B at multiboot 496. And also print message about used SPI offset which is useful for all cases. Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/93903a53ad9358ae69991558b787f574797effbe.1699619666.git.michal.simek@amd.com
2023-12-13drivers: xilinx_spi: Probe fifo_depth at runtimeMayuresh Chitale
If the fifo-size DT parameter is not provided then probe the controller's fifo depth at runtime. This is ported from a patch in the Linux Xilinx SPI driver. Signed-off-by: Mayuresh Chitale <[email protected]> Reviewed-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/[email protected] Tested-by: Love Kumar <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]>
2023-12-13drivers: xilinx_spi: Add xfer callbackMayuresh Chitale
Add the xfer callback which is used by the MMC_SPI driver and generally by the dm_spi_xfer callback. Signed-off-by: Mayuresh Chitale <[email protected]> Tested-by: Love Kumar <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]>
2023-12-13drivers: xilinx_spi: Use udevice in start_tranferMayuresh Chitale
Modify start_transfer and related functions to take a udevice parameter as input instead of spi_slave. This is needed so that start_transfer can be used directly via the xfer callback. Also fix a compiler warning. Signed-off-by: Mayuresh Chitale <[email protected]> Tested-by: Love Kumar <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]>
2023-12-13xilinx: zynq: Enable capsule update for Antminer S9Michal Simek
Capsule update helps with easier firmware development that's why enable it by default to be able to update system without replugging SD card again and again. Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/8f8deb5f46c0f2d4b687b626f4de221873133856.1699866313.git.michal.simek@amd.com
2023-12-13xilinx: zynq: Generate dfu for SPI only when enabledMichal Simek
Bitmain S9 board is not enabling SPI that's why CONFIG_SYS_SPI_U_BOOT_OFFS symbol is not present which ends in build failure when EFI/DFU infrastructure is enabled. Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/3ea0572dbda8f21270c00a77528eb6ec954c7c40.1699866313.git.michal.simek@amd.com
2023-12-13pci: xilinx: Enable MMIO regionMayuresh Chitale
The host bridge MMIO region is disabled by default due to which MMIO accesses cause an exception. Fix it by setting the bridge enable bit. This change is ported from the linux pcie-xilinx driver. Signed-off-by: Mayuresh Chitale <[email protected]> Reviewed-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]>
2023-12-13pci: xilinx: Fix "reg" not found errorMayuresh Chitale
Fix the driver to use the dev_read_addr_size API to fetch the reg property from the DT. Signed-off-by: Mayuresh Chitale <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]>
2023-12-13net: axi_emac: Use reg property for DMA registersMayuresh Chitale
As per the xlnx,axi-ethernet-1.00.a DT documentation in linux, the AXI DMA registers can be obtained via the reg property or via a separate node for the axistream DMA controller. Currently only the latter is supported, so add support to fetch the DMA controller registers from the "reg" property. Signed-off-by: Mayuresh Chitale <[email protected]> Reviewed-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]>
2023-12-13arm64: zynqmp: Remove description for 8T49N240Michal Simek
8T49N240 driver was never upstreamed by IDT and there is no user of this driver that's why remove description for this chip with also remove this driver. Reviewed-by: Radhey Shyam Pandey <[email protected]> Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/52aec21f121713160d5953b0a41a10cb196482b3.1699428990.git.michal.simek@amd.com
2023-12-13arm64: zynqmp: Do not expose usbhub nodesMichal Simek
Upstream dwc3 U-Boot driver is not able to handle child nodes properly that's why comment them in DT for now. This patch should be reverted when dwc3 driver handles it properly. DT node itself is aligned with dt schema. Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/537c91a7ac0843358c4e33aa10d9e035d8e92faf.1699286139.git.michal.simek@amd.com