summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* ti: keystone2: Move CONFIG_ISW_ENTRY_ADDR to a common placeTom Rini2019-04-1215-30/+26
| | | | | | | | | | | | | The ISW_ENTRY_ADDR Kconfig option under mach-omap2 isn't a SoC specific notion but rather "where is our previous stage loaded in memory?" option. Make use of this on ARCH_KEYSTONE rather than SPL_TEXT_BASE for our HS builds that are not using SPL anyhow. Cc: Vitaly Andrianov <vitalya@ti.com> Cc: Andrew F. Davis <afd@ti.com> Cc: Lokesh Vutla <lokeshvutla@ti.com> Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com?
* board: ti: am335x: Remove non DM_ETH codeFaiz Abbas2019-04-121-151/+0
| | | | | | | With DM_ETH enabled in am335x devices, remove all the unused non-DM code. Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
* configs: am335x_evm: Update VCI StringFaiz Abbas2019-04-121-1/+1
| | | | | | | Update VCI string to keep it compatible with legacy test setups. Signed-off-by: Faiz Abbas <faiz_abbas@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
* configs: am335x_evm: Add Support for SPL_ETHFaiz Abbas2019-04-121-0/+1
| | | | | | Add Support for booting from Ethernet. Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
* configs: am335x_evm: Reduce size of SPLFaiz Abbas2019-04-121-1/+4
| | | | | | Make some room in SPL by getting rid of unnecessary configs. Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
* board: ti: am335x: Add platdata for cpsw in SPLFaiz Abbas2019-04-123-18/+66
| | | | | | | The SPL image overflows when cpsw dt nodes are added and SPL_OF_CONTROL is enabled. Use static platdata instead to save space. Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
* net: ti: cpsw: Enable DM_FLAG_PRE_RELOCFaiz Abbas2019-04-121-1/+1
| | | | | | Add DM_FLAG_PRE_RELOC to make the driver probe in SPL. Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
* net: ti: cpsw: Block off ofdata_to_platdata with OF_CONTROLFaiz Abbas2019-04-121-7/+11
| | | | | | | | The ofdata_to_platdata function should not be called if OF_CONTROL is not enabled because fdtdec_* calls will fail. Block the function with OF_CONTROL Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
* net: ti: cpsw-common: Isolate getting syscon address from assigning macidFaiz Abbas2019-04-123-73/+64
| | | | | | | | | | | | ti_cm_get_macid() is used to get a syscon node from the dt, read the efuse address and then assign the macid read from the address. Divide these two steps into separate functions one of which can be called from ofdata_to_platdata() while the other can be called from _probe(). This ensures that platdata can be assigned statically in a board file when OF_CONTROL is not enabled. Also add a macid_sel_compat in private data to get information about the macid byte placement. Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
* net: ti: cpsw: Convert cpsw_platform_data to a pointer in cpsw_privFaiz Abbas2019-04-121-67/+69
| | | | | | | | | Convert cpsw_platform_data to a pointer in cpsw_priv. Allocate it dynamically and assign it as a part of eth_pdata. This helps in isolating platform data handling and implementing platdata for SPL in a board file. Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
* net: ti: cpsw: Move cpsw_phy_sel() to _probe()Faiz Abbas2019-04-122-17/+17
| | | | | | | | | cpsw_phy_sel() is a configuration step that should not be in ofdata_to_platdata(). Add phy_sel_compat to the cpsw_platform_data structure so that it is accessible in _probe. Then move the call of cpsw_phy_sel() to _probe. Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
* net: Add priv_pdata to eth_pdataFaiz Abbas2019-04-121-0/+2
| | | | | | Add a priv member for eth_pdata for platform specific platform data. Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
* armv7R: K3: am654: Trigger panic on DDR init failuresAndreas Dannenberg2019-04-121-4/+2
| | | | | | | | | | | | When initializing DDR from R5 SPL trigger U-Boot's panic facility rather than simply returning from the board init function as there is little point continuing code execution. Further, as panic implies a board reset, so using it might potentially allow to recover from this error in certain cases such as when the init failure was caused by a temporary glitch of some sorts. Signed-off-by: Andreas Dannenberg <dannenberg@ti.com> Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
* configs: am65x_evm_a53: Enable CONFIG_OF_BOARD_SETUPLokesh Vutla2019-04-121-0/+1
| | | | | | | Enable CONFIG_OF_BOARD_SETUP so that msmc sram dt nodes are updated correctly. Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
* board: ti: am65x: Enable fixing up msmc sram nodeLokesh Vutla2019-04-121-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: Lokesh Vutla <lokeshvutla@ti.com>
* arm: k3: Add support for updating msmc dt nodeLokesh Vutla2019-04-122-1/+76
| | | | | | | | | | | | | | | | Certain parts of msmc sram can be used by DMSC or can be marked as L3 cache. Since the available size can vary, changing DT every time the size varies might be painful. So, query this information using TISCI cmd and fixup the DT for kernel. Fixing up DT does the following: - Create a sram node if not available - update the reg property with available size - update ranges property - loop through available sub nodes and delete it if: - mentioned size is out if available range - subnode represents l3 cache or dmsc usage. Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
* arm: k3: Add a wrapper to get tisci handleLokesh Vutla2019-04-122-0/+14
| | | | | | Create a wrapper to get the ti sci handle. Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
* firmware: Add support for querying msmc memoryLokesh Vutla2019-04-123-0/+76
| | | | | | | | | | | | DMSC can use certain amount of msmc memory available in the system. Also certain part of msmc memory can be marked as L3 cache using board config. But users might not know what size is being used and the remaining available msmc memory. In order to fix this TISCI protocol provides a messages that can query the available msmc memory in the system. Add support for this message. Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
* configs: ti_omap5_common: Add NAND environment settingsFaiz Abbas2019-04-125-4/+35
| | | | | | | | Now that NAND is supported on DRA71x include various NAND environment settings Signed-off-by: Faiz Abbas <faiz_abbas@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
* configs: dra71x-evm: Add Support for NANDFaiz Abbas2019-04-122-0/+6
| | | | | | Add NAND support to dra71x-evm defconfig Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
* arm: dra7: Allow NAND to be enabled on DRA71x EVM.Franklin S Cooper Jr2019-04-121-0/+56
| | | | | | | | | | If SW 8 pins 0 and 1 indicate that NAND should be enabled then the pins pinmux must be reconfigured for NAND mode. Therefore, enable NAND by reconfiguring the pinmux. Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com> Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
* board: ti: dra71: Add pinmux settings for NAND on DRA71x EVMFranklin S Cooper Jr2019-04-121-16/+44
| | | | | | | | | | | | | | By default VOUT3 occupies the pins required for NAND. Therefore, create a seperate entry that can be use to reconfigure these pins to work for NAND. On the EVM SWITCH 8 pins 0 and 1 will be used to determine if NAND is enabled or not. For NAND to be selected pin 0 should be on and pin 1 should be off. Any other combination will assume NAND shouldn't be enabled. Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com> Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
* ARM: davinci: da850evm: Enable SPL_OF_CONTROL without PLATDATAAdam Ford2019-04-124-29/+29
| | | | | | | | | | With the memory mapping giving us some more avialable RAM, this updates the da850-evm-u-boot.dtsi to include the serial port, SPI and Flash nodes along with some dependent nodes in the SPL dtb. This also removes the platform data initialization code for the serial port and SPI Flash. Signed-off-by: Adam Ford <aford173@gmail.com>
* davinci: da850evm/omapl138-lcdk: Move BSS to SDRAM because SRAM is fullAdam Ford2019-04-123-9/+18
| | | | | | | | | | | | | In order to fully support SPL_OF_CONTROL, we need BSS to be a bit larger. This patch relocates BSS to SDRAM instead of SRAM which is similar to how ARMv7 boards (like OMAP2+) do it. This means two new variables are required: CONFIG_SPL_BSS_START_ADDR set to DAVINCI_DDR_EMIF_DATA_BASE CONFIG_SPL_BSS_MAX_SIZE is set to 0x1080000 which is 1 byte before the location where U-Boot will load. Signed-off-by: Adam Ford <aford173@gmail.com>
* am335x, guardian: Add support for the bosch guardian boardSjoerd Simons2019-04-1213-1/+1121
| | | | | | | | | | | | | | | | Add support for the Bosch Guardian board. CPU : AM335X-GP rev 2.1 Model: Bosch AM335x Guardian I2C: ready DRAM: 256 MiB NAND: 512 MiB MMC: OMAP SD/MMC: 0 Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk> Signed-off-by: Martyn Welch <martyn.welch@collabora.com> Reviewed-by: Tom Rini <trini@konsulko.com> Reviewed-by: Felix Brack <fb@ltec.ch>
* env: Don't check CONFIG_ENV_OFFSET_REDUND for SPL buildMartyn Welch2019-04-121-1/+1
| | | | | | | | | | | | | | | | | | | | When booting using an SPL on am335x, if we want to support booting with the boot ROM loader via USB (which uses RNDIS, making bootp and tftp calls) we need to enable gadget eth in the SPL to load the main U-Boot image. To enable CONFIG_SPL_ETH_SUPPORT, we must enable CONFIG_SPL_ENV_SUPPORT as the environment is used by the eth support, but we don't actually need to have environment variables saved in the SPL environment. We do however have environment variables saved in the main U-Boot image and enable CONFIG_ENV_OFFSET_REDUND (we are storing in raw NAND). In such instances, even with the build config enabling both CONFIG_CMD_SAVEENV and CONFIG_CMD_NAND, these options aren't set when building the SPL, but CONFIG_ENV_OFFSET_REDUND still is. Don't check this configuration option for SPL builds to enable the above configuration. Signed-off-by: Martyn Welch <martyn.welch@collabora.com> Reviewed-by: Tom Rini <trini@konsulko.com>
* Add support for the MT41K128M16JT125K memory modulesSjoerd Simons2019-04-121-0/+16
| | | | | | | | | | | | Add configuration for the MT41K128M16JT125K memory modules as used on the Bosch Guardian device. Based on a patch by: Govindaraji Sivanantham <Govindaraji.Sivanantham@in.bosch.com> Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk> [checkpatch.pl cleanup by Martyn Welch] Signed-off-by: Martyn Welch <martyn.welch@collabora.com>
* am57xx_evm_defconfig: Enable configs to support QSPI bootVignesh R2019-04-121-0/+4
| | | | | | | | | | AM57xx IDK EVMs can boot out of QSPI. Enable configs to support QSPI boot. Also enable configs for updating QSPI boot images over DFU. Tested on AM572x IDK EVM. Signed-off-by: Vignesh R <vigneshr@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
* ARM: dts: k2g-ice: add dt node for netcpMurali Karicheri2019-04-121-0/+35
| | | | | | | | | | | | | | | | | | | | | | This patch adds dt node for DP83867 phy used on K2G ICE board and also enable netcp device nodes for the board. EVM hardware spec recommends to add 0.25 nsec delay in the tx direction and 2.25 nsec delay in the rx direction for internal delay in the clock path to be on the safer side. The board straps RX_DV/RX_CTRL pin of on board DP83867 phy in mode 1. Unfortunately, the phy data manual disallows this. Add ti,dp83867-rxctrl-strap-quirk in the phy node to allow software to enable workaround suggested for this incorrect strap setting. This ensures proper operation of this PHY. The dts bindings are kept in sync with that from 4.14.y linux kernel. This required the pinmux device related bindings to be commented out to allow for compilation. Signed-off-by: Murali Karicheri <m-karicheri2@ti.com> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
* k2g: config enable ti phy dp83867 for k2gMurali Karicheri2019-04-121-0/+1
| | | | | | | | Enable ti phy dp83867 for k2g Signed-off-by: Murali Karicheri <m-karicheri2@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
* ARM: dts: k2g-evm: remove unused phy-mode property from phy nodeMurali Karicheri2019-04-121-1/+0
| | | | | | | | | | | This patch removes the unused phy-mode property from the phy dt node. On K2G, currently link-interface determines if phy is used or not and is already set to use rgmii. So this is not needed. Besides phy-mode should be added to slave interface configuration of the cpsw driver, not in the phy node. Signed-off-by: Murali Karicheri <m-karicheri2@ti.com> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
* ARM: k2g: add a workaround to reset the phyMurali Karicheri2019-04-122-0/+18
| | | | | | | | | This patch adds a workaround to reset the phy one time during boot using GPIO0 pin 10 to make sure, the Phy latches the configuration from the input pins correctly. Signed-off-by: Murali Karicheri <m-karicheri2@ti.com> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
* net: netcp: add support for phy with rgmii idsMurali Karicheri2019-04-121-1/+21
| | | | | | | | Enhance the netcp driver to support phys that can be configured for internal delay (rgmii-id, rgmii-rxid, rgmii-txid) Signed-off-by: Murali Karicheri <m-karicheri2@ti.com> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
* ARM: k2g-gp-evm: update to rgmii pinmux configurationMurali Karicheri2019-04-121-15/+17
| | | | | | | | | This patch updates pinmux configuration for K2G GP EVM based on data generated by the pinmux tool at https://dev.ti.com/pinmux/app.html#/default Signed-off-by: Murali Karicheri <m-karicheri2@ti.com> Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
* ARM: k2g-ice: Add pinmux support for rgmii interfaceMurali Karicheri2019-04-122-0/+24
| | | | | | | | | | | | | | This add pinmux configuration for rgmii interface so that network driver can be supported on K2G ICE boards. The pinmux configurations for this are generated using the pinmux tool at https://dev.ti.com/pinmux/app.html#/default As this required some BUFFER_CLASS definitions, same is re-used from the linux defnitions in include/dt-bindings/pinctrl/keystone.h Signed-off-by: Murali Karicheri <m-karicheri2@ti.com> Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
* configs: am65x_evm_a53: Enable DMA related configsGrygorii Strashko2019-04-111-1/+3
| | | | | | | | Enable TI K3 AM65x PSI-L, Ring Accelerator and UDMA drivers Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com> Signed-off-by: Vignesh R <vigneshr@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
* arm64: dts: ti: k3-am65: add mcu navss nodesGrygorii Strashko2019-04-111-0/+47
| | | | | | | | | Add DT node for MCU NAVSS its components to get DMA working on AM654 SoC. Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com> Signed-off-by: Vignesh R <vigneshr@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
* soc: keystone: Merge into ti specific directoryVignesh R2019-04-118-11/+16
| | | | | | | | Merge drivers/soc/keystone/ into drivers/soc/ti/ and convert CONFIG_TI_KEYSTONE_SERDES into Kconfig. Signed-off-by: Vignesh R <vigneshr@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
* dma: ti: add driver to K3 UDMAVignesh R2019-04-118-0/+1990
| | | | | | | | | | | | | | | | | | The UDMA-P is intended to perform similar (but significantly upgraded) functions as the packet-oriented DMA used on previous SoC devices. The UDMA-P module supports the transmission and reception of various packet types. The UDMA-P also supports acting as both a UTC and UDMA-C for its internal channels. Channels in the UDMA-P can be configured to be either Packet-Based or Third-Party channels on a channel by channel basis. The initial driver supports: - MEM_TO_MEM (TR mode) - DEV_TO_MEM (Packet mode) - MEM_TO_DEV (Packet mode) Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com> Signed-off-by: Vignesh R <vigneshr@ti.com>
* soc: ti: k3: add CPPI5 description and helpersGrygorii Strashko2019-04-111-0/+995
| | | | | | | | | Add TI Communications Port Programming Interface (CPPI) 5 interface description and helpers Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com> Signed-off-by: Vignesh R <vigneshr@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
* soc: ti: k3: add navss ringacc driverGrygorii Strashko2019-04-117-0/+1326
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Ring Accelerator (RINGACC or RA) provides hardware acceleration to enable straightforward passing of work between a producer and a consumer. There is one RINGACC module per NAVSS on TI AM65x SoCs. The RINGACC converts constant-address read and write accesses to equivalent read or write accesses to a circular data structure in memory. The RINGACC eliminates the need for each DMA controller which needs to access ring elements from having to know the current state of the ring (base address, current offset). The DMA controller performs a read or write access to a specific address range (which maps to the source interface on the RINGACC) and the RINGACC replaces the address for the transaction with a new address which corresponds to the head or tail element of the ring (head for reads, tail for writes). Since the RINGACC maintains the state, multiple DMA controllers or channels are allowed to coherently share the same rings as applicable. The RINGACC is able to place data which is destined towards software into cached memory directly. Supported ring modes: - Ring Mode - Messaging Mode - Credentials Mode - Queue Manager Mode TI-SCI integration: Texas Instrument's System Control Interface (TI-SCI) Message Protocol now has control over Ringacc module resources management (RM) and Rings configuration. The Ringacc driver manages Rings allocation by itself now and requests TI-SCI firmware to allocate and configure specific Rings only. It's done this way because, Linux driver implements two stage Rings allocation and configuration (allocate ring and configure ring) while TI-SCI Message Protocol supports only one combined operation (allocate+configure). Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com> Signed-off-by: Vignesh R <vigneshr@ti.com>
* firmware: ti_sci: Add support for NAVSS resource managementGrygorii Strashko2019-04-114-12/+1692
| | | | | | | | | | | | | | Texas Instruments' System Control Interface (TI-SCI) Message Protocol abstracts management of NAVSS resources, like PSI-L pairing and unpairing, UDMAP tx/rx/flow configuration and Rings. This patch adds support for requesting and configuring such resources from TI-SCI firmware. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com> Signed-off-by: Vignesh R <vigneshr@ti.com>
* Merge branch 'master' of git://git.denx.de/u-boot-usbTom Rini2019-04-114-48/+29
|\
| * usb: ehci-mx6: Use common code to extract dr_modeAdam Ford2019-04-091-14/+15
| | | | | | | | | | | | | | | | There exists code in drivers/common/common.c to read the dr_mode from the device tree. This patch converts this driver to use that function to initialize the driver. Signed-off-by: Adam Ford <aford173@gmail.com>
| * usb: Make portspeed return a read-only stringIsmael Luceno Cortes2019-04-092-26/+10
| | | | | | | | | | | | | | Current code is plain wrong, and there's no need to have a mutable string, so fix function type and remove the intermediate variable. Signed-off-by: Ismael Luceno <ismael.luceno@silicon-gears.com>
| * usb: host: Print device name when scanningIsmael Luceno Cortes2019-04-091-8/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Drop the counter, it has no meaning other than being the order in which the interface is found; the name assigned to the USB host controller interface is a better indicator. Example of the original output: > USB0: USB EHCI 1.10 > scanning bus 0 for devices... 2 USB Device(s) found > scanning usb for storage devices... 1 Storage Device(s) found Patched output: > Bus usb@ee080100: USB EHCI 1.10 > scanning bus usb@ee080100 for devices... 2 USB Device(s) found > scanning usb for storage devices... 1 Storage Device(s) found Signed-off-by: Ismael Luceno <ismael.luceno@silicon-gears.com>
* | Merge branch 'master' of git://git.denx.de/u-boot-shTom Rini2019-04-11100-2673/+13741
|\ \ | | | | | | | | | - Various rmobile fixes
| * | ARM: rmobile: rcar-common: Zap arch_preboot_os()Eugeniu Rosca2019-04-091-53/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | v2018.01 commit e23eb942ad103f ("ARM: rmobile: Stop using rcar-common/common.c on Gen3") removed board/renesas/rcar-common/common.c from the build chain with the reasoning that calling arch_preboot_os() is no longer needed. However, it left the arch_preboot_os() in place. Get rid of it. This is done in preparation of resurrecting rcar-common/common.c. NOTE: The three removed header includes (io.h, sys_proto.h, rcar-mstp.h) are in direct relationship with the dropped arch_preboot_os() hook. The other headers (common.h, rmobile.h) are going to be needed by pretty much anything that is going to appear in the rcar common code. So, keep the two in place. Signed-off-by: Eugeniu Rosca <erosca@de.adit-jv.com>
| * | ARM: dts: rmobile: Enable USB on E2 AltMarek Vasut2019-04-091-0/+28
| | | | | | | | | | | | | | | | | | | | | | | | The E2 Alt board has two USB ports, add missing DT nodes to make the USB available. Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com> Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
| * | ARM: rmobile: alt: Increase USB power-good delayMarek Vasut2019-04-091-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | Increase the USB power good delay on Alt, this is required with certain USB sticks, otherwise they might not be detected. Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com> Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>