summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-11-09configs: ls1028a: ensure Ethernet is enabledVladimir Oltean
CONFIG_FSL_ENETC is not explicitly enabled in the NXP LS1028A config files, instead it is selected by CONFIG_MSCC_FELIX_SWITCH, a state of matters which is fragile. CONFIG_MSCC_FELIX_SWITCH depends on CONFIG_DM_DSA, which depends on CONFIG_PHY_FIXED. Not all LS1028A boards did enable CONFIG_PHY_FIXED, which resulted in all of Ethernet being compiled out. This patch makes sure that CONFIG_PHY_FIXED is enabled for all LS1028A boards, and CONFIG_FSL_ENETC as well - don't rely on that fragile selection done by the Felix switch config. Signed-off-by: Vladimir Oltean <[email protected]> Reviewed-by: Bin Meng <[email protected]> [Rebased] Signed-off-by: Priyanka Jain <[email protected]>
2021-11-09pci: layerscape: Fix the LUT and msi-map mismatch issueHou Zhiqiang
In the current code, it doesn't reset the cursors of LUT entry and StreamID at the beginning of the fixup, so it can result in LUT entry setup and msi-map mismatch and LUT entries and StreamID leaking when reload and fixup the DTB. This patch move the initialization of LUT entry and StreamID cursors to the beginning of the fixup to resolve the issues. Signed-off-by: Hou Zhiqiang <[email protected]> [Rebased] Signed-off-by: Priyanka Jain <[email protected]>
2021-11-09configs: fsl: migrate FMAN/QE specific defines to KconfigRajesh Bhagat
Use moveconfig.py script to convert CONFIG_SYS_FMAN_FW_ADDR, CONFIG_SYS_QE_FW_ADDR and CONFIG_SYS_QE_FMAN_FW_LENGTH to Kconfig and move these entries to defconfigs. Signed-off-by: Rajesh Bhagat <[email protected]> [Rebased] Signed-off-by: Priyanka Jain <[email protected]>
2021-11-09configs: ls1046aqds: Configure environment related configsKuldeep Singh
LS1046A-QDS board requires updation in few environment configs in TFA defconfigs of the board. Following are the changes: - Update CONFIG_ENV_ADDR - Update CONFIG_ENV_SECT_SIZE - Enable CONFIG_SYS_RELOC_GD_ENV_ADDR Signed-off-by: Kuldeep Singh <[email protected]> [Rebased] Signed-off-by: Priyanka Jain <[email protected]>
2021-11-09configs: ls1046aqds: Move CONFIG_SPI_FLASH_* definitions to defconfigsKuldeep Singh
LS1046A-QDS has CONFIG_SPI_FLASH_SST, CONFIG_SPI_FLASH_EON and CONFIG_SPI_FLASH_STMICRO defines present in header. Move these entries from header to defconfigs. Signed-off-by: Kuldeep Singh <[email protected]> [Rebased] Signed-off-by: Priyanka Jain <[email protected]>
2021-11-09board: kontron: sl28: add myself to ls1028a.dtsi maintainersMichael Walle
I'd like to keep informed about ls1028a.dtsi changes. For now, there is no top-level entry for any layerscape specific files. Instead, add the file entry to my board MAINTAINERS file. Signed-off-by: Michael Walle <[email protected]> Reviewed-by: Priyanka Jain <[email protected]>
2021-11-09armv8: layerscape: use memalign() to allocate spintable codeMichael Walle
Don't use efi_allocate_pages(). The allocated memory isn't carved out of the lmb allocations. The memory might then be allocated twice. Particulary, this might happened with the fdt_high/initrd_high feature which will relocate the fdt/ramdisk. This might then overlap with the spin table. Instead use memalign() which allocates on memory on the heap which is correctly carved out by lmb. Please note, that the memory is later reserved in the device tree as well as in the EFI memory map in ft_fixup_cpu() (in arch/arm/cpu/armv8/fsl-layerscape/fdt.c). Signed-off-by: Michael Walle <[email protected]> Reviewed-by: Priyanka Jain <[email protected]>
2021-11-09board: sl28: enable USB periheral support and gadgetsMichael Walle
Enable support to update the board via the DFU protocol and make it possible to export the block devices via USB mass storage protocol. This will not work out of the box, yet. You have to change the dr_mode of the usb0 controller to peripheral manually to make it work. True, OTG support will hopefully coming soon. Signed-off-by: Michael Walle <[email protected]> Reviewed-by: Priyanka Jain <[email protected]>
2021-11-09board: sl28: switch to dwc3 driverMichael Walle
Now that the DWC3 USB driver has support for the layerscape platform, use it. This will have the benefit that peripheral mode will work. Signed-off-by: Michael Walle <[email protected]> Reviewed-by: Priyanka Jain <[email protected]>
2021-11-09usb: dwc3: add layerscape supportMichael Walle
Add support for the proper dwc3 device tree binding support as specified in the offical device tree spec. Initially, add support for the LS1028A support. Other SoCs should be easy to add by just adding the corresponding compatible string. Unfortunately, the device trees of all other layerscape SoCs are not converted and uses a wrong compatible string only known in u-boot. To maintain backwards compatibility with current u-boot device trees, add the generic "fsl,layerscape-dwc3" compatible string. OTG mode is not supported yet. The dr_mode in the devicetree will either have to be set to peripheral or host. Signed-off-by: Michael Walle <[email protected]> Reviewed-by: Priyanka Jain <[email protected]>
2021-11-09usb: dwc3: Enable undefined length INCR burst typeMichael Walle
[backport from linux commit d9612c2f0449e24983a8b689603210486a930c90] Enable the undefined length INCR burst type and set INCRx. Different platform may has the different burst size type. In order to get best performance, we need to tune the burst size to one special value, instead of the default value. Signed-off-by: Michael Walle <[email protected]> Reviewed-by: Priyanka Jain <[email protected]>
2021-11-09usb: dwc3: Add frame length adjustment quirkMichael Walle
[backport from linux commit db2be4e9e30c6e43e48c5749d3fc74cee0a6bbb3] Add adjust_frame_length_quirk for writing to fladj register which adjusts (micro)frame length to value provided by "snps,quirk-frame-length-adjustment" property thus avoiding USB 2.0 devices to time-out over a longer run Signed-off-by: Michael Walle <[email protected]> Reviewed-by: Priyanka Jain <[email protected]>
2021-11-09usb: common: silence dubious errorsMichael Walle
Both dr_mode and maximum-speed properties are usually optional. Drivers will still try to fetch the properties nonetheless, which leads to error messages, although they are no errors. Change pr_err() to pr_debug(). Signed-off-by: Michael Walle <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Priyanka Jain <[email protected]>
2021-11-09armv8: fsl-layerscape: rework the dwc3 snooping enable codeMichael Walle
Instead of looking at all USB (host) devices, just search all DWC3 device tree nodes. This will (1) fix a panic if of_match is zero and (2) also apply the fixup if the controller is in peripheral mode. Both happen when the DWC3 USB controller driver is used. Signed-off-by: Michael Walle <[email protected]> Reviewed-by: Priyanka Jain <[email protected]>
2021-11-09test: dm: add test for ofnode_for_each_compatible_node()Michael Walle
Check that all matching nodes have the correct compatible and that there is at least one match. Signed-off-by: Michael Walle <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Priyanka Jain <[email protected]>
2021-11-09dm: core: add ofnode_for_each_compatible_node()Michael Walle
Add a helper to iterate over all nodes with a given compatible string. Signed-off-by: Michael Walle <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Priyanka Jain <[email protected]>
2021-11-09arm: dts: sl28: sync dtbsMichael Walle
Copy the board device tree files from linux v5.14. On top of the v5.14 dtbs the changes of these two patches are included here which are needed for u-boot: https://lore.kernel.org/linux-devicetree/[email protected]/ https://lore.kernel.org/linux-devicetree/[email protected]/ At the time of this writing the patches were accepted and will be included in 5.15. Signed-off-by: Michael Walle <[email protected]> Reviewed-by: Vladimir Oltean <[email protected]> Reviewed-by: Priyanka Jain <[email protected]>
2021-11-09arm: dts: ls1028a: sync the fsl-ls1028a.dtsi with linuxMichael Walle
Now that everything is prepared, copy the fsl-ls1028a.dtsi from the linux kernel v5.14.12. Notable changes: - second watchdog added - the number of chip selects of the SPI controller is now correct and reflects what the hardware offers - the LPUARTs have the correct clock parent - USB controllers are enabled by default, which was already the case before this sync because all board enabled all the USB controller nodes. A linux patch to fix this is pending. - the eSDHC controller changes from big-endian to little-endian, but that property seems to be not used at all. Signed-off-by: Michael Walle <[email protected]> Reviewed-by: Vladimir Oltean <[email protected]> Reviewed-by: Priyanka Jain <[email protected]>
2021-11-09arm: dts: ls1028a: disable the PCIe controller by defaultMichael Walle
Disable the PCIe controllers by default, just like in the linux device tree. But there is one catch, for linux they are enabled in-place by the bootloader. Obviously, this doesn't work for the bootloader. Thus we explicitly enable the controllers in the -u-boot.dtsi files. Signed-off-by: Michael Walle <[email protected]> Reviewed-by: Vladimir Oltean <[email protected]> Reviewed-by: Priyanka Jain <[email protected]>
2021-11-09arm: dts: ls1028a: move the PCI I/O window to matchMichael Walle
To make the synchronization of the u-boot device tree with the one from linux easier, move the I/O window to the one which is specified in the linux device tree. The actual value shouldn't matter as long as it mapped to the corresponding memory window of the PCIe controller which is a 32GiB window at 80_0000_0000h (first controller) or 88_0000_0000h (second controller). Signed-off-by: Michael Walle <[email protected]> Reviewed-by: Hou Zhiqiang <[email protected]> Reviewed-by: Priyanka Jain <[email protected]>
2021-11-09arm: dts: ls1028a: remove num-lanes in the PCIe controller nodesMichael Walle
This property is unused in the layerscape PCIe controller driver and not present in the linux device tree. Remove it to be similarly. Signed-off-by: Michael Walle <[email protected]> Reviewed-by: Vladimir Oltean <[email protected]> Reviewed-by: Priyanka Jain <[email protected]>
2021-11-09pci: layerscape: add official ls1028a binding supportMichael Walle
The official bindind of the PCIe controller of the ls1028a has the following compatible string: compatible = "fsl,ls1028a-pcie"; Additionally, the resource names and count are different. Update the driver to support this binding and change the entry in the ls1028a device tree. Cc: Hou Zhiqiang <[email protected]> Signed-off-by: Michael Walle <[email protected]> Reviewed-by: Hou Zhiqiang <[email protected]> Reviewed-by: Priyanka Jain <[email protected]>
2021-11-09usb: xhci: fsl: add new compatible fsl,ls1028a-dwc3Michael Walle
The official ls1028a binding of the driver uses the following as compatibles: compatible = "fsl,ls1028a-dwc3", "snps,dwc3"; Change the ls1028a device tree and add this new compatible to the fsl specific xhci driver, otherwise the generic dwc3 driver will be used with the compatibles above. Cc: Bin Meng <[email protected]> Cc: Marek Vasut <[email protected]> Signed-off-by: Michael Walle <[email protected]> Reviewed-by: Bin Meng <[email protected]> Reviewed-by: Priyanka Jain <[email protected]>
2021-11-09scsi: ceva: rename the resource name to match the linux kernel oneMichael Walle
The driver will look for a named resource "ecc-addr", but this isn't the official binding. In fact, the official device tree binding documentation doesn't mention any resource names at all. But it is safe to assume that it's the linux ones we have to use if we want to be compatible with the linux device tree. Thus rename "ecc-addr" to "sata-ecc" and convert all the users in u-boot. While at it, also rename "sata-base" to "ahci" although its not used at all. This change doesn't affect the SATA controller on the ZynqMP. Cc: Michal Simek <[email protected]> Signed-off-by: Michael Walle <[email protected]> Reviewed-by: Vladimir Oltean <[email protected]> Reviewed-by: Priyanka Jain <[email protected]>
2021-11-09serial: lpuart: add new compatible fsl, ls1028a-lpuartMichael Walle
The official ls1028a binding of the driver uses the following as compatibles: compatible = "fsl,ls1028a-lpuart"; Add the missing compatible to the driver and update the device tree. Signed-off-by: Michael Walle <[email protected]> Reviewed-by: Vladimir Oltean <[email protected]> Reviewed-by: Priyanka Jain <[email protected]>
2021-11-09spi: fsl_dspi: rename num-cs to spi-num-chipselectsMichael Walle
The official devicetree bindings specifies spi-num-chipselects as the name. Use it. Signed-off-by: Michael Walle <[email protected]> Reviewed-by: Vladimir Oltean <[email protected]> Reviewed-by: Priyanka Jain <[email protected]>
2021-11-09spi: fsl_dspi: add new compatible fsl, ls1021a-v1.0-dspiMichael Walle
The official ls1028a binding of the driver uses the following as compatibles: compatible = "fsl,ls1028a-dspi", "fsl,ls1021a-v1.0-dspi"; Add the missing compatible to the driver and update the device tree. We can use the fallback "fsl,ls1021a-v1.0-dspi", because the endianness is determined by the little-endian property and not by the compatible string itself. Further, we won't need and specific details on the DMA configuration (which is different on the LS1021A). If it's ever needed, we can later add the more specific "fsl,ls1028a-dspi" compatible to the driver. Signed-off-by: Michael Walle <[email protected]> Reviewed-by: Vladimir Oltean <[email protected]> Reviewed-by: Priyanka Jain <[email protected]>
2021-11-09watchdog: sp805_wdt: use correct compatible stringMichael Walle
According to the linux device tree specification the compatible string is: compatible = "arm,sp805", "arm,primecell"; Fix all users in u-boot. Signed-off-by: Michael Walle <[email protected]> Reviewed-by: Priyanka Jain <[email protected]>
2021-11-09arm: dts: ls1028a: update the labelsMichael Walle
Update the labels of the nodes to match the kernel ones. Signed-off-by: Michael Walle <[email protected]> Reviewed-by: Vladimir Oltean <[email protected]> Tested-by: Vladimir Oltean <[email protected]> Reviewed-by: Priyanka Jain <[email protected]>
2021-11-09arm: dts: ls1028a: move the iRC node and its devices into /socMichael Walle
While inserting them into the new location, keep them sorted by the register base offset just like in the linux kernel device tree. While at it fix the indentation. Signed-off-by: Michael Walle <[email protected]> Reviewed-by: Vladimir Oltean <[email protected]> Reviewed-by: Priyanka Jain <[email protected]>
2021-11-09arm: dts: ls1028a: move the watchdog node into /socMichael Walle
While inserting it into the new location, keep it sorted by the register base offset just like in the linux kernel device tree. Signed-off-by: Michael Walle <[email protected]> Reviewed-by: Vladimir Oltean <[email protected]> Reviewed-by: Priyanka Jain <[email protected]>
2021-11-09arm: dts: ls1028a: move the PCIe controller nodes into /socMichael Walle
While inserting them into the new location, keep them sorted by the register base offset just like in the linux kernel device tree. While at it fix the indentation. Signed-off-by: Michael Walle <[email protected]> Reviewed-by: Vladimir Oltean <[email protected]> Reviewed-by: Priyanka Jain <[email protected]>
2021-11-09arm: dts: ls1028a: move SATA and USB controller nodes into /socMichael Walle
While inserting them into the new location, keep them sorted by the register base offset just like in the linux kernel device tree. Signed-off-by: Michael Walle <[email protected]> Reviewed-by: Vladimir Oltean <[email protected]> Reviewed-by: Priyanka Jain <[email protected]>
2021-11-09arm: dts: ls1028a: move the GPIO controller nodes into /socMichael Walle
While inserting them into the new location, keep them sorted by the register base offset just like in the linux kernel device tree. Signed-off-by: Michael Walle <[email protected]> Reviewed-by: Vladimir Oltean <[email protected]> Reviewed-by: Priyanka Jain <[email protected]>
2021-11-09arm: dts: ls1028a: move the low-power UART nodes into /socMichael Walle
While inserting them into the new location, keep them sorted by the register base offset just like in the linux kernel device tree. Signed-off-by: Michael Walle <[email protected]> Reviewed-by: Vladimir Oltean <[email protected]> Reviewed-by: Priyanka Jain <[email protected]>
2021-11-09arm: dts: ls1028a: move the UART controller nodes into /socMichael Walle
While inserting them into the new location, keep them sorted by the register base offset just like in the linux kernel device tree. Signed-off-by: Michael Walle <[email protected]> Reviewed-by: Vladimir Oltean <[email protected]> Reviewed-by: Priyanka Jain <[email protected]>
2021-11-09arm: dts: ls1028a: move the SPI and eSDHC controller nodes into /socMichael Walle
While inserting them into the new location, keep them sorted by the register base offset just like in the linux kernel device tree. Signed-off-by: Michael Walle <[email protected]> Reviewed-by: Vladimir Oltean <[email protected]> Reviewed-by: Priyanka Jain <[email protected]>
2021-11-09arm: dts: ls1028a: move the FlexSPI controller nodeMichael Walle
While inserting it into the new location, keep it sorted by the register base offset just like in the linux kernel device tree. Signed-off-by: Michael Walle <[email protected]> Reviewed-by: Vladimir Oltean <[email protected]> Reviewed-by: Priyanka Jain <[email protected]>
2021-11-09arm: dts: ls1028a: move I2C controller nodes into /socMichael Walle
While inserting them into the new location, keep them sorted by the register base offset just like in the linux kernel device tree. Signed-off-by: Michael Walle <[email protected]> Reviewed-by: Vladimir Oltean <[email protected]> Reviewed-by: Priyanka Jain <[email protected]>
2021-11-09arm: dts: ls1028a: move the clockgen node into /socMichael Walle
Populate the /soc node with the first device node. Signed-off-by: Michael Walle <[email protected]> Reviewed-by: Vladimir Oltean <[email protected]> Reviewed-by: Priyanka Jain <[email protected]>
2021-11-09arm: dts: ls1028a: add an empty /socMichael Walle
To keep the device tree similar to the linux kernel one, we need to move all CCSR related devices into the /soc node. To keep the patches easy to review, we initially add an empty /soc node and populate it piece by piece. Signed-off-by: Michael Walle <[email protected]> Reviewed-by: Vladimir Oltean <[email protected]> Reviewed-by: Priyanka Jain <[email protected]>
2021-11-09arm: dts: ls1028a-{rdb, qds}: remove dm-pre-reloc propertyMichael Walle
Nowadays, both boards boot using the TF-A BL1/BL2 and SPL isn't used at all. The property is not needed, remove it. Signed-off-by: Michael Walle <[email protected]> Reviewed-by: Vladimir Oltean <[email protected]> Reviewed-by: Priyanka Jain <[email protected]>
2021-11-09arm: dts: ls1028a: remove /memory nodeMichael Walle
This node is some hodgepodge between the ddr controller node at SoC offset 0x1080000 and some static memory size of 2GiB. Remove this bogus node because it doesn't seem to be used at all. Signed-off-by: Michael Walle <[email protected]> Reviewed-by: Vladimir Oltean <[email protected]> Tested-by: Vladimir Oltean <[email protected]> Reviewed-by: Priyanka Jain <[email protected]>
2021-11-09armv8: ls1028a: use the official compatible string for the GPUMichael Walle
There is no "fsl,ls1028a-gpu" compatible string. It is solely for the proprietary driver which will never be open source. Lately, linux gained support for the open source etnaviv driver for the GPU (although there is still support for the DisplayPort PHY missing to get actual graphics output). Thus, instead of supporting some proprietary driver, switch over to the open source one, which also have an official device tree binding. Cc: Andy Tang <[email protected]> Signed-off-by: Michael Walle <[email protected]> Reviewed-by: Priyanka Jain <[email protected]>
2021-11-09drivers: ddr: lc_common_dimm_params.c : Fix Divison by zero issueManinder Singh
Adds check for memory clock variable before calculating caslat_actual. Set mclk_ps to slowest DIMM supported if mclk_ps is found zero. Signed-off-by: Maninder Singh <[email protected]> Reviewed-by: Priyanka Jain <[email protected]>
2021-11-09drivers: net: fsl-mc: add a command which dumps the MC logCosmin-Florin Aluchenesei
Extended fsl_mc command adding an extra option dump_log Signed-off-by: Cosmin-Florin Aluchenesei <[email protected]> Reviewed-by: Priyanka Jain <[email protected]>
2021-11-09ppc: mpc8xx: Drop -mstring from PLATFORM_CPPFLAGSTom Rini
This has not been supported by toolchains for some time and has been putting out a warning. Drop this. Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Thomas Huth <[email protected]> Reviewed-by: Priyanka Jain <[email protected]>
2021-11-09arm: dts: ls1088a: Update qspi node propertiesKuldeep Singh
Remove "num-cs" property from device-tree as it is no longer used by qspi driver anymore. Also, specify status as "disabled" and enable qspi support in respective board dts files. This will also help in aligning node properties with other board properties. Signed-off-by: Kuldeep Singh <[email protected]> Reviewed-by: Priyanka Jain <[email protected]>
2021-11-09board: sl28: add update image documentationMichael Walle
Document the update image and how to use the EFI UpdateCapsule. Signed-off-by: Michael Walle <[email protected]> Reviewed-by: Priyanka Jain <[email protected]>
2021-11-09doc: board: kontron: sl28: Reduce section levels and change titleFrieder Schrempf
In order to add other Kontron boards to the docs alongside the existing sl28 board, we need to reduce the levels of the sections and change the title. Cc: Fabio Estevam <[email protected]> Signed-off-by: Frieder Schrempf <[email protected]> Acked-by: Michael Walle <[email protected]> Reviewed-by: Priyanka Jain <[email protected]>