aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-07-08clk: mediatek: mt7986: support alternative compatible for fixed-pllsChristian Marangi
Support alternative compatible for fixed-plls clocks used upstream with the compatible mediatek,mt7986-apmixedsys. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-07-08clk: mediatek: mt7988: support alternative compatible for fixed-pllsChristian Marangi
Support alternative compatible for fixed-plls clocks used upstream with the compatible mediatek,mt7988-apmixedsys. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-07-08pci: mediatek: make pcie-phy optional for gen3Christian Marangi
Set pcie-phy optional for PCIe gen3. MT7988 doesn't require it and making it mandatory prevent the driver to correctly probe. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-07-08pinctrl: mediatek: mt7981: init device before relocationChristian Marangi
Upstream kernel linux define pinctrl for uart0, hence this pin group and pinctrl driver is needed before relocation. Add DM_FLAG_PRE_RELOC flag to init and mute mtk_serial error on early serial init. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-07-08pinctrl: mediatek: add support for gpio-controller property in root nodeChristian Marangi
Add support for gpio-controller property in root pinctrl node. This is to follow upstream linux DTSI that doesn't define the gpio-controller and cells in dedicated nodes. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-07-08clk: mediatek: mt7981: support alternative compatible for fixed-pllsChristian Marangi
Support alternative compatible for fixed-plls clocks used upstream with the compatible mediatek,mt7981-apmixedsys. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-07-08mmc: mediatek: add support for upstream linux clock and propertyChristian Marangi
Add support for upstream linux clock and map U-Boot property to the one use in upstream linux where supported. Also add handling for the use_internal_cd that on upstream is hardcoded enabled on mt7620. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-07-08serial: mediatek: add special handling for highspeed and linux compatChristian Marangi
Upstream linux serial driver use a different logic to setup serial regs. They have 2 interval: - < 115200 we use lowspeed regs and 16 * baud - >= 115200 we use highspeed We currently use force_highspeed property to force usage of highspeed regs even with low baud rate. Add special handling if the upstream compatible is used where we just apply the same interval with anything >= 115200 in highspeed simulating force_highspeed. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-07-08serial: mediatek: add support for bus clock and enable itChristian Marangi
Upstream linux also provide the additional optional bus clock. Add support for it and also enable the baud and bus clock on probe. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-07-08i2c: mediatek: add support for optional arb and pmic clockChristian Marangi
Add support for optional arb and pmic clock for i2c provided in upstream linux DTSI. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> Reviewed-by: Heiko Schocher <hs@denx.de>
2024-07-08net: mediatek: handle alternative name for pn_swap propertyChristian Marangi
Handle alternative name for pn_swap property as upstream linux use mediatek,pnswap. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-07-08spi: mtk_spim: add support for upstream mediatek, spi-ipm compatibleChristian Marangi
Upstream kernel linux use a different compatible mediatek,spi-ipm. Add support for this compatible and add handling for the additional clock similar to how it's done by the upstream driver and handling for all the property enabled by default. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-07-08pci: mediatek: add PCIe controller support for filogic siliconJohn Crispin
Add MediaTek GEN3 PCIe controller support for filogic silicon. This is adapted from the Linux version of the driver. Signed-off-by: John Crispin <john@phrozen.org> [ fix minor problems, fix checkpatch errors ] Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-07-08phy: phy-mtk-tphy: add support for phy type switchChristian Marangi
Add support for PHY type switch via the mediatek topmisc syscon. This is needed on mt7981 to make the PCIe correctly work and display LinkUp. Follow the same implementation done on Linux kernel with the usage of the mediatek,syscon-type property. Example: u3port0: usb-phy@11e10700 { reg = <0x11e10700 0x900>; clocks = <&topckgen CK_TOP_USB3_PHY_SEL>; clock-names = "ref"; #phy-cells = <1>; mediatek,syscon-type = <&topmisc 0x218 0>; status = "okay"; }; Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-06-24Merge tag 'u-boot-imx-next-20240624' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-imx into next CI: https://source.denx.de/u-boot/custodians/u-boot-imx/-/pipelines/21310 - Enable SPL DTO application support for i.MX8MP DHCOM PDK2. - Migrate imx8mn_bsh_smm_s2 and imx6ulz_bsh_smm_m2 to OF_UPSTREAM. - Drop redundant imports with dts/upstream. - Miscellaneous improvements for Gateworks i.MX8M boards.
2024-06-24configs: j784s4_evm_r5_defconfig: Enable CONFIG_K3_QOSJayesh Choudhary
Enable CONFIG_K3_QOS to set QoS registers in R5 boot stage. Signed-off-by: Jayesh Choudhary <j-choudhary@ti.com>
2024-06-24configs: j721s2_evm_r5_defconfig: Enable CONFIG_K3_QOSJayesh Choudhary
Enable CONFIG_K3_QOS to set QoS registers in R5 boot stage. Signed-off-by: Jayesh Choudhary <j-choudhary@ti.com>
2024-06-24configs: j721e_evm_r5_defconfig: Enable CONFIG_K3_QOSJayesh Choudhary
Enable CONFIG_K3_QOS to set QoS registers in R5 boot stage. Signed-off-by: Jayesh Choudhary <j-choudhary@ti.com>
2024-06-24arm: mach-k3: j784s4: Enable QoS for DSSJayesh Choudhary
Enable Quality of Service (QoS) blocks for Display SubSystem (DSS), by servicing the DSS - DDR traffic from the Real-Time (RT) queue. This is done by setting the DSS DMA orderID to greater than 9. Before setting up the QoS, the ORDERID needs to be mapped to VBUSM sources using setup_navss_nb() function call that sets the threadmap for NBSS registers. (Section 10.2.9.2.10 "Quality of Service" in TRM[0]) Section 3.2.1 "Quality of Service (QoS)" in the TRM[0] provide more details. [0]: https://www.ti.com/lit/zip/spruj52 Signed-off-by: Jayesh Choudhary <j-choudhary@ti.com>
2024-06-24arm: mach-k3: j721s2: Enable QoS for DSSJayesh Choudhary
Enable Quality of Service (QoS) blocks for Display SubSystem (DSS), by servicing the DSS - DDR traffic from the Real-Time (RT) queue. This is done by setting the DSS DMA orderID to greater than 9. Before setting up the QoS, the ORDERID needs to be mapped to VBUSM sources using setup_navss_nb() function call that sets the threadmap for NBSS registers. (Section 10.2.9.2.10 "Quality of Service" in TRM[0]) Section 3.2.1 "Quality of Service (QoS)" in the TRM[0] provide more details. [0]: https://www.ti.com/lit/zip/spruj28 Signed-off-by: Jayesh Choudhary <j-choudhary@ti.com>
2024-06-24arm: mach-k3: j721e: Enable QoS for DSSJayesh Choudhary
Enable Quality of Service (QoS) blocks for Display SubSystem (DSS), by servicing the DSS - DDR traffic from the Real-Time (RT) queue. This is done by setting the DSS DMA orderID to greater than 7. Before setting up the QoS, the ORDERID needs to be mapped to VBUSM sources using setup_navss_nb() function call that sets the threadmap for NBSS registers. (Section 10.2.10.1.2 "NB Parameters" in TRM[0]) Section 3.3.2 "Quality of Service (QoS)" in the TRM[0] provide more details. [0]: https://www.ti.com/lit/zip/spruil1 Signed-off-by: Jayesh Choudhary <j-choudhary@ti.com> Reviewed-by: Andrew Davis <afd@ti.com>
2024-06-24arm: mach-k3: am62a: Simplify the logic for QOS reg and val propagationJayesh Choudhary
For the QOS registers, instead of using the raw values for calculation for each reg field, use a defined macro which takes in argument for all the reg fields to get the desired value. Do the similar simplification for QOS register and group registers and make the corresponding changes for am62a_qos_uboot file. Suggested-by: Andrew Davis <afd@ti.com> Signed-off-by: Jayesh Choudhary <j-choudhary@ti.com> Acked-by: Andrew Davis <afd@ti.com>
2024-06-24arm: mach-k3: am62a_qos: Move common bit MACROS to k3_qos header fileJayesh Choudhary
QoS bit mapping are common across all K3 SoCs so move those defines to common header file (k3_qos.h). This ensures that we do not define these for each SoC. Signed-off-by: Jayesh Choudhary <j-choudhary@ti.com>
2024-06-24ARM: imx: Enable SPL DTO application support for i.MX8MP DHCOM PDK2Marek Vasut
Enable SPL DTO support to apply matching SoM specific DTOs to cater for the SoM differences in DH i.MX8MP DHCOM PDK2 configuration. This is already enabled in DH i.MX8MP DHCOM PDK3 configuration so align the two configurations. Fixes: ad1158c50e0e ("arm64: dts: imx8mp: Switch to DT overlays for i.MX8MP DHCOM SoM") Signed-off-by: Marek Vasut <marex@denx.de>
2024-06-24board: gateworks: venice: Simplify Ethernet initializationTim Harvey
With DM enabled, there is no need for board code to initialize the Ethernet interfaces. Specifically board_interface_eth_init will handle the configuration of GPR1. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2024-06-24imx8mp-venice-gw702x: Drop EQos clock workaroundTim Harvey
The assigned-clock no longer have to be dropped, the clock are now defined in clk-imx8mp.c and used by DWMAC driver to configure the DWMAC clock. Drop the workarounds from U-Boot specific DT extras. Having the clocks dropped causes the EQoS to be non-functional. See commit c7ea9612df0f ("arm64: dts: imx8mp: Drop EQoS clock workaround"). Fixes: 48c6f9777cee ("board: gateworks: venice: add imx8mp-gw7905-2x support") Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2024-06-24imx8mp-venice-gw74xx: default USB1 to host modeTim Harvey
The GW74xx USB1 controller connects to a dual-role connector using a GPIO for role detection via the usb-connector Linux driver (usb-conn-gpio.c). This drive does not exist yet in U-Boot so for now we will just default USB1 to host mode. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2024-06-24imx8m{m,p}_venice: add NVMe to boot devicesTim Harvey
Add nvme device 0 to available boot devices. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2024-06-24board: gateworks: venice: add print for GPY111 PHY nameTim Harvey
Due to supply chain issues Venice boards use either a DP83867 or a GPY111 RGMII PHY. We already print an identifier for the DP83867 so add one for the GPY111 to better identify what PHY is on a board: Example: Net: GPY111 eth0: ethernet@30be0000 [PRIME] Net: DP83867 eth0: ethernet@30be0000 [PRIME] Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2024-06-24board: gateworks: venice: delay before reading GSC EEPROMTim Harvey
Extensive testing has shown that at higher temperatures operating without a GSC backup battery, the GSC needs a small delay after releasing the I2C SDA/SCL pins before it is ready to handle I2C requests. Add a delay to avoid errors such as: wait_for_sr_state: Arbitration lost sr=93 cr=80 state=2020 i2c_init_transfer: failed for chip 0x20 retry=0 Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2024-06-24board: gateworks: venice: enable GSC supervisor for new board modelsTim Harvey
The Gateworks System Controller (GSC) has a voltage supervisor which is disabled by default. On older boards we want to maintian this but on newer boards we wish to enable the voltage supervisor. The Gateworks System Controller (GSC) can disable the board primary power supply by driving a pin to a FET high. On older board models the leakage of the GSC may exceed the leakage of the FET causing this signal slowly rise when the GSC battery is low and the board is in a powered down state resulting in the board being kept in a disabled state. Newer boards have a hardware fix to avoid this leakage and thus should enable the voltage supervisor. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2024-06-24dt-bindings: imx: Drop redundant imports with dts/upstreamSumit Garg
Drop redundant header imports with dts/upstream already providing updated headers which have been checked to be backwards compatibility. The imx headers which aren't present in dts/upstream are as follows: - include/dt-bindings/clock/imxrt1020-clock.h - include/dt-bindings/clock/imx8qm-clock.h - include/dt-bindings/clock/imxrt1170-clock.h - include/dt-bindings/clock/imx8qxp-clock.h - include/dt-bindings/memory/imxrt-sdram.h - include/dt-bindings/pinctrl/pads-imx8qxp.h - include/dt-bindings/pinctrl/pads-imx8qm.h - include/dt-bindings/soc/imx8_pd.h - include/dt-bindings/soc/imx_rsrc.h hence these aren't dropped yet but there was an unused header: - include/dt-bindings/pinctrl/pins-imx8mq.h which has been dropped as well. There shouldn't be any funtional impact with this change but it rather allows iMX platforms to use upstream dt-bindings headers in a backwards compatible manner. Signed-off-by: Sumit Garg <sumit.garg@linaro.org> Reviewed-by: Michael Trimarchi <michael@amarulasolutions.com>
2024-06-24arm: fsl: imx6ulz_bsh_smm_m2: Migrate to OF_UPSTREAMPatrick Barsanti
Migrate imx6ulz_bsh_smm_m2 board to OF_UPSTREAM. Signed-off-by: Patrick Barsanti <patrick.barsanti@amarulasolutions.com>
2024-06-24arm: fsl: imx8mn_bsh_smm_s2: Migrate to OF_UPSTREAMPatrick Barsanti
Migrate imx8mn_bsh_smm_s2 and imx8mn_bsh_smm_s2pro boards to OF_UPSTREAM. Signed-off-by: Patrick Barsanti <patrick.barsanti@amarulasolutions.com> Tested-by: Michael Trimarchi <michael@amarulasolutions.com> Reviewed-by: Peng Fan <peng.fan@nxp.com>
2024-06-20Merge patch series "boot: fix crash in bootflow menu with EFI BOOTMGR ↵Tom Rini
support + typos" Quentin Schulz <foss+uboot@0leil.net> says: bootflow menu currently crashes U-Boot with a NULL pointer dereference because bootflow->dev is NULL for global bootmeths (such as EFI BOOTMGR). Therefore, let's check if the bootflow is associated with a global bootmeth before trying to make it part of the menu. While this makes U-Boot not crash anymore, bootflow menu doesn't work for me (I have never had a happy path with it, but I haven't actually tried it before today :) ) and this was basically just implemented following Simon's suggestion sent over IRC. No clue if this is enough or just a quick band-aid patch. This also fixes typos in multiple places.
2024-06-20Merge patch series "lib: smbios: Extend driver with using sysinfo driver"Tom Rini
Michal Simek <michal.simek@amd.com> says: Hi, currently only DT way is supported and it is added directly to lib/smbios.c but I think DT and env is only one way how information can be found that's why this series is improving handling with using sysinfo driver which can be platform specific. At the end of day DT should be taken from smbios.c and put to sysinfo DT driver instead of implementing it directly in this generic file.
2024-06-20boot: bootflow_menu: fix crash for EFI BOOTMGR global bootmethQuentin Schulz
The global bootmeths don't set the dev in bootflow struct which means the dev_get_parent(bflow->dev) triggers a NULL-pointer dereference and crash U-Boot. So before trying to handle a bootflow, check that the associated bootmeth isn't global, otherwise skip it. Suggested-by: Simon Glass <sjg@chromium.org> Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de> Reviewed-by: Simon Glass <sjg@chromium.org>
2024-06-20lib: smbios: Detect system properties via SYSINFO IDsMichal Simek
Code is pretty much supports only DT properties and completely ignore information coming from sysinfo driver. Code is calling smbios_add_prop() which calls with smbios_add_prop_si(SYSINFO_ID_NONE). But SYSINFO_ID_NONE can't differentiate different entries from sysinfo driver. That's why introduce separate SYSINFO macros which can be used in sysinfo driver and passed to smbios structure. Signed-off-by: Michal Simek <michal.simek@amd.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2024-06-20doc: bootstd: fix typosQuentin Schulz
This fixes a few syntactic issues as well as typos and grammar. Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de> Reviewed-by: Simon Glass <sjg@chromium.org>
2024-06-20boot: fix typos in help text of Kconfig configsQuentin Schulz
This fixes a handful of typos in various help texts in Kconfig configs. Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de> Reviewed-by: Simon Glass <sjg@chromium.org>
2024-06-20cmd: fix typo in CMD_BOOTMETH help textQuentin Schulz
It's bootmeths and not bootmethds. Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de> Reviewed-by: Simon Glass <sjg@chromium.org>
2024-06-20lib: smbios: Let detect the system via sysinfoMichal Simek
Currently code looks like that it sysinfo drivers are supported but actually none checking that system is detected. That's why call sysinfo_detect() to make sure that priv->detected in sysinfo uclass is setup hence information from driver can be passed to smbios. Signed-off-by: Michal Simek <michal.simek@amd.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2024-06-20xilinx: Enable SMBIOS commandMichal Simek
It is good to be aware what information is shared via smbios interface that's why enable it by default. Signed-off-by: Michal Simek <michal.simek@amd.com>
2024-06-20arm: dts: corstone1000: enable secondary cores for FVPHarsimran Singh Tungal
Add the secondary cores nodes in the dts file Signed-off-by: Harsimran Singh Tungal <harsimransingh.tungal@arm.com> Cc: Tom Rini <trini@konsulko.com> Cc: Rui Miguel Silva <rui.silva@linaro.org>
2024-06-20Merge patch series "Enable ICSSG Driver for AM64x"Tom Rini
MD Danish Anwar <danishanwar@ti.com> says: This series adds config changes and env changes to enable ICSSG Ethernet Driver on AM64x.
2024-06-19board: ti: am64x: Set storage_interface and fw_dev_part ENVsMD Danish Anwar
When ICSSG driver is enabled (CONFIG_TI_ICSSG_PRUETH=y) set storage_interface and fw_dev_part env variables. These variables need be set appropriately in order to load different ICSSG firmwares needed for ICSSG driver. By default the storage interface is mmc and the partition is 1:2. User can modify this based on their needs. Signed-off-by: MD Danish Anwar <danishanwar@ti.com>
2024-06-19configs: am64x_evm_a53: Enable ICSSG DriverMD Danish Anwar
Enable ICSSG driver, DP83869 phy driver, REMOTEPROC and PRU_REMOTEPROC in am64x_evm_a53_defconfig. All these configs are needed for ICSSG driver. Signed-off-by: MD Danish Anwar <danishanwar@ti.com>
2024-06-19Merge patch series "Add basic U-Boot Support for J722S-EVM"Tom Rini
Jayesh Choudhary <j-choudhary@ti.com> says: Hello there, This series add the U-Boot support for our new platform of K3-SOC family - J722S-EVM which is a superset of AM62P. It shares the same memory map and thus the nodes are being reused from AM62P includes instead of duplicating the definitions. Some highlights of J722S SoC (in addition to AM62P SoC features) are: - Two Cortex-R5F for Functional Safety or general-purpose usage and two C7x floating point vector DSP with Matrix Multiply Accelerator for deep learning. - Vision Processing Accelerator (VPAC) with image signal processor and Depth and Motion Processing Accelerator (DMPAC). - 7xUARTs, 3xSPI, 5xI2C, 2xUSB2, 2xCAN-FD, 3xMMC and SD, GPMC for NAND/FPGA connection, OSPI memory controller, 5xMcASP for audio, 4xCSI-RX for Camera, 1 PCIe Gen3 controller, USB3.0 eCAP/eQEP, ePWM, among other peripherals. TRM: <https://www.ti.com/lit/zip/sprujb3> Schematics: <https://www.ti.com/lit/zip/sprr495> Boot test log: <https://gist.github.com/Jayesh2000/0313e58fde377f877a9a8f1acc2579ef>
2024-06-19doc: board: ti: Add J722S-EVM documentationJayesh Choudhary
Introduce basic documentation for the J722S-EVM. Signed-off-by: Jayesh Choudhary <j-choudhary@ti.com> Reviewed-by: Neha Malcom Francis <n-francis@ti.com>
2024-06-19configs: introduce configs needed for the J722SJayesh Choudhary
Introduce the initial configs needed to support the J722S SoC family. Signed-off-by: Vaishnav Achath <vaishnav.a@ti.com> Signed-off-by: Jayesh Choudhary <j-choudhary@ti.com>