summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-07-28rockchip: rk3568: Fix alloc space exhausted in SPLJonas Karlman
Current SYS_MALLOC_F_LEN of 0x2000 (8 KB) used in SPL is too small for some RK3568 boards. SPL will print following during boot: alloc space exhausted Increase the default SYS_MALLOC_F_LEN to 0x20000 (128 KB) to mitigate. Fixes: 2a950e3ba506 ("rockchip: Add rk3568 architecture core") Signed-off-by: Jonas Karlman <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2023-07-28mtd: nand: raw: rockchip_nfc: copy hwecc PA data to oob_poi bufferJohan Jonker
Rockchip boot blocks are written per 4 x 512 byte sectors per page. Each page must have a page address (PA) pointer in OOB to the next page. Pages are written in a pattern depending on the NAND chip ID. This logic used to build a page pattern table is not fully disclosed and is not easy to fit in the MTD framework. The formula in rk_nfc_write_page_hwecc() function is not correct. Make hwecc and raw behavior identical. Generate boot block page address and pattern for hwecc in user space and copy PA data to/from the already reserved last 4 bytes before EEC in the chip->oob_poi data layout. Signed-off-by: Johan Jonker <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2023-07-28rockchip: puma: pass platform parameter to TF-AQuentin Schulz
Puma supports upstream TF-A and is configured to output serial on UART0 instead of the default UART2. Since U-Boot is properly configured to output on UART0, let's pass the DT to TF-A so there is no need for a custom TF-A to make the latter output to UART0 too. Cc: Quentin Schulz <[email protected]> Signed-off-by: Quentin Schulz <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2023-07-28rockchip: rk3399: pass platform parameter to TF-A by default for new RK3399 ↵Quentin Schulz
boards Long are gone the times TF-A couldn't handle the FDT passed by U-Boot. Specifically, since commit e7b586987c0a ("rockchip: don't crash if we get an FDT we can't parse") in TF-A, failure to parse the FDT will use the fallback mechanism. This patch was merged in TF-A v2.4-rc0 from two years ago. New boards should likely have this option disabled or explicitly enable it in their respective defconfig. Because existing boards might depend on a TF-A version that predates v2.4, let's just enable this option in all RK3399 defconfigs. Maintainers of each board can decide for themselves if they would prefer to disable this option and allow U-Boot to pass the DT to TF-A. Cc: Quentin Schulz <[email protected]> Signed-off-by: Quentin Schulz <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2023-07-28board: rockchip: Add Edgeble Neural Compute Module 6BJagan Teki
Neural Compute Module 6B(Neu6B) is a 96boards SoM-CB compute module based on Rockchip RK3588J from Edgeble AI. Add support for this SoM and IO board. Signed-off-by: Jagan Teki <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2023-07-28arm64: dts: rockchip: Add rk3588 Edgeble Neu6BJagan Teki
Neural Compute Module 6B(Neu6B) is a 96boards SoM-CB compute module based on Rockchip RK3588J from Edgeble AI. General features: - Rockchip RK3588J - up to 32GB LPDDR4x - up to 128GB eMMC - 2x MIPI CSI2 FPC - On module WiFi6/BT Neural Compute Module 6B(Neu6B) IO board is an industrial form factor ready-to-use IO board from Edgeble AI. General features: - microSD slot - 1x HDMI Out - 1x HDMI In - 2x DP - 1x eDP - 2x MIPI DSI connector - 4x MIPI CSI2 connector - 2x USB Host - 2x USB 3.0 OTG/Host - 1x SATA - 1x 2.5Gbps Ethernet - 1x M.2 B-Key for 4G/5G cards - 1x M.2 M-Key slot - 1x Onboard PoE - 1x RS485, RS232, CAN - 1x Audio, MIC port - RTC battery slot - 40-pin GPIO expansion Neu6B needs to mount on top of this IO board in order to create a complete Edgeble Neural Compute Module 6B(Neu6B) IO platform. Kernel commits: commit <5f06c3f508f7> ("arm64: dts: rockchip: Add rk3588 Edgeble Neu6 Model B SoM") commit <3a9181a43b94> ("arm64: dts: rockchip: Add rk3588 Edgeble Neu6 Model B IO") Signed-off-by: Jagan Teki <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2023-07-28ARM: dts: rockchip: Add rk3588j-u-boot.dtsiJagan Teki
Add rk3588j-u-boot.dtsi for adding U-Boot specific nodes and properties for Rockchip RK3588J SoC. Signed-off-by: Jagan Teki <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2023-07-28arm64: dts: rockchip: Add Rockchip RK3588JJagan Teki
Rockchip RK3588J is the industrial-grade version of RK3588 SoC and is operated with -40 °C to +85 °C temparature. Add rk3588j specific dtsi for adding rk3588j specific operating points and other changes to be add in future. Kernel commit: commit <8274a04ff1dc> ("arm64: dts: rockchip: Add Rockchip RK3588J") Signed-off-by: Jagan Teki <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2023-07-28arch: rockchip: rk3588: Fix missing suffix 'A' for Edgeble Neu6AJagan Teki
Add missing suffix 'A' for Edgeble Neu6A SoM and IO boards. Fixes: <15b2d1fb727> ("board: rockchip: Add Edgeble Neural Compute Module 6") Signed-off-by: Jagan Teki <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2023-07-28rockchip: rk3568: Add support for FriendlyARM NanoPi R5CTianling Shen
FriendlyARM NanoPi R5C is an open-sourced mini IoT gateway device. Specification: - Rockchip RK3568 - 1/4GB LPDDR4X RAM - 8/32GB eMMC - SD card slot - M.2 Connector - 2x USB 3.0 Port - 2x 2500 Base-T (PCIe, r8125) - HDMI 2.0 - MIPI DSI/CSI - USB Type C 5V The device tree is taken from kernel v6.4-rc1. Reviewed-by: Kever Yang <[email protected]> Signed-off-by: Tianling Shen <[email protected]>
2023-07-28rockchip: rk3568: Add support for FriendlyARM NanoPi R5STianling Shen
FriendlyARM NanoPi R5S is an open-sourced mini IoT gateway device. Board Specifications - Rockchip RK3568 - 2 or 4GB LPDDR4X - 8GB or 16GB eMMC, SD card slot - GbE LAN (Native) - 2x 2.5G LAN (PCIe) - M.2 Connector - HDMI 2.0, MIPI DSI/CSI - 2xUSB 3.0 Host - USB Type C PD, 5V/9V/12V - GPIO: 12-pin 0.5mm FPC connector The device tree is taken from kernel v6.4-rc1. Reviewed-by: Kever Yang <[email protected]> Signed-off-by: Tianling Shen <[email protected]>
2023-07-28rockchip: rk3328: Add support for Orange Pi R1 Plus LTSTianling Shen
The OrangePi R1 Plus LTS is a minor variant of OrangePi R1 Plus with the on-board NIC chip changed from rtl8211e to yt8531c, and RAM type changed from DDR4 to LPDDR3. The device tree is taken from kernel v6.4-rc1. Signed-off-by: Tianling Shen <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2023-07-28rockchip: rk3328: Add support for Orange Pi R1 PlusTianling Shen
Orange Pi R1 Plus is a Rockchip RK3328 based SBC by Xunlong. This device is similar to the NanoPi R2S, and has a 16MB SPI NOR (mx25l12805d). The reset button is changed to directly reset the power supply, another detail is that both network ports have independent MAC addresses. The device tree and description are taken from kernel v6.3-rc1. Reviewed-by: Kever Yang <[email protected]> Signed-off-by: Tianling Shen <[email protected]>
2023-07-28doc: anbernic: Update RGxx3 Docs for panel detectionChris Morgan
Update the Anbernic RGxx3 documentation to note that panel detection has been added and how it works. Signed-off-by: Chris Morgan <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2023-07-28configs: Update anbernic-rgxx3_defconfig for panel detectionChris Morgan
Update the anbernic-rgxx3_defconfig file to support panel autodetection and automatically updating the compatible string in the devicetree. Signed-off-by: Chris Morgan <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2023-07-28board: rockchip: Add panel auto-detection for Anbernic RGxx3Chris Morgan
Add support to automatically detect the panel for the Anbernic RGxx3. This is done by creating a "pseudo driver" that provides only the bare minimum to start the DSI controller and DSI DPHY. Once started, we then can query the panel for its panel ID and compare it to a table of known values. The panel compatible string (which corresponds to the upstream Linux driver) is then defined as an environment variable "panel". The panel compatible string is also changed automatically via an ft_board_setup() call if what is detected differs from what is in the loaded tree. This way, end users can use the same bootloader without having to worry about which panel they have (as there is no obvious way of knowing). Signed-off-by: Chris Morgan <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2023-07-28board: rockchip: Add support for RG353PS to RGxx3Chris Morgan
Add support for the RG353PS to the Anbernic RGxx3. This device is a slightly pared down version of the RG353P with no eMMC, no touchscreen, and only 1GB of RAM. Refactor board logic so that all supported devices are defined with ADC values and that future boards can be added by just defining the board values in the device array. Signed-off-by: Chris Morgan <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2023-07-28board: rockchip: add DSI and DSI-DPHY for Anbernic RGxx3Chris Morgan
Add support for the DSI and DSI-DPHY to U-Boot for the RGxx3. These are needed so we can send a panel ID request to determine which panel is being used. Signed-off-by: Chris Morgan <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2023-07-28board: rockchip: Correct i2c2 pinctrl for RGxx3Chris Morgan
The pinctrl on the Anbernic RGxx3 for the i2c2 bus does not use the default value, so explicitly define it. Fixes: 6cf6fe25370c ("board: rockchip: add Anbernic RGXX3 Series Devices") Signed-off-by: Chris Morgan <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2023-07-28configs: rock5b-rk3588: enable USB 3.0 controller, command, gadgetEugen Hristev
Enable configuration for USB 3.0 controller, the commands required, and the gadget drivers. Signed-off-by: Eugen Hristev <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2023-07-28ARM: dts: rockchip: rk3588-rock-5b-u-boot: add USB3 supportEugen Hristev
Enable the USB3.0 host node, and gadget node. The gadget is available through the USB type C connector on the board. The connector is tied to a Fairchild fusb302b device, which currently does not have a driver in U-boot, but the node is here for correct description of the board + Linux future compatibility. It will be easier to move the node as-is when it will be available in the DT from Linux Signed-off-by: Eugen Hristev <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2023-07-28ARM: dts: rockchip: rk3588: add support for USB 3.0 devicesJoseph Chen
Add support for the USB 3.0 devices in rk3588: - USB DRD(dual role device) 3.0 #0 as usbdrd3_0 which is available in rk3588s - USB DRD(dual role device) 3.0 #1 as usbdrd3_1 which is available in rk3588 only - USB DP PHY (combo USB3.0 and DisplayPort Alt Mode ) #0 phy interface as usbdp_phy0 - USB DP PHY (combo USB3.0 and DisplayPort Alt Mode ) #1 phy interface as usbdp_phy1 - USB 2.0 phy #2 , the USB 3.0 device can work with this phy in USB 2.0 mode - associated GRFs (general register files) for the devices. Signed-off-by: Joseph Chen <[email protected]> [[email protected]: move nodes to right place, adapt from latest linux kernel] Signed-off-by: Eugen Hristev <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2023-07-28phy: rockchip: add usbdp combo phy driverFrank Wang
This adds a new USBDP combo PHY with Samsung IP block driver. The PHY is a combo between USB 3.0 and DisplayPort alt mode. Signed-off-by: Frank Wang <[email protected]> [[email protected]: ported to 2023.07, clean-up] Signed-off-by: Eugen Hristev <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2023-07-28ARM: dts: rockchip: rk3588: sync with LinuxEugen Hristev
Sync the devicetree with linux-next tag: next-20230525 Signed-off-by: Eugen Hristev <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2023-07-28video: rockchip: Add support for RK3399 to dw-mipi-dsi bridgeOndrej Jirman
This just needs some extra clocks enabled, and different registers configured. Copied from Linux, just like the original submitter of this driver did for rk3568. Tested on Pinephone Pro. Signed-off-by: Ondrej Jirman <[email protected]> Cc: Anatolij Gustschin <[email protected]> Cc: Simon Glass <[email protected]> Cc: Philipp Tomsich <[email protected]> Cc: Kever Yang <[email protected]> Cc: Chris Morgan <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2023-07-28rockchip: board: Update Odroid Go2 to Support Additional RevisionsChris Morgan
Update the board.c file for the Odroid Go Advance to support the Black Edition and the Odroid Go Super. The Odroid Go Advance Black Edition differs from the original model with the addition of 2 extra buttons and an ESP8266 WiFi module. The Odroid Go Super adds an additional 2 buttons compared to the Black Edition, along with a larger panel and larger battery. This change uses the value of ADC0 to determine which of these 3 models it is, and then changes the ${fdtfile} environment variable to match the proper devicetree name in mainline Linux. Tested on an Odroid Go Advance (first revision) and an Odroid Go Super. The correct ${fdtfile} variable was set for each device. Signed-off-by: Chris Morgan <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2023-07-28configs: rock5b-rk3588: add rtl8169 driverEugen Hristev
Add the rtl8169 driver, which supports the rtl8125b device, which is connected on the pciE bus on this board. Enable also CONFIG_SYS_HAS_NONCACHED_MEMORY to have the descriptors stored. Signed-off-by: Eugen Hristev <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2023-07-28board: ti: k3: Convert boot flow ascii flow to svgNishanth Menon
Replace the ascii flow diagram with svg. Signed-off-by: Nishanth Menon <[email protected]>
2023-07-28doc: board: ti: k3: Sort the boards in alphabetical orderNishanth Menon
Keep the boards sorted in alphabetical order. Signed-off-by: Nishanth Menon <[email protected]>
2023-07-28doc: board: ti: *: Add platform informationNishanth Menon
Add link to the actual platform for folks to find details about the board in addition to the SoC's TRM. Signed-off-by: Nishanth Menon <[email protected]>
2023-07-28doc: board: ti: j7200_evm: Convert the emmc layout to svgNishanth Menon
Convert the emmc memory layout to svg Signed-off-by: Nishanth Menon <[email protected]>
2023-07-28doc: board: ti: am65x_evm: Convert the emmc layout to svgNishanth Menon
Convert the emmc memory layout to svg Signed-off-by: Nishanth Menon <[email protected]>
2023-07-28doc: board: ti: am65/j721e: Convert OSPI memory map to svgNishanth Menon
Convert the memory map for OSPI as a common memory map Signed-off-by: Nishanth Menon <[email protected]>
2023-07-28doc: board: ti: am65x_evm: Convert the UART boot responsibility to list tableNishanth Menon
Use list tables to map up the UART Boot responsibility table. Signed-off-by: Nishanth Menon <[email protected]>
2023-07-28doc: board: ti: j7200_evm: Convert switch settings to list tablesNishanth Menon
Use list tables to map up the dip switch settings Signed-off-by: Nishanth Menon <[email protected]>
2023-07-28doc: board: ti: am62x_sk: Convert switch settings to list tablesNishanth Menon
Use list tables to map up the dip switch settings Signed-off-by: Nishanth Menon <[email protected]>
2023-07-28doc: board: ti: am62x_sk: Add labels to reuse memory mapNishanth Menon
Add labels around the A53 SPL DDR memory layout to be able to reuse the memory map. Signed-off-by: Nishanth Menon <[email protected]>
2023-07-28doc: board: ti: am62x: Convert the image format to svgNishanth Menon
Convert the image format into svg that can be reused across platforms as needed. Signed-off-by: Nishanth Menon <[email protected]>
2023-07-28doc: board: ti: am65x: Convert the image format to svgNishanth Menon
Convert the image format into svg that can be reused across platforms as needed. Signed-off-by: Nishanth Menon <[email protected]>
2023-07-28doc: board: ti: j721e: Convert the image format to svgNishanth Menon
Convert the image format into svg that can be reused across platforms as needed. Signed-off-by: Nishanth Menon <[email protected]>
2023-07-28doc: board: ti: j7200: Convert the image format to svgNishanth Menon
Convert the image format into svg that can be reused across platforms as needed. Signed-off-by: Nishanth Menon <[email protected]>
2023-07-28doc: board: ti: k3: Reuse build instructionsNishanth Menon
Introduce common variables to define a generic build instruction that is then used in specific board specific description. Labels are introduced in the evm.rst files to be then reused in variant board documentation as well. While at this, drop using ARCH=arm when building u-boot sources. This practice has been discouraged for some time and can potentially create problems with Kconfig rules related to aarch64. It's best to avoid this approach. Signed-off-by: Nishanth Menon <[email protected]>
2023-07-28doc: board: ti: j721e: Update with boot flow diagramNishanth Menon
Update the bootflow svg diagram instead of the ascii version Reviewed-by: Neha Malcom Francis <[email protected]> Signed-off-by: Nishanth Menon <[email protected]>
2023-07-28doc: board: ti: am65x: Update with boot flow diagramNishanth Menon
Update the bootflow svg diagram instead of the ascii version Reviewed-by: Neha Malcom Francis <[email protected]> Signed-off-by: Nishanth Menon <[email protected]>
2023-07-28doc: board: ti: am62x/j7200: Update with common boot flow diagramNishanth Menon
Update the bootflow svg diagram and reuse across the platforms as they are common. Reviewed-by: Neha Malcom Francis <[email protected]> Signed-off-by: Nishanth Menon <[email protected]>
2023-07-28doc: board: ti: Optimize sources referencesNishanth Menon
We have duplication of sources which makes it hard to sustain across the board, but at the same time, we'd like to ensure readers get specific information without having to cross refer to different documentation to get piecemeal information that they need to put together. Reviewed-by: Neha Malcom Francis <[email protected]> Reviewed-by: Tom Rini <[email protected]> Signed-off-by: Nishanth Menon <[email protected]>
2023-07-28efi_loader: fix uninitialized variable bug in efi_set_load_options()Dan Carpenter
Check for efi_search_protocol() failure before dereferencing "handler" to avoid a crash. Signed-off-by: Dan Carpenter <[email protected]>
2023-07-28doc: ti: Clarify required file names for K3 platformsTom Rini
Now that we are using binman in all cases on these platforms, reword things to be clearer that for filesystem booting we need to use a specific name for each component. Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Neha Malcom Francis <[email protected]>
2023-07-28efi_loader: make efi_delete_handle() follow the EFI specIlias Apalodimas
The EFI doesn't allow removal of handles, unless all hosted protocols are cleanly removed. Our efi_delete_handle() is a bit intrusive. Although it does try to delete protocols before removing a handle, it doesn't care if that fails. Instead it only returns an error if the handle is invalid. On top of that none of the callers of that function check the return code. So let's rewrite this in a way that fits the EFI spec better. Instead of forcing the handle removal, gracefully uninstall all the handle protocols. According to the EFI spec when the last protocol is removed the handle will be deleted. Also switch all the callers and check the return code. Some callers can't do anything useful apart from reporting an error. The disk related functions on the other hand, can prevent a medium that is being used by EFI from removal. The only function that doesn't check the result is efi_delete_image(). But that function needs a bigger rework anyway, so we can clean it up in the future Signed-off-by: Ilias Apalodimas <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2023-07-28doc: describe QEMU emulation of block devicesHeinrich Schuchardt
* Add a new page about the emulation of block devices * Add semihosting to the emulation index page * Set toc maxdepth to 1 to improve readability Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Simon Glass <[email protected]>