Repository navigation
allwinner: V831/V833: boot on real silicon, SPI NOR at 12 MHz - #113
Merged
Merged
Conversation
The V831 image was silent on a real camera: the SPL hung in clock_init(), before the console. QEMU models neither the PLL output gates nor the reset values, so it never showed this. - clock_init_safe() follows boot0's sunxi_board_pll_init() in order: the CPU dividers while still on OSC24M, PLL_PERI0 read-modify-written instead of overwritten and with its output enable, the bus factors before their source, and PLL_CPUX with its output enable (bit 27). - SPL stack in SRAM C (0x58000), where boot0 keeps its own; 0x118000 in SRAM A2 was taken from the H6. - NOR images: the eGON image is 32 KiB long, as boot0's is. SPI NOR: the controller node had no spi-max-frequency, so spi-sunxi clamped every transfer to its 1 MHz default and the firmware scan took over 30 s on an empty flash. Now 24 MHz at the controller, 12 MHz on the bus (SF_DEFAULT_SPEED, ENV_SPI_MAX_HZ).
PR Summary by QodoBoot V831/V833 on silicon and run SPI NOR at 12 MHz
AI Description
Diagram
High-Level Assessment
Files changed (6)
|
Code Review by Qodo🐞 Bugs (0) 📘 Rule violations (0) 📎 Requirement gaps (0)
Great, no issues found!Qodo reviewed your code and found no material issues that require reviewTip of the day💡 Did you know, you can pick a display mode instead of tweaking every Display option by hand |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The V831 image from
openipc-allwinnerprinted nothing on a real camera (8 MiB SPI NOR, flashed at0x0). This PR makes it boot and speeds up the SPI NOR.Boot
The SPL hung in
clock_init(), before the console. QEMU models neither the PLL output gates nor the real reset values, which is why the bench never showed it.clock_init_safe()for V831/V833 now follows boot0'ssunxi_board_pll_init()in order: CPU dividers while still on OSC24M,PLL_PERI0read-modify-written and with its output enable, bus factors before their source,PLL_CPUXwith its output enable (bit 27).0x58000), where boot0 keeps its own.0x118000in SRAM A2 was copied from the H6.build.sh).These went in together.
PLL_CPUXbit 27 plus the stack move alone was still silent; the full set boots. The individual cause was not isolated further.SPI NOR
The controller node had no
spi-max-frequency, sospi-sunxiclamped every transfer to its 1 MHz default, whateverSF_DEFAULT_SPEEDsaid. The firmware scan took over 30 s on an empty flash. It is now 12 MHz on the bus (CCR0x100b->0x1000).Tested
CCR=0x1000CCR=0x1000The image tested on hardware had temporary UART markers in the SPL, removed here; this exact build has run under QEMU only. A kernel has not been booted on real hardware yet. V3s and V851s build and reach the prompt under QEMU; their clock path is unchanged.