summaryrefslogtreecommitdiff
path: root/board/dhelectronics
AgeCommit message (Collapse)Author
2023-10-04Merge tag 'u-boot-stm32-20231004' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-stm STM32 MCU: _ alignment with kernel DT v6.5 for stm32f429 and stm32f746 _ rework way of displaying ST logo for stm32f746-disco and stm32f769-disco STM32 MPU: _ alignment with kernel DT v6.6-rc1 _ add RNG support for stm32mp13 _ add USB, USB boot and stm32prog command support for stm32mp13 _ add support of USART1 clock for stm32mp1 _ only print RAM and board code with SPL_DISPLAY_PRINT flag for stm32mp1 _ rename update_sf to dh_update_sd_to_sf and add dh_update_sd_to_emmc for stm32mp15xx DHCOR [ Fix merge conflict at board/st/common/stm32mp_dfu.c ] Signed-off-by: Tom Rini <[email protected]>
2023-10-04board: dh_stm32mp1: Only print board code with CONFIG_SPL_DISPLAY_PRINTHarald Seiler
Ensure that the SoM and board code information is only printed when CONFIG_SPL_DISPLAY_PRINT is set. Signed-off-by: Harald Seiler <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2023-09-24common: Drop linux/printk.h from common headerSimon Glass
This old patch was marked as deferred. Bring it back to life, to continue towards the removal of common.h Move this out of the common header and include it only where needed. Signed-off-by: Simon Glass <[email protected]>
2023-08-09treewide: rework linker symbol declarations in sections headerShiji Yang
1. Convert all linker symbols to char[] type so that we can get the corresponding address by calling array name 'var' or its address '&var'. In this way, we can avoid some potential issues[1]. 2. Remove unused symbol '_TEXT_BASE'. It has been abandoned and has not been referenced by any source code. 3. Move '__data_end' to the arch x86's own sections header as it's only used by x86 arch. 4. Remove some duplicate declared linker symbols. Now we use the standard header file to declare them. [1] This patch fixes the boot failure on MIPS target. Error log: SPL: Image overlaps SPL Fixes: 1b8a1be1a1f1 ("spl: spl_legacy: Fix spl_end address") Signed-off-by: Shiji Yang <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2023-08-03ARM: imx: Update MAINTAINERS file on DH electronics i.MX8M Plus DHCOMMarek Vasut
Make use of globs to cover all the DTs and defconfigs. Fill in missing DH u-boot list name. Signed-off-by: Marek Vasut <[email protected]>
2023-06-16ARM: stm32: Use __section(".data") with dot in the section name on DHSOMMarek Vasut
The correct specifier of the section is ".data" and not "data", use the former to place the variables in ".data" section. Fixes: 731fd50e27f ("ARM: stm32: Implement board coding on AV96") Fixes: 92ca0f7446c ("ARM: dts: stm32: Synchronize DDR setttings on DH SoMs") Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Patrice Chotard <[email protected]> Reviewed-by: Patrick Delaunay <[email protected]>
2023-03-30arm64: imx8mm: imx8mn: imx8mp: Drop FEC GPR[1] board workaroundMarek Vasut
The FEC interface mode is now configured in common board_interface_eth_init() and called by FEC MAC driver when appropriate. Drop the board side duplicates if the same functionality. Signed-off-by: Marek Vasut <[email protected]>
2023-03-30arm64: imx8mp: Drop EQoS GPR[1] board workaroundMarek Vasut
The EQoS interface mode is now configured in common board_interface_eth_init() and called by EQoS MAC driver when appropriate. Drop the board side duplicates if the same functionality. Signed-off-by: Marek Vasut <[email protected]>
2023-03-30arm64: imx8mp: Auto-detect PHY on i.MX8MP DHCOMMarek Vasut
The i.MX8MP DHCOM SoM may be populated with either KSZ9131RNXI RGMII PHY or LAN8740Ai RMII PHY attached to EQoS MAC, and either external RGMII PHY or LAN8740Ai RMII PHY attached to FEC MAC. The SoM configuration can be detected for each MAC by reading RX_CTL pull resistor state early on boot. Make use of this, detect the exact PHY configuration, and patch control DT accordingly so that the ethernet is configured correctly in U-Boot. Signed-off-by: Marek Vasut <[email protected]>
2023-03-30ARM: imx: Add 2 GiB DRAM support for DH electronics i.MX8M Plus DHCOMMarek Vasut
The DH electronics i.MX8M Plus DHCOM SoM currently supports only 4 GiB of DRAM population option. Add another population option with 2 GiB of DRAM. The chips used on the 2 GiB option are 2x K4F6E3S4HM-MGCJ . Signed-off-by: Marek Vasut <[email protected]>
2023-01-30ARM: imx: Remove PMIC reset configuration from board filesMarek Vasut
The PCA9450 reset configuration can now be performed by the PCA9450 PMIC driver itself, remove the hard-coded variant from board code and let the PMIC driver perform this task using one-liner: ``` $ sed -i '/set WDOG_B_CFG to cold reset/,+2 d' $(git grep -l PCA9450_RESET_CTRL.*0xA1 board/) ``` Venice and i.MX93 EVK required slight manual fix up. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Fabio Estevam <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2022-10-18ARM: dts: stm32: Add DHCOR based Testbench boardMarek Vasut
Add DT for DHCOR Testbench board, which is a testbench for testing of DHCOR SoM during manufacturing. This is effectively a trimmed down version of AV96 board with CSI-2 bridge, HDMI bridge, WiFi, Audio and LEDs removed and used as GPIOs instead. Furthermore, the PMIC Buck3 is always configured from PMIC NVM to cater for both 1V8 and 3V3 SoM variant. Signed-off-by: Marek Vasut <[email protected]> Cc: Patrice Chotard <[email protected]> Cc: Patrick Delaunay <[email protected]> Reviewed-by: Patrice Chotard <[email protected]>
2022-10-18ARM: dts: stm32: Remove buck3 regulator-always-on on AV96Marek Vasut
In case the regulator-always-on is present in regulator DT node, the regulator is always reconfigured to the voltage set in DT on probe, even if regulator_set_value() has been called before. Drop the property from AV96 U-Boot DT and enable the regulator manually in code, as the board already reconfigures the Buck3 regulator in code per PMIC NVM content instead. Fixes: 0adf10a87b1 ("ARM: dts: stm32: Configure Buck3 voltage per PMIC NVM on Avenger96") Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Patrice Chotard <[email protected]>
2022-09-26Merge branch 'next' of https://gitlab.denx.de/u-boot/custodians/u-boot-riscv ↵Tom Rini
into next
2022-09-20ARM: imx: Deduplicate i.MX8M SNVS LPGPR unlockMarek Vasut
Pull this LPGPR unlock into common code, since it is used in multiple systems already. Signed-off-by: Marek Vasut <[email protected]>
2022-09-19Merge branch 'master' into nextTom Rini
Signed-off-by: Tom Rini <[email protected]>
2022-09-18ARM: imx: Update DDR frequency on i.MX8M Plus DHCOMMarek Vasut
Commit 99c7cc58e12 ("ddr: imx: Add i.MX9 DDR controller driver") contains an inobvious side-effect which renders all systems using DRAM controller at 3732 MT/s unbootable. The change is located in ddrphy_init_set_dfi_clk(), where the switch case statement entry 3732 changed to entry 3733, so any board with DDR calibration data for 3732 MT/s operations needs to be updated to 3733 MT/s to match the change. Since there is currently only one such board, update the board instead of handling both 3732 and 3733 options in the driver. It is likely the NXP MX8MP RPA update will follow and use the later value too. Signed-off-by: Marek Vasut <[email protected]> Cc: Fabio Estevam <[email protected]> Cc: Peng Fan <[email protected]> Cc: Stefano Babic <[email protected]> Cc: Ye Li <[email protected]> Cc: uboot-imx <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2022-09-18cyclic: Use schedule() instead of WATCHDOG_RESET()Stefan Roese
Globally replace all occurances of WATCHDOG_RESET() with schedule(), which handles the HW_WATCHDOG functionality and the cyclic infrastructure. Signed-off-by: Stefan Roese <[email protected]> Reviewed-by: Simon Glass <[email protected]> Tested-by: Tom Rini <[email protected]> [am335x_evm, mx6cuboxi, rpi_3,dra7xx_evm, pine64_plus, am65x_evm, j721e_evm]
2022-09-06ARM: stm32: Switch DHSOM to FMC2 EBI driverMarek Vasut
Perform long overdue conversion of ad-hoc FMC2 EBI bus initialization to upstream FMC2 EBI driver. No functional change. Signed-off-by: Marek Vasut <[email protected]> Cc: Patrice Chotard <[email protected]> Cc: Patrick Delaunay <[email protected]> Reviewed-by: Patrice Chotard <[email protected]> Reviewed-by: Patrick Delaunay <[email protected]>
2022-09-01ARM: imx6: dh-imx6: Enable d-cache early in SPLMarek Vasut
Enable d-cache early in SPL right after DRAM is started up. This reduces U-Boot proper load time by 650ms when loaded from SPI NOR. Signed-off-by: Marek Vasut <[email protected]> Signed-off-by: Philip Oberfichtner <[email protected]>
2022-08-12ARM: stm32: DH: Use common MAC address functionsPhilip Oberfichtner
To reduce code duplication, let the stm32 based DH boards use the common code for setting up their MAC addresses. Signed-off-by: Philip Oberfichtner <[email protected]> Tested-by: Marek Vasut <[email protected]> Reviewed-by: Marek Vasut <[email protected]> Reviewed-by: Patrick Delaunay <[email protected]>
2022-08-12ARM: imx8: DH: Use common MAC address functionsPhilip Oberfichtner
To reduce code duplication, let the imx8 based DH boards use the common code for setting up their MAC addresses. Signed-off-by: Philip Oberfichtner <[email protected]> Tested-by: Marek Vasut <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2022-08-12ARM: imx6: DH: Use common MAC address functionsPhilip Oberfichtner
To reduce code duplication, let the imx6 based DH boards use the common code for setting up their MAC addresses. Signed-off-by: Philip Oberfichtner <[email protected]> Tested-by: Marek Vasut <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2022-08-12board: dhelectronics: Implement common MAC address functionsPhilip Oberfichtner
This is a starting point for unifying duplicate code in the DH board files. The functions for setting up MAC addresses are very similar for the i.MX6, i.MX8 and stm32mp1 based boards. All pre-existing implementations follow the same logic: (1) Check if ethaddr is already set in the environment (2) If not, try to get it from a board specific location (e.g. fuse) (3) If not, try to get it from eeprom After this commit, (1) and (3) are implemented as common functions, ready to be used by board specific files. Furthermore there is an implementation of (2) for imx based boards. Signed-off-by: Philip Oberfichtner <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2022-06-20Merge branch 'master' into nextTom Rini
Merge in v2022.07-rc5.
2022-06-17board: dhelectronics: stm32mp1: convert to livetreePatrick Delaunay
Replace call to fdt_*() functions and access to gd->fdt_blob with call to ofnode_*() functions to support a live tree. Tested-by: Marek Vasut <[email protected]> Signed-off-by: Patrick Delaunay <[email protected]> Reviewed-by: Patrice Chotard <[email protected]>
2022-06-17ARM: dts: stm32: Add DHCOR based DRC Compact boardMarek Vasut
Add DT for DH DRC Compact unit, which is a universal controller device. The system has two ethernet ports, one CAN, RS485 and RS232, USB, uSD card slot, eMMC and SDIO Wi-Fi. Signed-off-by: Marek Vasut <[email protected]> Cc: Patrice Chotard <[email protected]> Cc: Patrick Delaunay <[email protected]> Reviewed-by: Patrice Chotard <[email protected]> Reviewed-by: Patrick Delaunay <[email protected]>
2022-05-23Merge tag 'u-boot-imx-20220523' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-imx u-boot-imx-20220523 ------------------- CI: https://source.denx.de/u-boot/custodians/u-boot-imx/-/pipelines/12087 Additionally to u-boot-imx20200520: - DH MX8MP - i.MX GPIO: reading GPIO when direction is output - Menlo i.MX53: switch to DM And from u-boot-imx20200520: - fix Verdin hang - add pca9450 regulator - conversion to DM_SERIAL - NAND block handling - fix crypto - enable cache on some boards - add ACC board (MX6)
2022-05-23ARM: dts: imx: Add support for DH electronics i.MX8M Plus DHCOM and PDK2Marek Vasut
Add support for DH electronics i.MX8M Plus DHCOM SoM on PDK2 carrier board. Currently supported are serial console, EQoS and FEC ethernets, eMMC, SD, SPI NOR and USB 3.0 host. Signed-off-by: Marek Vasut <[email protected]> Cc: Fabio Estevam <[email protected]> Cc: Peng Fan <[email protected]> Cc: Stefano Babic <[email protected]>
2022-05-20ARM: imx6: Adapt device tree selection in DH board filePhilip Oberfichtner
Before this commit device tree selection could rely solely on differentiating the iMX6 processor variant Q and DL. After adding two new carrier boards, the DRC02 and the picoITX, the interchangeability of SoMs makes this approach infeasible. It is now required to specify the carrier board (dhcom-drc02, dhcom-picoitx or dhcom-pdk2) at compile time using CONFIG_DEFAULT_DEVICETREE. The SoM is determined at runtime as before. Signed-off-by: Philip Oberfichtner <[email protected]>
2022-05-20ARM: imx6: Fix broken DT path in DH board filePhilip Oberfichtner
In the DH electronics iMX6 board file fix the outdated eeprom path by using a DT label instead. The label has been newly created for all iMX6QDL DHCOM boards. Reviewed-by: Marek Vasut <[email protected]> Signed-off-by: Philip Oberfichtner <[email protected]>
2022-05-19ARM: dts: stm32: Configure Buck3 voltage per PMIC NVM on Avenger96Marek Vasut
The Avenger96 board comes in multiple regulator configurations. - rev.100 or rev.200 have Buck3 preconfigured to 3V3 operation on boot and contains extra Enpirion EP53A8LQI DCDC converter which supplies the IO. Reduce Buck3 voltage to 2V9 to not waste power. - rev.200L have Buck3 preconfigured to 1V8 operation and have no Enpirion EP53A8LQI DCDC anymore, the IO is supplied from Buck3. Configure the Buck3 voltage on this board per PMIC NVM settings and update buck3 voltage limits in DT passed to OS before booting OS to prevent potential hardware damage. Signed-off-by: Marek Vasut <[email protected]> Cc: Patrice Chotard <[email protected]> Cc: Patrick Delaunay <[email protected]> Reviewed-by: Patrick Delaunay <[email protected]>
2022-04-28led: Drop led_default_state()Marek Vasut
This function is empty, drop it. Signed-off-by: Marek Vasut <[email protected]> Cc: Patrice Chotard <[email protected]> Cc: Patrick Delaunay <[email protected]> Cc: Sean Anderson <[email protected]> Cc: Simon Glass <[email protected]> Cc: Steven Lawrance <[email protected]> Reviewed-by: Patrice Chotard <[email protected]>
2021-12-13ARM: stm32: Fix SoM and board coding strap GPIO handling on DHSOMMarek Vasut
The variables retaining the strap values have to be initialized, always, make it so. Moreover, free the requested GPIO list at the end to avoid wasting memory. Signed-off-by: Marek Vasut <[email protected]> Cc: Patrice Chotard <[email protected]> Cc: Patrick Delaunay <[email protected]> Reviewed-by: Patrice Chotard <[email protected]> Reviewed-by: Patrick Delaunay <[email protected]>
2021-11-10ARM: stm32: Align mtdparts with SPI NOR layout on DHSOMMarek Vasut
The DHSOM uses different SPI NOR layout than the ST devkit, stop pulling in the ST specific runtime mtdparts settings and adjust the mtdparts accordingly. Signed-off-by: Marek Vasut <[email protected]> Cc: Patrice Chotard <[email protected]> Cc: Patrick Delaunay <[email protected]> Reviewed-by: Patrice Chotard <[email protected]> Reviewed-by: Patrick Delaunay <[email protected]>
2021-11-10board: stmp32mp1: split board and SOC STM32MP15 configurationPatrick Delaunay
Add a configuration file "stm32mp15_st_common.h" to handle the STMicroelectronics boards configuration and rename stm32mp1.h to "stm32mp15_common.h" to handle the generic STM32MP15x series configuration. The configuration file "dh_stm32mp1.h" is also renamed to "stm32mp15_dh_dhcom" for the configuration of board based on the dhelectronics STM32MP15x SOM. In the STMicroelectronics board configuration the default bootcmd "bootcmd_stm32mp" is updated to only select the extlinux file found on SD-Card on STM32MP15x EV1 for boot from NOR device. Signed-off-by: Patrick Delaunay <[email protected]> Reviewed-by: Patrice Chotard <[email protected]>
2021-10-12Merge tag 'u-boot-stm32-20211012' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-stm - Disable ATAGS for STM32 MCU and MPU boards - Disable bi_boot_params for STM32 MCU and MPU boards - Update stm32-usbphyc node management - Convert CONFIG_STM32_FLASH to Kconfig for STM32 MCU boards - Convert some USB config flags to Kconfig for various boards - Convert CONFIG_BOOTCOMMAND flag to Kconfig for STM32 F429 board - Remove specific CONFIG_STV0991 flags - Remove unused CONFIG_USER_LOWLEVEL_INIT flag - Add ofdata_to_platdata() callback for stm32_spi driver - Update for stm32f7_i2c driver - Remove gpio_hog_probe_all() from STM32 MP1 board - Fix bind command Signed-off-by: Tom Rini <[email protected]>
2021-10-08board: dh_stm32mp1: Remove gpio_hog_probe_all() from boardPatrice Chotard
DM_GPIO_HOG flag has been replaced by GPIO_HOG flag since a while in commit 49b10cb49262 ("gpio: fixes for gpio-hog support"). And furthermore, gpio_hog_probe_all() is already called in board_r.c. So gpio_hog_probe() can be removed from stm32mp1.c. Signed-off-by: Patrice Chotard <[email protected]> Cc: Marek Vasut <[email protected]> Reviewed-by: Patrick Delaunay <[email protected]>
2021-10-08board: stm32: Remove the bi_boot_params initializationPatrick Delaunay
The stm32 platforms never had to support an ATAGs-based Linux Kernel, so remove the bi_boot_params initialization. Signed-off-by: Patrick Delaunay <[email protected]> Reviewed-by: Patrice Chotard <[email protected]> Tested-by: Patrice Chotard <[email protected]> Tested-by: Alexandru Gagniuc <[email protected]>
2021-09-25treewide: fdt: Move fdt_get_config_... to ofnode_conf_read...Simon Glass
The current API is outdated as it requires a devicetree pointer. Move these functions to use the ofnode API and update this globally. Add some tests while we are here. Correct the call in exynos_dsim_config_parse_dt() which is obviously wrong. Signed-off-by: Simon Glass <[email protected]>
2021-07-10ARM: imx6: Update dhelectronics/dh_imx6/MAINTAINERS fileChristoph Niedermaier
Adding new DH electronics mailing list and update list of maintainers. Signed-off-by: Christoph Niedermaier <[email protected]>
2021-06-18board: stm32mp1: correct the property name for ethPatrick Delaunay
Use the correct name for STMicroelectronics phys config properties, replace '_' by '-': "st,eth_clk_sel" => "st,eth-clk-sel" "st,eth-ref-clk-sel" => st,eth-clk-sel" These property name are aligned with the upstreamed Linux kernel binding: linux/Documentation/devicetree/bindings/net/stm32-dwmac.yaml See Linux kernel commit "dt-bindings: net: stmmac: add phys config properties" merged in v5.1-rc1. This patch allow to reuse the kernel device tree directly in U-Boot. Signed-off-by: Patrick Delaunay <[email protected]> Reviewed-by: Patrice Chotard <[email protected]>
2021-05-28ARM: stm32: Add additional ID register check for KSZ8851 presenceMarek Vasut
Currently the code sets eth1addr only if /ethernet1 alias exists in DT, the node pointed to by the alias has "micrel,ks8851-mll" compatible string, and the KSZ8851 CCR register read indicates programmed EEPROM is not connected. This is not sufficient to detect cases where the DT still contains the KSZ8851 nodes, but the chip itself is not present. Extend the detection to handle these cases. Signed-off-by: Marek Vasut <[email protected]> Cc: Patrice Chotard <[email protected]> Cc: Patrick Delaunay <[email protected]> Reviewed-by: Patrice Chotard <[email protected]> Reviewed-by: Patrick Delaunay <[email protected]>
2021-05-28ARM: stm32: Update dhelectronics/dh_stm32mp1/MAINTAINERS fileChristoph Niedermaier
Adding new DH electronics mailing list. Signed-off-by: Christoph Niedermaier <[email protected]> Reviewed-by: Patrick Delaunay <[email protected]>
2021-02-02common: Drop asm/global_data.h from common headerSimon Glass
Move this out of the common header and include it only where needed. In a number of cases this requires adding "struct udevice;" to avoid adding another large header or in other cases replacing / adding missing header files that had been pulled in, very indirectly. Finally, we have a few cases where we did not need to include <asm/global_data.h> at all, so remove that include. Signed-off-by: Simon Glass <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2021-01-13ARM: stm32: Use firmware property instead of loadablesMichal Simek
There shouldn't be a need to use loadables propertyn because u-boot can be pointed by firmware property. This change should also speedup boot process because loadables property is list of strings which code is going through. On the other hand firmware can just point to one image. Signed-off-by: Michal Simek <[email protected]> Reviewed-by: Patrick Delaunay <[email protected]> Reviewed-by: Patrice Chotard <[email protected]>
2021-01-05dm: Rename DM_GET_DRIVER() to DM_DRIVER_GET()Simon Glass
In the spirit of using the same base name for all of these related macros, rename this to have the operation at the end. This is not widely used so the impact is fairly small. Signed-off-by: Simon Glass <[email protected]>
2020-11-25ARM: dts: stm32: Add DHCOM based PicoITX boardMarek Vasut
Add DT for DH PicoITX unit, which is a bare-bones carrier board for the DHCOM. The board has ethernet port, USB, CAN, LEDs and a custom board-to-board expansion connector. Signed-off-by: Marek Vasut <[email protected]> Cc: Patrice Chotard <[email protected]> Cc: Patrick Delaunay <[email protected]> Reviewed-by: Patrice Chotard <[email protected]> Reviewed-by: Patrick Delaunay <[email protected]>
2020-10-21ARM: dts: stm32: Do not set eth1addr if KS8851 has EEPROMMarek Vasut
In case the KS8851 has external EEPROM attached to it, do not set eth1addr at all. The network stack will read the MAC out of the KS8851 and set eth1addr accordingly. Signed-off-by: Marek Vasut <[email protected]> Cc: Patrice Chotard <[email protected]> Cc: Patrick Delaunay <[email protected]> Reviewed-by: Patrice Chotard <[email protected]> Reviewed-by: Patrick Delaunay <[email protected]>
2020-08-13ARM: dts: stm32: Update eth1addr from EEPROM if eth1 presentMarek Vasut
The STM32MP1 DHCOM has two ethernet interfaces, the on-SoM DWMAC and KS8851. Set eth1addr for the KS8851 to a MAC address of the DWMAC incremented by 1. The MAC of the DWMAC is set from on-SoM EEPROM already, but the MAC address of KS8851 was left uninitialized, so fix this. Signed-off-by: Marek Vasut <[email protected]> Cc: Patrice Chotard <[email protected]> Cc: Patrick Delaunay <[email protected]> Reviewed-by: Patrice Chotard <[email protected]>