summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* arm: mach-k3: j721e: Fix unlocking control module registersLokesh Vutla2020-08-111-2/+2
| | | | | | | | In main control mmr there is no partition 4 and partition 6 is available only on J721e. Fix the same in ctrl_mmr_unlock function Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com> Reviewed-by: Suman Anna <s-anna@ti.com>
* arm: mach-k3: j721e: Add detection for j721eLokesh Vutla2020-08-115-0/+18
| | | | | | | | | Add an api soc_is_j721e(), and use it to enable certain functionality that is available only on j721e. This detection is needed when DT is not available. Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com> Signed-off-by: Suman Anna <s-anna@ti.com>
* arm: mach-k3: sysfw-loader: Add support for rom loading sysfw imageLokesh Vutla2020-08-114-21/+43
| | | | | | | | | | | Starting J7200 SoC, ROM supports for loading sysfw directly from boot image. In such cases, SPL need not load sysfw from boot media, but need to receive boot notification message from sysfw. So separate out remoteproc calls for system controller from sysfw loader and just receive the boot notification if sysfw is already loaded. Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com> Reviewed-by: Suman Anna <s-anna@ti.com>
* arm: mach-k3: Move mmr_unlock to a common locationLokesh Vutla2020-08-114-20/+11
| | | | | | | | mmr_unlock api is common for all k3 devices. Move it to a common location. Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com> Reviewed-by: Suman Anna <s-anna@ti.com>
* arm: mach-k3: Fix platform hang when SPL_MULTI_DTB_FIT is not enabledJean-Jacques Hiblot2020-08-111-1/+7
| | | | | | | | | If SPL_MULTI_DTB_FIT is not enabled, then CONFIG_SPL_OF_LIST is not defined And in turn tispl.bin ends up not embedding any DTB. Fixing it by using CONFIG_DEFAULT_DEVICE_TREE if SPL_OF_LIST is empty. Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
* board: ti: j721e: Update fdt fixup logic for interconnect nodesSuman Anna2020-08-111-1/+4
| | | | | | | | | | 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>
* board: ti: j721e: Probe eeprom only when CONFIG_TI_I2C_BOARD_DETECT is definedLokesh Vutla2020-08-112-6/+13
| | | | | | | | | 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>
* board: ti: board_detect: Add stub functions for EEPROM detection apisLokesh Vutla2020-08-111-0/+13
| | | | | | | | | Current usage of eeprom apis produce a build failure when CONFIG_TI_I2C_BOARD_DETECT is not defined. Add stub function for these apis to avoid build failures. Reviewed-by: Suman Anna <s-anna@ti.com> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
* configs: Add new config for supporting USB mass storage bootFaiz Abbas2020-08-112-0/+120
| | | | | | | Because of space constraints, create a new USB defconfig for R5 to faciliate booting from USB mass storage devices Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
* configs: Add defconfig for USB DFU bootmodeFaiz Abbas2020-08-112-0/+121
| | | | | | | Because of space constraints, create a new USB defconfig for R5 to faciliate booting in USB peripheral (DFU) bootmode Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
* configs: am65x_evm_a53: Enable USB Mass storage and DFU boot modesFaiz Abbas2020-08-112-0/+12
| | | | | | | Enable configs to facilitate booting from USB Mass Storage devices as well as USB peripheral boot Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
* configs: am65x_evm: Add support for DFU related configsFaiz Abbas2020-08-111-1/+3
| | | | | | | Add offset and environment related configs used for booting from DFU. Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
* arm: dts: k3-am654-base-board: Add support for USB0 in SPLFaiz Abbas2020-08-111-0/+27
| | | | | | Add nodes for USB0 in SPL to enable USB host boot mode Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
* arm: dts: k3-am654-r5-base-board: Add USB0 nodesFaiz Abbas2020-08-111-0/+35
| | | | | | | Add USB0 nodes and set them to host mode to support USB host and peripheral boot modes Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
* arm: mach-k3: am6_init: Add support for USB boot modeFaiz Abbas2020-08-113-1/+9
| | | | | | Add support for identifying USB host and device boot modes Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
* arm: mach-k3: am6_init: Do USB fixups to facilitate host and device boot modesFaiz Abbas2020-08-111-0/+40
| | | | | | | | | | | | | | | | | U-boot only supports either USB host or device mode for a node at a time in dts. To support both host and dfu bootmodes, set "peripheral" as the default dr_mode but fixup property to "host" if host bootmode is detected. This needs to happen before the dwc3 generic layer binds the usb device to a host or device driver. Therefore, add an fdtdec_setup_board() implementation to fixup the dt based on the boot mode. Also use the same fixup function to set the USB-PCIe Serdes mux to PCIe in both the host and device cases. This is required for accessing the interface at USB 2.0 speeds. Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
* arm: mach-k3: am6_init: Gate mmc related configurations with the appropriate ↵Faiz Abbas2020-08-111-1/+4
| | | | | | | | | config Gate mmc related system related configurations with DM_MMC to avoid build errors when MMC is not enabled Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
* arm: mach-k3: sysfw-loader: Add support to load SYSFW from USBFaiz Abbas2020-08-111-0/+11
| | | | | | Add support for loading system firmware from a USB mass storage device Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
* armv7R: K3: am654: Use full malloc in SPL both pre and post relocFaiz Abbas2020-08-111-0/+18
| | | | | | | | | | | | In order to be able to use things like file system drivers early on in SPL (before relocation) in a memory-constrained environment when DDR is not yet available we cannot use the simple malloc scheme which does not implement the freeing of previously allocated memory blocks. To address this issue go ahead and enable the use of the full malloc by manually initializing the required functionality inside board_init_f by creating a full malloc pool inside the pre-relocation malloc pool. Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
* spl: usb: Only init usb onceFaiz Abbas2020-08-111-3/+8
| | | | | | | usb_init() may be called multiple times for fetching multiple images from SPL. Skip reinitializing USB if its already been done Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
* spl: usb: Create an API spl_usb_load()Faiz Abbas2020-08-112-7/+27
| | | | | | | Create a new API spl_usb_load() that takes the filename as a parameter instead of taking the default U-boot PAYLOAD_NAME Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
* board: ti: am65x: Update fdt fixup logic for interconnect nodesSuman Anna2020-08-111-2/+8
| | | | | | | | | | | | | The DT nodes on AM65x 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. The logic also corrects the crypto node name as the DT node unit-addresses are all expected to be lower case. Signed-off-by: Suman Anna <s-anna@ti.com>
* mmc: am654_sdhci: Use MMC_MODES_END value instead of hardcoded valueFaiz Abbas2020-08-111-1/+1
| | | | | | | | | The hardcoded array size leads to array overflows with changes in speed modes enum in mmc core. Use MMC_MODES_END for otap_del_sel array declaration to fix this. Signed-off-by: Faiz Abbas <faiz_abbas@ti.com> Reviewed-by: Peng Fan <peng.fan@nxp.com>
* arm: dts: k3-j721e: Fix interconnect node namesSuman Anna2020-08-111-2/+2
| | | | | | | | | The various CBASS interconnect nodes on K3 J721E SoCs are defined using the node name "interconnect". This is not a valid node name as per the dt-schema. Fix these node names to use the standard name used for SoC interconnects, "bus". Signed-off-by: Suman Anna <s-anna@ti.com>
* arm: dts: k3-am65: Fix interconnect node namesSuman Anna2020-08-111-3/+3
| | | | | | | | | The various CBASS interconnect nodes on K3 AM65x SoCs are defined using the node name "interconnect". This is not a valid node name as per the dt-schema. Fix these node names to use the standard name used for SoC interconnects, "bus". Signed-off-by: Suman Anna <s-anna@ti.com>
* ARM: omap3: evm: Complete DM_ETH and DM_USB migrationsDerald D. Woods2020-08-115-76/+43
| | | | | | | | | This commit completes the migrations for DM_ETH and DM_USB. The board is now consistent with omap3_beagle and other remaining OMAP3 boards. Cc: Tom Rini <trini@konsulko.com> Cc: Adam Ford <aford173@gmail.com> Signed-off-by: Derald D. Woods <woods.technical@gmail.com>
* arm: mach-k3: Clean non-coherent lines out of L3 cacheAndrew F. Davis2020-08-112-0/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | When switching on or off the ARM caches some care must be taken to ensure existing cache line allocations are not left in an inconsistent state. An example of this is when cache lines are considered non-shared by and L3 controller even though the lines are shared. To prevent these and other issues all cache lines should be cleared before enabling or disabling a coherent master's cache. ARM cores and many L3 controllers provide a way to efficiently clean out all cache lines to allow for this, unfortunately there is no such easy way to do this on current K3 MSMC based systems. We could explicitly clean out every valid external address tracked by MSMC (all of DRAM), or we could attempt to identify only the set of addresses accessed by a given boot stage and flush only those specifically. This patch attempts the latter. We start with cleaning the SPL load address. More addresses can be added here later as they are identified. Note that we perform a flush operation for both the flush and invalidate operations, this is not a typo. We do this to avoid the situation that some ARM cores will promote an invalidate to a clean+invalidate, but only emit the invalidation operation externally, leading to a loss of data. Signed-off-by: Andrew F. Davis <afd@ti.com> Tested-by: Faiz Abbas <faiz_abbas@ti.com>
* arm: dts: k3: Add RTI watchdogsJan Kiszka2020-08-112-0/+27
| | | | | | | | | | | | Add DT entries for main domain watchdog0 and 1 instances on the J721e well as RTI1-based watchdog on the AM65x. RTI0 does not work for this purpose on the AM65x, so leave it out. On AM65x, we mark the power-domain as shared because RTI firmware such as https://github.com/siemens/k3-rti-wdt may request it as well in order to prevent accidental shutdown of the watchdog. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
* watchdog: Add support for K3 RTI watchdogJan Kiszka2020-08-113-0/+131
| | | | | | | | | | | | | | This is based on the Linux kernel driver for the RTI watchdog. To actually reset the system on an AM65x, it requires firmware running on the R5 that accepts the NMI and issues the actual system reset via TISCI. Kind of an iTCO, except that this watchdog hardware has support for no-way-out, and only for that. On the J721E, reset works without extra firmware help when routing the RTI interrupt via the ESM. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
* Prepare v2020.10-rc2Tom Rini2020-08-101-1/+1
| | | | Signed-off-by: Tom Rini <trini@konsulko.com>
* configs: Resync with savedefconfigTom Rini2020-08-10749-991/+857
| | | | | | Rsync all defconfig files using moveconfig.py Signed-off-by: Tom Rini <trini@konsulko.com>
* test/py: fix SquashFS testsJoao Marcos Costa2020-08-103-14/+16
| | | | | | | Use "cons.config.build_dir" instead of writing to the source directory (read-only). This will fix the test failures in Azure. Signed-off-by: Joao Marcos Costa <joaomarcos.costa@bootlin.com>
* Convert CONFIG_SYS_MMC_ENV_DEV et al to KconfigTom Rini2020-08-08317-586/+139
| | | | | | | | | | | | This converts the following to Kconfig: CONFIG_SYS_MMC_ENV_DEV CONFIG_SYS_MMC_ENV_PART Note that with this conversion we now have consistent behavior with respect to ensuring that we have always selected the correct MMC device and hardware partition. Signed-off-by: Tom Rini <trini@konsulko.com>
* Makefile: sunxi: Don't use binman to build ATF imageSimon Glass2020-08-081-0/+4
| | | | | | | | | | | | | | At present with sunxi 64-bit, the Makefile builds u-boot-sunxi-with-spl.bin and then binman overwrites it with its own version. But the binman definition lacks some parts, in particular BL31. For now, work around this with a hack. Tested-by: Andre Przywara <andre.przywara@arm.com> Tested-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Simon Glass <sjg@chromium.org> Fixes: 42b18df80fd ("x86: Makefile: Drop explicit targets built by binman")
* test/py: serial# cannot be overwritten on some devicesHeinrich Schuchardt2020-08-081-2/+5
| | | | | | | | | | | On some devices the environment variable serial# cannot be overwritten. Set the variable only if it is not set. For our unit test it is sufficient to test if any value for serial-number is set. Fixes: 8a5cdf601f8d ("test: efi_selftest: Do not force serial# setting") Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
* Merge branch '2020-08-07-misc-improvements'Tom Rini2020-08-08122-352/+3535
|\ | | | | | | | | - SquashFS support - Assorted bugfixes
| * test: py: test_shell_run() with CONFIG_HUSH_PARSER=nHeinrich Schuchardt2020-08-071-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The hush parser not enabled for some boards, e.g. sipeed_maix_bitm_defconfig. With CONFIG_HUSH_PARSER=n a double quotation mark is not interpreted as the beginning of a string. Use a single quotation mark instead. Furthermore without the hush parser variables have to be referenced as ${varname}. Add the missing braces. Reported-by: Sean Anderson <seanga2@gmail.com> Fixes: 8b86c609b860 ("test/py: add test of basic shell functionality") Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
| * tests: support mkfs.ext4 without metadata_csumStephen Warren2020-08-072-3/+8
| | | | | | | | | | | | | | Modify various test/py filesystem creation routines to support systems that don't implement the metadata_csum ext4 feature. Signed-off-by: Stephen Warren <swarren@nvidia.com>
| * board: presidio: add LED supportJway Lin2020-08-071-0/+31
| | | | | | | | | | | | | | | | | | | | Add LED support for Cortina Access Presidio Engineering Board Signed-off-by: Jway Lin <jway.lin@cortina-access.com> Signed-off-by: Alex Nemirovsky <alex.nemirovsky@cortina-access.com> Reviewed-by: Simon Glass <sjg@chromium.org> CC: Simon Glass <sjg@chromium.org>
| * led: led_cortina: Add CAxxx LED supportJway Lin2020-08-074-1/+310
| | | | | | | | | | | | | | | | | | | | | | Add Cortina Access LED controller support for CAxxxx SOCs Signed-off-by: Jway Lin <jway.lin@cortina-access.com> Signed-off-by: Alex Nemirovsky <alex.nemirovsky@cortina-access.com> CC: Simon Glass <sjg@chromium.org> Add head file fixed link error and remove unused flashing function Reviewed-by: Simon Glass <sjg@chromium.org>
| * Travis: Add squashfs-toolsTom Rini2020-08-071-0/+1
| | | | | | | | | | | | | | So that the tests we now have for squashfs can run, add squashfs-tools for mksquashfs. Signed-off-by: Tom Rini <trini@konsulko.com>
| * test/py: Add tests for the SquashFS commandsJoao Marcos Costa2020-08-075-0/+103
| | | | | | | | | | | | | | | | Add Python scripts to test 'ls' and 'load' commands. The scripts generate a SquashFS image and clean the directory after the assertions, or if an exception is raised. Signed-off-by: Joao Marcos Costa <joaomarcos.costa@bootlin.com>
| * fs/fs.c: add symbolic link case to fs_ls_generic()Joao Marcos Costa2020-08-071-0/+3
| | | | | | | | | | | | Adds an 'else if' statement inside the loop to check for symbolic links. Signed-off-by: Joao Marcos Costa <joaomarcos.costa@bootlin.com>
| * fs/squashfs: add support for zlib decompressionJoao Marcos Costa2020-08-071-0/+30
| | | | | | | | | | | | | | Add call to zlib's 'uncompress' function. Add function to display the right error message depending on the decompression's return value. Signed-off-by: Joao Marcos Costa <joaomarcos.costa@bootlin.com>
| * include/u-boot, lib/zlib: add sources for zlib decompressionJoao Marcos Costa2020-08-075-0/+140
| | | | | | | | | | | | | | | | | | Add zlib (v1.2.11) uncompr() function to U-Boot. SquashFS depends on this function to decompress data from a raw disk image. The actual support for zlib into SquashFS sources will be added in a follow-up commit. Signed-off-by: Joao Marcos Costa <joaomarcos.costa@bootlin.com>
| * fs/squashfs: add filesystem commandsJoao Marcos Costa2020-08-074-0/+50
| | | | | | | | | | | | Add 'ls' and 'load' commands. Signed-off-by: Joao Marcos Costa <joaomarcos.costa@bootlin.com>
| * fs/squashfs: new filesystemJoao Marcos Costa2020-08-0716-0/+2297
| | | | | | | | | | | | | | Add support for SquashFS filesystem. Right now, it does not support compression but support for zlib will be added in a follow-up commit. Signed-off-by: Joao Marcos Costa <joaomarcos.costa@bootlin.com>
| * cmd: Update the memory-search commandSimon Glass2020-08-078-43/+124
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Add various fixes and improvements to this command that were missed in the original version. Unfortunately I forgot to send v2. - Fix Kconfig name - Use a separate variable for the remaining search length - Correct a minor bug - Move into a separate test suite - Add -q flag to the 'quiet' test to test operation when console is enabled - Enable the feature for sandbox Signed-off-by: Simon Glass <sjg@chromium.org>
| * test: Add a flag for tests that need console recordingSimon Glass2020-08-072-0/+11
| | | | | | | | | | | | | | Allow tests that need console recording to be marked, so they can be skipped if it is not available. Signed-off-by: Simon Glass <sjg@chromium.org>
| * dm: Rename DM test flags to make them more genericSimon Glass2020-08-0777-300/+301
| | | | | | | | | | | | | | | | | | | | The test flags used by driver model are currently not available to other tests. Rather than creating two sets of flags, make these flags generic by changing the DM_ prefix to UT_ and moving them to the test.h header. This will allow adding other test flags without confusion. Signed-off-by: Simon Glass <sjg@chromium.org>