Repository navigation
AVD: describe PIODMA resources and initialize the SRAM base - #710
Draft
RyanTheTide wants to merge 4 commits into
Draft
RyanTheTide wants to merge 4 commits into
RyanTheTide wants to merge 4 commits into
Conversation
Describe an optional appended PIODMA register range, the seven interrupt sources, and the decode, DMA controller and optional ADS buffer streams. Require at least two streams with PIODMA while retaining legacy four-range nodes without that aperture. Assisted-by: LLM Signed-off-by: Ryan Murray <ryan@aurorasilicon.org>
Append the PIODMA range without changing the existing resource indices. Route the DMA controller through DART stream 1 and preserve T8140 stream 2. The retained ADT mapper topology identifies stream 1 as the PIODMA mapper; the register subrange follows the publicly documented AVD layout. Assisted-by: LLM Signed-off-by: Ryan Murray <ryan@aurorasilicon.org>
Map the optional named PIODMA resource and retain the physical SRAM base. Program that base in 16-byte units on every CM3 boot so resume and reset restore it, and log the PIODMA version once per device while powered. Keep probing legacy device trees that omit the PIODMA aperture. Assisted-by: LLM Signed-off-by: Ryan Murray <ryan@aurorasilicon.org>
Keep SRAM base programming in the documented register format. The binding and retained ADT contract do not impose an extra 36-bit platform resource restriction on probe. Assisted-by: LLM Signed-off-by: Ryan Murray <ryan@aurorasilicon.org>
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.
Queued firmware fetches programs and frame parameters through PIODMA. The T6040, T6000 and T8112 nodes currently expose only the decode DART stream, and none of the four target node definitions describes the PIODMA aperture. Add the named aperture and stream 1, preserve T8140 stream 2, and program the physical SRAM base before each CM3 boot.
The series keeps
code,sram,mboxandctrlat their existing indices and appendspiodma. The host maps it by name, accepts older trees without it, restoressram_phys >> 4at PIODMA offset0x24on boot/resume/reset, and logs the version at0xb4once per device while powered. The binding describes the optional fifth range, all seven interrupt sources and 2-3 streams with PIODMA; legacy four-range nodes may retain one stream.0x281070000 / 0x4000avd0:reg = (0x80000000, 0x01404000)with arm-io parent base0x200000000;dart-avd0/mapper-avd0-piodma:reg = 10x381070000 / 0x4000reg = 1andadsbuf = 2. TODO: attach the direct retained ADT base/window citation; the aperture currently follows the existing code range and public sub-block layout.0x287070000 / 0x4000DeviceTree.j314sap:avd0:reg = (0x86000000, 0x01404000)with arm-io parent base0x200000000;dart-avd0/mapper-avd0-piodma:reg = 10x269070000 / 0x4000DeviceTree.j413ap:avd:reg = (0x68000000, 0x01404000)with arm-io parent base0x200000000;dart-avd/mapper-avd-piodma:reg = 1The ADTs describe a whole AVD range. The PIODMA subrange is the documented public offset
0x01070000within that range, equivalently0x70000from the decode block base. The M1 Pro and M2 restore DeviceTrees were decoded locally and only the structural address and mapper properties were retained in the task evidence. No firmware or raw device records are included here.TODO: obtain matching ADT proof before extending the remaining T8103, T6020, T8122/T6030/T6031 and T8132 node definitions. They keep their legacy descriptions. The T6000 definition is shared through the existing die template; additional die/package variants need their own ADT qualification.
Public register and stream layout: upstream AVD v3 series.
Validation:
W=1,CONFIG_WERROR=ymodule build. Build results are pending.Related integration: AVD core transport, queued open firmware, task t-3865.
Integration must preserve the PIODMA base write before CM3 release in each backend boot/resume/reset path when task t-3865 combines the transport branches.