summaryrefslogtreecommitdiff
path: root/board/anbernic
AgeCommit message (Collapse)Author
2025-11-02board: rockchip: Fix RG353M model renamingDavid Barbion
Anbernic RG353M is hardware compatible with RG353P. Only the form-factor differs. So only one DTS is created for both machines with "Anbernic RG353P" as default model. If a RG353M is detected, the model should be overwritten with the correct name. Actually, it's overwritten with "Anbernic" only making the process of machine detection a little harder. However, to determine the size of the string "Anbernic RG353M", it is sizeof() which is used resulting in obtaining the size of the pointer (which is 8 bytes on ARM64) not the size of the pointed string. strlen() should be used instead. Signed-off-by: David Barbion <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2024-10-25board: rockchip: Add vdd_cpu reg fixup for RGXX3 SeriesChris Morgan
Some of the Powkiddy devices switched to using a different vendor for the vdd_cpu regulator. Unfortunately the device does not have a new revision to denote this, so users have no way of knowing in advance. Add code to detect if a device is present at addresses 0x1c or 0x40 on the i2c0 bus and update the devicetree if needed. Signed-off-by: Chris Morgan <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2024-10-25board: rockchip: Convert Anbernic RGxx3 to OF_UPSTREAMChris Morgan
Refactor the board detection logic (again) to make it compatible with the upstream device-trees, and switch to OF_UPSTREAM. Now the device boots with the device-tree for the 353P, and then loads the correct device tree (of 10) in the later stages of SPL. Signed-off-by: Chris Morgan <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2024-06-14Revert "board: rockchip: Add early ADC button detect for RGxx3"Chris Morgan
This reverts commit 41a60d0e5cef54a59596a58940fa7c9cf071034b. On some of the supported devices the adc detect code always returns that the button has been pushed, and as a result the device will not boot normally. Signed-off-by: Chris Morgan <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2024-03-15Merge tag 'u-boot-rockchip-20240315' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-rockchip into next Please pull the updates for rockchip platform: - Add board: rk3588 Generic, Cool Pi CM5, Theobroma-Systems RK3588 Jaguar SBC, Toybrick TB-RK3588X; rk3588s Cool Pi 4B; rk3566 Pine64 PineTab2; - Add saradc v2 support; - Add PMIC RK806 support; - rk3588 disable force_jtag by default; - Migrate to use IO-domain driver for all boards; - Use common bss and stack addresses for rk33xx and rk35xx boards; - Other updates for driver, config and dts;
2024-03-14board: rockchip: Add early ADC button detect for RGxx3Chris Morgan
Add ADC button detect for early SPL stage for RGxx3 device. This is important because on at least the RG353P and RG353V a clk pin is not exposed that would allow us to take the eMMC out of the boot path. Signed-off-by: Chris Morgan <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2024-03-14board: rockchip: Add support for Powkiddy RGB10MAX3Chris Morgan
Add support to the RGxx3 device for the Powkiddy RGB10MAX3. This device is extremely similar to all the other devices and can use the same bootloader with the same detection logic. Signed-off-by: Chris Morgan <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2024-03-13boards: Remove empty BOARD_SPECIFIC_OPTIONSTom Rini
While there are currently uses for a stanza of "config BOARD_SPECIFIC_OPTIONS" followed by "def_bool y" and a series of select/imply statements, having this option set followed by nothing else doesn't provide anything. Remove these stanzas. Signed-off-by: Tom Rini <[email protected]>
2024-01-19board: rockchip: Add support for new boards to RGxx3Chris Morgan
Add support for the Anbernic RG-ARC-D, Anbernic RG-ARC-S, Powkiddy RK2023, and Powkiddy RGB30 to the Anbernic RGxx3. While the Powkiddy devices are manufactured by Powkiddy instead of Anbernic, the hardware is so similar they can all use the same bootloader. Signed-off-by: Chris Morgan <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2024-01-19rockchip: board: Add board_rng_seed() for all Rockchip devicesChris Morgan
Allow all rockchip devices to use the hardware RNG to seed Linux RNG. Signed-off-by: Chris Morgan <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2024-01-19board: rockchip: Refactor panel auto-detect codeChris Morgan
Make the inability to detect a panel using the auto detection code not fail the entire boot process. This means that if the panel ID cannot be read we don't set an environment variable for the panel, and if an environment variable for the panel is not set we don't attempt to update the compatible string. Changes to the code also ensure that when there are multiple compatible strings required for the panel we use them both, which solves some issues that will pop up soon for the Linux driver. Signed-off-by: Chris Morgan <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2023-08-18rockchip: rk3566-anbernic-rgxx3: Rename defconfig to include SoC nameJonas Karlman
Rename defconfig to include SoC name, use similar pattern as other RK356x boards: <soc>-<name>.dts -> <name>-<soc>_defconfig Suggested-by: Kever Yang <[email protected]> Signed-off-by: Jonas Karlman <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2023-08-17board: rockchip: rk35xx: Add device tree files to MAINTAINERSJonas Karlman
Update MAINTAINERS files for RK3566/RK3568/RK3588 boards to include related device tree files. Also replace space with tabs. Signed-off-by: Jonas Karlman <[email protected]> Acked-by: Eugen Hristev <[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-25MAINTAINERS: Fix path typos and similarTom Rini
We have a number of cases where the in-tree path of files and where they presumably were when the first version of a patch were posted differ slightly. Correct these to point at where the files are now. Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-05-06board: rockchip: add Anbernic RGXX3 Series DevicesChris Morgan
The Anbernic RGxx3 is a "pseudo-device" that encompasses the following devices: - Anbernic RG353M - Anbernic RG353P - Anbernic RG353V - Anbernic RG353VS - Anbernic RG503 The rk3566-anbernic-rgxx3.dtsi is synced with upstream Linux, but rk3566-anbernic-rgxx3.dts is a U-Boot specific devicetree that is used for all RGxx3 devices. Via the board.c file, the bootloader automatically sets the correct fdtfile, board, and board_name environment variables so that the correct devicetree can be passed to Linux. It is also possible to simply hard-code a single devicetree in the boot.scr file and use that to load Linux as well. The common specifications for each device are: - Rockchip RK3566 SoC - 2 external SDMMC slots - 1 USB-C host port, 1 USB-C peripheral port - 1 mini-HDMI output - MIPI-DSI based display panel - ADC controlled joysticks with a GPIO mux - GPIO buttons - A PWM controlled vibrator - An ADC controlled button All of the common features are defined in the devicetree synced from upstream Linux. TODO: DSI panel auto-detection for the RG353 devices (requires porting of DSI controller driver and DSI-DPHY driver to send DSI commands to the panel). Signed-off-by: Chris Morgan <[email protected]> Reviewed-by: Kever Yang <[email protected]>