- 09 Nov, 2021 40 commits
-
-
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 <rajesh.bhagat@nxp.com> [Rebased] Signed-off-by:
Priyanka Jain <priyanka.jain@nxp.com>
-
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 <kuldeep.singh@nxp.com> [Rebased] Signed-off-by:
Priyanka Jain <priyanka.jain@nxp.com>
-
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 <kuldeep.singh@nxp.com> [Rebased] Signed-off-by:
Priyanka Jain <priyanka.jain@nxp.com>
-
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 <michael@walle.cc> Reviewed-by:
Priyanka Jain <priyanka.jain@nxp.com>
-
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 <michael@walle.cc> Reviewed-by:
Priyanka Jain <priyanka.jain@nxp.com>
-
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 <michael@walle.cc> Reviewed-by:
Priyanka Jain <priyanka.jain@nxp.com>
-
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 <michael@walle.cc> Reviewed-by:
Priyanka Jain <priyanka.jain@nxp.com>
-
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 <michael@walle.cc> Reviewed-by:
Priyanka Jain <priyanka.jain@nxp.com>
-
[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 <michael@walle.cc> Reviewed-by:
Priyanka Jain <priyanka.jain@nxp.com>
-
[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 <michael@walle.cc> Reviewed-by:
Priyanka Jain <priyanka.jain@nxp.com>
-
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 <michael@walle.cc> Reviewed-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Priyanka Jain <priyanka.jain@nxp.com>
-
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 <michael@walle.cc> Reviewed-by:
Priyanka Jain <priyanka.jain@nxp.com>
-
Check that all matching nodes have the correct compatible and that there is at least one match. Signed-off-by:
Michael Walle <michael@walle.cc> Reviewed-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Priyanka Jain <priyanka.jain@nxp.com>
-
Add a helper to iterate over all nodes with a given compatible string. Signed-off-by:
Michael Walle <michael@walle.cc> Reviewed-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Priyanka Jain <priyanka.jain@nxp.com>
-
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/20210831134013.1625527-7-michael@walle.cc/ https://lore.kernel.org/linux-devicetree/20210831134013.1625527-8-michael@walle.cc/ At the time of this writing the patches were accepted and will be included in 5.15. Signed-off-by:
Michael Walle <michael@walle.cc> Reviewed-by:
Vladimir Oltean <vladimir.oltean@nxp.com> Reviewed-by:
Priyanka Jain <priyanka.jain@nxp.com>
-
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 <michael@walle.cc> Reviewed-by:
Vladimir Oltean <vladimir.oltean@nxp.com> Reviewed-by:
Priyanka Jain <priyanka.jain@nxp.com>
-
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 <michael@walle.cc> Reviewed-by:
Vladimir Oltean <vladimir.oltean@nxp.com> Reviewed-by:
Priyanka Jain <priyanka.jain@nxp.com>
-
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 <michael@walle.cc> Reviewed-by:
Hou Zhiqiang <Zhiqiang.Hou@nxp.com> Reviewed-by:
Priyanka Jain <priyanka.jain@nxp.com>
-
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 <michael@walle.cc> Reviewed-by:
Vladimir Oltean <vladimir.oltean@nxp.com> Reviewed-by:
Priyanka Jain <priyanka.jain@nxp.com>
-
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 <Zhiqiang.Hou@nxp.com> Signed-off-by:
Michael Walle <michael@walle.cc> Reviewed-by:
Hou Zhiqiang <Zhiqiang.Hou@nxp.com> Reviewed-by:
Priyanka Jain <priyanka.jain@nxp.com>
-
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 <bmeng.cn@gmail.com> Cc: Marek Vasut <marex@denx.de> Signed-off-by:
Michael Walle <michael@walle.cc> Reviewed-by:
Bin Meng <bmeng.cn@gmail.com> Reviewed-by:
Priyanka Jain <priyanka.jain@nxp.com>
-
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 <monstr@monstr.eu> Signed-off-by:
Michael Walle <michael@walle.cc> Reviewed-by:
Vladimir Oltean <vladimir.oltean@nxp.com> Reviewed-by:
Priyanka Jain <priyanka.jain@nxp.com>
-
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 <michael@walle.cc> Reviewed-by:
Vladimir Oltean <vladimir.oltean@nxp.com> Reviewed-by:
Priyanka Jain <priyanka.jain@nxp.com>
-
The official devicetree bindings specifies spi-num-chipselects as the name. Use it. Signed-off-by:
Michael Walle <michael@walle.cc> Reviewed-by:
Vladimir Oltean <vladimir.oltean@nxp.com> Reviewed-by:
Priyanka Jain <priyanka.jain@nxp.com>
-
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 <michael@walle.cc> Reviewed-by:
Vladimir Oltean <vladimir.oltean@nxp.com> Reviewed-by:
Priyanka Jain <priyanka.jain@nxp.com>
-
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 <michael@walle.cc> Reviewed-by:
Priyanka Jain <priyanka.jain@nxp.com>
-
Update the labels of the nodes to match the kernel ones. Signed-off-by:
Michael Walle <michael@walle.cc> Reviewed-by:
Vladimir Oltean <vladimir.oltean@nxp.com> Tested-by:
Vladimir Oltean <vladimir.oltean@nxp.com> Reviewed-by:
Priyanka Jain <priyanka.jain@nxp.com>
-
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 <michael@walle.cc> Reviewed-by:
Vladimir Oltean <vladimir.oltean@nxp.com> Reviewed-by:
Priyanka Jain <priyanka.jain@nxp.com>
-
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 <michael@walle.cc> Reviewed-by:
Vladimir Oltean <vladimir.oltean@nxp.com> Reviewed-by:
Priyanka Jain <priyanka.jain@nxp.com>
-
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 <michael@walle.cc> Reviewed-by:
Vladimir Oltean <vladimir.oltean@nxp.com> Reviewed-by:
Priyanka Jain <priyanka.jain@nxp.com>
-
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 <michael@walle.cc> Reviewed-by:
Vladimir Oltean <vladimir.oltean@nxp.com> Reviewed-by:
Priyanka Jain <priyanka.jain@nxp.com>
-
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 <michael@walle.cc> Reviewed-by:
Vladimir Oltean <vladimir.oltean@nxp.com> Reviewed-by:
Priyanka Jain <priyanka.jain@nxp.com>
-
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 <michael@walle.cc> Reviewed-by:
Vladimir Oltean <vladimir.oltean@nxp.com> Reviewed-by:
Priyanka Jain <priyanka.jain@nxp.com>
-
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 <michael@walle.cc> Reviewed-by:
Vladimir Oltean <vladimir.oltean@nxp.com> Reviewed-by:
Priyanka Jain <priyanka.jain@nxp.com>
-
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 <michael@walle.cc> Reviewed-by:
Vladimir Oltean <vladimir.oltean@nxp.com> Reviewed-by:
Priyanka Jain <priyanka.jain@nxp.com>
-
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 <michael@walle.cc> Reviewed-by:
Vladimir Oltean <vladimir.oltean@nxp.com> Reviewed-by:
Priyanka Jain <priyanka.jain@nxp.com>
-
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 <michael@walle.cc> Reviewed-by:
Vladimir Oltean <vladimir.oltean@nxp.com> Reviewed-by:
Priyanka Jain <priyanka.jain@nxp.com>
-
Populate the /soc node with the first device node. Signed-off-by:
Michael Walle <michael@walle.cc> Reviewed-by:
Vladimir Oltean <vladimir.oltean@nxp.com> Reviewed-by:
Priyanka Jain <priyanka.jain@nxp.com>
-
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 <michael@walle.cc> Reviewed-by:
Vladimir Oltean <vladimir.oltean@nxp.com> Reviewed-by:
Priyanka Jain <priyanka.jain@nxp.com>
-
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 <michael@walle.cc> Reviewed-by:
Vladimir Oltean <vladimir.oltean@nxp.com> Reviewed-by:
Priyanka Jain <priyanka.jain@nxp.com>
-