aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2024-05-16Merge patch series "Enable OF_UPSTREAM for J721s2 and AM68"WIP/16May2024-nextTom Rini22-4955/+155
Manorit Chawdhry <m-chawdhry@ti.com> says: Series splits AM68 and J721s2 support along with enabling OF_UPSTREAM and adding stdboot support for both the platforms. Boot logs: https://gist.github.com/manorit2001/6c669e4273933bc46c3b28a631a96ae3
2024-05-16arm: dts: k3-j721s2|am68: Migrate to OF_UPSTREAMManorit Chawdhry15-4717/+23
Use OF_UPSTREAM to pull Linux DT from dts/ tree Signed-off-by: Manorit Chawdhry <m-chawdhry@ti.com>
2024-05-16configs: am68_sk: Move to separate defconfig for AM68 SK boardManorit Chawdhry7-89/+49
Add defconfig for AM68 SK R5 and A72 configuration. This includes and modifies the AM68 EVM defconfigs: j721s2_evm_r5_defconfig -> am68_sk_r5_defconfig j721s2_evm_a72_defconfig -> am68_sk_a72_defconfig Reviewed-by: Neha Malcom Francis <n-francis@ti.com> Signed-off-by: Manorit Chawdhry <m-chawdhry@ti.com>
2024-05-16arch: arm: dts: k3-j721s2-r5: Introduce k3-j721s2-r5.dtsiManorit Chawdhry4-154/+84
Create an SoC R5 dtsi file that could be used at board level R5 files. This would help in keeping the SoC level changes in sync across board files. Reviewed-by: Neha Malcom Francis <n-francis@ti.com> Signed-off-by: Manorit Chawdhry <m-chawdhry@ti.com>
2024-05-16arch: arm: dts: k3-am68-sk-r5: Sync with J721s2 R5 fileManorit Chawdhry1-1/+4
Currently AM68 SK boots with J721s2 R5 DTS and then later changes to AM68 SK DT during runtime. To split the support of J721s2 and AM68, sync AM68 R5 DT with J721s2 R5 DT as that contains some essential node changes for booting up AM68 using AM68 R5 DT. secure_proxy_sa3 and secure_proxy_mcu node changes are required for establishing contact with ROM and TIFS running on SMS M4 core, respectively, and the addition of new power domain helps in holding A72 cluster in reset for configuration of firewalls. Reviewed-by: Neha Malcom Francis <n-francis@ti.com> Signed-off-by: Manorit Chawdhry <m-chawdhry@ti.com>
2024-05-16configs: j721s2_evm_a72_defconfig: Switch to bootstdNeha Malcom Francis2-3/+3
Switch to using bootstd. Note that with this change, we will stop using distro_bootcmd and instead depend entirely on bootflow method of starting the system up. Also config_distro_bootcmd.h header file that is no longer needed in j721s2_evm.h. Signed-off-by: Neha Malcom Francis <n-francis@ti.com> Signed-off-by: Manorit Chawdhry <m-chawdhry@ti.com>
2024-05-16board: ti: j721s2: j721s2.env: Add explicit boot_targetsNeha Malcom Francis1-0/+1
Add explicit boot_targets to indicate the specific boot sequence to follow. Signed-off-by: Neha Malcom Francis <n-francis@ti.com> Signed-off-by: Manorit Chawdhry <m-chawdhry@ti.com>
2024-05-15dma: ti: k3-udma: invalidate prepared buffers before pushing to recv ringMatthias Schiffer1-0/+3
Buffers must not have an unclean cache before being used for DMA - a pending write-back may corrupt the next dev-to-mem transfer otherwise. This was consistently noticeable during long TFTP transfers, when an ARP request is answered by U-Boot in the middle of the transfer: As U-Boot's arp_receive() reuses the receive buffer to prepare its reply packet, the beginning of one of the next incoming TFTP packets is overwritten by the ARP reply. The corrupted packet is ignored, but the TFTP transfer stalls for a few seconds until a timeout is detected and a retransmit is triggered. Signed-off-by: Matthias Schiffer <matthias.schiffer@ew.tq-group.com> Tested-by: Alexander Sverdlin <alexander.sverdlin@siemens.com>
2024-05-15dma: ti: k3-udma: add missing <net.h> includeMatthias Schiffer1-0/+1
net.h is needed for PKTBUFSRX. Without this definition, the driver will always use 4 RX buffers, causing am65-cpsw-nuss initialization to fail when a higher number of buffers is requested. Signed-off-by: Matthias Schiffer <matthias.schiffer@ew.tq-group.com>
2024-05-15net: ti: am65-cpsw-nuss: fix error handling for "RX dma add buf failed"Matthias Schiffer1-1/+1
The RX DMA channel has been requested at this point already, so it must be freed. Signed-off-by: Matthias Schiffer <matthias.schiffer@ew.tq-group.com>
2024-05-15net: ti: am65-cpsw-nuss: avoid errors due to imbalanced start()/stop()Matthias Schiffer1-0/+9
The eth-uclass state machine doesn't prevent imbalanced start()/stop() calls - to the contrary, it even provides eth_init_state_only() and eth_halt_state_only() functions that change the state without any calls into the driver. This means that the driver must be robust against duplicate start() and stop() calls as well as send/recv calls while the interface is down. We decide not to print error messages but just to return an error in the latter case, as trying to send packets on a disabled interface commonly happens when the netconsole is still active after the Ethernet has been halted during bootm. Signed-off-by: Matthias Schiffer <matthias.schiffer@ew.tq-group.com>
2024-05-15net: eth-uclass: guard against reentrant eth_init()/eth_halt() callsMatthias Schiffer1-8/+32
With netconsole, any log message can result in an eth_init(), possibly causing an reentrant call into eth_init() if a driver's ops print anything: eth_init() -> driver.start() -> printf() -> netconsole -> eth_init() eth_halt() -> driver.stop() -> printf() -> netconsole -> eth_init() Rather than expecting every single Ethernet driver to handle this case, prevent the reentrant calls in eth_init() and eth_halt(). The issue was noticed on an AM62x board, where a bootm after simultaneous netconsole and TFTP would result in a crash. Signed-off-by: Matthias Schiffer <matthias.schiffer@ew.tq-group.com> Link: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1350550/sk-am62a-lp-am65_cpsw_nuss_port-error-in-u-boot-while-using-netconsole-functionality/
2024-05-15Merge patch series "Add remoteproc driver for AM62a SoC"Tom Rini4-4/+45
Hari Nagalla <hnagalla@ti.com> says: This series adds relevant ip data in remoteproc driver for AM62a devices. Logs: https://paste.sr.ht/~hnagalla/5e20838705c1d688bca81886dad56451b56d3913
2024-05-15board: ti: am62ax: Add support for remote proc loadHari Nagalla1-0/+4
Add AM62a remote proc firmware names to environment variables for loading of C7x DSP and R5F processors. Signed-off-by: Hari Nagalla <hnagalla@ti.com> Reviewed-by: Devarsh Thakkar <devarsht@ti.com>
2024-05-15configs: am62ax: enable remote proc driversHari Nagalla1-0/+3
Enable K3-DSP and K3-R5FSS remote proc drivers for am62ax. Signed-off-by: Hari Nagalla <hnagalla@ti.com> Reviewed-by: Devarsh Thakkar <devarsht@ti.com>
2024-05-15remoteproc: k3-r5: Add support for R5F core on AM62A SoCsHari Nagalla1-2/+27
AM62A has a R5F core in MCU voltage domain. Extend support for R5F remote proc driver on AM62A with compatible strings. Signed-off-by: Hari Nagalla <hnagalla@ti.com> Reviewed-by: Devarsh Thakkar <devarsht@ti.com>
2024-05-15remoteproc: k3-dsp: Enable C71x support for AM62AHari Nagalla1-2/+11
AM62A SoC has a single C71x DSP subsystem with analytics engine in main voltage domain. Extend support to AM62A with compatible strings. Signed-off-by: Hari Nagalla <hnagalla@ti.com> Reviewed-by: Devarsh Thakkar <devarsht@ti.com>
2024-05-15Merge patch series "Add DFU and usb boot for TI am62x SK and beagleplay"Tom Rini13-1/+272
Martyn Welch <martyn.welch@collabora.com> says: This series adds DFU support for TI AM62 SK and beagleplay boards. I have picked this series up from Sjoerd due to time constraints. Since the last revision: * Removed dwc3 mode setting in favour of reinstating forced peripheral mode for usb0 * Use of config fragments for both r5 and a53 DFU configuration to reduce duplication * Typographical improvements to documentation We plan to also submit the dts changes to linux so that those can be dropped again in the near future (hopefully)
2024-05-15doc: board: Add document for DFU boot on am62x SoCsSjoerd Simons2-1/+50
Both AM62 SK and beagleplay support DFU boot in a similar way now; Document how to actually run DFU boot for both boards Signed-off-by: Sjoerd Simons <sjoerd@collabora.com> Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com> Tested-by: Mattijs Korpershoek <mkorpershoek@baylibre.com> # on beagle play Signed-off-by: Martyn Welch <martyn.welch@collabora.com>
2024-05-15beagleplay: Add DFU supportSjoerd Simons3-0/+12
DFU mode on a beagleplay can be used via the Type-C connector by holding the USR switch while powering on. Configuration is already provided as fragments for both the A53 and R5 u-boot parts. Include the am62x_a53_usbdfu.config config. The am62x_r5_usbdfu.config fragment needs to be added should DFU boot be required as this will disable booting from persistent storage due to binary size constraints. Signed-off-by: Sjoerd Simons <sjoerd@collabora.com> Signed-off-by: Martyn Welch <martyn.welch@collabora.com> Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com> Tested-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
2024-05-15configs: am62x_evm_*: Enable USB and DFU supportSjoerd Simons3-0/+60
Provide config fragments to enable USB host as well as USB gadget and DFU support for a53 and r5. This relevant fragment is included into the am62x EVM a53 defconfig. For the r5, due to the smaller available size, the config fragment also disables support for persistent storage to free up space for USB support. This fragment needs to be included is DFU booting is desired. The CONFIG_DFU_SF option is placed in the defconfig rather than the fragment as this is known not to be supported on all boards that can support DFU. Signed-off-by: Sjoerd Simons <sjoerd@collabora.com> Signed-off-by: Martyn Welch <martyn.welch@collabora.com> Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
2024-05-15arm: dts: k3-am625-sk: Enable usb port in u-bootSjoerd Simons1-0/+9
Enable usb0 in all boot phases for use with DFU Signed-off-by: Sjoerd Simons <sjoerd@collabora.com> Reviewed-by: Alexander Sverdlin <alexander.sverdlin@siemens.com> Signed-off-by: Martyn Welch <martyn.welch@collabora.com> Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
2024-05-15board: ti: am62x: am62x: include env for DFUSjoerd Simons1-0/+1
Include standard TI K3 dfu environment Signed-off-by: Sjoerd Simons <sjoerd@collabora.com> Reviewed-by: Alexander Sverdlin <alexander.sverdlin@siemens.com> Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com> Tested-by: Mattijs Korpershoek <mkorpershoek@baylibre.com> # on beagle play
2024-05-15usb: dwc3: Add dwc3 glue driver for am62Sjoerd Simons3-0/+140
Add glue code for TI AM62 to the dwc3 driver; Most code adopted from TI vendor u-boot code. Signed-off-by: Sjoerd Simons <sjoerd@collabora.com> Tested-by: Alexander Sverdlin <alexander.sverdlin@siemens.com> Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com> Tested-by: Mattijs Korpershoek <mkorpershoek@baylibre.com> # on beagle play
2024-05-14Merge branch '2024-05-13-assorted-updates' into nextTom Rini35-842/+419
- A few zfs fixes, ARMv8 timer cleanups, support more algorithms with the nuvoton crypto driver, virtio + env in filesystem fix, K3 code cleanup and warning fix in gen_compile_commands.
2024-05-13arm: mach-k3: Move code specific to a SoC into that SoC's directoryWIP/2024-05-13-assorted-updatesAndrew Davis23-40/+88
Each SoC now has a directory in mach-k3, let's move the SoC specific files into their respective directories. Signed-off-by: Andrew Davis <afd@ti.com>
2024-05-13scripts: gen_compile_commands: fix invalid escape sequence warningCaleb Connolly1-1/+1
Since Python 3.12 unrecognised escape sequences trigger a SyntaxWarning. Convert the '\#' string to a raw string so the backslash is correctly used as a literal. Ported from Linux commit dae4a0171e25 ("gen_compile_commands: fix invalid escape sequence warning"). This updates the script to be in-line with Linux 6.9-rc6. Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org> Reviewed-by: João Marcos Costa <jmcosta944@gmail.com>
2024-05-13Init virtio before loading ENV from EXT4 or FATFiona Klute3-0/+11
Specifying a file in an EXT4 or FAT partition on a virtio device as environment location failed because virtio hadn't been initialized by the time the environment was loaded. This patch mirrors commit 54ee5ae84191 ("Add SCSI scan for ENV in EXT4 or FAT") in issue and fix, just for a different kind of block device. The additional include in include/virtio.h is needed so all functions called there are defined, the alternative would have been to include dm/device.h separately in the env/ sources. Checkpatch suggests using "if (IS_ENABLED(CONFIG...))" instead of "#if defined(CONFIG_...)", I'm sticking to the style of the existing code here. Signed-off-by: Fiona Klute <fiona.klute@gmx.de> CC: Joe Hershberger <joe.hershberger@ni.com> CC: Bin Meng <bmeng.cn@gmail.com> CC: Rogier Stam <rogier@unrailed.org>
2024-05-13armv8: generic_timer: Use event stream for udelayPeter Hoyes3-2/+39
Polling cntpct_el0 in a tight loop for delays is inefficient. This is particularly apparent on Arm FVPs, which do not simulate real time, meaning that a 1s sleep can take a couple of orders of magnitude longer to execute in wall time. If running at EL2 or above (where CNTHCTL_EL2 is available), enable the cntpct_el0 event stream temporarily and use wfe to implement the delay more efficiently. The event period is chosen as a trade-off between efficiency and the fact that Arm FVPs do not typically simulate real time. This is only implemented for Armv8 boards, where an architectural timer exists, and only enabled by default for the ARCH_VEXPRESS64 board family. Signed-off-by: Peter Hoyes <Peter.Hoyes@arm.com> Reviewed-by: Andre Przywara <andre.przywara@arm.com>
2024-05-13arm: Move sev() and wfe() definitions to common Arm header filePeter Hoyes2-19/+9
The sev() and wfe() asm macros are currently defined only for mach-exynos. As these are common Arm instructions, move them to the common asm/system.h header file, for both Armv7 and Armv8, so they can be used by other machines. wfe may theoretically trigger a context switch if an interrupt occurs so add a memory barrier to this call. Signed-off-by: Peter Hoyes <Peter.Hoyes@arm.com> Reviewed-by: Andre Przywara<andre.przywara@arm.com>
2024-05-13sandbox: make function 'do_undefined' properly compiles for PowerPCWHR1-0/+4
The 2 bytes 0xffff is too short for being a PowerPC instruction, resulting in an error similar to: /tmp/ccW8yjie.s: Assembler messages: /tmp/ccW8yjie.s: Error: unaligned opcodes detected in executable segment /tmp/ccW8yjie.s:223: Error: instruction address is not a multiple of 4 make[2]: *** [/tmp/ccyF4HIC.mk:17: /tmp/ccCKUFuF.ltrans5.ltrans.o] Error 1 Signed-off-by: WHR <msl0000023508@gmail.com>
2024-05-13zfs: fix function 'zlib_decompress' pointlessly calling itselfWHR1-1/+3
In order to prevent crashing due to infinite recursion and actually decompress the requested data, call the zlib function 'uncompress' instead. Signed-off-by: WHR <msl0000023508@gmail.com>
2024-05-13zfs: recognize zpools formatted with features supportWHR2-7/+12
Currently no features are implemented, only the zpool version 5000 that indicating the features support, is recognized. Since it is possible for OpenZFS to create a pool with features support enabled, but without enabling any actual feature, this change enables U-Boot to read such pools. Signed-off-by: WHR <msl0000023508@gmail.com>
2024-05-13crypto: nuvoton: npcm_sha: Support SHA 384/512Jim Liu1-772/+252
1. Use vendor naming rule to rename each function 2. add SHA 384/512 support Signed-off-by: Jim Liu <JJLIU0@nuvoton.com>
2024-05-10Merge patch series "Add AM64x Support to PRUSS and PRU_RPROC driver"Tom Rini2-2/+8
MD Danish Anwar <danishanwar@ti.com> says: This series adds AM64x related compatibles to PRUSS and PRU_RPROC drivers. This series is a prerequisite for ICSSG Ethernet driver. Once Support for AM64x is added to PRUSS and PRU_RPROC driver, I'll send another series to enable ICSSG Ethernet driver for AM64x as well.
2024-05-10Merge patch series "Generate all SR boot binaries"Tom Rini2-2/+183
Neha Malcom Francis <n-francis@ti.com> says: Add support for missing HS SRs in the build for J721E and J7200. Boot logs (updated for v2): https://gist.github.com/nehamalcom/e652752623537aced8cf31308015d7c9
2024-05-10Merge patch series "*** Commonize board code for K3 based SoMs ***"Tom Rini5-67/+78
Wadim Egorov <w.egorov@phytec.de> says: Factor out code that we can reuse across all our K3 based SoMs. 2nd patch of this series require patch [1] to be applied first. [1] https://lists.denx.de/pipermail/u-boot/2024-April/552021.html
2024-05-10arm: mach-k3: am642: Provide a way to obtain boot device for non SPLsWadim Egorov4-91/+109
Let's provide get_boot_device() for AM64, similar to what we did in commit 2f9095e2bf59 ("arm: mach-k3: am625: Provide a way to obtain boot device for non SPLs") for AM62. Signed-off-by: Wadim Egorov <w.egorov@phytec.de>
2024-05-10soc: ti: pruss: Add support for AM64xMD Danish Anwar1-0/+1
Add support for AM64x by adding it's compatible in pruss driver. Signed-off-by: MD Danish Anwar <danishanwar@ti.com> Reviewed-by: Roger Quadros <rogerq@kernel.org>
2024-05-10remoteproc: pru: Add support for AM64x PRU / RTU coresMD Danish Anwar1-2/+7
Add support for AM64x PRU cores by adding compatibles for AM64x. Signed-off-by: MD Danish Anwar <danishanwar@ti.com> Reviewed-by: Roger Quadros <rogerq@kernel.org>
2024-05-10arm: dts: k3-j7200-binman: Add support for HSSE1.0 and HSFS1.0Neha Malcom Francis1-1/+94
J7200 has SR1.0 and SR2.0 having three variants of each GP, HS-FS and HS-SE. Current build does not generate HS-SE SR1.0 and HS-FS SR1.0 so add support for them. Reported-by: Suman Anna <s-anna@ti.com> Reported-by: Aniket Limaye <a-limaye@ti.com> Signed-off-by: Neha Malcom Francis <n-francis@ti.com> Reviewed-by: Andrew Davis <afd@ti.com>
2024-05-10arm: dts: k3-j721e-binman: Add support for HSFS1.1Neha Malcom Francis1-1/+89
J721E has SR1.1 and SR2.0 having three variants of each GP, HS-FS and HS-SE. Current build does not generate HS-FS SR1.1 so add support for them. Reported-by: Suman Anna <s-anna@ti.com> Signed-off-by: Neha Malcom Francis <n-francis@ti.com> Reviewed-by: Andrew Davis <afd@ti.com>
2024-05-10phycore_am64x_a53_defconfig: Enable CONFIG_BOARD_LATE_INITWadim Egorov1-0/+1
Enable CONFIG_BOARD_LATE_INIT to use PHYTECs common board_late_init() to set handy environment variables for u-boot. Also, resync after savedefconfig. Signed-off-by: Wadim Egorov <w.egorov@phytec.de>
2024-05-10board: phytec: Commonize board code for K3 based SoMsWadim Egorov4-67/+77
Environment handling code can be reused across all our K3 based SoMs. Instead of adding the same code for every new SoM, move it to a common board.c file. Signed-off-by: Wadim Egorov <w.egorov@phytec.de>
2024-05-08test/py: Make the number of SPL banners seen a variableWIP/08May2024-nextTom Rini1-11/+4
Currently we have the option to tell the console code that we should ignore the SPL banner. We also have an option to say that we can see it a second time, and ignore it. However, some platforms such as TI AM64x will have us see the SPL banner three times. Rather than add an "spl3_skipped" option, rework the code. By default we expect to see the banner once, but boards can specify seeing it as many times as they expect to. Signed-off-by: Tom Rini <trini@konsulko.com>
2024-05-08net: Add drivers for Sysnopsys Ethernet 10G deviceBoon Khai Ng5-0/+1709
This driver support the Synopsys Designware Ethernet 10G IP block refer from the driver dwc_eth_qos. The driver MAC register mapping is different between Synopsys QoS IP and Synopsys 10G IP, and thus new file is created meant for Sysnopsys 10G IP. The dwc_eth_xgmac_socfpga.c is specific to a device family, the driver support the specific configuration used in Intel SoC FPGA Agilex5. This driver is extensible for other device family to use. Signed-off-by: Boon Khai Ng <boon.khai.ng@intel.com>
2024-05-07Merge patch series "arm: Add Analog Devices SC5xx Machine Type"WIP/07May2024-nextTom Rini43-0/+5027
Greg Malysa <greg.malysa@timesys.com> says: This series adds support for the ADI SC5xx machine type and includes two core drivers that are required for being able to boot any board--a UART driver, the gptimer driver which is used as a clock reference (CNTVCNT is not supported on the armv7 sc5xx SoCs) and the clock tree driver. Our corresponding Linux support relies on u-boot configuring the clocks correctly before booting, so it is not possible to boot any board without the CGU/CDU configuration happening here. There are also no board files, device trees, or defconfigs included here, but some common definitions that will be used to build board files currently are. The sc5xx SoCs themselves include many armv7 families (sc57x, sc58x, and sc594) all using an ARM Cortex-A5, and one armv8 family (sc598) indended to be a drop-in replacement for the SC594 in terms of peripherals, with a Cortex-A55 instead. Some of the configuration code in dmcinit and clkinit is quite scary and causes a lot of checkpatch violations. It is modified from code initially provided by ADI, but it has not been fully rewritten. There's a question of how important it is to clean up this code--it has some quality violations, but it has been in use (including in production) for over two years and is known to work for performing the low level SoC initialization, while a rewrite might introduce timing or sequence bugs that could take a significant amount of time to detect in the future.
2024-05-07drivers: timer: Add in driver support for ADI SC5XX-family GP timer peripheralGreg Malysa4-0/+155
Co-developed-by: Nathan Barrett-Morrison <nathan.morrison@timesys.com> Signed-off-by: Nathan Barrett-Morrison <nathan.morrison@timesys.com> Co-developed-by: Angelo Dureghello <angelo.dureghello@timesys.com> Signed-off-by: Angelo Dureghello <angelo.dureghello@timesys.com> Co-developed-by: Ian Roberts <ian.roberts@timesys.com> Signed-off-by: Ian Roberts <ian.roberts@timesys.com> Signed-off-by: Greg Malysa <greg.malysa@timesys.com>
2024-05-07drivers: serial: Add in UART for ADI SC5XX-family processorsNathan Barrett-Morrison3-0/+227
Co-developed-by: Greg Malysa <greg.malysa@timesys.com> Signed-off-by: Greg Malysa <greg.malysa@timesys.com> Co-developed-by: Ian Roberts <ian.roberts@timesys.com> Signed-off-by: Ian Roberts <ian.roberts@timesys.com> Signed-off-by: Vasileios Bimpikas <vasileios.bimpikas@analog.com> Signed-off-by: Utsav Agarwal <utsav.agarwal@analog.com> Signed-off-by: Arturs Artamonovs <arturs.artamonovs@analog.com> Signed-off-by: Nathan Barrett-Morrison <nathan.morrison@timesys.com>
2024-05-07drivers: clk: adi: Add in SC5XX-family clock driverNathan Barrett-Morrison13-0/+1604
This adds support for the SC5XX clock trees which are required for reading clock speeds on the SoCs. This is largely a port of the same support for Linux, which has not yet been submitted upstream. Co-developed-by: Greg Malysa <greg.malysa@timesys.com> Signed-off-by: Greg Malysa <greg.malysa@timesys.com> Co-developed-by: Ian Roberts <ian.roberts@timesys.com> Signed-off-by: Ian Roberts <ian.roberts@timesys.com> Signed-off-by: Vasileios Bimpikas <vasileios.bimpikas@analog.com> Signed-off-by: Utsav Agarwal <utsav.agarwal@analog.com> Signed-off-by: Arturs Artamonovs <arturs.artamonovs@analog.com> Signed-off-by: Nathan Barrett-Morrison <nathan.morrison@timesys.com>