summaryrefslogtreecommitdiff
path: root/board/ti
AgeCommit message (Collapse)AuthorFilesLines
2020-05-19common: Drop net.h from common headerSimon Glass14-0/+14
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-06board: ti: README: Update OP-TEE binary nameAndrew F. Davis2-2/+2
The OP-TEE binary to use is renamed to v2 as the v1 binary has been deprecated and is no longer built by default. Reported-by: Grygorii Strashko <grygorii.strashko@ti.com> Signed-off-by: Andrew F. Davis <afd@ti.com>
2020-03-03board: ti: k3: Update the sysfw image gen repositoryLokesh Vutla2-2/+2
Now k3-image-gen[0] is the official repository for generating sysfw.itb Update the same in AM65x and J721e README. [0] https://git.ti.com/cgit/k3-image-gen/k3-image-gen/ Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
2020-03-03board: ti: j721e: initialize ESM supportTero Kristo1-0/+26
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-03-03board: ti: Update AM65x and J721e READMEs for OSPI bootVignesh Raghavendra2-0/+102
Update AM65x and J721e README files with instructions for flashing OSPI images. Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
2020-02-13board: ti: am57xx-idk: Prevent boot for invalid configuationRoger Quadros1-0/+13
On am571x-idk there can be following configurations based on Jumper J51 and LCD panel detected. 1) J51 removed (6port): 6 port Ethernet. Disable LCD panel. 2) J51 placed (LCD) + Panel detected: 4 port Ethernet with appropriate LCD. 3) J51 placed (LCD) + Panel not detected/not supported. Configuration 3 is considered invalid as we can't use display nor ICSS1 ethernet ports due to hardware muxing. Alert the user to fix the configuration and prevent boot. Alternative was to allow boot and limit to 4 port Ethernet with no display but this involved introduction of another DTB for the kernel and was considered not worth the hassle. Signed-off-by: Roger Quadros <rogerq@ti.com> Acked-by: Suman Anna <s-anna@ti.com> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
2020-02-06dm: core: Create a new header file for 'compat' featuresSimon Glass2-0/+2
At present dm/device.h includes the linux-compatible features. This requires including linux/compat.h which in turn includes a lot of headers. One of these is malloc.h which we thus end up including in every file in U-Boot. Apart from the inefficiency of this, it is problematic for sandbox which needs to use the system malloc() in some files. Move the compatibility features into a separate header file. Signed-off-by: Simon Glass <sjg@chromium.org>
2020-01-20Merge tag '2020-01-20-ti-2020.04' of ↵Tom Rini9-215/+718
https://gitlab.denx.de/u-boot/custodians/u-boot-ti K3 J721E: * DMA support. * MMC and ADMA support. * EEPROM support. * J721e High Security EVM support. * USB DT nodes K3 AM654: * Fixed boot due to pmic probe error. * USB support and DT nodes. * ADMA support DRA7xx/AM57xx: * BBAI board support * Clean up of net platform code under board/ti AM33/AM43/Davinci: * Reduce SPL size for omap3 boards. * SPL DT support for da850-lcdk * PLL divider fix for AM335x
2020-01-20arm: mach-k3: Warn when node to disable is not foundAndrew F. Davis1-3/+1
Not finding a node that we try to disable does not always need to be fatal to boot but should at least print out a warning. Return error from fdt_disable_node as it did fail to disable the node, but only warn in the case of disabling the TRNG as this will not prevent boot. Signed-off-by: Andrew F. Davis <afd@ti.com> Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
2020-01-20board: ti: j721e: Print board name and version during bootLokesh Vutla1-0/+13
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 Dannenberg4-0/+276
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>
2020-01-20ti: common: board_detect: Handle EEPROM probe more gracefullyAndreas Dannenberg1-1/+1
Use dm_i2c_probe() rather than i2c_get_chip() when trying to access board-detection EEPROM devices. This has the advantage of more gracefully handling the case when the EEPROM is not present by allowing to exit the function early rather than failing and outputting an error message on the I2C transactions that follow. Signed-off-by: Andreas Dannenberg <dannenberg@ti.com> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
2020-01-20board: ti: beagleboneai: add initial supportCaleb Robey1-1/+23
These are necessities for beaglebone ai boot. There is the addition of CONFIG_SUPPORT_EMMC_CONFIG to the Kconfig file. This is present upstream but not in 19.01 yet. Signed-off-by: Jason Kridner <jdk@ti.com> Signed-off-by: Caleb Robey <c-robey@ti.com> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
2020-01-20board: ti: beagleboneai: IODELAY and pinmuxCaleb Robey1-0/+264
This patch configures the pinmux settings for the BeagleBone AI after the emmc read has completed. Signed-off-by: Jason Kridner <jdk@ti.com> Signed-off-by: Caleb Robey <c-robey@ti.com> Cc: Robert Nelson <robertcnelson@gmail.com> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
2020-01-20board: ti: beagleboneai: emmc read changesCaleb Robey4-0/+138
BeagleBoard.org BeagleBone AI rev A1 does not include a board identifier I2C EEPROM due to a design oversight. These boards have been put into production and are generally available now. The board identifier information, however, has been included in the second eMMC linear boot partition (/dev/mmcblk1boot1). This patch works by: * First, looking for a board identifier I2C EEPROM and if not found, * Then seeing if the boot mode matches BeagleBone AI with eMMC in the boot chain to make sure we don't enable eMMC pinmuxes on boards that don't support it, and * Finally, initializes the eMMC pins and reading the header. Signed-off-by: Jason Kridner <jdk@ti.com> Signed-off-by: Caleb Robey <c-robey@ti.com> Cc: Robert Nelson <robertcnelson@gmail.com> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
2020-01-20board: ti: am43xx: remove net platform codeGrygorii Strashko1-105/+1
The TI AM43xx platform has DM_ETH and OF_CONTROL enabled, so remove networking platform code. Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com> Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
2020-01-20board: ti: dra7-evm: remove net platform codeGrygorii Strashko1-105/+1
The DRA7 has DM_ETH and OF_CONTROL enabled, so remove networking platform code. Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com> Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
2020-01-18common: Move hang() to the same header as panic()Simon Glass3-0/+3
At present panic() is in the vsprintf.h header file. That does not seem like an obvious choice for hang(), even though it relates to panic(). So let's put hang() in its own header. Signed-off-by: Simon Glass <sjg@chromium.org> [trini: Migrate a few more files] Signed-off-by: Tom Rini <trini@konsulko.com>
2020-01-17common: Move RAM-sizing functions to init.hSimon Glass1-0/+1
These functions relate to memory init so move them into the init header. Signed-off-by: Simon Glass <sjg@chromium.org>
2020-01-17common: Move device-tree setup functions to fdt_support.hSimon Glass3-0/+3
These functions relate to setting up the device tree for booting the OS. The fdt_support.h header file supports similar functions, so move these there. Signed-off-by: Simon Glass <sjg@chromium.org>
2019-12-04mtd: rename CONFIG_NAND -> CONFIG_MTD_RAW_NANDMiquel Raynal5-11/+11
Add more clarity by changing the Kconfig entry name. Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> [trini: Re-run migration, update a few more cases] Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Boris Brezillon <boris.brezillon@bootlin.com>
2019-12-03common: Move old EEPROM functions into a new headerSimon Glass3-0/+3
These functions do not use driver model but are still used. Move them to a new eeprom.h header file. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@konsulko.com>
2019-12-03common: Move some board functions out of common.hSimon Glass5-0/+5
A number of board function belong in init.h with the others. Move them. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@konsulko.com>
2019-12-03common: Move board_get_usable_ram_top() out of common.hSimon Glass2-0/+2
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-12-03common: Move serial functions out of common.hSimon Glass4-0/+4
These functions belong in serial.h so move them over. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@konsulko.com>
2019-11-08Kconfig: ti: Make board detect EEPROM addresses depend BOARD_DETECTAdam Ford1-0/+2
There is an option to enable the board detection for TI platforms. If this is option is not set, there is no reason to set the EEPROM bus address or chip address. This patch makes both EEPROM_BUS_ADDRESS and EEPROM_CHIP_ADDRESS depend on TI_I2C_BOARD_DETECT. Signed-off-by: Adam Ford <aford173@gmail.com>
2019-10-26Merge branch '2019-10-24-ti-imports'Tom Rini1-0/+1
- Enable DFU on dra7xx boards - Further Keystone 3 platform improvements
2019-10-26armv7R: K3: j721e: Add support for triggering ddr init from SPLLokesh Vutla1-0/+1
In SPL, DDR should be made available by the end of board_init_f() so that apis in board_init_r() can use ddr. Adding support for triggering DDR initialization from board_init_f(). Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
2019-10-24ARM: keystone: Do not enable the USB power domains at the board levelJean-Jacques Hiblot1-13/+0
This breaks linux boot sequence. Observed on k2e and k2l platforms. Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
2019-10-11board: ti: am335x-ice: Configure the CDCE913 clock synthesizerTero Kristo1-0/+4
AM335x-ICE boards contain the CDCE913 clock synthesizer, and their reset crystal capacitance load value of 10pF is wrong leading into lost packets in certain networking tests. Add DT data for this device, and probe it from the board file to program the crystal capacitance load value to 0pF to avoid any problems. Signed-off-by: Tero Kristo <t-kristo@ti.com>
2019-10-11board: ti: am43xx-idk: Configure the CDCE913 clock synthesizerTero Kristo1-0/+5
AM43xx-IDK boards contain the CDCE913 clock synthesizer, and their reset crystal capacitance load value of 10pF is wrong leading into lost packets in certain networking tests. Add DT data for this device, and probe it from the board file to program the crystal capacitance load value to 0pF to avoid any problems. Signed-off-by: Tero Kristo <t-kristo@ti.com>
2019-10-11board: ti: am57xx-idk: Configure the CDCE913 clock synthesizerTero Kristo1-0/+5
AM57xx-IDK boards contain the CDCE913 clock synthesizer, and their reset crystal capacitance load value of 10pF is wrong leading into lost packets in certain networking tests. Add DT data for this device, and probe it from the board file to program the crystal capacitance load value to 0pF to avoid any problems. Signed-off-by: Tero Kristo <t-kristo@ti.com>
2019-10-11board: am65x: Print board name and version during bootLokesh Vutla1-1/+14
Print the board name and ver along with the DT Model. While at it print the ver for all the detected daughter cards. Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
2019-10-11board: j721e: Add READMELokesh Vutla1-0/+227
Add README file explaining the build and boot procedure for J721E evm. Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
2019-10-11board: ti: am65x: Add UART boot procedure in READMEAndreas Dannenberg1-0/+32
am65x ROM support booting over UART. And U-Boot built for am65x EVM supports UART boot as well. Add the UART boot procedure into the README also providing a corresponding example command sequence for execution on a host PC. Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
2019-10-04board: ti: am654: Disable TRNG node for HS devicesAndrew F. Davis1-2/+13
On HS devices the access to TRNG is restricted on the non-secure ARM side, disable the node in DT to prevent firewall violations. Signed-off-by: Andrew F. Davis <afd@ti.com> Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
2019-08-12env: Rename environment.h to env_internal.hSimon Glass1-1/+1
This file contains lots of internal details about the environment. Most code can include env.h instead, calling the functions there as needed. Rename this file and add a comment at the top to indicate its internal nature. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Joe Hershberger <joe.hershberger@ni.com> Reviewed-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com> [trini: Fixup apalis-tk1.c] Signed-off-by: Tom Rini <trini@konsulko.com>
2019-08-11env: Drop environment.h header file where not neededSimon Glass6-6/+0
This header file is now only used by files that access internal environment features. Drop it from various places where it is not needed. Acked-by: Joe Hershberger <joe.hershberger@ni.com> Signed-off-by: Simon Glass <sjg@chromium.org>
2019-08-11env: Move env_get() to env.hSimon Glass1-0/+1
Move env_get() over to the new header file. Acked-by: Joe Hershberger <joe.hershberger@ni.com> Signed-off-by: Simon Glass <sjg@chromium.org>
2019-08-11env: Move env_set() to env.hSimon Glass8-0/+8
Move env_set() over to the new header file. Acked-by: Joe Hershberger <joe.hershberger@ni.com> Signed-off-by: Simon Glass <sjg@chromium.org>
2019-08-11env: Move env_get_ulong() to env.hSimon Glass1-0/+1
Move env_get_ulong() over to the new header file. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
2019-08-11env: Move env_init() to env.hSimon Glass3-0/+3
Move env_init() over to the new header file. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
2019-07-27configs: j721e_evm_a72: Add initial supportLokesh Vutla1-0/+1
Add initial defconfig support for J721e that runs on A72. Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com> [trini: Add MAINTAINERS entry] Signed-off-by: Tom Rini <trini@konsulko.com>
2019-07-27configs: j721e_evm_r5: Add initial supportLokesh Vutla1-0/+6
Add initial defconfig support for J721e that runs on R5. Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com> [trini: Add MAINTAINERS file] Signed-off-by: Tom Rini <trini@konsulko.com>
2019-07-27board: ti: j721e: Enable fixing up msmc sram nodeSuman Anna1-0/+14
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-27board: ti: j721e: Add board support for j721e evmLokesh Vutla3-0/+131
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>
2019-07-25net: davinci_emac: convert to using the driver modelBartosz Golaszewski1-2/+1
Now that we removed all legacy boards selecting TI_EMAC we can completely convert the driver code to using the driver model. This patch also updates all remaining users of davinci_emac. Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com> Tested-by: Adam Ford <aford173@gmail.com> #am3517-evm & da850-evm Reviewed-by: Ramon Fried <rfried.dev@gmail.com>
2019-07-17board: ti: am654: Use EEPROM-based board detectionAndreas Dannenberg2-0/+248
The TI AM654x EVM base board and the associated daughtercards have on- board I2C-based EEPROMs containing board configuration data. Use the board detection infrastructure introduced earlier to do the following: 1) Parse the AM654x EVM base board EEPROM and populate items like board name and MAC addresses into the TI common EEPROM data structure residing in SRAM scratch space 2) Check for presence of daughter card(s) by probing the associated presence signals via an I2C-based GPIO expander. Then, if such a card is found, parse the data such as additional Ethernet MAC addresses from its on-board EEPROM and populate into U-Boot accordingly 3) Dynamically create an U-Boot ENV variable called overlay_files containing a list of daugherboard-specific DTB overlays based on daughercards found. This patch adds support for the AM654x base board ("AM6-COMPROCEVM") as well as for the IDK ("AM6-IDKAPPEVM"), OLDI LCD ("OLDI-LCD1EVM") PCIe/USB3.0 ("SER-PCIEUSBEVM"), 2 Lane PCIe/USB2.0 ("SER-PCIE2LEVM"), and general purpuse ("AM6-GPAPPEVM") daughtercards. Signed-off-by: Andreas Dannenberg <dannenberg@ti.com> Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
2019-07-17ti: common: am6: Add support for setting MAC addressesAndreas Dannenberg2-0/+44
The AM654x EVM based on the TI K3 family of SoCs has an updated board detection EEPROM structure that contains a TLV record of dedicated MAC addresses rather than a range of MAC addresses as it was used on earlier platforms such as DRA7. Add a basic function that allows us setting up Ethernet MAC addresses into the U-Boot environment based on the MAC address record contained in the common TI EEPROM structure. Signed-off-by: Andreas Dannenberg <dannenberg@ti.com> Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
2019-07-17ti: common: am6: Add support for board description EEPROMAndreas Dannenberg2-0/+408
The AM654x EVM based on the TI K3 family of SoCs have an updated board detection EEPROM structure, now comprising variable-sized TLV-type records, containing a superset of what is already being provided on earlier platforms such as DRA7. Add basic support for parsing the new data structures contained on the base board into the common TI EEPROM structure while also providing infrastructure that can be used later on to parse data from additional EEPROMs such as the ones that are used on daughtercards for this platform. Signed-off-by: Andreas Dannenberg <dannenberg@ti.com> Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>