summaryrefslogtreecommitdiff
path: root/board/ti/j721e/evm.c
AgeCommit message (Collapse)Author
2024-04-25board: ti: Fix call to fdt_fixup_msmc_ramEmanuele Ghidoli
Substitute failing calls to fdt_fixup_msmc_ram function by calling fdt_fixup_msmc_ram_k3 function which was implemented in commit [1]. At functional level nothing changes. [1] b6e669d7a393 ("arm: k3: Fix ft_system_setup so it can be enabled on any SoC") Upstream-Status: Inappropriate Commit [1] is already upstreamed and the new function is already used when new boards were added. Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
2024-03-21board: ti: Pull redundant DDR functions to a common location and Fixup DDR ↵Santhosh Kumar K
size when ECC is enabled As there are few redundant functions in board/ti/*/evm.c files, pull them to a common location of access to reuse and include the common file to access the functions. Call k3-ddrss driver through fixup_ddr_driver_for_ecc() to fixup the device tree and resize the available amount of DDR, if ECC is enabled. Otherwise, fixup the device tree using the regular fdt_fixup_memory_banks(). Modify fixup_ddr_driver_for_ecc() to make the function agnostic to the number of DDR controllers present. Signed-off-by: Santhosh Kumar K <s-k6@ti.com> Signed-off-by: Neha Malcom Francis <n-francis@ti.com>
2023-10-09board: ti: j721e: Initialize MCU ESMKeerthy
Currently only the Main domain ESM is being initialized. For watchdog reset we need the MCU ESM as well. Enbaling the same. Signed-off-by: Keerthy <j-keerthy@ti.com>
2023-08-07board: ti: j721e: Add beaglebone-ai64 detectionNishanth Menon
Use eeprom detection logic to detect if beaglebone-ai64 is detected. Signed-off-by: Nishanth Menon <nm@ti.com>
2023-06-13board: ti: j721e: initialize PMIC support for J7200 SOMNeha Malcom Francis
PMIC support is available for J7200X-PM2-SOM board, as such enable support for it. Signed-off-by: Neha Malcom Francis <n-francis@ti.com>
2023-06-07board: ti: j721e: Disable hyperflash fixup for J721E SKVaishnav Achath
J721E SoM and J7200 SoM has hyperflash connected to the hyperbus interface, other platforms like J721E SK does not have a hyperflash available in the platform, limit the hyperflash fixups to J721E and J7200 SoM only. Signed-off-by: Vaishnav Achath <vaishnav.a@ti.com>
2023-05-25board: ti: j721e: initialize ESM support for J7200 SOMGowtham Tammana
ESM support is available for J7200X-PM2-SOM board, as such enable support for it. Signed-off-by: Gowtham Tammana <g-tammana@ti.com> Signed-off-by: Neha Malcom Francis <n-francis@ti.com>
2022-12-05global: Move remaining CONFIG_SYS_SDRAM_* to CFG_SYS_SDRAM_*Tom Rini
The rest of the unmigrated CONFIG symbols in the CONFIG_SYS_SDRAM namespace do not easily transition to Kconfig. In many cases they likely should come from the device tree instead. Move these out of CONFIG namespace and in to CFG namespace. Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2022-09-23board_f: Fix types for board_get_usable_ram_top()Pali Rohár
Commit 37dc958947ed ("global_data.h: Change ram_top type to phys_addr_t") changed type of ram_top member from ulong to phys_addr_t but did not changed types in board_get_usable_ram_top() function which returns value for ram_top. So change ulong to phys_addr_t type also in board_get_usable_ram_top() signature and implementations. Fixes: 37dc958947ed ("global_data.h: Change ram_top type to phys_addr_t") Signed-off-by: Pali Rohár <pali@kernel.org> Reviewed-by: Simon Glass <sjg@chromium.org>
2022-07-06board: ti: j721e: Return if there is an error while configuring SerDesAswath Govindraju
While configuring SerDes, errors could be encountered, in these cases, return instead of going ahead. This is will help in booting even if configuration of SerDes fails. Signed-off-by: Aswath Govindraju <a-govindraju@ti.com>
2022-06-10ti: j721e: enable hyperflash spl fixup for j721eVaishnav Achath
On j721e, its not possible to use OSPI0 and HBMC simultaneously as they are muxed within the Flash Subsystem hence disable HBMC by default and keep OSPI enabled. Bootloader will fixup DT when it detects HyperFlash mux selection instead of OSPI. Also updated detect_enable_hyperflash to use correct GPIO when checking hypermux selection state: * J7200 - hypermux sel connected to WKUP_GPIO0_6 * J721E - hypermux·sel·connected·to·WKUP_GPIO0_8 Signed-off-by: Vaishnav Achath <vaishnav.a@ti.com>
2022-03-14board: ti: j721e: evm.c: Fix the probing of in Sierra SerDes0Aswath Govindraju
Initialization and power on operations of links have been moved under the link device in the Sierra SerDes driver. Also, the UCLASS of sierra_phy_provider has been changed to UCLASS_MISC. Therefore, fix the probing of SerDes0 instance accordingly. Signed-off-by: Aswath Govindraju <a-govindraju@ti.com> Reviewed-by: Georgi Vlaev <g-vlaev@ti.com>
2022-02-16board: ti: j721e: Add support for detecting multiple device treesSinthu Raja
Update the board_fit_config_name_match() to choose the right dtb based on the board name read from EEPROM. Also restrict multpile EEPROM reads by verifying if EEPROM is already read. Signed-off-by: Sinthu Raja <sinthu.raja@ti.com>
2022-02-16board: ti: j721e: Disable probing of daughtercardsSinthu Raja
j721e-sk doesn't have any daughter cards, so disable daughter card probing inside board_late_init() and spl_board_init() for j721e-sk. Signed-off-by: Sinthu Raja <sinthu.raja@ti.com>
2022-02-16board: ti: j721e: Add support to update board_name for j721e-skSinthu Raja
Update setup_board_eeprom_env() to choose the right board name for j721e-sk. Signed-off-by: Sinthu Raja <sinthu.raja@ti.com>
2022-02-16board: ti: j721e: Enable support for reading EEPROM at next alternate addressSinthu Raja
J721E EVM has EEPROM populated at 0x50. J721E SK has EEPROM populated at next address 0x51 in order to be compatible with RPi. So start looking for TI specific EEPROM at 0x50, if not found look for EEPROM at 0x51. Signed-off-by: Sinthu Raja <sinthu.raja@ti.com>
2022-02-16board: ti: j721e: Guard functions with right #ifdef to avoid build warningsSinthu Raja
board_late_init(), setup_board_eeprom_env() and setup_serial() is called only under CONFIG_BOARD_LATE_INIT, so guard these functions with the same. Also, reorder these functions to place it under single #ifdef Signed-off-by: Sinthu Raja <sinthu.raja@ti.com>
2022-02-08board: ti: j721e: evm.c: Add support for probing SerDes0Aswath Govindraju
Add support for probing, initializing and powering, SerDes0 instance. Signed-off-by: Aswath Govindraju <a-govindraju@ti.com>
2021-08-02global: Convert simple_strtoul() with hex to hextoul()Simon Glass
It is a pain to have to specify the value 16 in each call. Add a new hextoul() function and update the code to use it. Add a proper comment to simple_strtoul() while we are here. Signed-off-by: Simon Glass <sjg@chromium.org>
2021-07-27board: ti: j721e: Add support for probing and configuring Torrent serdes on ↵Aswath Govindraju
J7200 Add support for probing and configuring Torrent serdes on J7200. Signed-off-by: Aswath Govindraju <a-govindraju@ti.com> Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com> Link: https://lore.kernel.org/r/20210721155849.20994-11-kishon@ti.com
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 <sjg@chromium.org> Signed-off-by: Tom Rini <trini@konsulko.com>
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 <sjg@chromium.org>
2020-10-12Merge tag 'ti-v2021.01-rc1' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-ti - Minor cleanup on K3 env variables - Fix OSPI compatible for J721e - Drop unused property in omap-usb2-phy - Update Maintainer for am335x-guardian board.
2020-10-12board: ti: j721e: Fix OSPI node compatibleVignesh Raghavendra
Update detect_enable_hyperflash() to look for "ti,am654-ospi" compatible to match the upstream DT node. Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
2020-09-15board: ti: j721e: Add support for HyperFlash detectionVignesh Raghavendra
On J7200 SoC OSPI and HypeFlash are muxed at HW level and only one of them can be used at any time. J7200 EVM has both HyperFlash and OSPI flash on board. There is a user switch (SW3.1) that can be toggled to select OSPI flash vs HyperFlash. Read the state of this switch via wkup_gpio0_6 line and fixup the DT nodes to select OSPI vs HyperFlash Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
2020-08-11board: ti: j721e: Add support for HyperFlash detectionVignesh Raghavendra
On J7200 SoC OSPI0 and HypeFlash are muxed at HW level and only one of them can be used at any time. J7200 EVM has both HyperFlash and OSPI flash on board. There is a user switch (SW3.1) that can be toggled to select OSPI flash vs HyperFlash. Read the state of this switch via wkup_gpio0_6 line and fixup the DT nodes to select OSPI0 vs HyperFlash Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
2020-08-11board: ti: j7200: Add board detection support for j7200Lokesh Vutla
Add board detection support for j7200 common processor board. Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com> Signed-off-by: Dave Gerlach <d-gerlach@ti.com> Reviewed-by: Suman Anna <s-anna@ti.com>
2020-08-11board: ti: j7200: Introduce support for j7200 build targetsLokesh Vutla
j7200-evm has minor differences with j721e-evm based on the IPs available in the SoC. Introduce separate build targets for j7200-evm to incorporate the differences. Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com> Reviewed-by: Suman Anna <s-anna@ti.com>
2020-08-11board: ti: j721e: Update fdt fixup logic for interconnect nodesSuman Anna
The DT nodes on J721E SoCs currently use a node name "interconnect" for the various interconnects. This name is not following the DT schema, and should simply be "bus". Update the fdt fixup logic to use both the current and the expected corrected path names so that this logic won't be broken with newer kernels. Signed-off-by: Suman Anna <s-anna@ti.com>
2020-08-11board: ti: j721e: Probe eeprom only when CONFIG_TI_I2C_BOARD_DETECT is definedLokesh Vutla
Guard all eeprom probe with TI_I2C_BOARD_DETECT to avoid reading eeprom when eeprom is not available Reviewed-by: Suman Anna <s-anna@ti.com> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com> Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
2020-07-17treewide: convert bd_t to struct bd_info by coccinelleMasahiro Yamada
The Linux coding style guide (Documentation/process/coding-style.rst) clearly says: It's a **mistake** to use typedef for structures and pointers. Besides, using typedef for structures is annoying when you try to make headers self-contained. Let's say you have the following function declaration in a header: void foo(bd_t *bd); This is not self-contained since bd_t is not defined. To tell the compiler what 'bd_t' is, you need to include <asm/u-boot.h> #include <asm/u-boot.h> void foo(bd_t *bd); Then, the include direcective pulls in more bloat needlessly. If you use 'struct bd_info' instead, it is enough to put a forward declaration as follows: struct bd_info; void foo(struct bd_info *bd); Right, typedef'ing bd_t is a mistake. I used coccinelle to generate this commit. The semantic patch that makes this change is as follows: <smpl> @@ typedef bd_t; @@ -bd_t +struct bd_info </smpl> Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
2020-05-18common: Drop log.h from common headerSimon Glass
Move this header out of the common header. Signed-off-by: Simon Glass <sjg@chromium.org>
2020-05-18command: Remove the cmd_tbl_t typedefSimon Glass
We should not use typedefs in U-Boot. They cannot be used as forward declarations which means that header files must include the full header to access them. Drop the typedef and rename the struct to remove the _s suffix which is now not useful. This requires quite a few header-file additions. Signed-off-by: Simon Glass <sjg@chromium.org>
2020-05-18common: Drop image.h from common headerSimon Glass
Move this uncommon header out of the common header. Signed-off-by: Simon Glass <sjg@chromium.org>
2020-05-18common: Drop net.h from common headerSimon Glass
Move this header out of the common header. Network support is used in quite a few places but it still does not warrant blanket inclusion. Note that this net.h header itself has quite a lot in it. It could be split into the driver-mode support, functions, structures, checksumming, etc. Signed-off-by: Simon Glass <sjg@chromium.org>
2020-03-03board: ti: j721e: initialize ESM supportTero Kristo
Initialize both ESM and ESM_PMIC support if available for the board. If support is not available for either, a warning is printed out. ESM signals are only properly routed on PM2 version of the J721E SOM, so only probe the drivers on this device. Signed-off-by: Tero Kristo <t-kristo@ti.com>
2020-01-20board: ti: j721e: Print board name and version during bootLokesh Vutla
Print the board name and ver along with the DT Model. Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
2020-01-20board: ti: j721e: Use EEPROM-based board detectionAndreas Dannenberg
The TI J721E EVM system on module (SOM), the common processor board, and the associated daughtercards have on-board I2C-based EEPROMs containing board config data. Use the board detection infrastructure to do the following: 1) Parse the J721E SOM EEPROM and populate items like board name, board HW and SW revision as well as board serial number into the TI common EEPROM data structure residing in SRAM scratch space 2) Check for presence of daughter card(s) by probing associated I2C addresses used for on-board EEPROMs containing daughter card-specific data. If such a card is found, parse the EEPROM data such as for additional Ethernet MAC addresses and populate those into U-Boot accordingly 3) Dynamically apply daughter card DTB overlays to the U-Boot (proper) DTB during SPL execution 4) Dynamically create an U-Boot ENV variable called name_overlays during U-Boot execution containing a list of daugherboard-specific DTB overlays based on daughercards found to be used during Kernel boot. This patch adds support for the J721E system on module boards containing the actual SoC ("J721EX-PM2-SOM", accessed via CONFIG_EEPROM_CHIP_ADDRESS), the common processor board ("J7X-BASE-CPB"), the Quad-Port Ethernet Expansion Board ("J7X-VSC8514-ETH"), the infotainment board ("J7X-INFOTAN-EXP") as well as for the gateway/Ethernet switch/industrial expansion board ("J7X-GESI-EXP"). Signed-off-by: Andreas Dannenberg <dannenberg@ti.com> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
2019-12-02common: Move board_get_usable_ram_top() out of common.hSimon Glass
Move this function into init.h which seems to be designed for this sort of thing. Also update the header to declare struct global_data so that it can be included without global_data.h being needed. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@konsulko.com>
2019-07-26board: ti: j721e: Enable fixing up msmc sram nodeSuman Anna
Create a ft_board_setup() api that gets called as part of DT fixup before jumping to kernel. In this ft_board_setup() call fdt_fixup_msmc_ram that update msmc sram node. Signed-off-by: Suman Anna <s-anna@ti.com> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
2019-07-26board: ti: j721e: Add board support for j721e evmLokesh Vutla
Add board specific initialization for j721e evm Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com> Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com> Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>