summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-06-12video: zynqmp: Driver for Xilinx ZynqMP DisplayPort SubsystemVenkatesh Yadav Abbarapu
The Xilinx ZynqMP SoC has a hardened display pipeline named DisplayPort Subsystem. It includes a buffer manager, blender, an audio mixer and a DisplayPort source controller (transmitter). The DisplayPort controller can source data from memory (non-live input) or the stream (live input). The DisplayPort controller is responsible for managing the link and physical layer functionality. The controller packs audio/video data into transfer units and sends them over the main link. The link rate and lane counts can be selected based on the application bandwidth requirements. The DisplayPort pipeline consists of the DisplayPort direct memory access (DMA) for fetching data from memory. The DisplayPort DMA controller (DPDMA) supports up to six input channels as non-live input. This driver supports the DisplayPort Subsystem and implements 1)640x480 resolution 2)RGBA8888 32bpp format 3)DPDMA channel 3 for Graphics 4)Non-live input 5)Fixed 5.4G link rate 6)Tested on ZCU102 board There will be additional work to configure GT lines based on DT, higher resolutions, support for more compressed video formats, spliting code to more files, add support for EDID, audio support, using clock framework for all clocks and in general code clean up. Codevelop-by: Michal Simek <[email protected]> Signed-off-by: Venkatesh Yadav Abbarapu <[email protected]> Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/5c1567b63d0280dacc7efba2998857c399c25358.1684312924.git.michal.simek@amd.com
2023-06-12video: move zynqmp files to subdirectoryVenkatesh Yadav Abbarapu
Place zynqmp files and headers in custom driver subdirectory. Signed-off-by: Venkatesh Yadav Abbarapu <[email protected]> Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/9aae6d217f0673c310818e3de38bb239c79c060c.1684312924.git.michal.simek@amd.com
2023-06-12video: bmp: Support rgba8888 pixel formatMichal Simek
Adding the support for RGBA8888 format for BMP decoding. Signed-off-by: Venkatesh Yadav Abbarapu <[email protected]> Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/322910eb24692f6140a001796501270eb1c53d9a.1684312924.git.michal.simek@amd.com
2023-06-12video: Add support for RGBA8888 formatMichal Simek
Add support for RGBA8888 32bpp format where pixels are picked in 32-bit integers, where the colors are stored in memory such that R is at lowest address, G after that, B after that, and A last. Signed-off-by: Venkatesh Yadav Abbarapu <[email protected]> Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/aa1de54b7d4ff46df6858f76d52634e0c5c71a4a.1684312924.git.michal.simek@amd.com
2023-06-12firmware: zynqmp: Store driver data in data sectionStefan Herbrechtsmeier
Store the driver data in the data section to make the data usable before relocation. Additionally mark the driver data static to restrict the access. Signed-off-by: Stefan Herbrechtsmeier <[email protected]> Link: https://lore.kernel.org/r/20230523124215.30915-5-stefan.herbrechtsmeier-oss@weidmueller.com Signed-off-by: Michal Simek <[email protected]>
2023-06-12firmware: zynqmp: Move permission to change config object messageStefan Herbrechtsmeier
Move the permission to change a config object message from zynqmp_pmufw_load_config_object function to zynqmp_pmufw_node function to simplify the code and check the permission only if required. Signed-off-by: Stefan Herbrechtsmeier <[email protected]> Link: https://lore.kernel.org/r/20230523124215.30915-4-stefan.herbrechtsmeier-oss@weidmueller.com Signed-off-by: Michal Simek <[email protected]>
2023-06-12power: zynqmp: Mask node already configured errorStefan Herbrechtsmeier
Do not return an error (ENODEV) from the request function if the node is already configured. Signed-off-by: Stefan Herbrechtsmeier <[email protected]> Link: https://lore.kernel.org/r/20230523124215.30915-3-stefan.herbrechtsmeier-oss@weidmueller.com Signed-off-by: Michal Simek <[email protected]>
2023-06-12firmware: zynqmp: Remove redundant child device bindStefan Herbrechtsmeier
Remove the redundant child device bind from the driver bind function and rely on the post_bind of the class which calls the same function. Signed-off-by: Stefan Herbrechtsmeier <[email protected]> Link: https://lore.kernel.org/r/20230523124215.30915-2-stefan.herbrechtsmeier-oss@weidmueller.com Signed-off-by: Michal Simek <[email protected]>
2023-06-12firmware: zynqmp: Remove extraordinary return valueStefan Herbrechtsmeier
Return a common -EACCES error value instead of a positive private error value XST_PM_NO_ACCESS (2002) in zynqmp_pmufw_load_config_object function if the config object is not loadable to simplify the error checking. Signed-off-by: Stefan Herbrechtsmeier <[email protected]> Link: https://lore.kernel.org/r/20230523124215.30915-1-stefan.herbrechtsmeier-oss@weidmueller.com Signed-off-by: Michal Simek <[email protected]>
2023-06-12arm64: zynqmp: Check 0 node IDMichal Simek
ID is decimal not hexadecimal that's why passing hex number all the time end's up as 0 that's why check it. Node ID 0 is not valid anyway. Also properly say it in help. Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/68c5cd5eade216f3c5aa6eb703ee9f69f14acad1.1685615549.git.michal.simek@amd.com
2023-06-12tools: relocate-rela: Fix typoMarek Vasut
Position is written with one s, fix typo. Signed-off-by: Marek Vasut <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]>
2023-06-12global: Use proper project name U-BootMichal Simek
Use proper project name in comments, Kconfig, readmes. Reviewed-by: Neil Armstrong <[email protected]> Acked-by: Ilias Apalodimas <[email protected]> Reviewed-by: Stefan Roese <[email protected]> Reviewed-by: Qu Wenruo <[email protected]> Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/0dbdf0432405c1c38ffca55703b6737a48219e79.1684307818.git.michal.simek@amd.com
2023-06-12board: xilinx: Add missing prototypesAlgapally Santosh Sagar
Add missing prototypes to fix the below sparse warnings 1. warning: no previous prototype for 'soc_name_decode' [-Wmissing-prototypes] 2. warning: no previous prototype for 'soc_detection' [-Wmissing-prototypes] 3. warning: no previous prototype for 'board_name_decode' [-Wmissing-prototypes] 4. warning: no previous prototype for 'board_detection' [-Wmissing-prototypes] Signed-off-by: Algapally Santosh Sagar <[email protected]> Signed-off-by: Ashok Reddy Soma <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]>
2023-06-12xilinx: versal-net: Add new versalnet loadpdi commandAlgapally Santosh Sagar
Versal NET loadpdi command is used for loading secure & non-secure pdi images. Signed-off-by: Algapally Santosh Sagar <[email protected]> Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/f43709af894b669833770acb39ff5856fecf6d66.1684761656.git.michal.simek@amd.com
2023-06-12mmc: zynq: Sync with upstream DT bindingMichal Simek
Versal NET is not in production yet that's why no need to keep backward compatible with previously used compatible string. Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/0d355f4fbaf6a3521d41ee43f17dde2515ff7ab7.1684311766.git.michal.simek@amd.com
2023-06-12arm64: versal-net: Add support for SPP production versionMichal Simek
Production version restarting platform version field from 0 that's why add new calculation to be able to use different DT for these platforms. Requested DT names for production silicons for IPP/SPP and EMU platform are versal-net-ipp-rev2.0.dts and versal-net-emu-rev2.0.dts. If platform version increase numbers revision can be even higher. As of today platform version is 2 that's why expected is rev2.2. Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/691e166b3cf2643d7edf482bda5500163eecb35a.1684311689.git.michal.simek@amd.com
2023-06-12cmd: sf/nand: Print and return failure when 0 length is passedAshok Reddy Soma
For sf commands, when '0' length is passed for erase, update, write or read, there might be undesired results. Ideally '0' length means nothing to do. So print 'ERROR: Invalid size 0' and return cmd failure when length '0' is passed to sf commands. Same thing applies for nand commands also. Example: ZynqMP> sf erase 0 0 ERROR: Invalid size 0 ZynqMP> sf write 10000 0 0 ERROR: Invalid size 0 ZynqMP> sf read 10000 0 0 ERROR: Invalid size 0 ZynqMP> sf update 1000 10000 0 ERROR: Invalid size 0 ZynqMP> Signed-off-by: Ashok Reddy Soma <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]>
2023-06-12mach-zynqmp: handoff: Add missing headerAlgapally Santosh Sagar
Add missing prototype to fix the sparse warning. warning: no previous prototype for 'bl2_plat_get_bl31_params' [-Wmissing-prototypes] Signed-off-by: Algapally Santosh Sagar <[email protected]> Signed-off-by: Venkatesh Yadav Abbarapu <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]>
2023-06-12clk: zynqmp: Add fallthrough statement in the switch caseAlgapally Santosh Sagar
Add fallthrough statement in switch case to fix the sparse warning. In function 'zynqmp_clk_get_rate': warning: this statement may fall through [-Wimplicit-fallthrough=] Signed-off-by: Algapally Santosh Sagar <[email protected]> Signed-off-by: Venkatesh Yadav Abbarapu <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]>
2023-06-12arm64: versal-net: Detect and display bootmodeAshok Reddy Soma
Read boodmode register using versal_net_get_bootmode() in board_late_init and prepare corresponding distro boot command sequence based on it. versal_net_get_bootmode() will be changed to use smc calls later, but for now directly reads the register. Signed-off-by: Ashok Reddy Soma <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]>
2023-06-11Merge branch 'master_reserved' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-sh
2023-06-10Merge branch 'next_net/phy_connect_dev' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-sh into next
2023-06-10Merge branch 'next_mtd/rpc-spi' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-sh into next
2023-06-10renesas: rcar: Apply ATF overlay for reserved-memoryDetlev Casanova
The function fdtdec_board_setup() is called early and adds the overlay from ATF to the u-boot device tree. That is necessary so that u-boot doesn't use reserved memory. Linux also needs to know about that reserved memory so the overlay from ATF needs to be aplied on the linux device tree as well. This commit makes sure that the ATF overlay is applied to both device trees. Signed-off-by: Detlev Casanova <[email protected]> Reviewed-by: Marek Vasut <[email protected]> Reviewed-by: Adam Ford <[email protected]>
2023-06-10ARM: renesas: Enable DM_ETH_PHY and SMSC PHY driverMarek Vasut
The board comes with SMSC LAN8710A PHY, enable matching driver. Enable DM_ETH_PHY in the process to start using DM drivers more. Signed-off-by: Marek Vasut <[email protected]> --- Cc: Geert Uytterhoeven <[email protected]> Cc: Joe Hershberger <[email protected]> Cc: Michal Simek <[email protected]> Cc: Nishanth Menon <[email protected]> Cc: Ramon Fried <[email protected]>
2023-06-10ARM: dts: renesas: Add compatible properties to LAN8710A Ethernet PHYsGeert Uytterhoeven
Add compatible values to Ethernet PHY subnodes representing SMSC LAN8710A PHYs on RZ/A1 and R-Mobile A1 boards. This allows software to identify the PHY model at any time, regardless of the state of the PHY reset line. Ported from Linux kernel commit 1c65ef1c71e473c00f2a7a1b9c140f0b4862f282 . Signed-off-by: Geert Uytterhoeven <[email protected]> Reviewed-by: Andrew Lunn <[email protected]> Link: https://lore.kernel.org/r/247dc2074dae149af07b6d014985ad30eb362eda.1631174218.git.geert+renesas@glider.be --- Cc: Geert Uytterhoeven <[email protected]> Cc: Joe Hershberger <[email protected]> Cc: Michal Simek <[email protected]> Cc: Nishanth Menon <[email protected]> Cc: Ramon Fried <[email protected]>
2023-06-10net: sh_eth: Fix RX error handlingValentine Barshak
In case RX error occurs, and the RD_RFE bit is set, the descriptor is never returned back to the queue. Make sh_eth_recv_start return zero length in this case so that the descriptor can be released and pushed back to the list. Also return the more appropriate -EAGAIN instead of -EINVAL if the descriptor is not ready yet. Signed-off-by: Valentine Barshak <[email protected]> Reviewed-by: Marek Vasut <[email protected]> Reviewed-by: Ramon Fried <[email protected]>
2023-06-10net: sh_eth: Workaround cache issuesValentine Barshak
U-Boot writes to RX packets when constructing replies. This can cause stale cached data to be written to RX buffer while we're receiving a packet. This causes RX packet corruption because we invalidate the cache right before processing the packet. Invalidate packet buffer cache when preparing RX descriptor as well. This seems to fix RX packet drops with high RX traffic. While at it flush the descriptors right before enabling RX/TX in sh_eth_tx_desc_init/sh_eth_rx_desc_init callbacks when they are ready instead of flushing after allocation. Signed-off-by: Valentine Barshak <[email protected]> Reviewed-by: Marek Vasut <[email protected]> Reviewed-by: Ramon Fried <[email protected]>
2023-06-10net: sh_eth: Drop reset GPIO handling in favor of common codeMarek Vasut
The common code is now capable of handling reset GPIO associated with PHY. Drop the local ad-hoc code in favor of common code. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Ramon Fried <[email protected]>
2023-06-10net: ravb: Drop reset GPIO handling in favor of common codeMarek Vasut
The common code is now capable of handling reset GPIO associated with PHY. Drop the local ad-hoc code in favor of common code. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Ramon Fried <[email protected]>
2023-06-10net: phy: Handle reset-delay-us/reset-post-delay-us propertiesMarek Vasut
These two properties are used by various DTs in place of current reset-assert-us/reset-deassert-us , handle both . Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Ramon Fried <[email protected]>
2023-06-10net: phy: Bind ETH_PHY uclass driver to each new PHYMarek Vasut
In case a new PHY is created and DM_ETH_PHY is enabled, bind a generic PHY driver from ETH_PHY uclass to the PHY to have a matching DM representation of that PHY. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Ramon Fried <[email protected]>
2023-06-10net: phy: Unpublish phy_connect_dev()Marek Vasut
The phy_connect_dev() is legacy API, now that there are no users, make it internal to phy.c and unpublish it from headers. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Ramon Fried <[email protected]>
2023-06-10net: sunxi_emac: Switch to new U-Boot PHY APIMarek Vasut
Use new U-Boot phy_connect() API which also supports fixed PHYs. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Ramon Fried <[email protected]>
2023-06-10net: sh_eth: Switch to new U-Boot PHY APIMarek Vasut
Use new U-Boot phy_connect() API which also supports fixed PHYs. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Ramon Fried <[email protected]>
2023-06-10net: pch_gbe: Switch to new U-Boot PHY APIMarek Vasut
Use new U-Boot phy_connect() API which also supports fixed PHYs. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Ramon Fried <[email protected]>
2023-06-10net: ethoc: Switch to new U-Boot PHY APIMarek Vasut
Use new U-Boot phy_connect() API which also supports fixed PHYs. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Ramon Fried <[email protected]>
2023-06-10net: ave: Switch to new U-Boot PHY APIMarek Vasut
Use new U-Boot phy_connect() API which also supports fixed PHYs. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Ramon Fried <[email protected]>
2023-06-10net: altera_tsa: Switch to new U-Boot PHY APIMarek Vasut
Use new U-Boot phy_connect() API which also supports fixed PHYs. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Ramon Fried <[email protected]>
2023-06-10net: eth-phy: staticize eth_phy_reset()Marek Vasut
The eth_phy_reset() is not used outside of this file, staticize it. No functional change. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Ramon Fried <[email protected]>
2023-06-10mtd: spi: renesas: Add 4 bytes address mode supportCong Dang
This patch adds 4-byte address mode support. Because traditional access based on FIFO/shift register, it's complex to specify information like opcode, address length, dummy bytes etc to flash. Replace the traditional access by spi-mem layer which is essential to make 4-byte address mode support possible. Reviewed-by: Marek Vasut <[email protected]> Signed-off-by: Cong Dang <[email protected]> Signed-off-by: Hai Pham <[email protected]> Signed-off-by: Marek Vasut <[email protected]>
2023-06-10mtd: spi: renesas: Add R-Car Gen4 supportHai Pham
Support RPC SPI on R-Car Gen4 R8A779F0 S4 and R8A779G0 V4H SoCs. Reviewed-by: Marek Vasut <[email protected]> Signed-off-by: Hai Pham <[email protected]> Signed-off-by: Marek Vasut <[email protected]> [Marek: Squash S4 and V4H patches, fix brackets around STRTIM2]
2023-06-10mtd: spi: renesas: Enable SPI_FLASH_SFDP_SUPPORTHai Pham
Enable support for parsing and auto discovery of parameters for SPI NOR flashes using Serial Flash Discoverable Parameters (SFDP) tables as per JESD216 standard. Reviewed-by: Marek Vasut <[email protected]> Signed-off-by: Hai Pham <[email protected]> Signed-off-by: Cong Dang <[email protected]> Signed-off-by: Marek Vasut <[email protected]> # Make SFDP the default unconditionally
2023-06-10mtd: spi: renesas: Extract strobe delay setting code into separate functionHai Pham
Move strobe delay setting code into extra function and reflect the latest setting in datasheet (R-Car Gen3 v2.20, R-Car V3U v0.50). i.e. STRTIM[2:0] should be set to 110 (RCar M3-W) or 111 (Other products) This is also a preparation for new R-Car Gen4 SoC which has 4-bits STRTIM Reviewed-by: Marek Vasut <[email protected]> Signed-off-by: Hai Pham <[email protected]> Signed-off-by: Marek Vasut <[email protected]> # Fix for RZ/A1
2023-06-09Merge branch '2023-06-09-fwu-updates' into nextTom Rini
Two sets of FWU updates from Jassi Brar. First: The patchset reduces ~400 lines of code, while keeping the functionality same and making meta-data operations much faster (by using cached structures). Issue: meta-data copies (primary and secondary) are being handled by the backend/storage layer instead of the common core in fwu.c (as also noted by Ilias) that is, gpt_blk.c manages meta-data and similarly raw_mtd.c will have to do the same when it arrives. The code could by make smaller, cleaner and optimised. Basic idea: Introduce .read_mdata() and .write_mdata() in fwu_mdata_ops that simply read/write meta-data copy. The core code takes care of integrity and redundancy of the meta-data, as a result we can get rid of every other callback .get_mdata() .update_mdata() .get_mdata_part_num() .read_mdata_partition() .write_mdata_partition() and the corresponding wrapper functions thereby making the code 100s of LOC smaller. Get rid of fwu_check_mdata_validity() and fwu_mdata_check() which expected underlying layer to manage and verify mdata copies. Implement fwu_get_verified_mdata(struct fwu_mdata *mdata) public function that reads, verifies and, if needed, fixes the meta-data copies. Verified copy of meta-data is now cached as 'g_mdata' in fwu.c, which avoids multiple low-level expensive read and parse calls. gpt meta-data partition numbers are now cached in gpt_blk.c, so that we don't have to do expensive part_get_info() and uid ops. And second: Introduce support for mtd backed storage for FWU feature and enable it on Synquacer platform based DeveloperBox.
2023-06-09fwu: provide default fwu_plat_get_bootidxJassi Brar
Just like fwu_plat_get_update_index, provide a default/weak implementation of fwu_plat_get_bootidx. So that most platforms wouldn't have to re-implement the likely case. Signed-off-by: Jassi Brar <[email protected]>
2023-06-09fwu: DeveloperBox: add support for FWUJassi Brar
Add code to support FWU_MULTI_BANK_UPDATE. The platform does not have gpt-partition storage for Banks and MetaData, rather it used SPI-NOR backed mtd regions for the purpose. Signed-off-by: Jassi Brar <[email protected]>
2023-06-09config: developerbox: move to new flash layout and boot flowJassi Brar
Towards enabling FWU and supporting new firmware layout in NOR flash, make u-boot PIC and adjust uboot env offset in flash. Acked-by: Etienne Carriere <[email protected]> Signed-off-by: Jassi Brar <[email protected]>
2023-06-09dt: fwu: developerbox: enable fwu banks and mdata regionsJassi Brar
Specify Bank-0/1 and fwu metadata mtd regions. Signed-off-by: Jassi Brar <[email protected]>
2023-06-09tools: Add mkfwumdata tool for FWU metadata imageMasami Hiramatsu
Add 'mkfwumdata' tool to generate FWU metadata image for the meta-data partition to be used in A/B Update imeplementation. Signed-off-by: Sughosh Ganu <[email protected]> Signed-off-by: Jassi Brar <[email protected]> Signed-off-by: Masami Hiramatsu <[email protected]>